Rat (Release Audit Tool) results

The following document contains the results of Rat (Release Audit Tool).

*****************************************************
Summary
-------
Generated at: 2024-04-24T12:22:14Z

Notes: 5
Binaries: 995
Archives: 1
Standards: 1108

Apache Licensed: 128
Generated Documents: 0

JavaDocs are generated, thus a license header is optional.
Generated files do not require license headers.

977 Unknown Licenses

*****************************************************

Files with unapproved licenses:

  docs/community/static/image/theme.svg
  docs/community/static/css/theme-mine.css
  docs/community/static/css/theme-white.css
  docs/community/static/css/theme-black.css
  docs/community/static/fonts/glyphicons-halflings-regular.svg
  docs/community/layouts/partials/style.html
  docs/community/layouts/partials/logo.html
  docs/community/layouts/partials/favicon.html
  docs/community/layouts/partials/menu-footer.html
  docs/community/layouts/partials/javascript.html
  docs/community/layouts/index.html
  docs/community/layouts/shortcodes/bilibili.html
  docs/community/themes/hugo-theme-learn/README.md
  docs/community/themes/hugo-theme-learn/static/js/highlight.pack.js
  docs/community/themes/hugo-theme-learn/static/js/hugo-learn.js
  docs/community/themes/hugo-theme-learn/static/js/learn.js
  docs/community/themes/hugo-theme-learn/static/js/search.js
  docs/community/themes/hugo-theme-learn/static/js/jquery-2.x.min.js
  docs/community/themes/hugo-theme-learn/static/js/html5shiv-printshiv.min.js
  docs/community/themes/hugo-theme-learn/static/js/lunr.min.js
  docs/community/themes/hugo-theme-learn/static/js/auto-complete.js
  docs/community/themes/hugo-theme-learn/static/js/perfect-scrollbar.jquery.min.js
  docs/community/themes/hugo-theme-learn/static/js/perfect-scrollbar.min.js
  docs/community/themes/hugo-theme-learn/static/js/jquery.sticky.js
  docs/community/themes/hugo-theme-learn/static/js/modernizr.custom.71422.js
  docs/community/themes/hugo-theme-learn/static/js/featherlight.min.js
  docs/community/themes/hugo-theme-learn/static/js/clipboard.min.js
  docs/community/themes/hugo-theme-learn/static/css/theme.css
  docs/community/themes/hugo-theme-learn/static/css/hybrid.css
  docs/community/themes/hugo-theme-learn/static/css/auto-complete.css
  docs/community/themes/hugo-theme-learn/static/css/featherlight.min.css
  docs/community/themes/hugo-theme-learn/static/css/theme-blue.css
  docs/community/themes/hugo-theme-learn/static/css/theme-red.css
  docs/community/themes/hugo-theme-learn/static/css/perfect-scrollbar.min.css
  docs/community/themes/hugo-theme-learn/static/css/font-awesome.min.css
  docs/community/themes/hugo-theme-learn/static/css/hugo-theme.css
  docs/community/themes/hugo-theme-learn/static/css/nucleus.css
  docs/community/themes/hugo-theme-learn/static/css/theme-green.css
  docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.svg
  docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_300.svg
  docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_500.svg
  docs/community/themes/hugo-theme-learn/static/fonts/Inconsolata.svg
  docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.svg
  docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_200.svg
  docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.svg
  docs/community/themes/hugo-theme-learn/static/mermaid/mermaid.css
  docs/community/themes/hugo-theme-learn/static/mermaid/mermaid.js
  docs/community/themes/hugo-theme-learn/static/mermaid/mermaid.dark.css
  docs/community/themes/hugo-theme-learn/static/mermaid/mermaid.forest.css
  docs/community/themes/hugo-theme-learn/static/images/clippy.svg
  docs/community/themes/hugo-theme-learn/theme.toml
  docs/community/themes/hugo-theme-learn/layouts/_default/list.html
  docs/community/themes/hugo-theme-learn/layouts/_default/single.html
  docs/community/themes/hugo-theme-learn/layouts/404.html
  docs/community/themes/hugo-theme-learn/layouts/partials/logo.html
  docs/community/themes/hugo-theme-learn/layouts/partials/change-theme.html
  docs/community/themes/hugo-theme-learn/layouts/partials/language.html
  docs/community/themes/hugo-theme-learn/layouts/partials/footer.html
  docs/community/themes/hugo-theme-learn/layouts/partials/logo copy.html
  docs/community/themes/hugo-theme-learn/layouts/partials/meta.html
  docs/community/themes/hugo-theme-learn/layouts/partials/menu.html
  docs/community/themes/hugo-theme-learn/layouts/partials/favicon.html
  docs/community/themes/hugo-theme-learn/layouts/partials/search.html
  docs/community/themes/hugo-theme-learn/layouts/partials/menu-footer.html
  docs/community/themes/hugo-theme-learn/layouts/partials/custom-footer.html
  docs/community/themes/hugo-theme-learn/layouts/partials/toc.html
  docs/community/themes/hugo-theme-learn/layouts/partials/header.html
  docs/community/themes/hugo-theme-learn/layouts/partials/custom-header.html
  docs/community/themes/hugo-theme-learn/layouts/partials/custom-comments.html
  docs/community/themes/hugo-theme-learn/layouts/index.html
  docs/community/themes/hugo-theme-learn/layouts/shortcodes/notice.html
  docs/community/themes/hugo-theme-learn/layouts/shortcodes/ref.html
  docs/community/themes/hugo-theme-learn/layouts/shortcodes/attachments.html
  docs/community/themes/hugo-theme-learn/layouts/shortcodes/children.html
  docs/community/themes/hugo-theme-learn/layouts/shortcodes/button.html
  docs/community/themes/hugo-theme-learn/layouts/shortcodes/mermaid.html
  docs/community/themes/hugo-theme-learn/layouts/shortcodes/expand.html
  docs/community/themes/hugo-theme-learn/layouts/shortcodes/relref.html
  docs/community/themes/hugo-theme-learn/layouts/shortcodes/siteparam.html
  docs/community/themes/hugo-theme-learn/i18n/pt.toml
  docs/community/themes/hugo-theme-learn/i18n/en.toml
  docs/community/themes/hugo-theme-learn/i18n/fr.toml
  docs/community/themes/hugo-theme-learn/i18n/es.toml
  docs/community/themes/hugo-theme-learn/wercker.yml
  docs/community/themes/hugo-theme-learn/archetypes/default.cn.md
  docs/community/themes/hugo-theme-learn/archetypes/chapter.cn.md
  docs/community/content/security/_index.en.md
  docs/community/content/involved/subscribe.en.md
  docs/community/content/involved/contribute/document.en.md
  docs/community/content/involved/contribute/dev-env.en.md
  docs/community/content/involved/contribute/_index.cn.md
  docs/community/content/involved/contribute/contributor.en.md
  docs/community/content/involved/contribute/_index.en.md
  docs/community/content/involved/release/shardingsphere-on-cloud.en.md
  docs/community/content/involved/release/elasticjob.en.md
  docs/community/content/involved/release/elasticjob-ui.cn.md
  docs/community/content/involved/release/_index.cn.md
  docs/community/content/involved/release/shardingsphere.en.md
  docs/community/content/involved/release/_index.en.md
  docs/community/content/involved/release/elasticjob-ui.en.md
  docs/community/content/involved/release/shardingsphere-on-cloud.cn.md
  docs/community/content/involved/conduct/code.en.md
  docs/community/content/involved/conduct/document.en.md
  docs/community/content/involved/conduct/_index.cn.md
  docs/community/content/involved/conduct/code.cn.md
  docs/community/content/involved/conduct/_index.en.md
  docs/community/content/involved/conduct/issue.en.md
  docs/community/content/involved/_index.en.md
  docs/community/content/involved/committer/icla.en.md
  docs/community/content/involved/committer/_index.cn.md
  docs/community/content/involved/committer/vote.en.md
  docs/community/content/involved/committer/commiter_rights.en.md
  docs/community/content/involved/committer/responsibilities.en.md
  docs/community/content/involved/committer/_index.en.md
  docs/community/content/involved/committer/2FA.en.md
  docs/community/content/involved/committer/commiter_rights.cn.md
  docs/community/content/powered-by/_index.en.md
  docs/community/content/team/_index.cn.md
  docs/community/content/team/_index.en.md
  docs/community/archetypes/default.cn.md
  docs/community/config.toml
  docs/document/static/img/theme.svg
  docs/document/static/css/theme-mine.css
  docs/document/static/css/theme-white.css
  docs/document/static/css/style.css
  docs/document/static/css/theme-black.css
  docs/document/static/fonts/glyphicons-halflings-regular.svg
  docs/document/layouts/partials/style.html
  docs/document/layouts/partials/logo.html
  docs/document/layouts/partials/favicon.html
  docs/document/layouts/partials/menu-footer.html
  docs/document/layouts/partials/toc.html
  docs/document/layouts/partials/javascript.html
  docs/document/layouts/index.html
  docs/document/layouts/shortcodes/bilibili.html
  docs/document/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.svg
  docs/document/themes/hugo-theme-learn/exampleSite/layouts/partials/logo.html
  docs/document/themes/hugo-theme-learn/exampleSite/layouts/partials/menu-footer.html
  docs/document/themes/hugo-theme-learn/exampleSite/layouts/partials/custom-footer.html
  docs/document/themes/hugo-theme-learn/exampleSite/layouts/shortcodes/ghcontributors.html
  docs/document/themes/hugo-theme-learn/exampleSite/content/cont/menushortcuts.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/cont/archetypes.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/cont/tags.fr.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/cont/i18n/_index.fr.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/cont/i18n/_index.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/cont/archetypes.fr.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/cont/markdown.fr.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/cont/syntaxhighlight.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/cont/_index.fr.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/cont/_index.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/cont/tags.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/cont/icons.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/cont/pages/_index.fr.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/cont/pages/_index.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/cont/menushortcuts.fr.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/cont/markdown.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/credits.fr.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/basics/configuration/_index.fr.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/basics/configuration/_index.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/basics/_index.fr.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/basics/installation/_index.fr.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/basics/installation/_index.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/basics/_index.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/basics/requirements/_index.fr.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/basics/requirements/_index.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/basics/_index.zh.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/basics/style-customization/_index.fr.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/basics/style-customization/_index.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/showcase.fr.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/credits.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/mermaid.fr.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/small_file.txt
  docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/notice.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/_index.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/small_file.txt
  docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/tabs.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/mermaid.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/button.fr.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/button.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/content/showcase.en.md
  docs/document/themes/hugo-theme-learn/exampleSite/config.toml
  docs/document/themes/hugo-theme-learn/README.md
  docs/document/themes/hugo-theme-learn/static/webfonts/fa-regular-400.svg
  docs/document/themes/hugo-theme-learn/static/webfonts/fa-solid-900.svg
  docs/document/themes/hugo-theme-learn/static/webfonts/fa-brands-400.svg
  docs/document/themes/hugo-theme-learn/static/js/highlight.pack.js
  docs/document/themes/hugo-theme-learn/static/js/hugo-learn.js
  docs/document/themes/hugo-theme-learn/static/js/learn.js
  docs/document/themes/hugo-theme-learn/static/js/search.js
  docs/document/themes/hugo-theme-learn/static/js/jquery-3.3.1.min.js
  docs/document/themes/hugo-theme-learn/static/js/lunr.min.js
  docs/document/themes/hugo-theme-learn/static/js/auto-complete.js
  docs/document/themes/hugo-theme-learn/static/js/perfect-scrollbar.jquery.min.js
  docs/document/themes/hugo-theme-learn/static/js/perfect-scrollbar.min.js
  docs/document/themes/hugo-theme-learn/static/js/jquery.sticky.js
  docs/document/themes/hugo-theme-learn/static/js/modernizr.custom-3.6.0.js
  docs/document/themes/hugo-theme-learn/static/js/featherlight.min.js
  docs/document/themes/hugo-theme-learn/static/js/clipboard.min.js
  docs/document/themes/hugo-theme-learn/static/css/theme.css
  docs/document/themes/hugo-theme-learn/static/css/tags.css
  docs/document/themes/hugo-theme-learn/static/css/hybrid.css
  docs/document/themes/hugo-theme-learn/static/css/auto-complete.css
  docs/document/themes/hugo-theme-learn/static/css/featherlight.min.css
  docs/document/themes/hugo-theme-learn/static/css/theme-blue.css
  docs/document/themes/hugo-theme-learn/static/css/tabs.css
  docs/document/themes/hugo-theme-learn/static/css/theme-red.css
  docs/document/themes/hugo-theme-learn/static/css/perfect-scrollbar.min.css
  docs/document/themes/hugo-theme-learn/static/css/hugo-theme.css
  docs/document/themes/hugo-theme-learn/static/css/atom-one-dark-reasonable.css
  docs/document/themes/hugo-theme-learn/static/css/nucleus.css
  docs/document/themes/hugo-theme-learn/static/css/fontawesome-all.min.css
  docs/document/themes/hugo-theme-learn/static/css/theme-green.css
  docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.svg
  docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_300.svg
  docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_500.svg
  docs/document/themes/hugo-theme-learn/static/fonts/Inconsolata.svg
  docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_200.svg
  docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.svg
  docs/document/themes/hugo-theme-learn/static/images/clippy.svg
  docs/document/themes/hugo-theme-learn/theme.toml
  docs/document/themes/hugo-theme-learn/layouts/_default/list.html
  docs/document/themes/hugo-theme-learn/layouts/_default/single.html
  docs/document/themes/hugo-theme-learn/layouts/404.html
  docs/document/themes/hugo-theme-learn/layouts/partials/logo.html
  docs/document/themes/hugo-theme-learn/layouts/partials/change-theme.html
  docs/document/themes/hugo-theme-learn/layouts/partials/language.html
  docs/document/themes/hugo-theme-learn/layouts/partials/footer.html
  docs/document/themes/hugo-theme-learn/layouts/partials/meta.html
  docs/document/themes/hugo-theme-learn/layouts/partials/menu.html
  docs/document/themes/hugo-theme-learn/layouts/partials/tags.html
  docs/document/themes/hugo-theme-learn/layouts/partials/favicon.html
  docs/document/themes/hugo-theme-learn/layouts/partials/search.html
  docs/document/themes/hugo-theme-learn/layouts/partials/menu-footer.html
  docs/document/themes/hugo-theme-learn/layouts/partials/custom-footer.html
  docs/document/themes/hugo-theme-learn/layouts/partials/toc.html
  docs/document/themes/hugo-theme-learn/layouts/partials/header.html
  docs/document/themes/hugo-theme-learn/layouts/partials/custom-header.html
  docs/document/themes/hugo-theme-learn/layouts/partials/custom-comments.html
  docs/document/themes/hugo-theme-learn/layouts/index.html
  docs/document/themes/hugo-theme-learn/layouts/shortcodes/notice.html
  docs/document/themes/hugo-theme-learn/layouts/shortcodes/ref.html
  docs/document/themes/hugo-theme-learn/layouts/shortcodes/tab.html
  docs/document/themes/hugo-theme-learn/layouts/shortcodes/attachments.html
  docs/document/themes/hugo-theme-learn/layouts/shortcodes/children.html
  docs/document/themes/hugo-theme-learn/layouts/shortcodes/button.html
  docs/document/themes/hugo-theme-learn/layouts/shortcodes/mermaid.html
  docs/document/themes/hugo-theme-learn/layouts/shortcodes/expand.html
  docs/document/themes/hugo-theme-learn/layouts/shortcodes/relref.html
  docs/document/themes/hugo-theme-learn/layouts/shortcodes/tabs.html
  docs/document/themes/hugo-theme-learn/layouts/shortcodes/siteparam.html
  docs/document/themes/hugo-theme-learn/i18n/de.toml
  docs/document/themes/hugo-theme-learn/i18n/id.toml
  docs/document/themes/hugo-theme-learn/i18n/tr.toml
  docs/document/themes/hugo-theme-learn/i18n/pt.toml
  docs/document/themes/hugo-theme-learn/i18n/nl.toml
  docs/document/themes/hugo-theme-learn/i18n/ar.toml
  docs/document/themes/hugo-theme-learn/i18n/en.toml
  docs/document/themes/hugo-theme-learn/i18n/fr.toml
  docs/document/themes/hugo-theme-learn/i18n/es.toml
  docs/document/themes/hugo-theme-learn/i18n/vn.toml
  docs/document/themes/hugo-theme-learn/i18n/ja.toml
  docs/document/themes/hugo-theme-learn/i18n/hi.toml
  docs/document/themes/hugo-theme-learn/netlify.toml
  docs/document/themes/hugo-theme-learn/CHANGELOG.md
  docs/document/themes/hugo-theme-learn/wercker.yml
  docs/document/themes/hugo-theme-learn/archetypes/chapter.md
  docs/document/themes/hugo-theme-learn/archetypes/default.md
  docs/document/i18n/cn.toml
  docs/document/content/user-manual/shardingsphere-jdbc/observability/_index.cn.md
  docs/document/content/user-manual/shardingsphere-jdbc/observability/_index.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/_index.cn.md
  docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/_index.cn.md
  docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/_index.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/unsupported.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/_index.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-parser.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/transaction.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-translator.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/sharding-cache.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/mix.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/shadow.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/encrypt.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/_index.cn.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/shadow.cn.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/mask.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-federation.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/broadcast.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/_index.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/single.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/sharding.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/mode.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/_index.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/algorithm.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/algorithm.cn.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/data-source.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/spring-boot/_index.cn.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/spring-boot/_index.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/_index.cn.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/_index.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/spring-namespace/_index.cn.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/spring-namespace/_index.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/known-implementation/_index.cn.md
  docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/known-implementation/_index.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/special-api/_index.cn.md
  docs/document/content/user-manual/shardingsphere-jdbc/special-api/sharding/hint.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/special-api/sharding/_index.cn.md
  docs/document/content/user-manual/shardingsphere-jdbc/special-api/sharding/_index.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/special-api/_index.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/special-api/readwrite-splitting/hint.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/special-api/readwrite-splitting/_index.cn.md
  docs/document/content/user-manual/shardingsphere-jdbc/special-api/readwrite-splitting/_index.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/atomikos.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/java-api.cn.md
  docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/java-api.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/narayana.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/atomikos.cn.md
  docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/_index.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/seata.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/narayana.cn.md
  docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/_index.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/sql-parser.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/transaction.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/sql-translator.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/sharding-cache.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/mix.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/shadow.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/encrypt.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/_index.cn.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/mask.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/sql-federation.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/broadcast.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/_index.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/single.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/transaction.cn.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/sharding.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/mode.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/_index.cn.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/mode.cn.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/_index.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/algorithm.en.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/algorithm.cn.md
  docs/document/content/user-manual/shardingsphere-jdbc/java-api/data-source.en.md
  docs/document/content/user-manual/common-config/builtin-algorithm/expr.cn.md
  docs/document/content/user-manual/common-config/builtin-algorithm/sql-translator.en.md
  docs/document/content/user-manual/common-config/builtin-algorithm/shadow.en.md
  docs/document/content/user-manual/common-config/builtin-algorithm/encrypt.en.md
  docs/document/content/user-manual/common-config/builtin-algorithm/expr.en.md
  docs/document/content/user-manual/common-config/builtin-algorithm/_index.cn.md
  docs/document/content/user-manual/common-config/builtin-algorithm/keygen.en.md
  docs/document/content/user-manual/common-config/builtin-algorithm/mask.en.md
  docs/document/content/user-manual/common-config/builtin-algorithm/audit.en.md
  docs/document/content/user-manual/common-config/builtin-algorithm/_index.en.md
  docs/document/content/user-manual/common-config/builtin-algorithm/load-balance.en.md
  docs/document/content/user-manual/common-config/builtin-algorithm/metadata-repository.en.md
  docs/document/content/user-manual/common-config/builtin-algorithm/sharding.en.md
  docs/document/content/user-manual/common-config/props.cn.md
  docs/document/content/user-manual/common-config/_index.cn.md
  docs/document/content/user-manual/common-config/sql-hint.en.md
  docs/document/content/user-manual/common-config/_index.en.md
  docs/document/content/user-manual/common-config/props.en.md
  docs/document/content/user-manual/shardingsphere-proxy/observability/_index.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/observability/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/session/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/migration/build.en.md
  docs/document/content/user-manual/shardingsphere-proxy/migration/usage.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/migration/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/migration/usage.en.md
  docs/document/content/user-manual/shardingsphere-proxy/_index.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/yaml-config/authority.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/yaml-config/props.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/yaml-config/rules.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/yaml-config/data-source.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/yaml-config/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/yaml-config/props.en.md
  docs/document/content/user-manual/shardingsphere-proxy/yaml-config/rules.en.md
  docs/document/content/user-manual/shardingsphere-proxy/yaml-config/data-source.en.md
  docs/document/content/user-manual/shardingsphere-proxy/yaml-config/authority.en.md
  docs/document/content/user-manual/shardingsphere-proxy/optional-plugins/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/startup/dependencies-download/add_Narayana_dependency.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/startup/dependencies-download/_index.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/startup/dependencies-download/add_Narayana_dependency.en.md
  docs/document/content/user-manual/shardingsphere-proxy/startup/dependencies-download/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/startup/graalvm-native-image.en.md
  docs/document/content/user-manual/shardingsphere-proxy/startup/_index.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/startup/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/startup/bin.en.md
  docs/document/content/user-manual/shardingsphere-proxy/startup/docker.en.md
  docs/document/content/user-manual/shardingsphere-proxy/cdc/build.en.md
  docs/document/content/user-manual/shardingsphere-proxy/cdc/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/cdc/usage.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/_index.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/mask/count-mask-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/mask/count-mask-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/mask/show-mask-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/mask/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/mask/show-mask-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/broadcast-table/count-broadcast-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/broadcast-table/count-broadcast-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/broadcast-table/show-broadcast-table-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/broadcast-table/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/broadcast-table/show-broadcast-table-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-nodes.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-auditors.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-key-generators.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-default-sharding-strategy.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/count-sharding-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-auditors.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-default-sharding-strategy.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-algorithms.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-key-generator.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/count-sharding-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-algorithms.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rules-used-algorithm.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-reference-rules.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rules-used-key-generator.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-algorithms.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-auditors.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-algorithms.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-nodes.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-key-generators.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-auditors.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-key-generator.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rules-used-auditor.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-reference-rules.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/count-shadow-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-algorithm.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-default-shadow-algorithm.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-algorithm.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-default-shadow-algorithm.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-table-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/count-shadow-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-table-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/show-readwrite-splitting-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/show-readwrite-splitting-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/count-readwrite-splitting-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/count-readwrite-splitting-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-unloaded-single-tables.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-deafult-single-table-storage-unit.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/count-single-table.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-deafult-single-table-storage-unit.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/count-single-table.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-unloaded-single-tables.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-single-table.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-single-table.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/count-encrypt-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/show-encrypt-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/show-encrypt-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/count-encrypt-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/storage-unit-query/show-storage-units.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/storage-unit-query/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/storage-unit-query/show-storage-units.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/preview-sql.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/format-sql.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/preview-sql.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/parse-sql.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/parse-sql.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/format-sql.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/drop-mask-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/drop-mask-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/alter-mask-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/alter-mask-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/create-mask-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/create-mask-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/broadcast-table/create-broadcast-table-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/broadcast-table/drop-broadcast-table-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/broadcast-table/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/broadcast-table/create-broadcast-table-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-algorithm.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-reference-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-reference-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-reference-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-table-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-table-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-default-sharding-strategy.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-table-reference-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-key-generator.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/alter-default-sharding-strategy.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-default-sharding-strategy.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-reference-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-table-reference-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-key-generator.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-default-sharding-strategy.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/create-default-shadow-algorithm.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/create-default-shadow-algorithm.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-default-shadow-algorithm.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/alter-shadow-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-shadow-algorithm.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/alter-default-shadow-algorithm.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-shadow-algorithm.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/create-shadow-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/create-shadow-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-shadow-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/alter-shadow-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-default-shadow-algorithm.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-shadow-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/alter-default-shadow-algorithm.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/drop-readwrite-splitting-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/alter-readwrite-splitting-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/alter-readwrite-splitting-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/create-readwrite-splitting-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/drop-readwrite-splitting-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/set-default-single-table-storage-unit.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/set-default-single-table-storage-unit.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/load-single-table.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/unload-single-table.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/load-single-table.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/unload-single-table.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/drop-encrypt-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/create-encrypt-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/alter-encrypt-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/create-encrypt-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/drop-encrypt-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/alter-encrypt-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/_index.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/register-storage-unit.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/alter-storage-unit.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/register-storage-unit.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/alter-storage-unit.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/unregister-storage-unit.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/unregister-storage-unit.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-table-metadata.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-table-metadata.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-sharding-algorithm-plugins.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-mask-algorithm-plugins.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-shadow-algorithm-plugins.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-encrypt-algorithm-plugins.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-plugins.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-encrypt-algorithm-plugins.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-load-balance-algorithm-plugins.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/_index.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-load-balance-algorithm-plugins.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-plugins.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-mask-algorithm-plugins.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-key-generate-algorithm-plugins.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-key-generate-algorithm-plugins.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/export-database-configuration.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/set-dist-vairable.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-rules-used-storage-unit.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-compute-node-mode.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-compute-node-info.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/refresh-table-metadata.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/refresh-database-metadata.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/convert-yaml-configuration.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/alter-migration-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/stop-migration-check.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/rollback-migration.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/register-migration-source-storage-unit.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-check-algorithm.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/stop-migration.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/check-migration.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/migrate-table-into.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-source-storage-units.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/start-migration.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-check-algorithm.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/start-migration-check.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/migrate-table-into.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-status.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/rollback-migration.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-source-storage-units.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/register-migration-source-storage-unit.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-check-status.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/commit-migration.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-status.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/start-migration.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-check-status.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/alter-migration-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/commit-migration.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/stop-migration-check.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/start-migration-check.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/unregister-storage-unit.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/check-migration.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/stop-migration.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/unregister-storage-unit.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-dist-variable.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/unlabel-compute-node.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/unlabel-compute-node.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/label-relabel-compute-node.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-status-from-readwrite-splitting-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/label-relabel-compute-node.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/alter-readwrite-splitting-rule-enable-disable.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/enable-disable-compute-node.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-compute-nodes.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-compute-nodes.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-status-from-readwrite-splitting-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/enable-disable-compute-node.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/convert-yaml-configuration.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-dist-variable.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/export-database-configuration.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/refresh-table-metadata.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/set-dist-vairable.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/import-database-configuration.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-rules-used-storage-unit.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/refresh-database-metadata.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-traffic-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-authority-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-sql-federation-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-sql-parser-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-sql-federation-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-authority-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-transaction-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-transaction-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-sql-parser-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-traffic-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-traffic-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-transaction-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-sql-parser-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-traffic-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-sql-parser-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-transaction-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-sql-federation-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-sql-federation-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-compute-node-info.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-compute-node-mode.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/encrypt-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/sharding-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/readwirte-splitting-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/mask-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/shadow-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/sharding-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/shadow-rule.cn.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/_index.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/readwirte-splitting-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/encrypt-rule.en.md
  docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/mask-rule.cn.md
  docs/document/content/user-manual/_index.cn.md
  docs/document/content/user-manual/_index.en.md
  docs/document/content/user-manual/error-code/sql-error-code.en.md
  docs/document/content/user-manual/error-code/_index.en.md
  docs/document/content/user-manual/error-code/server-error-code.en.md
  docs/document/content/overview/_index.en.md
  docs/document/content/test-manual/integration-test/_index.en.md
  docs/document/content/test-manual/performance-test/benchmarksql-proxy-sharding-test.cn.md
  docs/document/content/test-manual/performance-test/sysbench-proxy-norules-test.cn.md
  docs/document/content/test-manual/performance-test/benchmarksql-proxy-sharding-test.en.md
  docs/document/content/test-manual/performance-test/_index.cn.md
  docs/document/content/test-manual/performance-test/_index.en.md
  docs/document/content/test-manual/performance-test/sysbench-proxy-norules-test.en.md
  docs/document/content/test-manual/_index.cn.md
  docs/document/content/test-manual/_index.en.md
  docs/document/content/test-manual/pipeline-e2e-test/_index.cn.md
  docs/document/content/test-manual/pipeline-e2e-test/_index.en.md
  docs/document/content/test-manual/module-test/parser-test.en.md
  docs/document/content/test-manual/module-test/_index.cn.md
  docs/document/content/test-manual/module-test/rewrite-test.en.md
  docs/document/content/test-manual/module-test/_index.en.md
  docs/document/content/quick-start/shardingsphere-proxy-quick-start.cn.md
  docs/document/content/quick-start/_index.cn.md
  docs/document/content/quick-start/_index.en.md
  docs/document/content/quick-start/shardingsphere-jdbc-quick-start.cn.md
  docs/document/content/quick-start/shardingsphere-proxy-quick-start.en.md
  docs/document/content/quick-start/shardingsphere-jdbc-quick-start.en.md
  docs/document/content/dev-manual/encrypt.cn.md
  docs/document/content/dev-manual/sql-parser.en.md
  docs/document/content/dev-manual/sharding.cn.md
  docs/document/content/dev-manual/mode.en.md
  docs/document/content/dev-manual/sql-parser.cn.md
  docs/document/content/dev-manual/agent.cn.md
  docs/document/content/dev-manual/mask.cn.md
  docs/document/content/dev-manual/shadow.en.md
  docs/document/content/dev-manual/infra-algorithm.cn.md
  docs/document/content/dev-manual/encrypt.en.md
  docs/document/content/dev-manual/_index.cn.md
  docs/document/content/dev-manual/shadow.cn.md
  docs/document/content/dev-manual/mode.cn.md
  docs/document/content/dev-manual/mask.en.md
  docs/document/content/dev-manual/sql-audit.cn.md
  docs/document/content/dev-manual/_index.en.md
  docs/document/content/dev-manual/agent.en.md
  docs/document/content/dev-manual/sql-audit.en.md
  docs/document/content/dev-manual/sharding.en.md
  docs/document/content/dev-manual/infra-algorithm.en.md
  docs/document/content/faq/_index.cn.md
  docs/document/content/faq/_index.en.md
  docs/document/content/downloads/_index.en.md
  docs/document/content/features/mask/concept.en.md
  docs/document/content/features/mask/limitations.en.md
  docs/document/content/features/mask/_index.en.md
  docs/document/content/features/observability/concept.en.md
  docs/document/content/features/observability/_index.en.md
  docs/document/content/features/migration/concept.en.md
  docs/document/content/features/migration/limitations.en.md
  docs/document/content/features/migration/_index.en.md
  docs/document/content/features/management/concept.en.md
  docs/document/content/features/management/_index.en.md
  docs/document/content/features/sharding/concept.en.md
  docs/document/content/features/sharding/appendix.en.md
  docs/document/content/features/sharding/_index.en.md
  docs/document/content/features/sharding/limitation.en.md
  docs/document/content/features/sql-federation/limitation.cn.md
  docs/document/content/features/sql-federation/_index.en.md
  docs/document/content/features/sql-federation/limitation.en.md
  docs/document/content/features/_index.en.md
  docs/document/content/features/shadow/concept.en.md
  docs/document/content/features/shadow/limitations.en.md
  docs/document/content/features/shadow/_index.en.md
  docs/document/content/features/readwrite-splitting/concept.en.md
  docs/document/content/features/readwrite-splitting/limitations.en.md
  docs/document/content/features/readwrite-splitting/_index.en.md
  docs/document/content/features/db-gateway/concept.en.md
  docs/document/content/features/db-gateway/limitations.en.md
  docs/document/content/features/db-gateway/_index.en.md
  docs/document/content/features/encrypt/concept.en.md
  docs/document/content/features/encrypt/appendix.en.md
  docs/document/content/features/encrypt/limitations.en.md
  docs/document/content/features/encrypt/_index.en.md
  docs/document/content/features/transaction/concept.cn.md
  docs/document/content/features/transaction/concept.en.md
  docs/document/content/features/transaction/appendix.en.md
  docs/document/content/features/transaction/limitations.en.md
  docs/document/content/features/transaction/_index.en.md
  docs/document/content/reference/mask/_index.cn.md
  docs/document/content/reference/mask/_index.en.md
  docs/document/content/reference/db-compatibility/_index.cn.md
  docs/document/content/reference/db-compatibility/_index.en.md
  docs/document/content/reference/observability/_index.en.md
  docs/document/content/reference/gateway/_index.en.md
  docs/document/content/reference/migration/_index.en.md
  docs/document/content/reference/management/_index.en.md
  docs/document/content/reference/_index.cn.md
  docs/document/content/reference/sharding/execute.en.md
  docs/document/content/reference/sharding/merge.en.md
  docs/document/content/reference/sharding/_index.cn.md
  docs/document/content/reference/sharding/parse.en.md
  docs/document/content/reference/sharding/rewrite.en.md
  docs/document/content/reference/sharding/_index.en.md
  docs/document/content/reference/sharding/route.en.md
  docs/document/content/reference/architecture/_index.en.md
  docs/document/content/reference/_index.en.md
  docs/document/content/reference/shadow/_index.en.md
  docs/document/content/reference/encrypt/_index.cn.md
  docs/document/content/reference/encrypt/_index.en.md
  docs/document/content/reference/transaction/base-transaction-seata.en.md
  docs/document/content/reference/transaction/_index.en.md
  docs/document/content/reference/transaction/2pc-xa-transaction.en.md
  docs/document/archetypes/default.md
  docs/document/config.toml
  docs/README.md
  docs/build.sh
  docs/blog/static/css/theme-mine.css
  docs/blog/static/css/theme-black.css
  docs/blog/static/fonts/glyphicons-halflings-regular.svg
  docs/blog/layouts/partials/style.html
  docs/blog/layouts/partials/logo.html
  docs/blog/layouts/partials/favicon.html
  docs/blog/layouts/partials/menu-footer.html
  docs/blog/layouts/partials/javascript.html
  docs/blog/layouts/index.html
  docs/blog/layouts/shortcodes/bilibili.html
  docs/blog/layouts/shortcodes/qq.html
  docs/blog/themes/tale4zh/README.md
  docs/blog/themes/tale4zh/static/css/fonts.css
  docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-italic.svg
  docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-regular.svg
  docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-700.svg
  docs/blog/themes/tale4zh/theme.toml
  docs/blog/themes/tale4zh/layouts/_default/list.html
  docs/blog/themes/tale4zh/layouts/_default/taxonomy.html
  docs/blog/themes/tale4zh/layouts/_default/baseof.html
  docs/blog/themes/tale4zh/layouts/_default/terms.html
  docs/blog/themes/tale4zh/layouts/_default/single.html
  docs/blog/themes/tale4zh/layouts/_default/summary.html
  docs/blog/themes/tale4zh/layouts/404.html
  docs/blog/themes/tale4zh/layouts/partials/footer.html
  docs/blog/themes/tale4zh/layouts/partials/head.html
  docs/blog/themes/tale4zh/layouts/partials/single/footer.html
  docs/blog/themes/tale4zh/layouts/partials/single/post-info.html
  docs/blog/themes/tale4zh/layouts/partials/single/header.html
  docs/blog/themes/tale4zh/layouts/partials/single/title.html
  docs/blog/themes/tale4zh/layouts/partials/header.html
  docs/blog/themes/tale4zh/layouts/partials/header-menu.html
  docs/blog/themes/tale4zh/layouts/partials/index/introduction.html
  docs/blog/themes/tale4zh/layouts/index.html
  docs/blog/themes/tale4zh/layouts/about/list.html
  docs/blog/themes/tale4zh/i18n/de.toml
  docs/blog/themes/tale4zh/i18n/nl.toml
  docs/blog/themes/tale4zh/i18n/en.toml
  docs/blog/themes/tale4zh/i18n/fr.toml
  docs/blog/themes/tale4zh/i18n/es.toml
  docs/blog/themes/tale4zh/data/months_es.yaml
  docs/blog/themes/tale4zh/data/months_nl.yaml
  docs/blog/themes/tale4zh/data/months_fr.yaml
  docs/blog/themes/tale4zh/data/months_de.yaml
  docs/blog/themes/tale4zh/assets/scss/tale.scss
  docs/blog/themes/tale4zh/assets/scss/tale/_syntax.scss
  docs/blog/themes/tale4zh/assets/scss/tale/_pagination.scss
  docs/blog/themes/tale4zh/assets/scss/tale/_post.scss
  docs/blog/themes/tale4zh/assets/scss/tale/_base.scss
  docs/blog/themes/tale4zh/assets/scss/tale/_catalogue.scss
  docs/blog/themes/tale4zh/assets/scss/tale/_layout.scss
  docs/blog/themes/tale4zh/assets/scss/tale/_variables.scss
  docs/blog/themes/tale4zh/assets/scss/tale/_code.scss
  docs/blog/themes/tale4zh/.travis.yml
  docs/blog/themes/tale4zh/resources/_gen/assets/scss/scss/tale.scss_5ad6f408b0e3e473c748aac88af0ea18.content
  docs/blog/themes/tale4zh/resources/_gen/assets/scss/scss/tale.scss_33d66d0b5f8b04b1d41c1da7ba50ddae.content
  docs/blog/themes/tale4zh/archetypes/default.md
  docs/blog/themes/tale4zh/.gitattributes
  docs/blog/content/material/committer.en.md
  docs/blog/content/material/2022_09_02_First_Look_at_ShardingSphere_5.2.0_&_In-Person_Meetup_on_Massive_Data_Management_Practices.en.md
  docs/blog/content/material/Feb_18_Apache_ShardingSphere_5.1.0_Now_Avaliable.en.md
  docs/blog/content/material/2023_03_07_ShardingSphere_5.3.x_Update_Spring_Configuration_Update_Guide.en.md
  docs/blog/content/material/2023_06_15_Chaos_Engineering.md
  docs/blog/content/material/2022_06_16_Understanding_Apache_ShardingSphere's_SPI_and_why_it’s_simpler_than_Dubbo’s.en.md
  docs/blog/content/material/2022_05_17_How_does_Apache_ShardingSphere_implement_distributed_transactions.en.md
  docs/blog/content/material/2023_03_14_ShardingSphere_Operator_Practical_Guide.en.md
  docs/blog/content/material/2023_01_04_Refactoring_the_DistSQL_Syntax__ShardingSphere_5.3.0_Deep_Dive.en.md
  docs/blog/content/material/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere.en.md
  docs/blog/content/material/2022_10_25_ShardingSphere_5.2.1_is_released — Here_are_the_highlights.en.md
  docs/blog/content/material/2023_02_15_A_Distributed_Database_Load_Balancing_Architecture_Based_on_ShardingSphere_Demo_&_User_Case.en.md
  docs/blog/content/material/2022_06_30_ShardingSphere_&_Database_Mesh.en.md
  docs/blog/content/material/alpha.cn.md
  docs/blog/content/material/Jan_28_Blog_X_Kernel_Optimizations_&_Upgrade_Guide_for_Apache_ShardingSphere_5.0.0_The_Ideal_Database_Management_Ecosystem.en.md
  docs/blog/content/material/Oct_12_7_openGauss_ShardingSphere_One_of_the_Top_Distribution_Solutions.en.md
  docs/blog/content/material/2022_07_26_DistSQL_Applications_Building_a_Dynamic_Distributed_Database.en.md
  docs/blog/content/material/2022_04_21_Apache_ShardingSphere_openGauss_Breaking_the_Distributed_Database_Performance_Record_with_10_Million_tpmC.en.md
  docs/blog/content/material/2023_04_27_How_South_Korea’s_Yogiyo_Improved_Scalability_and_Performance_with_Apache_ShardingSphere.en.md
  docs/blog/content/material/Oct_12_7_openGauss_ShardingSphere_One_of_the_Top_Distribution_Solutions.cn.md
  docs/blog/content/material/Oct_12_4_Updates_and_FAQ_Your_1_Minute_Quick_Start_Guide_to_ShardingSphere.cn.md
  docs/blog/content/material/2022_03_29_CITIC_Industrial_Cloud_Apache_ShardingSphere_Enterprise_Applications.en.md
  docs/blog/content/material/2022_03_23_Apache_ShardingSphere_Proxy_Performance_with_PostgreSQL_is_Improved_26.8%_with_Version_5.1.0.en.md
  docs/blog/content/material/2023_07_07_AWS_Summit_China_2023_ShardingSphere_Highlights_and_Data_Security_Insights.md
  docs/blog/content/material/2022_07_06_ShardingSphere-JDBC_Driver_Released_A_JDBC_Driver_That_Requires_No_Code_Modifications.en.md
  docs/blog/content/material/Jul_26_An_introduction_to_DistSQL.en.md
  docs/blog/content/material/2023_03_23_Managing_Metadata_in_Sharded_Database_Environments_with_ShardingSphere's_Built-in_Metadata_Function.en.md
  docs/blog/content/material/Mar_23_DistSQL_Cluster_Governance_Capabilities.en.md
  docs/blog/content/material/2023_04_11_Monitoring_SQL_Performance_with_ShardingSphere-Agent,_Prometheus_and_Grafana.en.md
  docs/blog/content/material/Nov_22_5.0.0_New.en.md
  docs/blog/content/material/Jul_26_An_introduction_to_DistSQL.cn.md
  docs/blog/content/material/graduate.en.md
  docs/blog/content/material/2022_05_24_Your_Guide_to_DistSQL_Cluster_Governance_Capability_Apache_ShardingSphere_Feature_Update.en.md
  docs/blog/content/material/2022_04_18_Apache_ShardingSphere_5.1.1_Is_Available.en.md
  docs/blog/content/material/2022_06_10_Apache_ShardingSphere_Enterprise_Applications_Bilibili.en.md
  docs/blog/content/material/2022_03_09_SQL_Parse_Format_Function_A_Technical_Deep_Dive_by_Apache_ShardingSphere.en.md
  docs/blog/content/material/Oct_12_2_A_Distributed_Database_Middleware_Ecosystem_Driven_by_Open_Source.en.md
  docs/blog/content/material/2022_04_26_How_to_Use_ShardingSphere-Proxy_in_Real_Production_Scenarios_Your_Quick_Start_Guide.en.md
  docs/blog/content/material/proxy.en.md
  docs/blog/content/material/realization.en.md
  docs/blog/content/material/community.cn.md
  docs/blog/content/material/_index.cn.md
  docs/blog/content/material/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster.en.md
  docs/blog/content/material/2022_09_08_Apache_ShardingSphere_5.2.0_is_Released,_Bringing_New_Cloud_Native_Possibilities.en.md
  docs/blog/content/material/2022_12_13_Use_AWS_CloudFormation_to_create_ShardingSphere_HA_clusters.en.md
  docs/blog/content/material/database.en.md
  docs/blog/content/material/2023_02_09_Leverage_Terraform_to_Create_an_Apache_ShardingSphere_Proxy_High_Availability_Cluster_on_AWS.en.md
  docs/blog/content/material/CNCF.en.md
  docs/blog/content/material/2022_10_27_ElasticJob_3.0.2_is_released_with_failover_optimization,_scheduling_stability,_and_Java_19_compatibility.en.md
  docs/blog/content/material/2022_03_18_Executor_Engine_Performance_Optimization_Showcase_with_Apache_ShardingSphere_5.1.0.en.md
  docs/blog/content/material/2023_04_03_ShardingSphere_5.3.2_Release_Apollo_Integration,_Better_Data_Migration,_and_Stronger_Encryption.en.md
  docs/blog/content/material/committer.cn.md
  docs/blog/content/material/engine.en.md
  docs/blog/content/material/result.en.md
  docs/blog/content/material/ElasticJob.cn.md
  docs/blog/content/material/Oct_12_3_How_Can_Students_Participate_in_Open_Source_Communities.en.md
  docs/blog/content/material/2022_12_08_ShardingSphere_5.3.0_is_released_new_features_and_improvements.en.md
  docs/blog/content/material/2022_06_28_Cloud_native_deployment_for_a_high-performance_data_gateway_new_API_driver_Apache_ShardingSphere_5.1.2_is_released.en.md
  docs/blog/content/material/2022_11_15_Alibaba_Cloud’s_OpenSergo_&_ShardingSphere_release_database_governance_standard_for_microservices_-_combining_Database_Plus_and_Database_Mesh_concepts.en.md
  docs/blog/content/material/2022_04_13_A_Practical_Guide_to_Apache_ShardingSphere's_HINT.en.md
  docs/blog/content/material/Open_source_community.en.md
  docs/blog/content/material/Feb_23_Stack_Overflow.en.md
  docs/blog/content/material/2022_12_28_Fuzzy_query_for_CipherColumn__ShardingSphere_5.3.0_Deep_Dive.en.md
  docs/blog/content/material/2022_08_02_Book_Release_“A_Definitive_Guide_to_Apache_ShardingSphere”_is_Published_Internationally.en.md
  docs/blog/content/material/Oct_12_6_AutoTable_Your_Butler-Like_Sharding_Configuration_Tool.cn.md
  docs/blog/content/material/2023_03_21_Streamlining_Database_Configuration_with_DistSQL's_Export,_Import,_and_YAML_Conversion.en.md
  docs/blog/content/material/2022_11_22_ElasticJob_UI_now_supports_Auth_2.0,_OIDC_and_SAML_single_sign-on_thanks_to_Casdoor.en.md
  docs/blog/content/material/Jan_28_F6_Automobile_Technology’s_Multimillion_Rows_of_Data_Sharding_Strategy_Based_on_Apache_ShardingS.md
  docs/blog/content/material/Jan_28_Full_Link_Online_Stress_Testing_for_Production_Database_Apache_ShardingSphere_Shadow_Database_Feature_Upgrade.en.md
  docs/blog/content/material/2022_09_22_How_does_ShardingSphere’s_Show_processlist_&_Kill_Work.en.md
  docs/blog/content/material/2022_04_29_Apache_ShardingSphere_Enterprise_Applications_Zhuanzhuan’s_Transaction_System_with_100s_of_Millions_of_Records.en.md
  docs/blog/content/material/_index.en.md
  docs/blog/content/material/2022_05_19_Apache_ShardingSphere_Enterprise_User_Case_Zhongshang_Huimin’s_Transaction_Middle_Platform_Architecture.en.md
  docs/blog/content/material/Oct_12_6_AutoTable_Your_Butler_Like_Sharding_Configuration_Tool.en.md
  docs/blog/content/material/2023_02_23_ShardingSphere-Proxy_Database_Protocol_Interaction_Explained.en.md
  docs/blog/content/material/2022_11_24_ShardingSphere-on-Cloud_&_Pisanix_replace_Sidecar_for_a_true_cloud-native_experience.en.md
  docs/blog/content/material/seata.en.md
  docs/blog/content/material/Jan_28_Blog_PG_Create_a_Distributed_Database_Solution_Based_on_PostgreSQL_&_openGauss.en.md
  docs/blog/content/material/2022_05_10_What’s_the_Database_Plus_concept_and_what_challenges_can_it_solve.en.md
  docs/blog/content/material/2022_03_11_Asia’s_E-Commerce_Giant_Dangdang_Increases_Order_Processing_Speed_by_30%_Saves_Over_Ten_Million_in_Technology_Budget_with_Apache_ShardingSphere.en.md
  docs/blog/content/material/2023_06_07_How_to_Run_SQl_Trace_with_ShardingSphere.md
  docs/blog/content/material/Jan_28_Blog_X_How_to_Develop_Your_Distributed_SQL_Statement_in_Apache_ShardingSphere.en.md
  docs/blog/content/material/2022_07_20_User_Case_China_Unicom_Digital_Technology_Ensuring_Stability_Efficiency_and_Replicability_at_Scale.en.md
  docs/blog/content/material/solution.en.md
  docs/blog/content/material/Nov_23_1_Integrate_SCTL_into_RAL.en.md
  docs/blog/content/material/ElasticJob.en.md
  docs/blog/content/material/Oct_12_9_ShardingSphere_JD_Baitiao_Story_of_an_Implementation_Journey.en.md
  docs/blog/content/material/Oct_12_5_E_Hualu_ShardingSphere_Hulu_Story_Data_Processing_Shortcut.en.md
  docs/blog/content/material/2023_04_13_Revamped_ShardingSphere_On_Cloud_What’s_New_in_Version_0.2.0_with_CRD_ComputeNode.en.md
  docs/blog/content/material/ss_5.0.0beta.en.md
  docs/blog/content/material/2022_06_02_Database_Mesh_2.0_Database_Governance_in_a_Cloud_Native_Environment.en.md
  docs/blog/content/material/Jan_28_YOUR_DETAILED_GUIDE_TO_APACHE_SHARDINGSPHERE’S_OPERATING_MODES.en.md
  docs/blog/content/material/2023_05_18_Enhancing_Database_Security_ShardingSphere-Proxy’s_Authentication.en.md
  docs/blog/content/material/2023_02_17_Dynamic_Data_Masking_ShardingSphere_5.3.1_Deep_Dive.en.md
  docs/blog/content/material/Oct_12_1_ShardingSphere’s_Metadata_Loading_Process.en.md
  docs/blog/content/material/Oct_12_8_ShardingSphere_Google_Summer_of_Code_Students_How_Was_Your_Open_Source_Experience.cn.md
  docs/blog/content/material/2022_07_28_Database_Plus’s_Embracing_the_Cloud_ShardingSphere-on-Cloud_Solution_Released.en.md
  docs/blog/content/material/Oct_12_4_Updates_and_FAQ_Your_1_Minute_Quick_Start_Guide_to_ShardingSphere.en.md
  docs/blog/content/material/2022_03_16_Create_a_Distributed_Database_with_High_Availability_with_Apache_ShardingSphere.en.md
  docs/blog/content/material/2022_04_01_1st_Academic_Paper_by_Apache_ShardingSphere_Accepted_by_ICDE_A_Top-Level_Database_Conference.en.md
  docs/blog/content/material/2022_10_14_ShardingSphere_5.2.0_Audit_for_sharding_intercepts_unreasonable_requests_in_multi-shards_scenarios.en.md
  docs/blog/content/material/Oct_12_2_A_Distributed_Database_Middleware_Ecosystem_Driven_by_Open_Source.cn.md
  docs/blog/content/material/Oct_12_8_ShardingSphere_Google_Summer_of_Code_Students_How_Was_Your_Open_Source_Experience.en.md
  docs/blog/content/material/community.en.md
  docs/blog/content/material/2022_06_21_Heterogeneous_migration_reducing_Dangdang’s_customer_system_RTO_60x_and_increasing_speed_by_20%.en.md
  docs/blog/content/material/alpha.en.md
  docs/blog/content/material/2022_07_12_ShardingSphere_Cloud_Applications_An_out-of-the-box_ShardingSphere-Proxy_Cluster.en.md
  docs/blog/content/material/2023_07_10_A_Step-by-Step_Guide_to_Data_Migration.md
  docs/blog/content/material/2023_05_10_Simplifying_Learning_ShardingSphere’s_Template_Engine_for_Streamlined_Examples.en.md
  docs/blog/content/material/2022_07_08_ShardingSphere-Proxy_Front-End_Protocol_Troubleshooting_Guide_and_Examples.en.md
  docs/blog/content/videos/build.en.md
  docs/blog/content/videos/new_SQL.cn.md
  docs/blog/content/videos/new_SQL.en.md
  docs/blog/content/videos/_index.cn.md
  docs/blog/content/videos/openGauss.en.md
  docs/blog/content/videos/openGauss.cn.md
  docs/blog/content/videos/evolution.en.md
  docs/blog/content/videos/_index.en.md
  docs/blog/content/videos/ecosystem.en.md
  docs/blog/content/videos/OpenSource.en.md
  docs/blog/content/videos/Newfeature.en.md
  docs/blog/resources/_gen/assets/scss/scss/tale.scss_5ad6f408b0e3e473c748aac88af0ea18.content
  docs/blog/archetypes/default.cn.md
  docs/blog/config.toml
  .github/PULL_REQUEST_TEMPLATE
  .github/workflows/resources/variables/env-variables.properties
  .github/ISSUE_TEMPLATE/question.md
  .github/ISSUE_TEMPLATE/bug-report.md
  .github/ISSUE_TEMPLATE/feature-request.md
  .github/GIT_TEMPLATE/.git_commit_template.txt
  examples/README.md
  examples/shardingsphere-jdbc-example-generator/README.md
  README.md
  RELEASE-NOTES.md
  CODE_OF_CONDUCT.md
  MATURITY.md
  .mvn/jvm.config
  CONTRIBUTING.md
  README_ZH.md
  src/resources/rat.txt

*****************************************************

Archives:

 + .mvn/wrapper/maven-wrapper.jar
 
*****************************************************
  Files with Apache License headers will be marked AL
  Binary files (which do not require any license headers) will be marked B
  Compressed archives will be marked A
  Notices, licenses etc. will be marked N
  B     docs/community/static/image/powered-by.png
  B     docs/community/static/image/icon-2.png
 !????? docs/community/static/image/theme.svg
  B     docs/community/static/image/icon-3.png
  B     docs/community/static/image/icon-1.png
 !????? docs/community/static/css/theme-mine.css
 !????? docs/community/static/css/theme-white.css
 !????? docs/community/static/css/theme-black.css
  B     docs/community/static/fonts/glyphicons-halflings-regular.eot
  B     docs/community/static/fonts/glyphicons-halflings-regular.ttf
 !????? docs/community/static/fonts/glyphicons-halflings-regular.svg
  B     docs/community/static/fonts/glyphicons-halflings-regular.woff
 !????? docs/community/layouts/partials/style.html
 !????? docs/community/layouts/partials/logo.html
 !????? docs/community/layouts/partials/favicon.html
 !????? docs/community/layouts/partials/menu-footer.html
 !????? docs/community/layouts/partials/javascript.html
 !????? docs/community/layouts/index.html
 !????? docs/community/layouts/shortcodes/bilibili.html
 !????? docs/community/themes/hugo-theme-learn/README.md
 !????? docs/community/themes/hugo-theme-learn/static/js/highlight.pack.js
 !????? docs/community/themes/hugo-theme-learn/static/js/hugo-learn.js
 !????? docs/community/themes/hugo-theme-learn/static/js/learn.js
 !????? docs/community/themes/hugo-theme-learn/static/js/search.js
 !????? docs/community/themes/hugo-theme-learn/static/js/jquery-2.x.min.js
 !????? docs/community/themes/hugo-theme-learn/static/js/html5shiv-printshiv.min.js
 !????? docs/community/themes/hugo-theme-learn/static/js/lunr.min.js
 !????? docs/community/themes/hugo-theme-learn/static/js/auto-complete.js
 !????? docs/community/themes/hugo-theme-learn/static/js/perfect-scrollbar.jquery.min.js
 !????? docs/community/themes/hugo-theme-learn/static/js/perfect-scrollbar.min.js
 !????? docs/community/themes/hugo-theme-learn/static/js/jquery.sticky.js
 !????? docs/community/themes/hugo-theme-learn/static/js/modernizr.custom.71422.js
 !????? docs/community/themes/hugo-theme-learn/static/js/featherlight.min.js
 !????? docs/community/themes/hugo-theme-learn/static/js/clipboard.min.js
 !????? docs/community/themes/hugo-theme-learn/static/css/theme.css
 !????? docs/community/themes/hugo-theme-learn/static/css/hybrid.css
 !????? docs/community/themes/hugo-theme-learn/static/css/auto-complete.css
 !????? docs/community/themes/hugo-theme-learn/static/css/featherlight.min.css
 !????? docs/community/themes/hugo-theme-learn/static/css/theme-blue.css
 !????? docs/community/themes/hugo-theme-learn/static/css/theme-red.css
 !????? docs/community/themes/hugo-theme-learn/static/css/perfect-scrollbar.min.css
 !????? docs/community/themes/hugo-theme-learn/static/css/font-awesome.min.css
 !????? docs/community/themes/hugo-theme-learn/static/css/hugo-theme.css
 !????? docs/community/themes/hugo-theme-learn/static/css/nucleus.css
 !????? docs/community/themes/hugo-theme-learn/static/css/theme-green.css
  B     docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.woff2
  B     docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.woff
  B     docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_500.woff2
  B     docs/community/themes/hugo-theme-learn/static/fonts/Inconsolata.eot
  B     docs/community/themes/hugo-theme-learn/static/fonts/FontAwesome.otf
 !????? docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.svg
  B     docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.ttf
  B     docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.eot
  B     docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_200.eot
 !????? docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_300.svg
  B     docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.woff
  B     docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.eot
 !????? docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_500.svg
  B     docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_500.ttf
 !????? docs/community/themes/hugo-theme-learn/static/fonts/Inconsolata.svg
  B     docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.ttf
  B     docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.eot
  B     docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.woff2
 !????? docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.svg
  B     docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_500.woff
  B     docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_200.ttf
  B     docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_300.ttf
  B     docs/community/themes/hugo-theme-learn/static/fonts/Inconsolata.woff
  B     docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_300.eot
 !????? docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_200.svg
 !????? docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.svg
  B     docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_200.woff
  B     docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_200.woff2
  B     docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_300.woff2
  B     docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.woff
  B     docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.ttf
  B     docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_300.woff
  B     docs/community/themes/hugo-theme-learn/static/fonts/Inconsolata.ttf
  B     docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_500.eot
  B     docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.woff2
 !????? docs/community/themes/hugo-theme-learn/static/mermaid/mermaid.css
 !????? docs/community/themes/hugo-theme-learn/static/mermaid/mermaid.js
 !????? docs/community/themes/hugo-theme-learn/static/mermaid/mermaid.dark.css
 !????? docs/community/themes/hugo-theme-learn/static/mermaid/mermaid.forest.css
 !????? docs/community/themes/hugo-theme-learn/static/images/clippy.svg
  B     docs/community/themes/hugo-theme-learn/static/images/gopher-404.jpg
  B     docs/community/themes/hugo-theme-learn/static/images/favicon.png
 !????? docs/community/themes/hugo-theme-learn/theme.toml
 !????? docs/community/themes/hugo-theme-learn/layouts/_default/list.html
 !????? docs/community/themes/hugo-theme-learn/layouts/_default/single.html
 !????? docs/community/themes/hugo-theme-learn/layouts/404.html
  B     docs/community/themes/hugo-theme-learn/layouts/index.json
 !????? docs/community/themes/hugo-theme-learn/layouts/partials/logo.html
 !????? docs/community/themes/hugo-theme-learn/layouts/partials/change-theme.html
 !????? docs/community/themes/hugo-theme-learn/layouts/partials/language.html
 !????? docs/community/themes/hugo-theme-learn/layouts/partials/footer.html
 !????? docs/community/themes/hugo-theme-learn/layouts/partials/logo copy.html
 !????? docs/community/themes/hugo-theme-learn/layouts/partials/meta.html
 !????? docs/community/themes/hugo-theme-learn/layouts/partials/menu.html
 !????? docs/community/themes/hugo-theme-learn/layouts/partials/favicon.html
 !????? docs/community/themes/hugo-theme-learn/layouts/partials/search.html
 !????? docs/community/themes/hugo-theme-learn/layouts/partials/menu-footer.html
 !????? docs/community/themes/hugo-theme-learn/layouts/partials/custom-footer.html
 !????? docs/community/themes/hugo-theme-learn/layouts/partials/toc.html
 !????? docs/community/themes/hugo-theme-learn/layouts/partials/header.html
 !????? docs/community/themes/hugo-theme-learn/layouts/partials/custom-header.html
 !????? docs/community/themes/hugo-theme-learn/layouts/partials/custom-comments.html
 !????? docs/community/themes/hugo-theme-learn/layouts/index.html
 !????? docs/community/themes/hugo-theme-learn/layouts/shortcodes/notice.html
 !????? docs/community/themes/hugo-theme-learn/layouts/shortcodes/ref.html
 !????? docs/community/themes/hugo-theme-learn/layouts/shortcodes/attachments.html
 !????? docs/community/themes/hugo-theme-learn/layouts/shortcodes/children.html
 !????? docs/community/themes/hugo-theme-learn/layouts/shortcodes/button.html
 !????? docs/community/themes/hugo-theme-learn/layouts/shortcodes/mermaid.html
 !????? docs/community/themes/hugo-theme-learn/layouts/shortcodes/expand.html
 !????? docs/community/themes/hugo-theme-learn/layouts/shortcodes/relref.html
 !????? docs/community/themes/hugo-theme-learn/layouts/shortcodes/siteparam.html
 !????? docs/community/themes/hugo-theme-learn/i18n/pt.toml
 !????? docs/community/themes/hugo-theme-learn/i18n/en.toml
 !????? docs/community/themes/hugo-theme-learn/i18n/fr.toml
 !????? docs/community/themes/hugo-theme-learn/i18n/es.toml
 !????? docs/community/themes/hugo-theme-learn/wercker.yml
 !????? docs/community/themes/hugo-theme-learn/archetypes/default.cn.md
 !????? docs/community/themes/hugo-theme-learn/archetypes/chapter.cn.md
  MIT   docs/community/themes/hugo-theme-learn/LICENSE.md
  B     docs/community/themes/hugo-theme-learn/images/tn.png
  B     docs/community/themes/hugo-theme-learn/images/screenshot.png
  B     docs/community/content/security/_index.cn.md
 !????? docs/community/content/security/_index.en.md
 !????? docs/community/content/involved/subscribe.en.md
  B     docs/community/content/involved/subscribe.cn.md
  B     docs/community/content/involved/contribute/contributor.cn.md
 !????? docs/community/content/involved/contribute/document.en.md
 !????? docs/community/content/involved/contribute/dev-env.en.md
 !????? docs/community/content/involved/contribute/_index.cn.md
 !????? docs/community/content/involved/contribute/contributor.en.md
 !????? docs/community/content/involved/contribute/_index.en.md
  B     docs/community/content/involved/contribute/dev-env.cn.md
  B     docs/community/content/involved/contribute/document.cn.md
 !????? docs/community/content/involved/release/shardingsphere-on-cloud.en.md
 !????? docs/community/content/involved/release/elasticjob.en.md
 !????? docs/community/content/involved/release/elasticjob-ui.cn.md
 !????? docs/community/content/involved/release/_index.cn.md
  B     docs/community/content/involved/release/elasticjob.cn.md
 !????? docs/community/content/involved/release/shardingsphere.en.md
 !????? docs/community/content/involved/release/_index.en.md
 !????? docs/community/content/involved/release/elasticjob-ui.en.md
 !????? docs/community/content/involved/release/shardingsphere-on-cloud.cn.md
  B     docs/community/content/involved/release/shardingsphere.cn.md
  B     docs/community/content/involved/_index.cn.md
 !????? docs/community/content/involved/conduct/code.en.md
 !????? docs/community/content/involved/conduct/document.en.md
 !????? docs/community/content/involved/conduct/_index.cn.md
 !????? docs/community/content/involved/conduct/code.cn.md
 !????? docs/community/content/involved/conduct/_index.en.md
  B     docs/community/content/involved/conduct/issue.cn.md
 !????? docs/community/content/involved/conduct/issue.en.md
  B     docs/community/content/involved/conduct/document.cn.md
 !????? docs/community/content/involved/_index.en.md
  B     docs/community/content/involved/committer/responsibilities.cn.md
 !????? docs/community/content/involved/committer/icla.en.md
  B     docs/community/content/involved/committer/2FA.cn.md
 !????? docs/community/content/involved/committer/_index.cn.md
 !????? docs/community/content/involved/committer/vote.en.md
  B     docs/community/content/involved/committer/vote.cn.md
  B     docs/community/content/involved/committer/icla.cn.md
 !????? docs/community/content/involved/committer/commiter_rights.en.md
 !????? docs/community/content/involved/committer/responsibilities.en.md
 !????? docs/community/content/involved/committer/_index.en.md
 !????? docs/community/content/involved/committer/2FA.en.md
 !????? docs/community/content/involved/committer/commiter_rights.cn.md
  B     docs/community/content/powered-by/_index.cn.md
 !????? docs/community/content/powered-by/_index.en.md
 !????? docs/community/content/team/_index.cn.md
 !????? docs/community/content/team/_index.en.md
 !????? docs/community/archetypes/default.cn.md
 !????? docs/community/config.toml
  B     docs/document/static/img/mask/3_cn.png
  B     docs/document/static/img/mask/2_en.png
  B     docs/document/static/img/mask/3_en.png
  B     docs/document/static/img/mask/1_cn.png
  B     docs/document/static/img/mask/2_cn.png
  B     docs/document/static/img/mask/1_en.png
  B     docs/document/static/img/solution/data_security.png
  B     docs/document/static/img/solution/online_stress_testing.png
  B     docs/document/static/img/solution/distributed_database.png
  B     docs/document/static/img/solution/database_gateway.png
  B     docs/document/static/img/design_cn.png
  B     docs/document/static/img/stress-test/l-SdbMt-MdbMt-update-tps.png
  B     docs/document/static/img/stress-test/b-SdbSt-insert-tps.png
  B     docs/document/static/img/stress-test/b-SdbSt-insert-rt.png
  B     docs/document/static/img/stress-test/l-SdbSt-MdbSt-query-tps.png
  B     docs/document/static/img/stress-test/l-SdbSt-MdbSt-insert-rt.png
  B     docs/document/static/img/stress-test/l-SdbMt-MdbMt-update-rt.png
  B     docs/document/static/img/stress-test/l-SdbSt-MdbSt-insert-tps.png
  B     docs/document/static/img/stress-test/152vs142rt.png
  B     docs/document/static/img/stress-test/b-SdbSt-update-rt.png
  B     docs/document/static/img/stress-test/b-SdbSt-query-rt.png
  B     docs/document/static/img/stress-test/l-SdbMt-MdbMt-query-rt.png
  B     docs/document/static/img/stress-test/b-SdbSt-query-tps.png
  B     docs/document/static/img/stress-test/l-SdbSt-MdbSt-query-rt.png
  B     docs/document/static/img/stress-test/l-SdbSt-MdbSt-update-tps.png
  B     docs/document/static/img/stress-test/sysbench_test_process.jpg
  B     docs/document/static/img/stress-test/l-SdbMt-MdbMt-insert-tps.png
  B     docs/document/static/img/stress-test/b-SdbSt-update-tps.png
  B     docs/document/static/img/stress-test/l-SdbSt-MdbSt-update-rt.png
  B     docs/document/static/img/stress-test/l-SdbMt-MdbMt-insert-rt.png
  B     docs/document/static/img/stress-test/152vs142tps.png
  B     docs/document/static/img/stress-test/l-SdbMt-MdbMt-query-tps.png
  B     docs/document/static/img/shardingsphere-sidecar-brief.png
  B     docs/document/static/img/db-compatibility/principle1.png
  B     docs/document/static/img/apm/apm-execute-overall-span.png
  B     docs/document/static/img/apm/apm-topology-new.png
  B     docs/document/static/img/apm/apm-trace-new.png
  B     docs/document/static/img/apm/apm-trace.png
  B     docs/document/static/img/apm/apm-branch-span.png
  B     docs/document/static/img/apm/apm-route-span.png
  B     docs/document/static/img/apm/apm-merge-span.png
  B     docs/document/static/img/apm/apm-topology.png
  B     docs/document/static/img/apm/overview_v3.png
  B     docs/document/static/img/apm/apm-execute-span.png
  B     docs/document/static/img/apm/agent-class-loader.png
  B     docs/document/static/img/apm/apm-trunk-span.png
  B     docs/document/static/img/overview_cn.png
  B     docs/document/static/img/gateway/gateway_en.png
  B     docs/document/static/img/gateway/gateway_cn.png
  B     docs/document/static/img/migration/principle.png
  B     docs/document/static/img/shardingsphere-proxy_v2.png
  B     docs/document/static/img/shardingsphere-jdbc_v3.png
  B     docs/document/static/img/icon-2.png
  B     docs/document/static/img/sharding/horizontal_sharding.png
  B     docs/document/static/img/sharding/sharding_architecture_en.png
  B     docs/document/static/img/sharding/parsing_architecture_en.png
  B     docs/document/static/img/sharding/group_by_merge_1_v3.png
  B     docs/document/static/img/sharding/merge_architecture_en.png
  B     docs/document/static/img/sharding/sharding_architecture_en_v3.png
  B     docs/document/static/img/sharding/merge_architecture_cn.png
  B     docs/document/static/img/sharding/route_architecture.png
  B     docs/document/static/img/sharding/sharding_architecture_en_v2.png
  B     docs/document/static/img/sharding/snowflake_en_v3.png
  B     docs/document/static/img/sharding/pagination_without_rewrite.png
  B     docs/document/static/img/sharding/vertical_sharding.png
  B     docs/document/static/img/sharding/pagination_with_rewrite.png
  B     docs/document/static/img/sharding/sharding_architecture_cn.png
  B     docs/document/static/img/sharding/sharding_architecture_cn_v2.png
  B     docs/document/static/img/sharding/rewrite_architecture_cn.png
  B     docs/document/static/img/sharding/order_by_merge_2.png
  B     docs/document/static/img/sharding/group_by_merge_2_v2.png
  B     docs/document/static/img/sharding/parsing_architecture_cn.png
  B     docs/document/static/img/sharding/snowflake_cn_v2.png
  B     docs/document/static/img/sharding/pagination_without_rewrite_en.png
  B     docs/document/static/img/sharding/sharding_architecture_cn_v3.png
  B     docs/document/static/img/sharding/connection_mode_cn.png
  B     docs/document/static/img/sharding/sql_ast.png
  B     docs/document/static/img/sharding/rewrite_architecture_en.png
  B     docs/document/static/img/sharding/execute_architecture_cn.png
  B     docs/document/static/img/sharding/connection_mode_en.png
  B     docs/document/static/img/sharding/route_architecture_en.png
  B     docs/document/static/img/sharding/execute_architecture_en.png
  B     docs/document/static/img/sharding/dead_lock_en.png
  B     docs/document/static/img/sharding/order_by_merge_1.png
  B     docs/document/static/img/sharding/pagination_with_rewrite_en.png
  B     docs/document/static/img/sharding/dead_lock_cn.png
  B     docs/document/static/img/faq/configure-antlr-plugin.png
  B     docs/document/static/img/logo_v3.png
  B     docs/document/static/img/design_en.png
  B     docs/document/static/img/favicon.png
 !????? docs/document/static/img/theme.svg
  B     docs/document/static/img/roadmap_en.png
  B     docs/document/static/img/logo_v2.png
  B     docs/document/static/img/shadow/sql.png
  B     docs/document/static/img/shadow/rule_v5.1.0_en.png
  B     docs/document/static/img/shadow/execute.png
  B     docs/document/static/img/shadow/rule_v5.1.0_cn.png
  B     docs/document/static/img/shadow/rule_en.png
  B     docs/document/static/img/shadow/rule_cn.png
  B     docs/document/static/img/icon-3.png
  B     docs/document/static/img/roadmap_cn.png
  B     docs/document/static/img/shardingsphere-hybrid-architecture_v2.png
  B     docs/document/static/img/readwrite-splitting/background.png
  B     docs/document/static/img/readwrite-splitting/challenges.png
  B     docs/document/static/img/encrypt/4_cn_v3.png
  B     docs/document/static/img/encrypt/8.png
  B     docs/document/static/img/encrypt/2_en.png
  B     docs/document/static/img/encrypt/3_cn_v2.png
  B     docs/document/static/img/encrypt/6.png
  B     docs/document/static/img/encrypt/3_en.png
  B     docs/document/static/img/encrypt/2_en_v2.png
  B     docs/document/static/img/encrypt/5_cn_v2.png
  B     docs/document/static/img/encrypt/1.png
  B     docs/document/static/img/encrypt/2_en_v3.png
  B     docs/document/static/img/encrypt/2_cn_v3.png
  B     docs/document/static/img/encrypt/2_v2.png
  B     docs/document/static/img/encrypt/8_cn_v2.png
  B     docs/document/static/img/encrypt/1n_cn.png
  B     docs/document/static/img/encrypt/7_cn_v2.png
  B     docs/document/static/img/encrypt/4_cn_v2.png
  B     docs/document/static/img/encrypt/8_en.png
  B     docs/document/static/img/encrypt/3.png
  B     docs/document/static/img/encrypt/6_en.png
  B     docs/document/static/img/encrypt/5_en.png
  B     docs/document/static/img/encrypt/5.png
  B     docs/document/static/img/encrypt/4.png
  B     docs/document/static/img/encrypt/4_en.png
  B     docs/document/static/img/encrypt/2.png
  B     docs/document/static/img/encrypt/2_cn_v2.png
  B     docs/document/static/img/encrypt/6_cn_v2.png
  B     docs/document/static/img/encrypt/7.png
  B     docs/document/static/img/encrypt/1_cn_v2.png
  B     docs/document/static/img/encrypt/1_en.png
  B     docs/document/static/img/encrypt/7_en.png
  B     docs/document/static/img/pluggable_platform.png
  B     docs/document/static/img/icon-1.png
  B     docs/document/static/img/distsql/overview_v2.png
  B     docs/document/static/img/distsql/before.png
  B     docs/document/static/img/distsql/after.png
  B     docs/document/static/img/transaction/overview.png
  B     docs/document/static/img/transaction/sharding-transaciton-base-seata-at-design.png
  B     docs/document/static/img/transaction/2pc-xa-transaction-design.png
  B     docs/document/static/img/overview_en.png
 !????? docs/document/static/css/theme-mine.css
 !????? docs/document/static/css/theme-white.css
 !????? docs/document/static/css/style.css
 !????? docs/document/static/css/theme-black.css
  B     docs/document/static/fonts/glyphicons-halflings-regular.eot
  B     docs/document/static/fonts/glyphicons-halflings-regular.ttf
 !????? docs/document/static/fonts/glyphicons-halflings-regular.svg
  B     docs/document/static/fonts/glyphicons-halflings-regular.woff
 !????? docs/document/layouts/partials/style.html
 !????? docs/document/layouts/partials/logo.html
 !????? docs/document/layouts/partials/favicon.html
 !????? docs/document/layouts/partials/menu-footer.html
 !????? docs/document/layouts/partials/toc.html
 !????? docs/document/layouts/partials/javascript.html
 !????? docs/document/layouts/index.html
 !????? docs/document/layouts/shortcodes/bilibili.html
  B     docs/document/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.woff2
  B     docs/document/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.eot
  B     docs/document/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.woff
  B     docs/document/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.ttf
 !????? docs/document/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.svg
  B     docs/document/themes/hugo-theme-learn/exampleSite/static/images/showcase/tat.png
  B     docs/document/themes/hugo-theme-learn/exampleSite/static/images/showcase/tshark_dev.png
  B     docs/document/themes/hugo-theme-learn/exampleSite/static/images/showcase/inteliver_docs.png
 !????? docs/document/themes/hugo-theme-learn/exampleSite/layouts/partials/logo.html
 !????? docs/document/themes/hugo-theme-learn/exampleSite/layouts/partials/menu-footer.html
 !????? docs/document/themes/hugo-theme-learn/exampleSite/layouts/partials/custom-footer.html
 !????? docs/document/themes/hugo-theme-learn/exampleSite/layouts/shortcodes/ghcontributors.html
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/cont/menushortcuts.en.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/cont/archetypes.en.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/cont/tags.fr.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/cont/i18n/_index.fr.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/cont/i18n/_index.en.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/cont/archetypes.fr.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/cont/markdown.fr.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/cont/syntaxhighlight.en.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/cont/_index.fr.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/cont/_index.en.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/cont/tags.en.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/cont/icons.en.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/cont/pages/_index.fr.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/cont/pages/_index.en.md
  B     docs/document/themes/hugo-theme-learn/exampleSite/content/cont/pages/images/pages-default.png
  B     docs/document/themes/hugo-theme-learn/exampleSite/content/cont/pages/images/pages-chapter.png
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/cont/menushortcuts.fr.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/cont/markdown.en.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/credits.fr.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/basics/configuration/_index.fr.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/basics/configuration/_index.en.md
  B     docs/document/themes/hugo-theme-learn/exampleSite/content/basics/configuration/images/home_button_defaults.jpg
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/basics/_index.fr.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/basics/installation/_index.fr.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/basics/installation/_index.en.md
  B     docs/document/themes/hugo-theme-learn/exampleSite/content/basics/installation/images/chapter.png
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/basics/_index.en.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/basics/requirements/_index.fr.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/basics/requirements/_index.en.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/basics/_index.zh.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/basics/style-customization/_index.fr.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/basics/style-customization/_index.en.md
  B     docs/document/themes/hugo-theme-learn/exampleSite/content/basics/style-customization/images/green-variant.png
  B     docs/document/themes/hugo-theme-learn/exampleSite/content/basics/style-customization/images/blue-variant.png
  B     docs/document/themes/hugo-theme-learn/exampleSite/content/basics/style-customization/images/red-variant.png
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/showcase.fr.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/credits.en.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/mermaid.fr.md
  B     docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/adivorciarsetoca00cape.pdf
  B     docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/Carroll_AliceAuPaysDesMerveilles.pdf
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/small_file.txt
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/notice.en.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/_index.en.md
  B     docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/adivorciarsetoca00cape.pdf
  B     docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/movieselectricsheep-flock-244-32500-2.mp4
  B     docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/Carroll_AliceAuPaysDesMerveilles.pdf
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/small_file.txt
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/tabs.en.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/mermaid.en.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/button.fr.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/button.en.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/content/showcase.en.md
 !????? docs/document/themes/hugo-theme-learn/exampleSite/config.toml
 !????? docs/document/themes/hugo-theme-learn/README.md
  B     docs/document/themes/hugo-theme-learn/static/webfonts/fa-brands-400.woff2
  B     docs/document/themes/hugo-theme-learn/static/webfonts/fa-solid-900.woff
  B     docs/document/themes/hugo-theme-learn/static/webfonts/fa-regular-400.ttf
  B     docs/document/themes/hugo-theme-learn/static/webfonts/fa-brands-400.eot
  B     docs/document/themes/hugo-theme-learn/static/webfonts/fa-solid-900.eot
 !????? docs/document/themes/hugo-theme-learn/static/webfonts/fa-regular-400.svg
  B     docs/document/themes/hugo-theme-learn/static/webfonts/fa-solid-900.ttf
 !????? docs/document/themes/hugo-theme-learn/static/webfonts/fa-solid-900.svg
  B     docs/document/themes/hugo-theme-learn/static/webfonts/fa-solid-900.woff2
 !????? docs/document/themes/hugo-theme-learn/static/webfonts/fa-brands-400.svg
  B     docs/document/themes/hugo-theme-learn/static/webfonts/fa-brands-400.ttf
  B     docs/document/themes/hugo-theme-learn/static/webfonts/fa-brands-400.woff
  B     docs/document/themes/hugo-theme-learn/static/webfonts/fa-regular-400.woff
  B     docs/document/themes/hugo-theme-learn/static/webfonts/fa-regular-400.woff2
  B     docs/document/themes/hugo-theme-learn/static/webfonts/fa-regular-400.eot
 !????? docs/document/themes/hugo-theme-learn/static/js/highlight.pack.js
 !????? docs/document/themes/hugo-theme-learn/static/js/hugo-learn.js
 !????? docs/document/themes/hugo-theme-learn/static/js/learn.js
 !????? docs/document/themes/hugo-theme-learn/static/js/search.js
 !????? docs/document/themes/hugo-theme-learn/static/js/jquery-3.3.1.min.js
 !????? docs/document/themes/hugo-theme-learn/static/js/lunr.min.js
 !????? docs/document/themes/hugo-theme-learn/static/js/auto-complete.js
 !????? docs/document/themes/hugo-theme-learn/static/js/perfect-scrollbar.jquery.min.js
 !????? docs/document/themes/hugo-theme-learn/static/js/perfect-scrollbar.min.js
 !????? docs/document/themes/hugo-theme-learn/static/js/jquery.sticky.js
 !????? docs/document/themes/hugo-theme-learn/static/js/modernizr.custom-3.6.0.js
 !????? docs/document/themes/hugo-theme-learn/static/js/featherlight.min.js
 !????? docs/document/themes/hugo-theme-learn/static/js/clipboard.min.js
 !????? docs/document/themes/hugo-theme-learn/static/css/theme.css
 !????? docs/document/themes/hugo-theme-learn/static/css/tags.css
 !????? docs/document/themes/hugo-theme-learn/static/css/hybrid.css
 !????? docs/document/themes/hugo-theme-learn/static/css/auto-complete.css
 !????? docs/document/themes/hugo-theme-learn/static/css/featherlight.min.css
 !????? docs/document/themes/hugo-theme-learn/static/css/theme-blue.css
 !????? docs/document/themes/hugo-theme-learn/static/css/tabs.css
 !????? docs/document/themes/hugo-theme-learn/static/css/theme-red.css
 !????? docs/document/themes/hugo-theme-learn/static/css/perfect-scrollbar.min.css
 !????? docs/document/themes/hugo-theme-learn/static/css/hugo-theme.css
 !????? docs/document/themes/hugo-theme-learn/static/css/atom-one-dark-reasonable.css
 !????? docs/document/themes/hugo-theme-learn/static/css/nucleus.css
 !????? docs/document/themes/hugo-theme-learn/static/css/fontawesome-all.min.css
 !????? docs/document/themes/hugo-theme-learn/static/css/theme-green.css
  B     docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.woff2
  B     docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.woff
  B     docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_500.woff2
  B     docs/document/themes/hugo-theme-learn/static/fonts/Inconsolata.eot
  B     docs/document/themes/hugo-theme-learn/static/fonts/FontAwesome.otf
 !????? docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.svg
  B     docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.ttf
  B     docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.eot
  B     docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_200.eot
 !????? docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_300.svg
  B     docs/document/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.woff
  B     docs/document/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.eot
 !????? docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_500.svg
  B     docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_500.ttf
 !????? docs/document/themes/hugo-theme-learn/static/fonts/Inconsolata.svg
  B     docs/document/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.ttf
  B     docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.eot
  B     docs/document/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.woff2
  B     docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_500.woff
  B     docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_200.ttf
  B     docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_300.ttf
  B     docs/document/themes/hugo-theme-learn/static/fonts/Inconsolata.woff
  B     docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_300.eot
 !????? docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_200.svg
 !????? docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.svg
  B     docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_200.woff
  B     docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_200.woff2
  B     docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_300.woff2
  B     docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.woff
  B     docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.ttf
  B     docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_300.woff
  B     docs/document/themes/hugo-theme-learn/static/fonts/Inconsolata.ttf
  B     docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_500.eot
  B     docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.woff2
  MIT   docs/document/themes/hugo-theme-learn/static/mermaid/mermaid.js
 !????? docs/document/themes/hugo-theme-learn/static/images/clippy.svg
  B     docs/document/themes/hugo-theme-learn/static/images/gopher-404.jpg
  B     docs/document/themes/hugo-theme-learn/static/images/favicon.png
 !????? docs/document/themes/hugo-theme-learn/theme.toml
 !????? docs/document/themes/hugo-theme-learn/layouts/_default/list.html
 !????? docs/document/themes/hugo-theme-learn/layouts/_default/single.html
 !????? docs/document/themes/hugo-theme-learn/layouts/404.html
  B     docs/document/themes/hugo-theme-learn/layouts/index.json
 !????? docs/document/themes/hugo-theme-learn/layouts/partials/logo.html
 !????? docs/document/themes/hugo-theme-learn/layouts/partials/change-theme.html
 !????? docs/document/themes/hugo-theme-learn/layouts/partials/language.html
 !????? docs/document/themes/hugo-theme-learn/layouts/partials/footer.html
 !????? docs/document/themes/hugo-theme-learn/layouts/partials/meta.html
 !????? docs/document/themes/hugo-theme-learn/layouts/partials/menu.html
 !????? docs/document/themes/hugo-theme-learn/layouts/partials/tags.html
 !????? docs/document/themes/hugo-theme-learn/layouts/partials/favicon.html
 !????? docs/document/themes/hugo-theme-learn/layouts/partials/search.html
 !????? docs/document/themes/hugo-theme-learn/layouts/partials/menu-footer.html
 !????? docs/document/themes/hugo-theme-learn/layouts/partials/custom-footer.html
 !????? docs/document/themes/hugo-theme-learn/layouts/partials/toc.html
 !????? docs/document/themes/hugo-theme-learn/layouts/partials/header.html
 !????? docs/document/themes/hugo-theme-learn/layouts/partials/custom-header.html
 !????? docs/document/themes/hugo-theme-learn/layouts/partials/custom-comments.html
 !????? docs/document/themes/hugo-theme-learn/layouts/index.html
 !????? docs/document/themes/hugo-theme-learn/layouts/shortcodes/notice.html
 !????? docs/document/themes/hugo-theme-learn/layouts/shortcodes/ref.html
 !????? docs/document/themes/hugo-theme-learn/layouts/shortcodes/tab.html
 !????? docs/document/themes/hugo-theme-learn/layouts/shortcodes/attachments.html
 !????? docs/document/themes/hugo-theme-learn/layouts/shortcodes/children.html
 !????? docs/document/themes/hugo-theme-learn/layouts/shortcodes/button.html
 !????? docs/document/themes/hugo-theme-learn/layouts/shortcodes/mermaid.html
 !????? docs/document/themes/hugo-theme-learn/layouts/shortcodes/expand.html
 !????? docs/document/themes/hugo-theme-learn/layouts/shortcodes/relref.html
 !????? docs/document/themes/hugo-theme-learn/layouts/shortcodes/tabs.html
 !????? docs/document/themes/hugo-theme-learn/layouts/shortcodes/siteparam.html
  B     docs/document/themes/hugo-theme-learn/i18n/ru.toml
 !????? docs/document/themes/hugo-theme-learn/i18n/de.toml
 !????? docs/document/themes/hugo-theme-learn/i18n/id.toml
  B     docs/document/themes/hugo-theme-learn/i18n/zh-cn.toml
 !????? docs/document/themes/hugo-theme-learn/i18n/tr.toml
 !????? docs/document/themes/hugo-theme-learn/i18n/pt.toml
 !????? docs/document/themes/hugo-theme-learn/i18n/nl.toml
 !????? docs/document/themes/hugo-theme-learn/i18n/ar.toml
 !????? docs/document/themes/hugo-theme-learn/i18n/en.toml
 !????? docs/document/themes/hugo-theme-learn/i18n/fr.toml
 !????? docs/document/themes/hugo-theme-learn/i18n/es.toml
 !????? docs/document/themes/hugo-theme-learn/i18n/vn.toml
 !????? docs/document/themes/hugo-theme-learn/i18n/ja.toml
 !????? docs/document/themes/hugo-theme-learn/i18n/hi.toml
 !????? docs/document/themes/hugo-theme-learn/netlify.toml
 !????? docs/document/themes/hugo-theme-learn/CHANGELOG.md
 !????? docs/document/themes/hugo-theme-learn/wercker.yml
 !????? docs/document/themes/hugo-theme-learn/archetypes/chapter.md
 !????? docs/document/themes/hugo-theme-learn/archetypes/default.md
  MIT   docs/document/themes/hugo-theme-learn/LICENSE.md
  B     docs/document/themes/hugo-theme-learn/images/tn.png
  B     docs/document/themes/hugo-theme-learn/images/screenshot.png
 !????? docs/document/i18n/cn.toml
 !????? docs/document/content/user-manual/shardingsphere-jdbc/observability/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/observability/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/unsupported.en.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/unsupported.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/_index.en.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/encrypt.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-parser.en.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/sharding-cache.cn.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/sharding.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/transaction.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-translator.en.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-parser.cn.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting.cn.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/mix.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/sharding-cache.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/mix.en.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/mask.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/shadow.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/encrypt.en.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-federation.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/shadow.cn.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/single.cn.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-translator.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/mask.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-federation.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/broadcast.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/single.en.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/transaction.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/sharding.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting.en.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/broadcast.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/mode.en.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/_index.cn.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/mode.cn.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/data-source.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/algorithm.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/algorithm.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/data-source.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/spring-boot/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/spring-boot/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/spring-namespace/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/spring-namespace/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/known-implementation/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/known-implementation/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/special-api/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/special-api/sharding/hint.en.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/special-api/sharding/hint.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/special-api/sharding/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/special-api/sharding/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/special-api/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/special-api/readwrite-splitting/hint.en.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/special-api/readwrite-splitting/hint.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/special-api/readwrite-splitting/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/special-api/readwrite-splitting/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/atomikos.en.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/seata.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/java-api.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/java-api.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/narayana.en.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/atomikos.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/seata.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/narayana.cn.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/_index.en.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/encrypt.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/sql-parser.en.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/sharding-cache.cn.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/sharding.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/transaction.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/sql-translator.en.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/sql-parser.cn.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting.cn.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/mix.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/sharding-cache.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/mix.en.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/mask.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/shadow.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/encrypt.en.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/sql-federation.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/_index.cn.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/shadow.cn.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/single.cn.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/sql-translator.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/mask.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/sql-federation.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/broadcast.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/single.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/transaction.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/sharding.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting.en.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/broadcast.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/mode.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/mode.cn.md
  B     docs/document/content/user-manual/shardingsphere-jdbc/java-api/data-source.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/algorithm.en.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/algorithm.cn.md
 !????? docs/document/content/user-manual/shardingsphere-jdbc/java-api/data-source.en.md
  B     docs/document/content/user-manual/common-config/builtin-algorithm/encrypt.cn.md
  B     docs/document/content/user-manual/common-config/builtin-algorithm/sharding.cn.md
 !????? docs/document/content/user-manual/common-config/builtin-algorithm/expr.cn.md
 !????? docs/document/content/user-manual/common-config/builtin-algorithm/sql-translator.en.md
  B     docs/document/content/user-manual/common-config/builtin-algorithm/mask.cn.md
 !????? docs/document/content/user-manual/common-config/builtin-algorithm/shadow.en.md
 !????? docs/document/content/user-manual/common-config/builtin-algorithm/encrypt.en.md
 !????? docs/document/content/user-manual/common-config/builtin-algorithm/expr.en.md
 !????? docs/document/content/user-manual/common-config/builtin-algorithm/_index.cn.md
 !????? docs/document/content/user-manual/common-config/builtin-algorithm/keygen.en.md
  B     docs/document/content/user-manual/common-config/builtin-algorithm/shadow.cn.md
  B     docs/document/content/user-manual/common-config/builtin-algorithm/keygen.cn.md
  B     docs/document/content/user-manual/common-config/builtin-algorithm/sql-translator.cn.md
  B     docs/document/content/user-manual/common-config/builtin-algorithm/audit.cn.md
 !????? docs/document/content/user-manual/common-config/builtin-algorithm/mask.en.md
 !????? docs/document/content/user-manual/common-config/builtin-algorithm/audit.en.md
  B     docs/document/content/user-manual/common-config/builtin-algorithm/load-balance.cn.md
  B     docs/document/content/user-manual/common-config/builtin-algorithm/metadata-repository.cn.md
 !????? docs/document/content/user-manual/common-config/builtin-algorithm/_index.en.md
 !????? docs/document/content/user-manual/common-config/builtin-algorithm/load-balance.en.md
 !????? docs/document/content/user-manual/common-config/builtin-algorithm/metadata-repository.en.md
 !????? docs/document/content/user-manual/common-config/builtin-algorithm/sharding.en.md
 !????? docs/document/content/user-manual/common-config/props.cn.md
  B     docs/document/content/user-manual/common-config/sql-hint.cn.md
 !????? docs/document/content/user-manual/common-config/_index.cn.md
 !????? docs/document/content/user-manual/common-config/sql-hint.en.md
 !????? docs/document/content/user-manual/common-config/_index.en.md
 !????? docs/document/content/user-manual/common-config/props.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/observability/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/observability/_index.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/session/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/session/_index.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/logging/_index.cn.md
  AL    docs/document/content/user-manual/shardingsphere-proxy/logging/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/migration/build.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/migration/usage.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/migration/_index.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/migration/build.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/migration/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/migration/usage.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/yaml-config/authority.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/yaml-config/props.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/yaml-config/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/yaml-config/rules.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/yaml-config/data-source.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/yaml-config/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/yaml-config/props.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/yaml-config/rules.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/yaml-config/data-source.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/yaml-config/authority.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/optional-plugins/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/optional-plugins/_index.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/startup/bin.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/startup/dependencies-download/add_Narayana_dependency.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/startup/dependencies-download/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/startup/dependencies-download/add_Narayana_dependency.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/startup/dependencies-download/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/startup/graalvm-native-image.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/startup/_index.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/startup/docker.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/startup/graalvm-native-image.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/startup/_index.en.md
  AL    docs/document/content/user-manual/shardingsphere-proxy/startup/helm.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/startup/bin.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/startup/docker.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/startup/helm.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/cdc/build.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/cdc/usage.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/cdc/_index.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/cdc/build.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/cdc/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/cdc/usage.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/mask/count-mask-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/mask/count-mask-rule.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/mask/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/mask/show-mask-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/mask/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/mask/show-mask-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/broadcast-table/count-broadcast-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/broadcast-table/count-broadcast-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/broadcast-table/show-broadcast-table-rule.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/broadcast-table/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/broadcast-table/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/broadcast-table/show-broadcast-table-rule.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-nodes.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-auditors.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-key-generators.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-default-sharding-strategy.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/count-sharding-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-auditors.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-default-sharding-strategy.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-algorithms.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-key-generator.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/count-sharding-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-algorithms.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rules-used-key-generator.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rules-used-algorithm.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-reference-rules.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rules-used-key-generator.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-algorithms.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-auditors.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-algorithms.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-nodes.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-key-generators.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-auditors.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-key-generator.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rules-used-auditor.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rules-used-algorithm.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rules-used-auditor.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-reference-rules.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/count-shadow-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-algorithm.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-default-shadow-algorithm.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-algorithm.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-default-shadow-algorithm.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-table-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/count-shadow-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-table-rule.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/show-readwrite-splitting-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/show-readwrite-splitting-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/count-readwrite-splitting-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/count-readwrite-splitting-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-unloaded-single-tables.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-deafult-single-table-storage-unit.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/count-single-table.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-deafult-single-table-storage-unit.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/count-single-table.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-unloaded-single-tables.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-single-table.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-single-table.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/count-encrypt-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/show-encrypt-rule.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/show-encrypt-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/count-encrypt-rule.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/storage-unit-query/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/storage-unit-query/show-storage-units.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/storage-unit-query/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/storage-unit-query/show-storage-units.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/preview-sql.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/format-sql.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/preview-sql.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/parse-sql.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/parse-sql.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/format-sql.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/drop-mask-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/drop-mask-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/alter-mask-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/alter-mask-rule.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/create-mask-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/create-mask-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/broadcast-table/create-broadcast-table-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/broadcast-table/drop-broadcast-table-rule.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/broadcast-table/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/broadcast-table/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/broadcast-table/create-broadcast-table-rule.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/broadcast-table/drop-broadcast-table-rule.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/_index.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/alter-default-sharding-strategy.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-default-sharding-strategy.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-algorithm.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-algorithm.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-reference-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-reference-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-reference-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-table-rule.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/_index.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-table-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-default-sharding-strategy.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-table-reference-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-key-generator.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/alter-default-sharding-strategy.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-default-sharding-strategy.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-reference-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-table-reference-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-key-generator.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-default-sharding-strategy.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/create-default-shadow-algorithm.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/create-default-shadow-algorithm.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-default-shadow-algorithm.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/alter-shadow-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-shadow-algorithm.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/alter-default-shadow-algorithm.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-shadow-algorithm.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/create-shadow-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/create-shadow-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-shadow-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/alter-shadow-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-default-shadow-algorithm.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-shadow-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/alter-default-shadow-algorithm.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/drop-readwrite-splitting-rule.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/create-readwrite-splitting-rule.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/alter-readwrite-splitting-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/alter-readwrite-splitting-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/create-readwrite-splitting-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/drop-readwrite-splitting-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/set-default-single-table-storage-unit.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/set-default-single-table-storage-unit.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/load-single-table.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/unload-single-table.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/load-single-table.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/unload-single-table.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/drop-encrypt-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/create-encrypt-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/alter-encrypt-rule.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/create-encrypt-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/drop-encrypt-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/alter-encrypt-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/_index.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/register-storage-unit.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/alter-storage-unit.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/register-storage-unit.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/alter-storage-unit.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/unregister-storage-unit.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/unregister-storage-unit.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-table-metadata.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-table-metadata.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-sharding-algorithm-plugins.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-mask-algorithm-plugins.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-shadow-algorithm-plugins.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-encrypt-algorithm-plugins.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-plugins.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-encrypt-algorithm-plugins.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-load-balance-algorithm-plugins.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-load-balance-algorithm-plugins.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-plugins.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-sharding-algorithm-plugins.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-mask-algorithm-plugins.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-key-generate-algorithm-plugins.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-shadow-algorithm-plugins.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-key-generate-algorithm-plugins.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/export-database-configuration.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/set-dist-vairable.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-rules-used-storage-unit.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-compute-node-mode.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-compute-node-info.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/refresh-table-metadata.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/refresh-database-metadata.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/convert-yaml-configuration.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/alter-migration-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/stop-migration-check.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/rollback-migration.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/register-migration-source-storage-unit.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-check-algorithm.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/stop-migration.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/check-migration.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/migrate-table-into.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-source-storage-units.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/start-migration.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-check-algorithm.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/start-migration-check.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/migrate-table-into.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-status.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/rollback-migration.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-source-storage-units.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/register-migration-source-storage-unit.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-check-status.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/commit-migration.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-status.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/start-migration.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-check-status.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/alter-migration-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/commit-migration.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/stop-migration-check.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/start-migration-check.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/unregister-storage-unit.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/check-migration.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/stop-migration.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/unregister-storage-unit.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-dist-variable.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/unlabel-compute-node.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/unlabel-compute-node.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/label-relabel-compute-node.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-status-from-readwrite-splitting-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/label-relabel-compute-node.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/alter-readwrite-splitting-rule-enable-disable.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/enable-disable-compute-node.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-compute-nodes.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-compute-nodes.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/alter-readwrite-splitting-rule-enable-disable.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-status-from-readwrite-splitting-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/enable-disable-compute-node.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/convert-yaml-configuration.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-dist-variable.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/export-database-configuration.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/refresh-table-metadata.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/set-dist-vairable.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/import-database-configuration.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/import-database-configuration.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-rules-used-storage-unit.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/refresh-database-metadata.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-traffic-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-authority-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-sql-federation-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-sql-parser-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-sql-federation-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-authority-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-transaction-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-transaction-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-sql-parser-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-traffic-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-traffic-rule.cn.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-transaction-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-sql-parser-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-traffic-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-sql-parser-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-transaction-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-sql-federation-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-sql-federation-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-compute-node-info.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-compute-node-mode.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/_index.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/encrypt-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/sharding-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/readwirte-splitting-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/mask-rule.en.md
  B     docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/_index.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/shadow-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/sharding-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/shadow-rule.cn.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/_index.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/readwirte-splitting-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/encrypt-rule.en.md
 !????? docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/mask-rule.cn.md
 !????? docs/document/content/user-manual/_index.cn.md
 !????? docs/document/content/user-manual/_index.en.md
  B     docs/document/content/user-manual/error-code/sql-error-code.cn.md
  B     docs/document/content/user-manual/error-code/server-error-code.cn.md
 !????? docs/document/content/user-manual/error-code/sql-error-code.en.md
  B     docs/document/content/user-manual/error-code/_index.cn.md
 !????? docs/document/content/user-manual/error-code/_index.en.md
 !????? docs/document/content/user-manual/error-code/server-error-code.en.md
  B     docs/document/content/overview/_index.cn.md
 !????? docs/document/content/overview/_index.en.md
  B     docs/document/content/test-manual/integration-test/_index.cn.md
 !????? docs/document/content/test-manual/integration-test/_index.en.md
 !????? docs/document/content/test-manual/performance-test/benchmarksql-proxy-sharding-test.cn.md
 !????? docs/document/content/test-manual/performance-test/sysbench-proxy-norules-test.cn.md
 !????? docs/document/content/test-manual/performance-test/benchmarksql-proxy-sharding-test.en.md
 !????? docs/document/content/test-manual/performance-test/_index.cn.md
 !????? docs/document/content/test-manual/performance-test/_index.en.md
 !????? docs/document/content/test-manual/performance-test/sysbench-proxy-norules-test.en.md
 !????? docs/document/content/test-manual/_index.cn.md
 !????? docs/document/content/test-manual/_index.en.md
 !????? docs/document/content/test-manual/pipeline-e2e-test/_index.cn.md
 !????? docs/document/content/test-manual/pipeline-e2e-test/_index.en.md
 !????? docs/document/content/test-manual/module-test/parser-test.en.md
  B     docs/document/content/test-manual/module-test/parser-test.cn.md
  B     docs/document/content/test-manual/module-test/rewrite-test.cn.md
 !????? docs/document/content/test-manual/module-test/_index.cn.md
 !????? docs/document/content/test-manual/module-test/rewrite-test.en.md
 !????? docs/document/content/test-manual/module-test/_index.en.md
 !????? docs/document/content/quick-start/shardingsphere-proxy-quick-start.cn.md
 !????? docs/document/content/quick-start/_index.cn.md
 !????? docs/document/content/quick-start/_index.en.md
 !????? docs/document/content/quick-start/shardingsphere-jdbc-quick-start.cn.md
 !????? docs/document/content/quick-start/shardingsphere-proxy-quick-start.en.md
 !????? docs/document/content/quick-start/shardingsphere-jdbc-quick-start.en.md
 !????? docs/document/content/dev-manual/encrypt.cn.md
 !????? docs/document/content/dev-manual/sql-parser.en.md
 !????? docs/document/content/dev-manual/sharding.cn.md
 !????? docs/document/content/dev-manual/mode.en.md
 !????? docs/document/content/dev-manual/sql-parser.cn.md
 !????? docs/document/content/dev-manual/agent.cn.md
 !????? docs/document/content/dev-manual/mask.cn.md
 !????? docs/document/content/dev-manual/shadow.en.md
 !????? docs/document/content/dev-manual/infra-algorithm.cn.md
 !????? docs/document/content/dev-manual/encrypt.en.md
 !????? docs/document/content/dev-manual/_index.cn.md
 !????? docs/document/content/dev-manual/shadow.cn.md
 !????? docs/document/content/dev-manual/mode.cn.md
 !????? docs/document/content/dev-manual/mask.en.md
 !????? docs/document/content/dev-manual/sql-audit.cn.md
 !????? docs/document/content/dev-manual/_index.en.md
 !????? docs/document/content/dev-manual/agent.en.md
 !????? docs/document/content/dev-manual/sql-audit.en.md
 !????? docs/document/content/dev-manual/sharding.en.md
 !????? docs/document/content/dev-manual/infra-algorithm.en.md
 !????? docs/document/content/faq/_index.cn.md
 !????? docs/document/content/faq/_index.en.md
  B     docs/document/content/downloads/_index.cn.md
 !????? docs/document/content/downloads/_index.en.md
  B     docs/document/content/features/mask/concept.cn.md
 !????? docs/document/content/features/mask/concept.en.md
  B     docs/document/content/features/mask/_index.cn.md
 !????? docs/document/content/features/mask/limitations.en.md
  B     docs/document/content/features/mask/limitations.cn.md
 !????? docs/document/content/features/mask/_index.en.md
  B     docs/document/content/features/observability/concept.cn.md
 !????? docs/document/content/features/observability/concept.en.md
  B     docs/document/content/features/observability/_index.cn.md
 !????? docs/document/content/features/observability/_index.en.md
  B     docs/document/content/features/migration/concept.cn.md
 !????? docs/document/content/features/migration/concept.en.md
  B     docs/document/content/features/migration/_index.cn.md
 !????? docs/document/content/features/migration/limitations.en.md
  B     docs/document/content/features/migration/limitations.cn.md
 !????? docs/document/content/features/migration/_index.en.md
  B     docs/document/content/features/management/concept.cn.md
 !????? docs/document/content/features/management/concept.en.md
  B     docs/document/content/features/management/_index.cn.md
 !????? docs/document/content/features/management/_index.en.md
  B     docs/document/content/features/_index.cn.md
  B     docs/document/content/features/sharding/concept.cn.md
 !????? docs/document/content/features/sharding/concept.en.md
  B     docs/document/content/features/sharding/_index.cn.md
 !????? docs/document/content/features/sharding/appendix.en.md
  B     docs/document/content/features/sharding/limitation.cn.md
 !????? docs/document/content/features/sharding/_index.en.md
 !????? docs/document/content/features/sharding/limitation.en.md
  B     docs/document/content/features/sharding/appendix.cn.md
  B     docs/document/content/features/sql-federation/_index.cn.md
 !????? docs/document/content/features/sql-federation/limitation.cn.md
 !????? docs/document/content/features/sql-federation/_index.en.md
 !????? docs/document/content/features/sql-federation/limitation.en.md
 !????? docs/document/content/features/_index.en.md
  B     docs/document/content/features/shadow/concept.cn.md
 !????? docs/document/content/features/shadow/concept.en.md
  B     docs/document/content/features/shadow/_index.cn.md
 !????? docs/document/content/features/shadow/limitations.en.md
  B     docs/document/content/features/shadow/limitations.cn.md
 !????? docs/document/content/features/shadow/_index.en.md
  B     docs/document/content/features/readwrite-splitting/concept.cn.md
 !????? docs/document/content/features/readwrite-splitting/concept.en.md
  B     docs/document/content/features/readwrite-splitting/_index.cn.md
 !????? docs/document/content/features/readwrite-splitting/limitations.en.md
  B     docs/document/content/features/readwrite-splitting/limitations.cn.md
 !????? docs/document/content/features/readwrite-splitting/_index.en.md
  B     docs/document/content/features/db-gateway/concept.cn.md
 !????? docs/document/content/features/db-gateway/concept.en.md
  B     docs/document/content/features/db-gateway/_index.cn.md
 !????? docs/document/content/features/db-gateway/limitations.en.md
  B     docs/document/content/features/db-gateway/limitations.cn.md
 !????? docs/document/content/features/db-gateway/_index.en.md
  B     docs/document/content/features/encrypt/concept.cn.md
 !????? docs/document/content/features/encrypt/concept.en.md
  B     docs/document/content/features/encrypt/_index.cn.md
 !????? docs/document/content/features/encrypt/appendix.en.md
 !????? docs/document/content/features/encrypt/limitations.en.md
  B     docs/document/content/features/encrypt/limitations.cn.md
 !????? docs/document/content/features/encrypt/_index.en.md
  B     docs/document/content/features/encrypt/appendix.cn.md
 !????? docs/document/content/features/transaction/concept.cn.md
 !????? docs/document/content/features/transaction/concept.en.md
  B     docs/document/content/features/transaction/_index.cn.md
 !????? docs/document/content/features/transaction/appendix.en.md
 !????? docs/document/content/features/transaction/limitations.en.md
  B     docs/document/content/features/transaction/limitations.cn.md
 !????? docs/document/content/features/transaction/_index.en.md
  B     docs/document/content/features/transaction/appendix.cn.md
 !????? docs/document/content/reference/mask/_index.cn.md
 !????? docs/document/content/reference/mask/_index.en.md
 !????? docs/document/content/reference/db-compatibility/_index.cn.md
 !????? docs/document/content/reference/db-compatibility/_index.en.md
  B     docs/document/content/reference/observability/_index.cn.md
 !????? docs/document/content/reference/observability/_index.en.md
  B     docs/document/content/reference/gateway/_index.cn.md
 !????? docs/document/content/reference/gateway/_index.en.md
  B     docs/document/content/reference/migration/_index.cn.md
 !????? docs/document/content/reference/migration/_index.en.md
  B     docs/document/content/reference/management/_index.cn.md
 !????? docs/document/content/reference/management/_index.en.md
 !????? docs/document/content/reference/_index.cn.md
  B     docs/document/content/reference/sharding/parse.cn.md
 !????? docs/document/content/reference/sharding/execute.en.md
  B     docs/document/content/reference/sharding/route.cn.md
  B     docs/document/content/reference/sharding/merge.cn.md
 !????? docs/document/content/reference/sharding/merge.en.md
 !????? docs/document/content/reference/sharding/_index.cn.md
 !????? docs/document/content/reference/sharding/parse.en.md
 !????? docs/document/content/reference/sharding/rewrite.en.md
 !????? docs/document/content/reference/sharding/_index.en.md
 !????? docs/document/content/reference/sharding/route.en.md
  B     docs/document/content/reference/sharding/rewrite.cn.md
  B     docs/document/content/reference/sharding/execute.cn.md
  B     docs/document/content/reference/architecture/_index.cn.md
 !????? docs/document/content/reference/architecture/_index.en.md
 !????? docs/document/content/reference/_index.en.md
  B     docs/document/content/reference/shadow/_index.cn.md
 !????? docs/document/content/reference/shadow/_index.en.md
 !????? docs/document/content/reference/encrypt/_index.cn.md
 !????? docs/document/content/reference/encrypt/_index.en.md
  B     docs/document/content/reference/transaction/2pc-xa-transaction.cn.md
 !????? docs/document/content/reference/transaction/base-transaction-seata.en.md
  B     docs/document/content/reference/transaction/base-transaction-seata.cn.md
  B     docs/document/content/reference/transaction/_index.cn.md
 !????? docs/document/content/reference/transaction/_index.en.md
 !????? docs/document/content/reference/transaction/2pc-xa-transaction.en.md
 !????? docs/document/archetypes/default.md
 !????? docs/document/config.toml
  N     docs/LICENSE
 !????? docs/README.md
 !????? docs/build.sh
  B     docs/blog/static/img/2023_03_21_Streamlining_Database_Configuration_with_DistSQL's_Export,_Import,_and_YAML_Conversion1.png
  B     docs/blog/static/img/2022_03_25_A_Deep_Dive_Into_Observability_Apache_ShardingSphere_Agent12.png
  B     docs/blog/static/img/Full_Link_Online_Stress_Testing_img_7.png
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database Protocol_Interaction_Explained9.png
  B     docs/blog/static/img/2022_03_18_Executor_Engine_Performance_Optimization_Showcase_with_Apache_ShardingSphere_5.1.02.png
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere13.png
  B     docs/blog/static/img/Blog_20_img_3_Hou_Yang_Photo.png
  B     docs/blog/static/img/proxy7.jpg
  B     docs/blog/static/img/database13.jpg
  B     docs/blog/static/img/F6_Automobile_img_15.png
  B     docs/blog/static/img/trace16.png
  B     docs/blog/static/img/Blog_27_img_6_codes.png
  B     docs/blog/static/img/Hou_Yang_Photo.png
  B     docs/blog/static/img/Full_Link_Online_Stress_Testing_img_6.png
  B     docs/blog/static/img/2023_01_04_Refactoring_the_DistSQL_Syntax__ShardingSphere_5.3.0_Deep_Dive6.png
  B     docs/blog/static/img/result8.jpg
  B     docs/blog/static/img/alpha1.jpg
  B     docs/blog/static/img/2022_03_25_A_Deep_Dive_Into_Observability_Apache_ShardingSphere_Agent4.png
  B     docs/blog/static/img/AWS_Summit_China7.jpg
  B     docs/blog/static/img/2022_03_16_Create_a_Distributed_Database_with_High_Availability_with_Apache_ShardingSphere6.jpeg
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere2.png
  B     docs/blog/static/img/DistSQL_Statement_Development_img_13.png
  B     docs/blog/static/img/2023_05_10_Simplifying_Learning_ShardingSphere’s_Template_Engine_for_Streamlined_Examples.en.md4.jpg
  B     docs/blog/static/img/Yacine_Si_Tayeb_Photo.png
  B     docs/blog/static/img/Blog_26_img_6.png
  B     docs/blog/static/img/2022_04_29_Apache_ShardingSphere_Enterprise_Applications_Zhuanzhuan’s_Transaction_System_with_100s_of_Millions_of_Records1.png
  B     docs/blog/static/img/Your_Detailed_Guide_to_Apache_ShardingSphere’s_Operating_Modes_img_4.png
  B     docs/blog/static/img/2022_03_25_A_Deep_Dive_Into_Observability_Apache_ShardingSphere_Agent10.png
  B     docs/blog/static/img/CNCF1.jpg
  B     docs/blog/static/img/2023_03_23_Managing_Metadata_in_Sharded_Database_Environments_with_ShardingSphere's_Built-in_Metadata_Function1.png
  B     docs/blog/static/img/ANTLR2.jpg
  B     docs/blog/static/img/DistSQL_Statement_Development_img_16.png
  B     docs/blog/static/img/realization9.jpg
  B     docs/blog/static/img/2023_05_10_Simplifying_Learning_ShardingSphere’s_Template_Engine_for_Streamlined_Examples.en.md5.jpg
  B     docs/blog/static/img/CNCF3.jpg
  B     docs/blog/static/img/2022_03_23_Apache_ShardingSphere_Proxy_Performance_with_PostgreSQL_is_Improved_26.8%_with_Version_5.1.0_2.png
  B     docs/blog/static/img/Full_Link_Online_Stress_Testing_img_8.png
  B     docs/blog/static/img/2023_05_10_Simplifying_Learning_ShardingSphere’s_Template_Engine_for_Streamlined_Examples.en.md9.jpg
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database Protocol_Interaction_Explained11.png
  B     docs/blog/static/img/Blog_22_img_3_Question_Comment.png
  B     docs/blog/static/img/PostgreSQL_openGauss_img_2.png
  B     docs/blog/static/img/proxy5.jpg
  B     docs/blog/static/img/DistSQL_Statement_Development_img_3.png
  B     docs/blog/static/img/2022_12_08_ShardingSphere_5.3.0_is_released_new_features_and_improvements2.png
  B     docs/blog/static/img/DistSQL_Statement_Development_img_14.png
  B     docs/blog/static/img/engine6.png
  B     docs/blog/static/img/trace10.png
  B     docs/blog/static/img/2022_09_08_Apache_ShardingSphere_5.2.0_is_Released,_Bringing_New_Cloud_Native_Possibilities1.png
  B     docs/blog/static/img/Apache_ShardingSphere_releases_5.1.0.png
  B     docs/blog/static/img/2023_06_07_how_to_run_sql_trace_with_shardingsphere6.png
  B     docs/blog/static/img/commu2.jpg
  B     docs/blog/static/img/2023_02_09_Leverage_Terraform_to_Create_an_Apache_ShardingSphere_Proxy_High_Availability_Cluster_on_AWS2.png
  B     docs/blog/static/img/DistSQL_Statement_Development_img_17.png
  B     docs/blog/static/img/proxyIntroduce4.png
  B     docs/blog/static/img/trace11.png
  B     docs/blog/static/img/F6_Automobile_img_16.png
  B     docs/blog/static/img/2023_02_17_Dynamic_Data_Masking_ShardingSphere_5.3.1_Deep_Dive2.png
  B     docs/blog/static/img/realization12.jpg
  B     docs/blog/static/img/comparsion_en.png
  B     docs/blog/static/img/2023_02_15_A_Distributed_Database_Load_Balancing_Architecture_Based_on_ShardingSphere_Demo_&_User_Case3.png
  B     docs/blog/static/img/Full_Link_Online_Stress_Testing_img_9.png
  B     docs/blog/static/img/2022_09_08_Apache_ShardingSphere_5.2.0_is_Released,_Bringing_New_Cloud_Native_Possibilities4.png
  B     docs/blog/static/img/trace9.png
  B     docs/blog/static/img/2023_04_11_Monitoring_SQL_Performance_with_ShardingSphere-Agent,_Prometheus_and_Grafana2.png
  B     docs/blog/static/img/spotless1.png
  B     docs/blog/static/img/Full_Link_Online_Stress_Testing_img_4.png
  B     docs/blog/static/img/icla en4.png
  B     docs/blog/static/img/realization3.jpg
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database_Protocol_Interaction_Explained11.png
  B     docs/blog/static/img/2022_04_29_Apache_ShardingSphere_Enterprise_Applications_Zhuanzhuan’s_Transaction_System_with_100s_of_Millions_of_Records3.png
  B     docs/blog/static/img/2022_12_08_ShardingSphere_5.3.0_is_released_new_features_and_improvements1.png
  B     docs/blog/static/img/2023_05_10_Simplifying_Learning_ShardingSphere’s_Template_Engine_for_Streamlined_Examples.en.md1.jpg
  B     docs/blog/static/img/Blog_27_img_1_codes.png
  B     docs/blog/static/img/2022_09_02_First_Look_at_ShardingSphere_5.2.0_&_In-Person_Meetup_on_Massive_Data_Management_Practices1.png
  B     docs/blog/static/img/2022_03_25_A_Deep_Dive_Into_Observability_Apache_ShardingSphere_Agent5.png
  B     docs/blog/static/img/result10.png
  B     docs/blog/static/img/2022_10_25_ShardingSphere_5.2.1_is_released — Here_are_the_highlights2.png
  B     docs/blog/static/img/realization5.jpg
  B     docs/blog/static/img/DistSQL_Statement_Development_img_5.png
  B     docs/blog/static/img/result9.jpg
  B     docs/blog/static/img/2023_01_04_Refactoring_the_DistSQL_Syntax__ShardingSphere_5.3.0_Deep_Dive14.png
  B     docs/blog/static/img/engine5.png
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database_Protocol_Interaction_Explained5.png
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database Protocol_Interaction_Explained1.png
  B     docs/blog/static/img/2022_03_11_Asia’s_E-Commerce_Giant_Dangdang_Increases_Order_Processing_Speed_by_30%_Saves_Over_Ten_Million_in_Technology_Budget_with_Apache_ShardingSphere3.jpg
  B     docs/blog/static/img/2023_04_13_Revamped_ShardingSphere_On_Cloud_What’s_New_in_Version_0.2.0_with_CRD_ComputeNode.en.md8.jpg
  B     docs/blog/static/img/2023_04_13_Revamped_ShardingSphere_On_Cloud_What’s_New_in_Version_0.2.0_with_CRD_ComputeNode.en.md13.jpg
  B     docs/blog/static/img/2022_03_09_SQL_Parse_Format_Function_A _Technical_Deep_Dive_by_Apache_ShardingSphere2.jpeg
  B     docs/blog/static/img/2023_05_18_Enhancing_Database_Security_ShardingSphere-Proxy’s_Authentication.en.md2.jpg
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere22.png
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database_Protocol_Interaction_Explained1.png
  B     docs/blog/static/img/2023_05_18_Enhancing_Database_Security_ShardingSphere-Proxy’s_Authentication.en.md4.jpg
  B     docs/blog/static/img/DistSQL_Statement_Development_img_8.jpg
  B     docs/blog/static/img/Blog_22_img_5_Jiang_Longtao_Photo.png
  B     docs/blog/static/img/Apache_ShardingSphere_Enterprise_Applications_img_7.jpeg
  B     docs/blog/static/img/PostgreSQL_openGauss_img_5.png
  B     docs/blog/static/img/2023_04_03_ShardingSphere_5.3.2_Release_Apollo_Integration,_Better_Data_Migration,_and_Stronger_Encryption4.png
  B     docs/blog/static/img/2023_04_11_Monitoring_SQL_Performance_with_ShardingSphere-Agent,_Prometheus_and_Grafana3.png
  B     docs/blog/static/img/Blog_17_img_2_Tang_Guocheng_Photo.png
  B     docs/blog/static/img/result5.jpg
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere8.png
  B     docs/blog/static/img/2023_07_10_A_Step_by_Step_Guide_to_Data_Migration_3.png
  B     docs/blog/static/img/icla.png
  B     docs/blog/static/img/2022_04_26_How_to_Use_ShardingSphere-Proxy_in_Real_Production_Scenarios_Your_Quick_Start_Guide4.png
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database Protocol_Interaction_Explained13.png
  B     docs/blog/static/img/2022_04_29_Apache_ShardingSphere_Enterprise_Applications_Zhuanzhuan’s_Transaction_System_with_100s_of_Millions_of_Records8.png
  B     docs/blog/static/img/Full_Link_Online_Stress_Testing_img_5.jpg
  B     docs/blog/static/img/2022_03_25_A_Deep_Dive_Into_Observability_Apache_ShardingSphere_Agent6.png
  B     docs/blog/static/img/F6_Automobile_img_13.png
  B     docs/blog/static/img/2023_03_14_ShardingSphere_Operator_Practical_Guide11.png
  B     docs/blog/static/img/2022_04_26_How_to_Use_ShardingSphere-Proxy_in_Real_Production_Scenarios_Your_Quick_Start_Guide2.jpg
  B     docs/blog/static/img/result7.jpg
  B     docs/blog/static/img/proxy_architecture2_en.jpg
  B     docs/blog/static/img/2022_04_26_How_to_Use_ShardingSphere-Proxy_in_Real_Production_Scenarios_Your_Quick_Start_Guide6.jpg
  B     docs/blog/static/img/2022_10_25_ShardingSphere_5.2.1_is_released — Here_are_the_highlights3.png
  B     docs/blog/static/img/2023_05_18_Enhancing_Database_Security_ShardingSphere-Proxy’s_Authentication.en.md1.jpg
  B     docs/blog/static/img/2022_04_26_How_to_Use_ShardingSphere-Proxy_in_Real_Production_Scenarios_Your_Quick_Start_Guide1.png
  B     docs/blog/static/img/2022_03_09_SQL_Parse_Format_Function_A _Technical_Deep_Dive_by_Apache_ShardingSphere3.png
  B     docs/blog/static/img/realization13.jpg
  B     docs/blog/static/img/2023_07_10_A_Step_by_Step_Guide_to_Data_Migration_5.png
  B     docs/blog/static/img/2022_03_25_A_Deep_Dive_Into_Observability_Apache_ShardingSphere_Agent3.png
  B     docs/blog/static/img/trace19.png
  B     docs/blog/static/img/proxy3.jpg
  B     docs/blog/static/img/2023_05_10_Simplifying_Learning_ShardingSphere’s_Template_Engine_for_Streamlined_Examples.en.md3.jpg
  B     docs/blog/static/img/2023_04_13_Revamped_ShardingSphere_On_Cloud_What’s_New_in_Version_0.2.0_with_CRD_ComputeNode.en.md2.jpg
  B     docs/blog/static/img/Blog_22_img_4_Rewarded_User_Issue_Snapshot.png
  B     docs/blog/static/img/result4.jpg
  B     docs/blog/static/img/Blog_25_img_1_JD_VS_ShardingSphere_Table.en.png
  B     docs/blog/static/img/F6_Automobile_img_4.png
  B     docs/blog/static/img/Blog_26_img_5.png
  B     docs/blog/static/img/PostgreSQL_openGauss_img_6.png
  B     docs/blog/static/img/Blog_25_img_JD_System_en.png
  B     docs/blog/static/img/proxy1.jpg
  B     docs/blog/static/img/2023_06_07_how_to_run_sql_trace_with_shardingsphere2.png
  B     docs/blog/static/img/Apache_ShardingSphere_Enterprise_Applications_img_1.jpg
  B     docs/blog/static/img/2022_12_13_Use_AWS_CloudFormation_to_create_ShardingSphere_HA_clusters1.png
  B     docs/blog/static/img/2022_11_22_ElasticJob_UI_now_supports_Auth_2.0,_OIDC_and_SAML_single_sign-on_thanks_to_Casdoor1.png
  B     docs/blog/static/img/database12.jpg
  B     docs/blog/static/img/2022_03_23_Apache_ShardingSphere_Proxy_Performance_with_PostgreSQL_is_Improved_26.8%_with_Version_5.1.0_4.png
  B     docs/blog/static/img/2023_01_04_Refactoring_the_DistSQL_Syntax__ShardingSphere_5.3.0_Deep_Dive1.png
  B     docs/blog/static/img/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster14.png
  B     docs/blog/static/img/2022_04_13_A_Practical_Guide_to_Apache_ShardingSphere's_HINT2.jpg
  B     docs/blog/static/img/2023_04_11_Monitoring_SQL_Performance_with_ShardingSphere-Agent,_Prometheus_and_Grafana4.png
  B     docs/blog/static/img/2023_03_14_ShardingSphere_Operator_Practical_Guide12.png
  B     docs/blog/static/img/solution1.jpg
  B     docs/blog/static/img/PostgreSQL_openGauss_img_7.png
  B     docs/blog/static/img/2023_01_04_Refactoring_the_DistSQL_Syntax__ShardingSphere_5.3.0_Deep_Dive10.png
  B     docs/blog/static/img/2023_05_10_Simplifying_Learning_ShardingSphere’s_Template_Engine_for_Streamlined_Examples.en.md8.jpg
  B     docs/blog/static/img/engine4.jpg
  B     docs/blog/static/img/AWS_Summit_China2.jpeg
  B     docs/blog/static/img/DistSQL_Statement_Development_img_1.png
  B     docs/blog/static/img/2022_09_08_Apache_ShardingSphere_5.2.0_is_Released,_Bringing_New_Cloud_Native_Possibilities2.png
  B     docs/blog/static/img/2022_12_13_Use_AWS_CloudFormation_to_create_ShardingSphere_HA_clusters2.png
  B     docs/blog/static/img/database8.jpg
  B     docs/blog/static/img/2023_01_04_Refactoring_the_DistSQL_Syntax__ShardingSphere_5.3.0_Deep_Dive4.png
  B     docs/blog/static/img/proxy15.jpg
  B     docs/blog/static/img/DistSQL_Statement_Development_img_10.png
  B     docs/blog/static/img/2023_04_13_Revamped_ShardingSphere_On_Cloud_What’s_New_in_Version_0.2.0_with_CRD_ComputeNode.en.md4.png
  B     docs/blog/static/img/2023_04_11_Monitoring_SQL_Performance_with_ShardingSphere-Agent,_Prometheus_and_Grafana5.png
  B     docs/blog/static/img/2022_12_28_Fuzzy_query_for_CipherColumn__ShardingSphere_5.3.0_Deep_Dive5.png
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere20.png
  B     docs/blog/static/img/2023_04_13_Revamped_ShardingSphere_On_Cloud_What’s_New_in_Version_0.2.0_with_CRD_ComputeNode.en.md1.jpg
  B     docs/blog/static/img/2023_04_13_Revamped_ShardingSphere_On_Cloud_What’s_New_in_Version_0.2.0_with_CRD_ComputeNode.en.md7.jpg
  B     docs/blog/static/img/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster6.png
  B     docs/blog/static/img/F6_Automobile_img_14.png
  B     docs/blog/static/img/2022_12_13_Use_AWS_CloudFormation_to_create_ShardingSphere_HA_clusters5.png
  B     docs/blog/static/img/2022_03_25_A_Deep_Dive_Into_Observability_Apache_ShardingSphere_Agent8.png
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database Protocol_Interaction_Explained10.png
  B     docs/blog/static/img/icla en3.png
  B     docs/blog/static/img/PostgreSQL_openGauss_img_4.png
  B     docs/blog/static/img/2022_04_29_Apache_ShardingSphere_Enterprise_Applications_Zhuanzhuan’s_Transaction_System_with_100s_of_Millions_of_Records6.png
  B     docs/blog/static/img/2022_03_18_Executor_Engine_Performance_Optimization_Showcase_with_Apache_ShardingSphere_5.1.0_8.png
  B     docs/blog/static/img/2023_05_18_Enhancing_Database_Security_ShardingSphere-Proxy’s_Authentication.en.md8.jpg
  B     docs/blog/static/img/icla en1.png
  B     docs/blog/static/img/Blog_20_img_1_a_Photo.png
  B     docs/blog/static/img/2023_04_13_Revamped_ShardingSphere_On_Cloud_What’s_New_in_Version_0.2.0_with_CRD_ComputeNode.en.md5.jpg
  B     docs/blog/static/img/Blog_27_img_5_codes.png
  B     docs/blog/static/img/Blog_24_img_5_Yachine_Photo.png
  B     docs/blog/static/img/Blog_17_img_1_a.png
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere7.png
  B     docs/blog/static/img/2022_10_25_ShardingSphere_5.2.1_is_released — Here_are_the_highlights1.png
  B     docs/blog/static/img/2022_03_16_Create_a_Distributed_Database_with_High_Availability_with_Apache_ShardingSphere3.png
  B     docs/blog/static/img/Blog_27_img_8_codes.png
  B     docs/blog/static/img/result1.jpg
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database Protocol_Interaction_Explained14.png
  B     docs/blog/static/img/AWS_Summit_China10.jpg
  B     docs/blog/static/img/2023_04_03_ShardingSphere_5.3.2_Release_Apollo_Integration,_Better_Data_Migration,_and_Stronger_Encryption1.png
  B     docs/blog/static/img/2022_03_18_Executor_Engine_Performance_Optimization_Showcase_with_Apache_ShardingSphere_5.1.0_9.png
  B     docs/blog/static/img/Blog_17_img_1_ShardingSphere_Database_Metadata_Structure_Diagram_en.png
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database Protocol_Interaction_Explained7.png
  B     docs/blog/static/img/2022_04_13_A_Practical_Guide_to_Apache_ShardingSphere's_HINT1.png
  B     docs/blog/static/img/proxy6.jpg
  B     docs/blog/static/img/2023_04_11_Monitoring_SQL_Performance_with_ShardingSphere-Agent,_Prometheus_and_Grafana6.png
  B     docs/blog/static/img/proxy14.jpg
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere17.png
  B     docs/blog/static/img/proxyIntroduce2.png
  B     docs/blog/static/img/2022_09_08_Apache_ShardingSphere_5.2.0_is_Released,_Bringing_New_Cloud_Native_Possibilities3.png
  B     docs/blog/static/img/trace14.png
  B     docs/blog/static/img/2023_03_14_ShardingSphere_Operator_Practical_Guide5.png
  B     docs/blog/static/img/Blog_27_img_4_codes.png
  B     docs/blog/static/img/realization14.jpg
  B     docs/blog/static/img/Blog_23_img_1_The_Structure_of_the_ShardingSphere_openGauss_Distribution_Solution.en.png
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere16.png
  B     docs/blog/static/img/Blog_27_img_9_codes.png
  B     docs/blog/static/img/2023_06_07_how_to_run_sql_trace_with_shardingsphere5.png
  B     docs/blog/static/img/2023_01_04_Refactoring_the_DistSQL_Syntax__ShardingSphere_5.3.0_Deep_Dive7.png
  B     docs/blog/static/img/2023_04_03_ShardingSphere_5.3.2_Release_Apollo_Integration,_Better_Data_Migration,_and_Stronger_Encryption2.png
  B     docs/blog/static/img/Your_Detailed_Guide_to_Apache_ShardingSphere’s_Operating_Modes_img_2.png
  B     docs/blog/static/img/2023_06_07_how_to_run_sql_trace_with_shardingsphere1.jpeg
  B     docs/blog/static/img/F6_Automobile_img_9.png
  B     docs/blog/static/img/AWS_Summit_China5.jpg
  B     docs/blog/static/img/CNCF2.jpg
  B     docs/blog/static/img/Blog_25_img_2_b.png
  B     docs/blog/static/img/2022_12_13_Use_AWS_CloudFormation_to_create_ShardingSphere_HA_clusters4.png
  B     docs/blog/static/img/kernel_img_1.png
  B     docs/blog/static/img/2023_02_15_A_Distributed_Database_Load_Balancing_Architecture_Based_on_ShardingSphere_Demo_&_User_Case7.png
  B     docs/blog/static/img/2022_03_18_Executor_Engine_Performance_Optimization_Showcase_with_Apache_ShardingSphere_5.1.0_5.png
  B     docs/blog/static/img/trace15.png
  B     docs/blog/static/img/Blog_27_img_2_codes.png
  B     docs/blog/static/img/2022_03_18_Executor_Engine_Performance_Optimization_Showcase_with_Apache_ShardingSphere_5.1.0_6.png
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere11.png
  B     docs/blog/static/img/proxy8.jpg
  B     docs/blog/static/img/2023_04_13_Revamped_ShardingSphere_On_Cloud_What’s_New_in_Version_0.2.0_with_CRD_ComputeNode.en.md10.jpg
  B     docs/blog/static/img/2022_03_16_Create_a_Distributed_Database_with_High_Availability_with_Apache_ShardingSphere1.png
  B     docs/blog/static/img/2023_03_21_Streamlining_Database_Configuration_with_DistSQL's_Export,_Import,_and_YAML_Conversion3.png
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database_Protocol_Interaction_Explained10.png
  B     docs/blog/static/img/2023_02_15_A_Distributed_Database_Load_Balancing_Architecture_Based_on_ShardingSphere_Demo_&_User_Case9.png
  B     docs/blog/static/img/proxy_architecture1_en.png
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere10.png
  B     docs/blog/static/img/Blog_27_img_7_codes.png
  B     docs/blog/static/img/2022_10_14_ShardingSphere_5.2.0_Audit_for_sharding_intercepts_unreasonable_requests_in_multi-shards_scenarios3.png
  B     docs/blog/static/img/Your_Detailed_Guide_to_Apache_ShardingSphere’s_Operating_Modes_img_3.png
  B     docs/blog/static/img/F6_Automobile_img_12.png
  B     docs/blog/static/img/Full_Link_Online_Stress_Testing_img_3.jpeg
  B     docs/blog/static/img/2022_03_25_A_Deep_Dive_Into_Observability_Apache_ShardingSphere_Agent1.png
  B     docs/blog/static/img/2023_01_04_Refactoring_the_DistSQL_Syntax__ShardingSphere_5.3.0_Deep_Dive13.png
  B     docs/blog/static/img/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster18.png
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database_Protocol_Interaction_Explained3.png
  B     docs/blog/static/img/2023_04_13_Revamped_ShardingSphere_On_Cloud_What’s_New_in_Version_0.2.0_with_CRD_ComputeNode.en.md11.jpg
  B     docs/blog/static/img/engine3.jpg
  B     docs/blog/static/img/2022_12_28_Fuzzy_query_for_CipherColumn__ShardingSphere_5.3.0_Deep_Dive2.png
  B     docs/blog/static/img/Blog_19_img_2_Pan_Juan_Photo.jpg
  B     docs/blog/static/img/kernel_img_2.png
  B     docs/blog/static/img/Blog_27_img_10_codes.png
  B     docs/blog/static/img/AWS_Summit_China9.jpg
  B     docs/blog/static/img/Blog_22_img_1_sharding_workflow_en.png
  B     docs/blog/static/img/2022_03_25_A_Deep_Dive_Into_Observability_Apache_ShardingSphere_Agent7.png
  B     docs/blog/static/img/2023_07_10_A_Step_by_Step_Guide_to_Data_Migration_1.png
  B     docs/blog/static/img/database10.jpg
  B     docs/blog/static/img/Apache_ShardingSphere_Enterprise_Applications_img_3.png
  B     docs/blog/static/img/comparsion_en.jpg
  B     docs/blog/static/img/2022_04_01_1st_Academic_Paper_by_Apache_ShardingSphere_Accepted_by_ICDE_A_Top-Level_Database_Conference3.png
  B     docs/blog/static/img/realization2.jpg
  B     docs/blog/static/img/2023_03_14_ShardingSphere_Operator_Practical_Guide7.png
  B     docs/blog/static/img/DistSQL_Statement_Development_img_11.png
  B     docs/blog/static/img/2022_12_28_Fuzzy_query_for_CipherColumn__ShardingSphere_5.3.0_Deep_Dive1.png
  B     docs/blog/static/img/trace8.png
  B     docs/blog/static/img/Blog_23_img_1_a_Photo.png
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database_Protocol_Interaction_Explained8.png
  B     docs/blog/static/img/2022_03_25_A_Deep_Dive_Into_Observability_Apache_ShardingSphere_Agent11.png
  B     docs/blog/static/img/spotless3.png
  B     docs/blog/static/img/seata1.jpg
  B     docs/blog/static/img/trace12.png
  B     docs/blog/static/img/Blog_24_img_4_Liangda_Photo.png
  B     docs/blog/static/img/2022_12_28_Fuzzy_query_for_CipherColumn__ShardingSphere_5.3.0_Deep_Dive6.png
  B     docs/blog/static/img/proxy9.jpg
  B     docs/blog/static/img/engine1.jpg
  B     docs/blog/static/img/engine7.png
  B     docs/blog/static/img/Your_Detailed_Guide_to_Apache_ShardingSphere’s_Operating_Modes_img_1.png
  B     docs/blog/static/img/2023_05_18_Enhancing_Database_Security_ShardingSphere-Proxy’s_Authentication.en.md6.jpg
  B     docs/blog/static/img/2022_03_23_Apache_ShardingSphere_Proxy_Performance_with_PostgreSQL_is_Improved_26.8%_with_Version_5.1.0_3.png
  B     docs/blog/static/img/AWS_Summit_China8.jpg
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere14.png
  B     docs/blog/static/img/2023_03_21_Streamlining_Database_Configuration_with_DistSQL's_Export,_Import,_and_YAML_Conversion2.png
  B     docs/blog/static/img/PostgreSQL_openGauss_img_3.png
  B     docs/blog/static/img/Blog_20_img_1_Popularity_of_Java_versions_in_2020_en.png
  B     docs/blog/static/img/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster13.png
  B     docs/blog/static/img/Blog_24_img_3_Thanoshan_Photo.png
  B     docs/blog/static/img/2023_04_27_How_South_Korea’s_Yogiyo_Improved_Scalability_and_Performance_with_Apache_ShardingSphere.en.md3.jpg
  B     docs/blog/static/img/realization7.jpg
  B     docs/blog/static/img/2022_12_13_Use_AWS_CloudFormation_to_create_ShardingSphere_HA_clusters3.png
  B     docs/blog/static/img/2023_02_15_A_Distributed_Database_Load_Balancing_Architecture_Based_on_ShardingSphere_Demo_&_User_Case2.png
  B     docs/blog/static/img/Full_Link_Online_Stress_Testing_img_1.png
  B     docs/blog/static/img/realization10.jpg
  B     docs/blog/static/img/2023_07_10_A_Step_by_Step_Guide_to_Data_Migration_4.png
  B     docs/blog/static/img/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster19.png
  B     docs/blog/static/img/2023_03_14_ShardingSphere_Operator_Practical_Guide1.png
  B     docs/blog/static/img/proxy_architecture1_en.jpg
  B     docs/blog/static/img/2023_01_04_Refactoring_the_DistSQL_Syntax__ShardingSphere_5.3.0_Deep_Dive11.png
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database Protocol_Interaction_Explained3.png
  B     docs/blog/static/img/Blog_26_img_8.jpeg
  B     docs/blog/static/img/ss_5.0.0beta1.jpg
  B     docs/blog/static/img/Blog_26_img_7.png
  B     docs/blog/static/img/Apache_ShardingSphere_Enterprise_Applications_img_5.jpg
  B     docs/blog/static/img/2022_03_25_A_Deep_Dive_Into_Observability_Apache_ShardingSphere_Agent9.png
  B     docs/blog/static/img/2022_04_21_Apache_ShardingSphere_openGauss_Breaking_the Distributed_Database_Performance_Record_with_10_Million_tpmC3.png
  B     docs/blog/static/img/2023_02_09_Leverage_Terraform_to_Create_an_Apache_ShardingSphere_Proxy_High_Availability_Cluster_on_AWS1.png
  B     docs/blog/static/img/2023_04_13_Revamped_ShardingSphere_On_Cloud_What’s_New_in_Version_0.2.0_with_CRD_ComputeNode.en.md6.jpg
  B     docs/blog/static/img/Blog_24_img_1_ShardingSphere_GSoC.png
  B     docs/blog/static/img/2023_06_07_how_to_run_sql_trace_with_shardingsphere3.png
  B     docs/blog/static/img/Wu_Weijie_Photo.png
  B     docs/blog/static/img/DistSQL_Statement_Development_img_2.png
  B     docs/blog/static/img/2022_03_23_Apache_ShardingSphere_Proxy_Performance_with_PostgreSQL_is_Improved_26.8%_with_Version_5.1.0_1.png
  B     docs/blog/static/img/DistSQL_Statement_Development_img_7.png
  B     docs/blog/static/img/Blog_27_img__Lan_Chengxiang_Photo.png
  B     docs/blog/static/img/chaos_engineering2.png
  B     docs/blog/static/img/2023_01_04_Refactoring_the_DistSQL_Syntax__ShardingSphere_5.3.0_Deep_Dive3.png
  B     docs/blog/static/img/realization1.jpg
  B     docs/blog/static/img/DistSQL_Statement_Development_img_9.png
  B     docs/blog/static/img/2022_11_15_Alibaba_Cloud’s_OpenSergo_&_ShardingSphere_release_database_governance_standard_for_microservices_-_combining_Database_Plus_and_Database_Mesh_concepts1.png
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere21.png
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database_Protocol_Interaction_Explained2.png
  B     docs/blog/static/img/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster7.png
  B     docs/blog/static/img/seata2.jpg
  B     docs/blog/static/img/2023_04_27_How_South_Korea’s_Yogiyo_Improved_Scalability_and_Performance_with_Apache_ShardingSphere.en.md6.jpg
  B     docs/blog/static/img/result3.jpg
  B     docs/blog/static/img/DistSQL_Cluster_Governance_Capabilities_img_2.png
  B     docs/blog/static/img/PostgreSQL_openGauss_img_1.png
  B     docs/blog/static/img/F6_Automobile_img_2.png
  B     docs/blog/static/img/Blog_27_img_3_codes.png
  B     docs/blog/static/img/2022_12_28_Fuzzy_query_for_CipherColumn__ShardingSphere_5.3.0_Deep_Dive3.png
  B     docs/blog/static/img/2023_04_03_ShardingSphere_5.3.2_Release_Apollo_Integration,_Better_Data_Migration,_and_Stronger_Encryption3.png
  B     docs/blog/static/img/2022_08_02_Book_Release_“A_Definitive_Guide_to_Apache_ShardingSphere”_is_Published_Internationally1.png
  B     docs/blog/static/img/proxy12.jpg
  B     docs/blog/static/img/Apache_ShardingSphere_Enterprise_Applications_img_6.jpeg
  B     docs/blog/static/img/2023_01_04_Refactoring_the_DistSQL_Syntax__ShardingSphere_5.3.0_Deep_Dive9.png
  B     docs/blog/static/img/2023_02_17_Dynamic_Data_Masking_ShardingSphere_5.3.1_Deep_Dive1.png
  B     docs/blog/static/img/2023_04_27_How_South_Korea’s_Yogiyo_Improved_Scalability_and_Performance_with_Apache_ShardingSphere.en.md2.jpg
  B     docs/blog/static/img/2022_10_14_ShardingSphere_5.2.0_Audit_for_sharding_intercepts_unreasonable_requests_in_multi-shards_scenarios2.png
  B     docs/blog/static/img/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster12.png
  B     docs/blog/static/img/2022_10_14_ShardingSphere_5.2.0_Audit_for_sharding_intercepts_unreasonable_requests_in_multi-shards_scenarios1.png
  B     docs/blog/static/img/2022_10_27_ElasticJob_3.0.2_is_released_with_failover_optimization,_scheduling_stability,_and_Java_19_compatibility1.png
  B     docs/blog/static/img/2023_03_14_ShardingSphere_Operator_Practical_Guide15.png
  B     docs/blog/static/img/DistSQL_Statement_Development_img_15.png
  B     docs/blog/static/img/2023_07_10_A_Step_by_Step_Guide_to_Data_Migration_2.png
  B     docs/blog/static/img/2023_02_15_A_Distributed_Database_Load_Balancing_Architecture_Based_on_ShardingSphere_Demo_&_User_Case5.png
  B     docs/blog/static/img/result6.jpg
  B     docs/blog/static/img/trace21.png
  B     docs/blog/static/img/solution2.jpg
  B     docs/blog/static/img/F6_Automobile_img_11.png
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database_Protocol_Interaction_Explained9.png
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database Protocol_Interaction_Explained12.png
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database_Protocol_Interaction_Explained14.png
  B     docs/blog/static/img/2023_04_13_Revamped_ShardingSphere_On_Cloud_What’s_New_in_Version_0.2.0_with_CRD_ComputeNode.en.md9.jpg
  B     docs/blog/static/img/proxy10.jpg
  B     docs/blog/static/img/AWS_Summit_China3.jpeg
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere4.png
  B     docs/blog/static/img/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster8.png
  B     docs/blog/static/img/proxy2.jpg
  B     docs/blog/static/img/Apache_ShardingSphere_Enterprise_Applications_img_2.jpg
  B     docs/blog/static/img/database7.jpg
  B     docs/blog/static/img/Your_Detailed_Guide_to_Apache_ShardingSphere’s_Operating_Modes_img_6.png
  B     docs/blog/static/img/2023_05_18_Enhancing_Database_Security_ShardingSphere-Proxy’s_Authentication.en.md3.jpg
  B     docs/blog/static/img/2022_04_01_1st_Academic_Paper_by_Apache_ShardingSphere_Accepted_by_ICDE_A_Top-Level_Database_Conference2.png
  B     docs/blog/static/img/database1.jpg
  B     docs/blog/static/img/F6_Automobile_img_3.png
  B     docs/blog/static/img/AWS_Summit_China1.jpg
  B     docs/blog/static/img/2023_03_14_ShardingSphere_Operator_Practical_Guide8.png
  B     docs/blog/static/img/2023_05_18_Enhancing_Database_Security_ShardingSphere-Proxy’s_Authentication.en.md5.jpg
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database_Protocol_Interaction_Explained7.png
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database Protocol_Interaction_Explained2.png
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere19.png
  B     docs/blog/static/img/Blog_26_img_1.png
  B     docs/blog/static/img/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster11.png
  B     docs/blog/static/img/engine2.jpg
  B     docs/blog/static/img/Full_Link_Online_Stress_Testing_img_10.png
  B     docs/blog/static/img/2022_03_09_SQL_Parse_Format_Function_A _Technical_Deep_Dive_by_Apache_ShardingSphere4.png
  B     docs/blog/static/img/2022_04_21_Apache_ShardingSphere_openGauss_Breaking_the Distributed_Database_Performance_Record_with_10_Million_tpmC2.png
  B     docs/blog/static/img/F6_Automobile_img_8.png
  B     docs/blog/static/img/2023_04_13_Revamped_ShardingSphere_On_Cloud_What’s_New_in_Version_0.2.0_with_CRD_ComputeNode.en.md12.jpg
  B     docs/blog/static/img/database3.jpg
  B     docs/blog/static/img/Blog_25_img_1_a.png
  B     docs/blog/static/img/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster5.png
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere1.png
  B     docs/blog/static/img/seata3.jpg
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database_Protocol_Interaction_Explained4.png
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere3.png
  B     docs/blog/static/img/DistSQL_Cluster_Governance_Capabilities_img_1.png
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere18.png
  B     docs/blog/static/img/Blog_21_img_1_a_Photo.png
  B     docs/blog/static/img/2023_05_18_Enhancing_Database_Security_ShardingSphere-Proxy’s_Authentication.en.md9.jpg
  B     docs/blog/static/img/icla3.png
  B     docs/blog/static/img/DistSQL_Statement_Development_img_4.png
  B     docs/blog/static/img/2022_11_24_ShardingSphere-on-Cloud_&_Pisanix_replace_Sidecar_for_a_true_cloud-native_experience1.png
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere12.png
  B     docs/blog/static/img/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster1.png
  B     docs/blog/static/img/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster15.png
  B     docs/blog/static/img/Blog_26_img_2.png
  B     docs/blog/static/img/2022_04_18_Apache_ShardingSphere_5.1.1_Is_Available1.jpeg
  B     docs/blog/static/img/2023_03_14_ShardingSphere_Operator_Practical_Guide16.png
  B     docs/blog/static/img/List_of_contributors.png
  B     docs/blog/static/img/proxy_architecture2_en.png
  B     docs/blog/static/img/2022_04_29_Apache_ShardingSphere_Enterprise_Applications_Zhuanzhuan’s_Transaction_System_with_100s_of_Millions_of_Records4.png
  B     docs/blog/static/img/2023_02_15_A_Distributed_Database_Load_Balancing_Architecture_Based_on_ShardingSphere_Demo_&_User_Case6.png
  B     docs/blog/static/img/DistSQL_Statement_Development_img_12.png
  B     docs/blog/static/img/Blog_26_img_4.png
  B     docs/blog/static/img/Stack_Overflow_img_1.jpeg
  B     docs/blog/static/img/2023_03_14_ShardingSphere_Operator_Practical_Guide6.png
  B     docs/blog/static/img/2022_11_22_ElasticJob_UI_now_supports_Auth_2.0,_OIDC_and_SAML_single_sign-on_thanks_to_Casdoor5.png
  B     docs/blog/static/img/database5.jpg
  B     docs/blog/static/img/2022_04_29_Apache_ShardingSphere_Enterprise_Applications_Zhuanzhuan’s_Transaction_System_with_100s_of_Millions_of_Records5.png
  B     docs/blog/static/img/proxy11.jpg
  B     docs/blog/static/img/alpha3.jpg
  B     docs/blog/static/img/realization6.jpg
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database Protocol_Interaction_Explained6.png
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database Protocol_Interaction_Explained4.png
  B     docs/blog/static/img/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster17.png
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere6.png
  B     docs/blog/static/img/2022_03_09_SQL_Parse_Format_Function_A _Technical_Deep_Dive_by_Apache_ShardingSphere1.jpeg
  B     docs/blog/static/img/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster16.png
  B     docs/blog/static/img/2023_02_09_Leverage_Terraform_to_Create_an_Apache_ShardingSphere_Proxy_High_Availability_Cluster_on_AWS3.png
  B     docs/blog/static/img/2022_03_25_A_Deep_Dive_Into_Observability_Apache_ShardingSphere_Agent2.png
  B     docs/blog/static/img/2022_04_21_Apache_ShardingSphere_openGauss_Breaking_the Distributed_Database_Performance_Record_with_10_Million_tpmC1.png
  B     docs/blog/static/img/alphaen3.png
  B     docs/blog/static/img/spotless2.png
  B     docs/blog/static/img/database2.jpg
  B     docs/blog/static/img/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster3.png
  B     docs/blog/static/img/F6_Automobile_img_7.png
  B     docs/blog/static/img/trace7.png
  B     docs/blog/static/img/2023_04_27_How_South_Korea’s_Yogiyo_Improved_Scalability_and_Performance_with_Apache_ShardingSphere.en.md5.jpg
  B     docs/blog/static/img/Blog_19_img_1_community.png
  B     docs/blog/static/img/Duan_Zhengqiang.png
  B     docs/blog/static/img/2022_12_28_Fuzzy_query_for_CipherColumn__ShardingSphere_5.3.0_Deep_Dive4.png
  B     docs/blog/static/img/icla4.png
  B     docs/blog/static/img/F6_Automobile_img_5.png
  B     docs/blog/static/img/alpha2.jpg
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database_Protocol_Interaction_Explained12.png
  B     docs/blog/static/img/result2.jpg
  B     docs/blog/static/img/proxyIntroduce1.png
  B     docs/blog/static/img/Yacine_Si_Tayeb_Photo_1.png
  B     docs/blog/static/img/proxy13.jpg
  B     docs/blog/static/img/2023_02_15_A_Distributed_Database_Load_Balancing_Architecture_Based_on_ShardingSphere_Demo_&_User_Case4.png
  B     docs/blog/static/img/trace13.png
  B     docs/blog/static/img/committer1.jpg
  B     docs/blog/static/img/database11.jpg
  B     docs/blog/static/img/2022_04_29_Apache_ShardingSphere_Enterprise_Applications_Zhuanzhuan’s_Transaction_System_with_100s_of_Millions_of_Records2.png
  B     docs/blog/static/img/2023_03_14_ShardingSphere_Operator_Practical_Guide4.png
  B     docs/blog/static/img/2023_04_13_Revamped_ShardingSphere_On_Cloud_What’s_New_in_Version_0.2.0_with_CRD_ComputeNode.en.md3.png
  B     docs/blog/static/img/2023_02_15_A_Distributed_Database_Load_Balancing_Architecture_Based_on_ShardingSphere_Demo_&_User_Case1.png
  B     docs/blog/static/img/2022_03_29_CITIC_Industrial_Cloud_Apache_ShardingSphere_ Enterprise_Applications1.png
  B     docs/blog/static/img/DistSQL_Statement_Development_img_6.png
  B     docs/blog/static/img/2022_04_18_Apache_ShardingSphere_5.1.1_Is_Available2.jpeg
  B     docs/blog/static/img/2023_03_14_ShardingSphere_Operator_Practical_Guide9.png
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere5.png
  B     docs/blog/static/img/proxy4.jpg
  B     docs/blog/static/img/2023_03_14_ShardingSphere_Operator_Practical_Guide13.png
  B     docs/blog/static/img/AWS_Summit_China6.jpg
  B     docs/blog/static/img/realization8.jpg
  B     docs/blog/static/img/2022_11_22_ElasticJob_UI_now_supports_Auth_2.0,_OIDC_and_SAML_single_sign-on_thanks_to_Casdoor4.png
  B     docs/blog/static/img/trace20.png
  B     docs/blog/static/img/F6_Automobile_img_6.png
  B     docs/blog/static/img/2023_06_07_how_to_run_sql_trace_with_shardingsphere4.png
  B     docs/blog/static/img/Full_Link_Online_Stress_Testing_img_2.png
  B     docs/blog/static/img/2023_03_14_ShardingSphere_Operator_Practical_Guide14.png
  B     docs/blog/static/img/ElasticJob.png
  B     docs/blog/static/img/ANTLR1.jpg
  B     docs/blog/static/img/chaos_engineering1.jpeg
  B     docs/blog/static/img/Blog_26_img_3.png
  B     docs/blog/static/img/realization4.jpg
  B     docs/blog/static/img/2022_11_22_ElasticJob_UI_now_supports_Auth_2.0,_OIDC_and_SAML_single_sign-on_thanks_to_Casdoor2.png
  B     docs/blog/static/img/2022_04_26_How_to_Use_ShardingSphere-Proxy_in_Real_Production_Scenarios_Your_Quick_Start_Guide5.jpg
  B     docs/blog/static/img/proxyIntroduce3.png
  B     docs/blog/static/img/Lan_Chengxiang_Photo.png
  B     docs/blog/static/img/2022_03_18_Executor_Engine_Performance_Optimization_Showcase_with_Apache_ShardingSphere_5.1.0_4.png
  B     docs/blog/static/img/2023_03_14_ShardingSphere_Operator_Practical_Guide2.png
  B     docs/blog/static/img/Blog_24_img_2_GSoC_2021_Projects_ss_Students_Snapshot_Thanoshan_Liangda.png
  B     docs/blog/static/img/2022_03_18_Executor_Engine_Performance_Optimization_Showcase_with_Apache_ShardingSphere_5.1.01.png
  B     docs/blog/static/img/Blog_25_img_2_JD_ShardingSphere_JDBC_en.png
  B     docs/blog/static/img/realization11.jpg
  B     docs/blog/static/img/2023_05_10_Simplifying_Learning_ShardingSphere’s_Template_Engine_for_Streamlined_Examples.en.md7.jpg
  B     docs/blog/static/img/2022_03_11_Asia’s_E-Commerce_Giant_Dangdang_Increases_Order_Processing_Speed_by_30%_Saves_Over_Ten_Million_in_Technology_Budget_with_Apache_ShardingSphere1.jpeg
  B     docs/blog/static/img/2023_04_27_How_South_Korea’s_Yogiyo_Improved_Scalability_and_Performance_with_Apache_ShardingSphere.en.md1.jpg
  B     docs/blog/static/img/2022_03_16_Create_a_Distributed_Database_with_High_Availability_with_Apache_ShardingSphere2.png
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database Protocol_Interaction_Explained5.png
  B     docs/blog/static/img/2022_03_18_Executor_Engine_Performance_Optimization_Showcase_with_Apache_ShardingSphere_5.1.0_3.png
  B     docs/blog/static/img/commu1.jpg
  B     docs/blog/static/img/2023_04_27_How_South_Korea’s_Yogiyo_Improved_Scalability_and_Performance_with_Apache_ShardingSphere.en.md4.jpg
  B     docs/blog/static/img/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster10.png
  B     docs/blog/static/img/logo.jpg
  B     docs/blog/static/img/Blog_22_img_2_8_Databases_4_Tables_Distribution.png
  B     docs/blog/static/img/2023_05_10_Simplifying_Learning_ShardingSphere’s_Template_Engine_for_Streamlined_Examples.en.md6.png
  B     docs/blog/static/img/F6_Automobile_img_1.png
  B     docs/blog/static/img/2023_03_14_ShardingSphere_Operator_Practical_Guide3.png
  B     docs/blog/static/img/2022_04_29_Apache_ShardingSphere_Enterprise_Applications_Zhuanzhuan’s_Transaction_System_with_100s_of_Millions_of_Records7.png
  B     docs/blog/static/img/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster9.png
  B     docs/blog/static/img/database4.jpg
  B     docs/blog/static/img/2023_01_04_Refactoring_the_DistSQL_Syntax__ShardingSphere_5.3.0_Deep_Dive12.png
  B     docs/blog/static/img/2023_03_14_ShardingSphere_Operator_Practical_Guide10.png
  B     docs/blog/static/img/2022_03_11_Asia’s_E-Commerce_Giant_Dangdang_Increases_Order_Processing_Speed_by_30%_Saves_Over_Ten_Million_in_Technology_Budget_with_Apache_ShardingSphere2.jpeg
  B     docs/blog/static/img/2022_03_18_Executor_Engine_Performance_Optimization_Showcase_with_Apache_ShardingSphere_5.1.0_7.png
  B     docs/blog/static/img/2023_04_11_Monitoring_SQL_Performance_with_ShardingSphere-Agent,_Prometheus_and_Grafana7.png
  B     docs/blog/static/img/2023_02_15_A_Distributed_Database_Load_Balancing_Architecture_Based_on_ShardingSphere_Demo_&_User_Case8.png
  B     docs/blog/static/img/2023_05_18_Enhancing_Database_Security_ShardingSphere-Proxy’s_Authentication.en.md7.jpg
  B     docs/blog/static/img/2022_04_01_1st_Academic_Paper_by_Apache_ShardingSphere_Accepted_by_ICDE_A_Top-Level_Database_Conference1.png
  B     docs/blog/static/img/2023_01_04_Refactoring_the_DistSQL_Syntax__ShardingSphere_5.3.0_Deep_Dive5.png
  B     docs/blog/static/img/Your_Detailed_Guide_to_Apache_ShardingSphere’s_Operating_Modes_img_5.png
  B     docs/blog/static/img/2022_09_22_How_does_ShardingSphere’s_Show_processlist_&_Kill_Work1.png
  B     docs/blog/static/img/2023_04_11_Monitoring_SQL_Performance_with_ShardingSphere-Agent,_Prometheus_and_Grafana1.png
  B     docs/blog/static/img/2022_11_22_ElasticJob_UI_now_supports_Auth_2.0,_OIDC_and_SAML_single_sign-on_thanks_to_Casdoor3.png
  B     docs/blog/static/img/icla2.png
  B     docs/blog/static/img/2022_03_16_Create_a_Distributed_Database_with_High_Availability_with_Apache_ShardingSphere4.png
  B     docs/blog/static/img/2022_04_18_Apache_ShardingSphere_5.1.1_Is_Available3.png
  B     docs/blog/static/img/Apache_ShardingSphere_Enterprise_Applications_img_4.jpeg
  B     docs/blog/static/img/2023_05_10_Simplifying_Learning_ShardingSphere’s_Template_Engine_for_Streamlined_Examples.en.md2.jpg
  B     docs/blog/static/img/ElasticJob2.png
  B     docs/blog/static/img/2022_04_26_How_to_Use_ShardingSphere-Proxy_in_Real_Production_Scenarios_Your_Quick_Start_Guide3.jpg
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database Protocol_Interaction_Explained8.png
  B     docs/blog/static/img/2023_01_04_Refactoring_the_DistSQL_Syntax__ShardingSphere_5.3.0_Deep_Dive8.png
  B     docs/blog/static/img/database9.jpg
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database_Protocol_Interaction_Explained13.png
  B     docs/blog/static/img/solution3.jpg
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere15.png
  B     docs/blog/static/img/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere9.png
  B     docs/blog/static/img/database6.jpg
  B     docs/blog/static/img/2023_01_04_Refactoring_the_DistSQL_Syntax__ShardingSphere_5.3.0_Deep_Dive2.png
  B     docs/blog/static/img/Meng_Haoran_Photo.png
  B     docs/blog/static/img/2022_03_29_CITIC_Industrial_Cloud_Apache_ShardingSphere_ Enterprise_Applications2.png
  B     docs/blog/static/img/AWS_Summit_China4.jpg
  B     docs/blog/static/img/trace18.png
  B     docs/blog/static/img/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster4.png
  B     docs/blog/static/img/2023_03_07_ShardingSphere_5.3.x_Update_Spring_Configuration_Update_Guide1.png
  B     docs/blog/static/img/2022_03_23_Apache_ShardingSphere_Proxy_Performance_with_PostgreSQL_is_Improved_26.8%_with_Version_5.1.0_5.png
  B     docs/blog/static/img/2023_02_23_ShardingSphere-Proxy_Database_Protocol_Interaction_Explained6.png
  B     docs/blog/static/img/2023_02_17_Dynamic_Data_Masking_ShardingSphere_5.3.1_Deep_Dive3.png
  B     docs/blog/static/img/chaos_engineering3.png
  B     docs/blog/static/img/Blog_27_img_11_codes.png
  B     docs/blog/static/img/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster2.png
  B     docs/blog/static/img/F6_Automobile_img_10.png
  B     docs/blog/static/img/trace17.png
  B     docs/blog/static/img/Blog_20_img_2_Jiang_Longtao_Photo.png
 !????? docs/blog/static/css/theme-mine.css
 !????? docs/blog/static/css/theme-black.css
  B     docs/blog/static/fonts/glyphicons-halflings-regular.eot
  B     docs/blog/static/fonts/glyphicons-halflings-regular.ttf
 !????? docs/blog/static/fonts/glyphicons-halflings-regular.svg
  B     docs/blog/static/fonts/glyphicons-halflings-regular.woff
 !????? docs/blog/layouts/partials/style.html
 !????? docs/blog/layouts/partials/logo.html
 !????? docs/blog/layouts/partials/favicon.html
 !????? docs/blog/layouts/partials/menu-footer.html
 !????? docs/blog/layouts/partials/javascript.html
 !????? docs/blog/layouts/index.html
 !????? docs/blog/layouts/shortcodes/bilibili.html
 !????? docs/blog/layouts/shortcodes/qq.html
  N     docs/blog/themes/tale4zh/LICENSE
 !????? docs/blog/themes/tale4zh/README.md
 !????? docs/blog/themes/tale4zh/static/css/fonts.css
  B     docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-italic.woff
  B     docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-regular.ttf
  B     docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-regular.woff
  B     docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-italic.eot
  B     docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-700.woff
  B     docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-700.eot
  B     docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-regular.woff2
 !????? docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-italic.svg
  B     docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-regular.eot
 !????? docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-regular.svg
  B     docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-italic.ttf
  B     docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-700.ttf
  B     docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-italic.woff2
 !????? docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-700.svg
  B     docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-700.woff2
  B     docs/blog/themes/tale4zh/static/images/apple-touch-icon.png
  B     docs/blog/themes/tale4zh/static/images/favicon-16x16.png
  B     docs/blog/themes/tale4zh/static/images/favicon-32x32.png
 !????? docs/blog/themes/tale4zh/theme.toml
 !????? docs/blog/themes/tale4zh/layouts/_default/list.html
 !????? docs/blog/themes/tale4zh/layouts/_default/taxonomy.html
 !????? docs/blog/themes/tale4zh/layouts/_default/baseof.html
 !????? docs/blog/themes/tale4zh/layouts/_default/terms.html
 !????? docs/blog/themes/tale4zh/layouts/_default/single.html
 !????? docs/blog/themes/tale4zh/layouts/_default/summary.html
 !????? docs/blog/themes/tale4zh/layouts/404.html
 !????? docs/blog/themes/tale4zh/layouts/partials/footer.html
 !????? docs/blog/themes/tale4zh/layouts/partials/head.html
 !????? docs/blog/themes/tale4zh/layouts/partials/single/footer.html
 !????? docs/blog/themes/tale4zh/layouts/partials/single/post-info.html
 !????? docs/blog/themes/tale4zh/layouts/partials/single/header.html
 !????? docs/blog/themes/tale4zh/layouts/partials/single/title.html
 !????? docs/blog/themes/tale4zh/layouts/partials/header.html
 !????? docs/blog/themes/tale4zh/layouts/partials/header-menu.html
 !????? docs/blog/themes/tale4zh/layouts/partials/index/introduction.html
 !????? docs/blog/themes/tale4zh/layouts/index.html
 !????? docs/blog/themes/tale4zh/layouts/about/list.html
 !????? docs/blog/themes/tale4zh/i18n/de.toml
 !????? docs/blog/themes/tale4zh/i18n/nl.toml
 !????? docs/blog/themes/tale4zh/i18n/en.toml
 !????? docs/blog/themes/tale4zh/i18n/fr.toml
 !????? docs/blog/themes/tale4zh/i18n/es.toml
 !????? docs/blog/themes/tale4zh/data/months_es.yaml
 !????? docs/blog/themes/tale4zh/data/months_nl.yaml
 !????? docs/blog/themes/tale4zh/data/months_fr.yaml
 !????? docs/blog/themes/tale4zh/data/months_de.yaml
 !????? docs/blog/themes/tale4zh/assets/scss/tale.scss
 !????? docs/blog/themes/tale4zh/assets/scss/tale/_syntax.scss
 !????? docs/blog/themes/tale4zh/assets/scss/tale/_pagination.scss
 !????? docs/blog/themes/tale4zh/assets/scss/tale/_post.scss
 !????? docs/blog/themes/tale4zh/assets/scss/tale/_base.scss
 !????? docs/blog/themes/tale4zh/assets/scss/tale/_catalogue.scss
 !????? docs/blog/themes/tale4zh/assets/scss/tale/_layout.scss
 !????? docs/blog/themes/tale4zh/assets/scss/tale/_variables.scss
 !????? docs/blog/themes/tale4zh/assets/scss/tale/_code.scss
 !????? docs/blog/themes/tale4zh/.travis.yml
 !????? docs/blog/themes/tale4zh/resources/_gen/assets/scss/scss/tale.scss_5ad6f408b0e3e473c748aac88af0ea18.content
  B     docs/blog/themes/tale4zh/resources/_gen/assets/scss/scss/tale.scss_5ad6f408b0e3e473c748aac88af0ea18.json
  B     docs/blog/themes/tale4zh/resources/_gen/assets/scss/scss/tale.scss_33d66d0b5f8b04b1d41c1da7ba50ddae.json
 !????? docs/blog/themes/tale4zh/resources/_gen/assets/scss/scss/tale.scss_33d66d0b5f8b04b1d41c1da7ba50ddae.content
 !????? docs/blog/themes/tale4zh/archetypes/default.md
 !????? docs/blog/themes/tale4zh/.gitattributes
  B     docs/blog/themes/tale4zh/images/tn.png
  B     docs/blog/themes/tale4zh/images/screenshot.png
 !????? docs/blog/content/material/committer.en.md
 !????? docs/blog/content/material/2022_09_02_First_Look_at_ShardingSphere_5.2.0_&_In-Person_Meetup_on_Massive_Data_Management_Practices.en.md
 !????? docs/blog/content/material/Feb_18_Apache_ShardingSphere_5.1.0_Now_Avaliable.en.md
  AL    docs/blog/content/material/2022_06_08_How_does_Apache_ShardingSphere_standardize_and_format_code_We_use_Spotless.en.md
  B     docs/blog/content/material/database.cn.md
 !????? docs/blog/content/material/2023_03_07_ShardingSphere_5.3.x_Update_Spring_Configuration_Update_Guide.en.md
 !????? docs/blog/content/material/2023_06_15_Chaos_Engineering.md
 !????? docs/blog/content/material/2022_06_16_Understanding_Apache_ShardingSphere's_SPI_and_why_it’s_simpler_than_Dubbo’s.en.md
 !????? docs/blog/content/material/2022_05_17_How_does_Apache_ShardingSphere_implement_distributed_transactions.en.md
 !????? docs/blog/content/material/2023_03_14_ShardingSphere_Operator_Practical_Guide.en.md
  B     docs/blog/content/material/ss_5.0.0beta.cn.md
  B     docs/blog/content/material/seata.cn.md
 !????? docs/blog/content/material/2023_01_04_Refactoring_the_DistSQL_Syntax__ShardingSphere_5.3.0_Deep_Dive.en.md
  B     docs/blog/content/material/spotless.cn.md
 !????? docs/blog/content/material/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere.en.md
 !????? docs/blog/content/material/2022_10_25_ShardingSphere_5.2.1_is_released — Here_are_the_highlights.en.md
 !????? docs/blog/content/material/2023_02_15_A_Distributed_Database_Load_Balancing_Architecture_Based_on_ShardingSphere_Demo_&_User_Case.en.md
 !????? docs/blog/content/material/2022_06_30_ShardingSphere_&_Database_Mesh.en.md
 !????? docs/blog/content/material/alpha.cn.md
 !????? docs/blog/content/material/Jan_28_Blog_X_Kernel_Optimizations_&_Upgrade_Guide_for_Apache_ShardingSphere_5.0.0_The_Ideal_Database_Management_Ecosystem.en.md
  B     docs/blog/content/material/engine.cn.md
 !????? docs/blog/content/material/Oct_12_7_openGauss_ShardingSphere_One_of_the_Top_Distribution_Solutions.en.md
 !????? docs/blog/content/material/2022_07_26_DistSQL_Applications_Building_a_Dynamic_Distributed_Database.en.md
 !????? docs/blog/content/material/2022_04_21_Apache_ShardingSphere_openGauss_Breaking_the_Distributed_Database_Performance_Record_with_10_Million_tpmC.en.md
  B     docs/blog/content/material/Jan_28_Blog_Apache_ShardingSphere_Enterprise_Applications.en.md
 !????? docs/blog/content/material/2023_04_27_How_South_Korea’s_Yogiyo_Improved_Scalability_and_Performance_with_Apache_ShardingSphere.en.md
 !????? docs/blog/content/material/Oct_12_7_openGauss_ShardingSphere_One_of_the_Top_Distribution_Solutions.cn.md
 !????? docs/blog/content/material/Oct_12_4_Updates_and_FAQ_Your_1_Minute_Quick_Start_Guide_to_ShardingSphere.cn.md
 !????? docs/blog/content/material/2022_03_29_CITIC_Industrial_Cloud_Apache_ShardingSphere_Enterprise_Applications.en.md
 !????? docs/blog/content/material/2022_03_23_Apache_ShardingSphere_Proxy_Performance_with_PostgreSQL_is_Improved_26.8%_with_Version_5.1.0.en.md
 !????? docs/blog/content/material/2023_07_07_AWS_Summit_China_2023_ShardingSphere_Highlights_and_Data_Security_Insights.md
 !????? docs/blog/content/material/2022_07_06_ShardingSphere-JDBC_Driver_Released_A_JDBC_Driver_That_Requires_No_Code_Modifications.en.md
  B     docs/blog/content/material/Open_source_community.cn.md
 !????? docs/blog/content/material/Jul_26_An_introduction_to_DistSQL.en.md
 !????? docs/blog/content/material/2023_03_23_Managing_Metadata_in_Sharded_Database_Environments_with_ShardingSphere's_Built-in_Metadata_Function.en.md
  B     docs/blog/content/material/proxy.cn.md
 !????? docs/blog/content/material/Mar_23_DistSQL_Cluster_Governance_Capabilities.en.md
  B     docs/blog/content/material/Oct_12_1_ShardingSphere’s_Metadata_Loading_Process.cn.md
  B     docs/blog/content/material/CNCF.cn.md
 !????? docs/blog/content/material/2023_04_11_Monitoring_SQL_Performance_with_ShardingSphere-Agent,_Prometheus_and_Grafana.en.md
 !????? docs/blog/content/material/Nov_22_5.0.0_New.en.md
 !????? docs/blog/content/material/Jul_26_An_introduction_to_DistSQL.cn.md
 !????? docs/blog/content/material/graduate.en.md
 !????? docs/blog/content/material/2022_05_24_Your_Guide_to_DistSQL_Cluster_Governance_Capability_Apache_ShardingSphere_Feature_Update.en.md
  B     docs/blog/content/material/solution.cn.md
 !????? docs/blog/content/material/2022_04_18_Apache_ShardingSphere_5.1.1_Is_Available.en.md
  B     docs/blog/content/material/graduate.cn.md
 !????? docs/blog/content/material/2022_06_10_Apache_ShardingSphere_Enterprise_Applications_Bilibili.en.md
 !????? docs/blog/content/material/2022_03_09_SQL_Parse_Format_Function_A_Technical_Deep_Dive_by_Apache_ShardingSphere.en.md
 !????? docs/blog/content/material/Oct_12_2_A_Distributed_Database_Middleware_Ecosystem_Driven_by_Open_Source.en.md
 !????? docs/blog/content/material/2022_04_26_How_to_Use_ShardingSphere-Proxy_in_Real_Production_Scenarios_Your_Quick_Start_Guide.en.md
 !????? docs/blog/content/material/proxy.en.md
  B     docs/blog/content/material/proxyIntroduce.cn.md
 !????? docs/blog/content/material/realization.en.md
 !????? docs/blog/content/material/community.cn.md
 !????? docs/blog/content/material/_index.cn.md
  B     docs/blog/content/material/realization.cn.md
 !????? docs/blog/content/material/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster.en.md
 !????? docs/blog/content/material/2022_09_08_Apache_ShardingSphere_5.2.0_is_Released,_Bringing_New_Cloud_Native_Possibilities.en.md
 !????? docs/blog/content/material/2022_12_13_Use_AWS_CloudFormation_to_create_ShardingSphere_HA_clusters.en.md
 !????? docs/blog/content/material/database.en.md
 !????? docs/blog/content/material/2023_02_09_Leverage_Terraform_to_Create_an_Apache_ShardingSphere_Proxy_High_Availability_Cluster_on_AWS.en.md
 !????? docs/blog/content/material/CNCF.en.md
 !????? docs/blog/content/material/2022_10_27_ElasticJob_3.0.2_is_released_with_failover_optimization,_scheduling_stability,_and_Java_19_compatibility.en.md
 !????? docs/blog/content/material/2022_03_18_Executor_Engine_Performance_Optimization_Showcase_with_Apache_ShardingSphere_5.1.0.en.md
 !????? docs/blog/content/material/2023_04_03_ShardingSphere_5.3.2_Release_Apollo_Integration,_Better_Data_Migration,_and_Stronger_Encryption.en.md
 !????? docs/blog/content/material/committer.cn.md
 !????? docs/blog/content/material/engine.en.md
 !????? docs/blog/content/material/result.en.md
 !????? docs/blog/content/material/ElasticJob.cn.md
 !????? docs/blog/content/material/Oct_12_3_How_Can_Students_Participate_in_Open_Source_Communities.en.md
 !????? docs/blog/content/material/2022_12_08_ShardingSphere_5.3.0_is_released_new_features_and_improvements.en.md
 !????? docs/blog/content/material/2022_06_28_Cloud_native_deployment_for_a_high-performance_data_gateway_new_API_driver_Apache_ShardingSphere_5.1.2_is_released.en.md
 !????? docs/blog/content/material/2022_11_15_Alibaba_Cloud’s_OpenSergo_&_ShardingSphere_release_database_governance_standard_for_microservices_-_combining_Database_Plus_and_Database_Mesh_concepts.en.md
 !????? docs/blog/content/material/2022_04_13_A_Practical_Guide_to_Apache_ShardingSphere's_HINT.en.md
 !????? docs/blog/content/material/Open_source_community.en.md
 !????? docs/blog/content/material/Feb_23_Stack_Overflow.en.md
 !????? docs/blog/content/material/2022_12_28_Fuzzy_query_for_CipherColumn__ShardingSphere_5.3.0_Deep_Dive.en.md
  B     docs/blog/content/material/Oct_12_5_E-Hualu_ShardingSphere_Hulu_Story_Data_Processing_Shortcut.cn.md
  B     docs/blog/content/material/Oct_12_9_ShardingSphere_JD_Baitiao_Story_of_an_Implementation_Journey.cn.md
 !????? docs/blog/content/material/2022_08_02_Book_Release_“A_Definitive_Guide_to_Apache_ShardingSphere”_is_Published_Internationally.en.md
 !????? docs/blog/content/material/Oct_12_6_AutoTable_Your_Butler-Like_Sharding_Configuration_Tool.cn.md
 !????? docs/blog/content/material/2023_03_21_Streamlining_Database_Configuration_with_DistSQL's_Export,_Import,_and_YAML_Conversion.en.md
 !????? docs/blog/content/material/2022_11_22_ElasticJob_UI_now_supports_Auth_2.0,_OIDC_and_SAML_single_sign-on_thanks_to_Casdoor.en.md
 !????? docs/blog/content/material/Jan_28_F6_Automobile_Technology’s_Multimillion_Rows_of_Data_Sharding_Strategy_Based_on_Apache_ShardingS.md
 !????? docs/blog/content/material/Jan_28_Full_Link_Online_Stress_Testing_for_Production_Database_Apache_ShardingSphere_Shadow_Database_Feature_Upgrade.en.md
 !????? docs/blog/content/material/2022_09_22_How_does_ShardingSphere’s_Show_processlist_&_Kill_Work.en.md
 !????? docs/blog/content/material/2022_04_29_Apache_ShardingSphere_Enterprise_Applications_Zhuanzhuan’s_Transaction_System_with_100s_of_Millions_of_Records.en.md
 !????? docs/blog/content/material/_index.en.md
 !????? docs/blog/content/material/2022_05_19_Apache_ShardingSphere_Enterprise_User_Case_Zhongshang_Huimin’s_Transaction_Middle_Platform_Architecture.en.md
 !????? docs/blog/content/material/Oct_12_6_AutoTable_Your_Butler_Like_Sharding_Configuration_Tool.en.md
 !????? docs/blog/content/material/2023_02_23_ShardingSphere-Proxy_Database_Protocol_Interaction_Explained.en.md
 !????? docs/blog/content/material/2022_11_24_ShardingSphere-on-Cloud_&_Pisanix_replace_Sidecar_for_a_true_cloud-native_experience.en.md
 !????? docs/blog/content/material/seata.en.md
 !????? docs/blog/content/material/Jan_28_Blog_PG_Create_a_Distributed_Database_Solution_Based_on_PostgreSQL_&_openGauss.en.md
  B     docs/blog/content/material/Oct_12_3_How_Can_Students_Participate_in_Open-Source_Communities.cn.md
 !????? docs/blog/content/material/2022_05_10_What’s_the_Database_Plus_concept_and_what_challenges_can_it_solve.en.md
 !????? docs/blog/content/material/2022_03_11_Asia’s_E-Commerce_Giant_Dangdang_Increases_Order_Processing_Speed_by_30%_Saves_Over_Ten_Million_in_Technology_Budget_with_Apache_ShardingSphere.en.md
 !????? docs/blog/content/material/2023_06_07_How_to_Run_SQl_Trace_with_ShardingSphere.md
 !????? docs/blog/content/material/Jan_28_Blog_X_How_to_Develop_Your_Distributed_SQL_Statement_in_Apache_ShardingSphere.en.md
 !????? docs/blog/content/material/2022_07_20_User_Case_China_Unicom_Digital_Technology_Ensuring_Stability_Efficiency_and_Replicability_at_Scale.en.md
 !????? docs/blog/content/material/solution.en.md
 !????? docs/blog/content/material/Nov_23_1_Integrate_SCTL_into_RAL.en.md
 !????? docs/blog/content/material/ElasticJob.en.md
 !????? docs/blog/content/material/Oct_12_9_ShardingSphere_JD_Baitiao_Story_of_an_Implementation_Journey.en.md
 !????? docs/blog/content/material/Oct_12_5_E_Hualu_ShardingSphere_Hulu_Story_Data_Processing_Shortcut.en.md
 !????? docs/blog/content/material/2023_04_13_Revamped_ShardingSphere_On_Cloud_What’s_New_in_Version_0.2.0_with_CRD_ComputeNode.en.md
 !????? docs/blog/content/material/ss_5.0.0beta.en.md
 !????? docs/blog/content/material/2022_06_02_Database_Mesh_2.0_Database_Governance_in_a_Cloud_Native_Environment.en.md
 !????? docs/blog/content/material/Jan_28_YOUR_DETAILED_GUIDE_TO_APACHE_SHARDINGSPHERE’S_OPERATING_MODES.en.md
 !????? docs/blog/content/material/2023_05_18_Enhancing_Database_Security_ShardingSphere-Proxy’s_Authentication.en.md
 !????? docs/blog/content/material/2023_02_17_Dynamic_Data_Masking_ShardingSphere_5.3.1_Deep_Dive.en.md
  B     docs/blog/content/material/result.cn.md
 !????? docs/blog/content/material/Oct_12_1_ShardingSphere’s_Metadata_Loading_Process.en.md
 !????? docs/blog/content/material/Oct_12_8_ShardingSphere_Google_Summer_of_Code_Students_How_Was_Your_Open_Source_Experience.cn.md
 !????? docs/blog/content/material/2022_07_28_Database_Plus’s_Embracing_the_Cloud_ShardingSphere-on-Cloud_Solution_Released.en.md
 !????? docs/blog/content/material/Oct_12_4_Updates_and_FAQ_Your_1_Minute_Quick_Start_Guide_to_ShardingSphere.en.md
 !????? docs/blog/content/material/2022_03_16_Create_a_Distributed_Database_with_High_Availability_with_Apache_ShardingSphere.en.md
 !????? docs/blog/content/material/2022_04_01_1st_Academic_Paper_by_Apache_ShardingSphere_Accepted_by_ICDE_A_Top-Level_Database_Conference.en.md
 !????? docs/blog/content/material/2022_10_14_ShardingSphere_5.2.0_Audit_for_sharding_intercepts_unreasonable_requests_in_multi-shards_scenarios.en.md
 !????? docs/blog/content/material/Oct_12_2_A_Distributed_Database_Middleware_Ecosystem_Driven_by_Open_Source.cn.md
 !????? docs/blog/content/material/Oct_12_8_ShardingSphere_Google_Summer_of_Code_Students_How_Was_Your_Open_Source_Experience.en.md
 !????? docs/blog/content/material/community.en.md
 !????? docs/blog/content/material/2022_06_21_Heterogeneous_migration_reducing_Dangdang’s_customer_system_RTO_60x_and_increasing_speed_by_20%.en.md
  B     docs/blog/content/material/2022_03_25_A_Deep_Dive_Into_Observability_Apache_ShardingSphere_Agent.en.md
 !????? docs/blog/content/material/alpha.en.md
 !????? docs/blog/content/material/2022_07_12_ShardingSphere_Cloud_Applications_An_out-of-the-box_ShardingSphere-Proxy_Cluster.en.md
 !????? docs/blog/content/material/2023_07_10_A_Step-by-Step_Guide_to_Data_Migration.md
 !????? docs/blog/content/material/2023_05_10_Simplifying_Learning_ShardingSphere’s_Template_Engine_for_Streamlined_Examples.en.md
 !????? docs/blog/content/material/2022_07_08_ShardingSphere-Proxy_Front-End_Protocol_Troubleshooting_Guide_and_Examples.en.md
 !????? docs/blog/content/videos/build.en.md
  B     docs/blog/content/videos/ecosystem.cn.md
  B     docs/blog/content/videos/evolution.cn.md
  B     docs/blog/content/videos/OpenSource.cn.md
 !????? docs/blog/content/videos/new_SQL.cn.md
 !????? docs/blog/content/videos/new_SQL.en.md
 !????? docs/blog/content/videos/_index.cn.md
  B     docs/blog/content/videos/build.cn.md
 !????? docs/blog/content/videos/openGauss.en.md
 !????? docs/blog/content/videos/openGauss.cn.md
  B     docs/blog/content/videos/Newfeature.cn.md
 !????? docs/blog/content/videos/evolution.en.md
 !????? docs/blog/content/videos/_index.en.md
 !????? docs/blog/content/videos/ecosystem.en.md
 !????? docs/blog/content/videos/OpenSource.en.md
 !????? docs/blog/content/videos/Newfeature.en.md
 !????? docs/blog/resources/_gen/assets/scss/scss/tale.scss_5ad6f408b0e3e473c748aac88af0ea18.content
  B     docs/blog/resources/_gen/assets/scss/scss/tale.scss_5ad6f408b0e3e473c748aac88af0ea18.json
 !????? docs/blog/archetypes/default.cn.md
 !????? docs/blog/config.toml
  N     LICENSE
 !????? .github/PULL_REQUEST_TEMPLATE
  AL    .github/workflows/e2e-agent.yml
  AL    .github/workflows/nightly-check.yml
  AL    .github/workflows/nightly-build.yml
  AL    .github/workflows/graalvm.yml
  AL    .github/workflows/ci.yml
  AL    .github/workflows/required-check.yml
  AL    .github/workflows/nightly-ci.yml
  AL    .github/workflows/nightly-sql-parser.yml
  AL    .github/workflows/required-reusable.yml
  AL    .github/workflows/e2e-sql.yml
  B     .github/workflows/resources/linkcheck/markdown-link-check.json
 !????? .github/workflows/resources/variables/env-variables.properties
  AL    .github/workflows/resources/filter/filters.yml
  AL    .github/workflows/resources/scripts/nightly-build-example/init-mysql-container.sh
  AL    .github/workflows/nightly-e2e-sql.yml
  AL    .github/workflows/e2e-operation.yml
  AL    .github/workflows/schedule-report.yml
  AL    .github/workflows/nightly-e2e-operation.yml
 !????? .github/ISSUE_TEMPLATE/question.md
 !????? .github/ISSUE_TEMPLATE/bug-report.md
 !????? .github/ISSUE_TEMPLATE/feature-request.md
 !????? .github/GIT_TEMPLATE/.git_commit_template.txt
  AL    pom.xml
  AL    examples/pom.xml
 !????? examples/README.md
  AL    examples/shardingsphere-jdbc-example-generator/pom.xml
 !????? examples/shardingsphere-jdbc-example-generator/README.md
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/logback.xml
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/config.yaml
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/init.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/pom.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/properties/application.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/file.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/registry.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/mappers/AddressMapper.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/mappers/OrderItemMapper.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/mappers/OrderMapper.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/jbossts-properties.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/logback.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/yaml/feature/shadow.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/yaml/feature/encrypt.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/yaml/feature/mask.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/yaml/feature/readwrite-splitting.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/yaml/feature/sharding.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/yaml/config.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/yaml/sql-parse/sql-parse.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/yaml/mode/standalone.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/yaml/mode/cluster-etcd.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/yaml/mode/cluster-zookeeper.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/yaml/transaction/xa-atomikos.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/yaml/transaction/xa-narayana.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/spi/encryptAlgorithm.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/seata.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/resources/xml/application.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/entity/Order.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/entity/Address.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/entity/OrderItem.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/main/SpringNamespaceJpaExampleMain.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/main/SpringBootStarJpaExampleMain.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/main/SpringBootStarJdbcExampleMain.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/main/JDBCExampleMain.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/main/SpringNamespaceMyBatisExampleMain.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/main/SpringBootStarMyBatisExampleMain.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/main/SpringNamespaceJdbcExampleMain.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/TransactionConfiguration.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/TestQueryAssistedShardingEncryptAlgorithm.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/service/ExampleService.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/config/shadow.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/config/encrypt.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/config/mask.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/config/Configuration.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/config/readwrite-splitting.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/config/sharding.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/repository/mybatis/AddressRepository.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/repository/mybatis/OrderItemRepository.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/repository/mybatis/OrderRepository.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/repository/jdbc/AddressRepository.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/repository/jdbc/OrderItemRepository.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/repository/jdbc/OrderRepository.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/repository/jpa/AddressRepository.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/repository/jpa/OrderItemRepository.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/repository/jpa/OrderRepository.ftl
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/META-INF/services/org.apache.shardingsphere.example.generator.scenario.feature.FeatureExampleScenario
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/META-INF/services/org.apache.shardingsphere.example.generator.scenario.framework.FrameworkExampleScenario
  AL    examples/shardingsphere-jdbc-example-generator/src/main/resources/META-INF/services/org.apache.shardingsphere.example.generator.scenario.transaction.TransactionExampleScenario
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/scenario/feature/FeatureExampleScenario.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/scenario/feature/type/EncryptExampleScenario.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/scenario/feature/type/ShardingExampleScenario.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/scenario/feature/type/ReadwriteSplittingExampleScenario.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/scenario/feature/type/ShadowExampleScenario.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/scenario/feature/type/MaskExampleScenario.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/scenario/ExampleScenario.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/scenario/ExampleScenarioFactory.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/scenario/framework/FrameworkExampleScenario.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/scenario/framework/type/SpringNamespaceJpaExampleScenario.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/scenario/framework/type/SpringNamespaceMyBatisExampleScenario.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/scenario/framework/type/SpringBootStarterJdbcExampleScenario.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/scenario/framework/type/JDBCExampleScenario.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/scenario/framework/type/SpringNamespaceJdbcExampleScenario.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/scenario/framework/type/SpringBootStarterMyBatisExampleScenario.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/scenario/framework/type/SpringBootStarterJpaExampleScenario.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/scenario/transaction/TransactionExampleScenario.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/scenario/transaction/type/LocalExampleScenario.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/scenario/transaction/type/XANarayanaExampleScenario.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/scenario/transaction/type/SeataExampleScenario.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/scenario/transaction/type/XAAtomikosExampleScenario.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/ExampleGeneratorMain.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/core/JDBCExampleGenerator.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/core/GenerateUtils.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/core/yaml/config/YamlExampleConfiguration.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/core/yaml/config/YamlExampleConfigurationSupportedValue.java
  AL    examples/shardingsphere-jdbc-example-generator/src/main/java/org/apache/shardingsphere/example/generator/core/yaml/config/YamlExampleConfigurationValidator.java
  AL    examples/shardingsphere-parser-example/pom.xml
  AL    examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/opengauss/statement/OpenGaussParserStatementExample.java
  AL    examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/sql92/statement/SQL92ParserStatementExample.java
  AL    examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/mysql/statement/MySQLParserStatementExample.java
  AL    examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/mysql/format/MySQLParserFormatExample.java
  AL    examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/sqlserver/statement/SQLServerParserStatementExample.java
  AL    examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/oracle/statement/OracleParserStatementExample.java
  AL    examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/postgresql/statement/PostgreSQLParserStatementExample.java
 !????? README.md
 !????? RELEASE-NOTES.md
  AL    mvnw
  AL    lombok.config
 !????? CODE_OF_CONDUCT.md
  AL    .codecov.yml
 !????? MATURITY.md
  A     .mvn/wrapper/maven-wrapper.jar
  AL    .mvn/wrapper/maven-wrapper.properties
 !????? .mvn/jvm.config
 !????? CONTRIBUTING.md
 !????? README_ZH.md
  AL    .gitattributes
  AL    src/resources/pmd.xml
  AL    src/resources/checkstyle.xml
  N     src/resources/spotless/copyright.txt
  AL    src/resources/spotless/java.xml
  AL    src/resources/spotbugs.xml
 !????? src/resources/rat.txt
  AL    src/resources/code-style-idea.xml
  AL    .asf.yaml
  N     NOTICE
  AL    mvnw.cmd
  AL    .licenserc.yaml
 
*****************************************************

 Printing headers for text files without a valid license header...
 
=====================================================
== File: docs/community/static/image/theme.svg
=====================================================
<?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 t="1649761066916" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1910" xmlns:xlink="http://www.w3.org/1999/xlink" width="19.421875" height="16"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); }
</style></defs><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#F6651C" p-id="1911"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#F6651C" p-id="1912"></path></svg>

=====================================================
== File: docs/community/static/css/theme-mine.css
=====================================================
/* background behind the logo*/
#header {
    background: black;
    border-color: black;
}

#header-wrapper {
    background: black;
    border-color: black;
}

#chapter p {
    text-align: left;
}

.copy-to-clipboard {
    background-image: none;
    display: none;
}

#body img, #body .video-container {
    margin: auto;
    text-align: left;
    display: inherit;
}
 

=====================================================
== File: docs/community/static/css/theme-white.css
=====================================================
body{
    font-family: 'roboto,sans-serif';
    letter-spacing: .33px;
    font-weight: 400;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}
.wrap{
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
}

header{
    background-color: #F7F7FB;
    height: 80px;
}

header .wrap{
    justify-content: space-between;
    align-items: center;
    height: 80px;
    padding: 0 20px 0 20px;
}

header li a{
    color:#393C4E;
}

header .select-style{
    width: 80px;
}
header .select-style svg{
    fill:#000;
}

header img{
    height: 38px;
}

header li{list-style: none;}
header .select-style select{
    color:#000;
}

#body img,
#body .video-container {
    margin: auto;
    text-align: left;
    display: inherit;

=====================================================
== File: docs/community/static/css/theme-black.css
=====================================================
@charset "UTF-8";

#top-github-link,
#body #breadcrumbs {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.button,
.button-secondary {
    display: inline-block;
    padding: 7px 12px;
}

.button:active,
.button-secondary:active {
    margin: 2px 0 -2px 0;
}

@font-face {
    font-family: 'Novacento Sans Wide';
    src: url("../fonts/Novecentosanswide-UltraLight-webfont.eot");
    src: url("../fonts/Novecentosanswide-UltraLight-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/Novecentosanswide-UltraLight-webfont.woff2") format("woff2"), url("../fonts/Novecentosanswide-UltraLight-webfont.woff") format("woff"), url("../fonts/Novecentosanswide-UltraLight-webfont.ttf") format("truetype"), url("../fonts/Novecentosanswide-UltraLight-webfont.svg#novecento_sans_wideultralight") format("svg");
    font-style: normal;
    font-weight: 200;
}

@font-face {
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 300;
    src: url("../fonts/Work_Sans_300.eot?#iefix") format("embedded-opentype"), url("../fonts/Work_Sans_300.woff") format("woff"), url("../fonts/Work_Sans_300.woff2") format("woff2"), url("../fonts/Work_Sans_300.svg#WorkSans") format("svg"), url("../fonts/Work_Sans_300.ttf") format("truetype");
}

@font-face {
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 500;
    src: url("../fonts/Work_Sans_500.eot?#iefix") format("embedded-opentype"), url("../fonts/Work_Sans_500.woff") format("woff"), url("../fonts/Work_Sans_500.woff2") format("woff2"), url("../fonts/Work_Sans_500.svg#WorkSans") format("svg"), url("../fonts/Work_Sans_500.ttf") format("truetype");
}

body {
    background: #fff;
    color: #777;
}

=====================================================
== File: docs/community/static/fonts/glyphicons-halflings-regular.svg
=====================================================
<?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 xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
<font-face units-per-em="1200" ascent="960" descent="-240" />
<missing-glyph horiz-adv-x="500" />
<glyph />
<glyph />
<glyph unicode="&#xd;" />
<glyph unicode=" " />
<glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" />
<glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" />
<glyph unicode="&#xa0;" />
<glyph unicode="&#x2000;" horiz-adv-x="652" />
<glyph unicode="&#x2001;" horiz-adv-x="1304" />
<glyph unicode="&#x2002;" horiz-adv-x="652" />
<glyph unicode="&#x2003;" horiz-adv-x="1304" />
<glyph unicode="&#x2004;" horiz-adv-x="434" />
<glyph unicode="&#x2005;" horiz-adv-x="326" />
<glyph unicode="&#x2006;" horiz-adv-x="217" />
<glyph unicode="&#x2007;" horiz-adv-x="217" />
<glyph unicode="&#x2008;" horiz-adv-x="163" />
<glyph unicode="&#x2009;" horiz-adv-x="260" />
<glyph unicode="&#x200a;" horiz-adv-x="72" />
<glyph unicode="&#x202f;" horiz-adv-x="260" />
<glyph unicode="&#x205f;" horiz-adv-x="326" />
<glyph unicode="&#x20ac;" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
<glyph unicode="&#x2212;" d="M200 400h900v300h-900v-300z" />
<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
<glyph unicode="&#x2601;" d="M-14 494q0 -80 56.5 -137t135.5 -57h750q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5z" />
<glyph unicode="&#x2709;" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
<glyph unicode="&#x270f;" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
<glyph unicode="&#xe001;" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
<glyph unicode="&#xe002;" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q18 -55 86 -75.5t147 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" />
<glyph unicode="&#xe003;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
<glyph unicode="&#xe005;" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
<glyph unicode="&#xe006;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1z" />
<glyph unicode="&#xe007;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" />
<glyph unicode="&#xe008;" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" />
<glyph unicode="&#xe009;" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" />
<glyph unicode="&#xe010;" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe011;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0 21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe012;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe013;" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
<glyph unicode="&#xe014;" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
<glyph unicode="&#xe015;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
<glyph unicode="&#xe016;" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" />
<glyph unicode="&#xe017;" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />

=====================================================
== File: docs/community/layouts/partials/style.html
=====================================================
<link rel="stylesheet" href="http://cdn.bootcss.com/highlight.js/9.8.0/styles/monokai-sublime.min.css">
<link rel="stylesheet" href="http://ovfotjrsi.bkt.clouddn.com/docs/css/style.css">

=====================================================
== File: docs/community/layouts/partials/logo.html
=====================================================
<a href="https://shardingsphere.apache.org/"><img src="https://shardingsphere.apache.org/document/current/img/logo_v3.png" /></a>

=====================================================
== File: docs/community/layouts/partials/favicon.html
=====================================================
<link rel="shortcut icon" href="https://shardingsphere.apache.org/document/current/img/favicon.png" type="image/x-icon" />

=====================================================
== File: docs/community/layouts/partials/menu-footer.html
=====================================================
<p></p>

=====================================================
== File: docs/community/layouts/partials/javascript.html
=====================================================
<script src="http://cdn.bootcss.com/highlight.js/9.8.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>

=====================================================
== File: docs/community/layouts/index.html
=====================================================
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="refresh" content="0; url=https://shardingsphere.apache.org/community/en/involved">
    <title>Index</title>
</head>
<body>
</body>
</html>

=====================================================
== File: docs/community/layouts/shortcodes/bilibili.html
=====================================================
<!DOCTYPE HTML>
<html>

<head>
    <style type="text/css">
        .aspect-ratio {
            position: relative;
            width: 100%;
            height: 0;
            padding-bottom: 75%;
        }

        .aspect-ratio iframe {
            position: absolute;
            width: 100%;
            height: 100%;
            left: 0;
            top: 0;
        }
    </style>
</head>

<body>
    <div class="aspect-ratio">
        <iframe
            src="https://player.bilibili.com/player.html?bvid={{.Get 0 }}&page={{ if .Get 1 }}{{.Get 1}}{{ else }}1&high_quality=1&danmaku=0{{end}}"
            scrolling="no" 
            border="0" 
            frameborder="no" 
            framespacing="0" 
            allowfullscreen="true"
            sandbox="allow-top-navigation allow-same-origin allow-forms allow-scripts"
            >
        </iframe>
    </div>
</body>

</html>

<!-- arguements &high_quality=1&danmaku=0 in src control the quality of video and bullet-screen comments-->
<!-- sandbox option avoid jumpping to bilibili.com -->

=====================================================
== File: docs/community/themes/hugo-theme-learn/README.md
=====================================================
# Hugo Learn Theme

This repository contains a theme for [Hugo](https://gohugo.io/), based on great [Grav Learn Theme](http://learn.getgrav.org/).

Visit the [theme documentation](https://learn.netlify.com/en/) to see what is going on. It is actually built with this theme.

## Main features

- Automatic Search
- Multilingual mode
- Unlimited menu levels
- Automatic next/prev buttons to navigate through menu entries
- Image resizing, shadow…
- Attachments files
- List child pages
- Mermaid diagram (flowchart, sequence, gantt)
- Customizable look and feel and themes variants
- Buttons, Tip/Note/Info/Warning boxes, Expand

## Installation

Navigate to your themes folder in your Hugo site and use the following commands:

```
$ cd themes
$ git clone https://github.com/matcornic/hugo-theme-learn.git
```

Check that your Hugo version is minimum `0.25` with `hugo version`.

![Overview](https://github.com/matcornic/hugo-theme-learn/raw/master/images/tn.png)

## Usage

- [Visit the documentation](https://learn.netlify.com/en/)

## Download old versions (prior to 2.0.0)

If you need old version for compatibility purpose, either download [theme source code from releases](https://github.com/matcornic/hugo-theme-learn/releases) or use the right git tag. For example, with `1.1.0` 

- Direct download way: https://github.com/matcornic/hugo-theme-learn/archive/1.1.0.zip
- Git way:

```shell
cd themes/hugo-theme-learn
git checkout tags/1.1.0
```

For both solutions, the documentation is available at https://github.com/matcornic/hugo-theme-learn/releases/download/1.1.0/hugo-learn-doc-1.1.0.zip


=====================================================
== File: docs/community/themes/hugo-theme-learn/static/js/highlight.pack.js
=====================================================
/*! highlight.js v9.2.0 | BSD3 License | git.io/hljslicense */
!function(e){var n="object"==typeof window&&window||"object"==typeof self&&self;"undefined"!=typeof exports?e(exports):n&&(n.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return n.hljs}))}(function(e){function n(e){return e.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;")}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0==t.index}function a(e){return/^(no-?highlight|plain|text)$/i.test(e)}function i(e){var n,t,r,i=e.className+" ";if(i+=e.parentNode?e.parentNode.className:"",t=/\blang(?:uage)?-([\w-]+)\b/i.exec(i))return w(t[1])?t[1]:"no-highlight";for(i=i.split(/\s+/),n=0,r=i.length;r>n;n++)if(w(i[n])||a(i[n]))return i[n]}function o(e,n){var t,r={};for(t in e)r[t]=e[t];if(n)for(t in n)r[t]=n[t];return r}function u(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3==i.nodeType?a+=i.nodeValue.length:1==i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n}function c(e,r,a){function i(){return e.length&&r.length?e[0].offset!=r[0].offset?e[0].offset<r[0].offset?e:r:"start"==r[0].event?e:r:e.length?e:r}function o(e){function r(e){return" "+e.nodeName+'="'+n(e.value)+'"'}f+="<"+t(e)+Array.prototype.map.call(e.attributes,r).join("")+">"}function u(e){f+="</"+t(e)+">"}function c(e){("start"==e.event?o:u)(e.node)}for(var s=0,f="",l=[];e.length||r.length;){var g=i();if(f+=n(a.substr(s,g[0].offset-s)),s=g[0].offset,g==e){l.reverse().forEach(u);do c(g.splice(0,1)[0]),g=i();while(g==e&&g.length&&g[0].offset==s);l.reverse().forEach(o)}else"start"==g[0].event?l.push(g[0].node):l.pop(),c(g.splice(0,1)[0])}return f+n(a.substr(s))}function s(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,i){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var u={},c=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");u[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof a.k?c("keyword",a.k):Object.keys(a.k).forEach(function(e){c(e,a.k[e])}),a.k=u}a.lR=t(a.l||/\b\w+\b/,!0),i&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||"",a.eW&&i.tE&&(a.tE+=(a.e?"|":"")+i.tE)),a.i&&(a.iR=t(a.i)),void 0===a.r&&(a.r=1),a.c||(a.c=[]);var s=[];a.c.forEach(function(e){e.v?e.v.forEach(function(n){s.push(o(e,n))}):s.push("self"==e?a:e)}),a.c=s,a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var f=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=f.length?t(f.join("|"),!0):{exec:function(){return null}}}}r(e)}function f(e,t,a,i){function o(e,n){for(var t=0;t<n.c.length;t++)if(r(n.c[t].bR,e))return n.c[t]}function u(e,n){if(r(e.eR,n)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?u(e.parent,n):void 0}function c(e,n){return!a&&r(n.iR,e)}function g(e,n){var t=N.cI?n[0].toLowerCase():n[0];return e.k.hasOwnProperty(t)&&e.k[t]}function p(e,n,t,r){var a=r?"":E.classPrefix,i='<span class="'+a,o=t?"":"</span>";return i+=e+'">',i+n+o}function h(){if(!k.k)return n(M);var e="",t=0;k.lR.lastIndex=0;for(var r=k.lR.exec(M);r;){e+=n(M.substr(t,r.index-t));var a=g(k,r);a?(B+=a[1],e+=p(a[0],n(r[0]))):e+=n(r[0]),t=k.lR.lastIndex,r=k.lR.exec(M)}return e+n(M.substr(t))}function d(){var e="string"==typeof k.sL;if(e&&!R[k.sL])return n(M);var t=e?f(k.sL,M,!0,y[k.sL]):l(M,k.sL.length?k.sL:void 0);return k.r>0&&(B+=t.r),e&&(y[k.sL]=t.top),p(t.language,t.value,!1,!0)}function b(){L+=void 0!==k.sL?d():h(),M=""}function v(e,n){L+=e.cN?p(e.cN,"",!0):"",k=Object.create(e,{parent:{value:k}})}function m(e,n){if(M+=e,void 0===n)return b(),0;var t=o(n,k);if(t)return t.skip?M+=n:(t.eB&&(M+=n),b(),t.rB||t.eB||(M=n)),v(t,n),t.rB?0:n.length;var r=u(k,n);if(r){var a=k;a.skip?M+=n:(a.rE||a.eE||(M+=n),b(),a.eE&&(M=n));do k.cN&&(L+="</span>"),k.skip||(B+=k.r),k=k.parent;while(k!=r.parent);return r.starts&&v(r.starts,""),a.rE?0:n.length}if(c(n,k))throw new Error('Illegal lexeme "'+n+'" for mode "'+(k.cN||"<unnamed>")+'"');return M+=n,n.length||1}var N=w(e);if(!N)throw new Error('Unknown language: "'+e+'"');s(N);var x,k=i||N,y={},L="";for(x=k;x!=N;x=x.parent)x.cN&&(L=p(x.cN,"",!0)+L);var M="",B=0;try{for(var C,j,I=0;;){if(k.t.lastIndex=I,C=k.t.exec(t),!C)break;j=m(t.substr(I,C.index-I),C[0]),I=C.index+j}for(m(t.substr(I)),x=k;x.parent;x=x.parent)x.cN&&(L+="</span>");return{r:B,value:L,language:e,top:k}}catch(O){if(-1!=O.message.indexOf("Illegal"))return{r:0,value:n(t)};throw O}}function l(e,t){t=t||E.languages||Object.keys(R);var r={r:0,value:n(e)},a=r;return t.forEach(function(n){if(w(n)){var t=f(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}}),a.language&&(r.second_best=a),r}function g(e){return E.tabReplace&&(e=e.replace(/^((<[^>]+>|\t)+)/gm,function(e,n){return n.replace(/\t/g,E.tabReplace)})),E.useBR&&(e=e.replace(/\n/g,"<br>")),e}function p(e,n,t){var r=n?x[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}function h(e){var n=i(e);if(!a(n)){var t;E.useBR?(t=document.createElementNS("http://www.w3.org/1999/xhtml","div"),t.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ \/]*>/g,"\n")):t=e;var r=t.textContent,o=n?f(n,r,!0):l(r),s=u(t);if(s.length){var h=document.createElementNS("http://www.w3.org/1999/xhtml","div");h.innerHTML=o.value,o.value=c(s,u(h),r)}o.value=g(o.value),e.innerHTML=o.value,e.className=p(e.className,n,o.language),e.result={language:o.language,re:o.r},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.r})}}function d(e){E=o(E,e)}function b(){if(!b.called){b.called=!0;var e=document.querySelectorAll("pre code");Array.prototype.forEach.call(e,h)}}function v(){addEventListener("DOMContentLoaded",b,!1),addEventListener("load",b,!1)}function m(n,t){var r=R[n]=t(e);r.aliases&&r.aliases.forEach(function(e){x[e]=n})}function N(){return Object.keys(R)}function w(e){return e=(e||"").toLowerCase(),R[e]||R[x[e]]}var E={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},R={},x={};return e.highlight=f,e.highlightAuto=l,e.fixMarkup=g,e.highlightBlock=h,e.configure=d,e.initHighlighting=b,e.initHighlightingOnLoad=v,e.registerLanguage=m,e.listLanguages=N,e.getLanguage=w,e.inherit=o,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|like)\b/},e.C=function(n,t,r){var a=e.inherit({cN:"comment",b:n,e:t,c:[]},r||{});return a.c.push(e.PWM),a.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),a},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|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)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e.METHOD_GUARD={b:"\\.\\s*"+e.UIR,r:0},e});hljs.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},s={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/-?[a-z\.]+/,k:{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"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,s,a,t]}});hljs.registerLanguage("javascript",function(e){return{aliases:["js","jsx"],k:{keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},c:[{cN:"meta",r:10,b:/^\s*['"]use (strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,{cN:"string",b:"`",e:"`",c:[e.BE,{cN:"subst",b:"\\$\\{",e:"\\}"}]},e.CLCM,e.CBCM,{cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{b:/</,e:/(\/\w+|\w+\/)>/,sL:"xml",c:[{b:/<\w+\/>/,skip:!0},{b:/<\w+/,e:/(\/\w+|\w+\/)>/,skip:!0,c:["self"]}]}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:[e.CLCM,e.CBCM]}],i:/\[|%/},{b:/\$[(.]/},e.METHOD_GUARD,{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor",e:/\{/,eE:!0}],i:/#(?!!)/}});hljs.registerLanguage("python",function(e){var r={cN:"meta",b:/^(>>>|\.\.\.) /},b={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[r],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[r],r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},e.ASM,e.QSM]},a={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},l={cN:"params",b:/\(/,e:/\)/,c:["self",r,a,b]};return{aliases:["py","gyp"],k:{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 None True False",built_in:"Ellipsis NotImplemented"},i:/(<\/|->|\?)/,c:[r,a,b,e.HCM,{v:[{cN:"function",bK:"def",r:10},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,l,{b:/->/,eW:!0,k:"None"}]},{cN:"meta",b:/^[\t ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}});hljs.registerLanguage("typescript",function(e){var r={keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class public private protected get set super static implements enum export import declare type namespace abstract",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document any number boolean string void"};return{aliases:["ts"],k:r,c:[{cN:"meta",b:/^\s*['"]use strict['"]/},e.ASM,e.QSM,{cN:"string",b:"`",e:"`",c:[e.BE,{cN:"subst",b:"\\$\\{",e:"\\}"}]},e.CLCM,e.CBCM,{cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM],r:0},{cN:"function",b:"function",e:/[\{;]/,eE:!0,k:r,c:["self",e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:r,c:[e.CLCM,e.CBCM],i:/["'\(]/}],i:/\[|%/,r:0},{bK:"constructor",e:/\{/,eE:!0},{bK:"module",e:/\{/,eE:!0},{bK:"interface",e:/\{/,eE:!0,k:"interface extends"},{b:/\$[(.]/},{b:"\\."+e.IR,r:0}]}});hljs.registerLanguage("yaml",function(e){var a={literal:"{ } true false yes no Yes No True False null"},b="^[ \\-]*",r="[a-zA-Z_][\\w\\-]*",t={cN:"attr",v:[{b:b+r+":"},{b:b+'"'+r+'":'},{b:b+"'"+r+"':"}]},c={cN:"template-variable",v:[{b:"{{",e:"}}"},{b:"%{",e:"}"}]},l={cN:"string",r:0,v:[{b:/'/,e:/'/},{b:/"/,e:/"/}],c:[e.BE,c]};return{cI:!0,aliases:["yml","YAML","yaml"],c:[t,{cN:"meta",b:"^---s*$",r:10},{cN:"string",b:"[\\|>] *$",rE:!0,c:l.c,e:t.v[0].b},{b:"<%[%=-]?",e:"[%-]?%>",sL:"ruby",eB:!0,eE:!0,r:0},{cN:"type",b:"!!"+e.UIR},{cN:"meta",b:"&"+e.UIR+"$"},{cN:"meta",b:"\\*"+e.UIR+"$"},{cN:"bullet",b:"^ *-",r:0},l,e.HCM,e.CNM],k:a}});hljs.registerLanguage("lua",function(e){var t="\\[=*\\[",a="\\]=*\\]",r={b:t,e:a,c:["self"]},n=[e.C("--(?!"+t+")","$"),e.C("--"+t,a,{c:[r],r:10})];return{l:e.UIR,k:{keyword:"and break do else elseif end false for if in local nil not or repeat return then true until while",built_in:"_G _VERSION 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 coroutine debug io math os package string table"},c:n.concat([{cN:"function",bK:"function",e:"\\)",c:[e.inherit(e.TM,{b:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{cN:"params",b:"\\(",eW:!0,c:n}].concat(n)},e.CNM,e.ASM,e.QSM,{cN:"string",b:t,e:a,c:[r],r:5}])}});hljs.registerLanguage("puppet",function(e){var s={keyword:"and case default else elsif false if in import enherits node or true undef unless main settings $string ",literal:"alias audit before loglevel noop require subscribe tag owner ensure group mode name|0 changes context force incl lens load_path onlyif provider returns root show_diff type_check en_address ip_address realname command environment hour monute month monthday special target weekday creates cwd ogoutput refresh refreshonly tries try_sleep umask backup checksum content ctime force ignore links mtime purge recurse recurselimit replace selinux_ignore_defaults selrange selrole seltype seluser source souirce_permissions sourceselect validate_cmd validate_replacement allowdupe attribute_membership auth_membership forcelocal gid ia_load_module members system host_aliases ip allowed_trunk_vlans description device_url duplex encapsulation etherchannel native_vlan speed principals allow_root auth_class auth_type authenticate_user k_of_n mechanisms rule session_owner shared options device fstype enable hasrestart directory present absent link atboot blockdevice device dump pass remounts poller_tag use message withpath adminfile allow_virtual allowcdrom category configfiles flavor install_options instance package_settings platform responsefile status uninstall_options vendor unless_system_user unless_uid binary control flags hasstatus manifest pattern restart running start stop allowdupe auths expiry gid groups home iterations key_membership keys managehome membership password password_max_age password_min_age profile_membership profiles project purge_ssh_keys role_membership roles salt shell uid baseurl cost descr enabled enablegroups exclude failovermethod gpgcheck gpgkey http_caching include includepkgs keepalive metadata_expire metalink mirrorlist priority protect proxy proxy_password proxy_username repo_gpgcheck s3_enabled skip_if_unavailable sslcacert sslclientcert sslclientkey sslverify mounted",built_in:"architecture augeasversion blockdevices boardmanufacturer boardproductname boardserialnumber cfkey dhcp_servers domain ec2_ ec2_userdata facterversion filesystems ldom fqdn gid hardwareisa hardwaremodel hostname id|0 interfaces ipaddress ipaddress_ ipaddress6 ipaddress6_ iphostnumber is_virtual kernel kernelmajversion kernelrelease kernelversion kernelrelease kernelversion lsbdistcodename lsbdistdescription lsbdistid lsbdistrelease lsbmajdistrelease lsbminordistrelease lsbrelease macaddress macaddress_ macosx_buildversion macosx_productname macosx_productversion macosx_productverson_major macosx_productversion_minor manufacturer memoryfree memorysize netmask metmask_ network_ operatingsystem operatingsystemmajrelease operatingsystemrelease osfamily partitions path physicalprocessorcount processor processorcount productname ps puppetversion rubysitedir rubyversion selinux selinux_config_mode selinux_config_policy selinux_current_mode selinux_current_mode selinux_enforced selinux_policyversion serialnumber sp_ sshdsakey sshecdsakey sshrsakey swapencrypted swapfree swapsize timezone type uniqueid uptime uptime_days uptime_hours uptime_seconds uuid virtual vlans xendomains zfs_version zonenae zones zpool_version"},r=e.C("#","$"),a="([A-Za-z_]|::)(\\w|::)*",i=e.inherit(e.TM,{b:a}),o={cN:"variable",b:"\\$"+a},t={cN:"string",c:[e.BE,o],v:[{b:/'/,e:/'/},{b:/"/,e:/"/}]};return{aliases:["pp"],c:[r,o,t,{bK:"class",e:"\\{|;",i:/=/,c:[i,r]},{bK:"define",e:/\{/,c:[{cN:"section",b:e.IR,endsParent:!0}]},{b:e.IR+"\\s+\\{",rB:!0,e:/\S/,c:[{cN:"keyword",b:e.IR},{b:/\{/,e:/\}/,k:s,r:0,c:[t,r,{b:"[a-zA-Z_]+\\s*=>",rB:!0,e:"=>",c:[{cN:"attr",b:e.IR}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},o]}],r:0}]}});hljs.registerLanguage("dts",function(e){var a={cN:"string",v:[e.inherit(e.QSM,{b:'((u8?|U)|L)?"'}),{b:'(u8?|U)?R"',e:'"',c:[e.BE]},{b:"'\\\\?.",e:"'",i:"."}]},c={cN:"number",v:[{b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},{b:e.CNR}],r:0},b={cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elif endif define undef ifdef ifndef"},c:[{b:/\\\n/,r:0},{bK:"include",e:"$",k:{"meta-keyword":"include"},c:[e.inherit(a,{cN:"meta-string"}),{cN:"meta-string",b:"<",e:">",i:"\\n"}]},a,e.CLCM,e.CBCM]},i={cN:"variable",b:"\\&[a-z\\d_]*\\b"},r={cN:"meta-keyword",b:"/[a-z][a-z\\d-]*/"},d={cN:"symbol",b:"^\\s*[a-zA-Z_][a-zA-Z\\d_]*:"},n={cN:"params",b:"<",e:">",c:[c,i]},s={cN:"class",b:/[a-zA-Z_][a-zA-Z\d_@]*\s{/,e:/[{;=]/,rB:!0,eE:!0},t={cN:"class",b:"/\\s*{",e:"};",r:10,c:[i,r,d,s,n,e.CLCM,e.CBCM,c,a]};return{k:"",c:[t,i,r,d,s,n,e.CLCM,e.CBCM,c,a,b,{b:e.IR+"::",k:""}]}});hljs.registerLanguage("php",function(e){var c={b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},a={cN:"meta",b:/<\?(php)?|\?>/},i={cN:"string",c:[e.BE,a],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},t={v:[e.BNM,e.CNM]};return{aliases:["php3","php4","php5","php6"],cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[e.HCM,e.C("//","$",{c:[a]}),e.C("/\\*","\\*/",{c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:/<<<['"]?\w+['"]?$/,e:/^\w+;?$/,c:[e.BE,{cN:"subst",v:[{b:/\$\w+/},{b:/\{\$/,e:/\}/}]}]},a,c,{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",c,e.CBCM,i,t]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},i,t]}});hljs.registerLanguage("coffeescript",function(e){var c={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",built_in:"npm require console print module global window document"},n="[A-Za-z$_][0-9A-Za-z$_]*",r={cN:"subst",b:/#\{/,e:/}/,k:c},s=[e.BNM,e.inherit(e.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,r]},{b:/"/,e:/"/,c:[e.BE,r]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[r,e.HCM]},{b:"//[gim]*",r:0},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{b:"@"+n},{b:"`",e:"`",eB:!0,eE:!0,sL:"javascript"}];r.c=s;var i=e.inherit(e.TM,{b:n}),t="(\\(.*\\))?\\s*\\B[-=]>",o={cN:"params",b:"\\([^\\(]",rB:!0,c:[{b:/\(/,e:/\)/,k:c,c:["self"].concat(s)}]};return{aliases:["coffee","cson","iced"],k:c,i:/\/\*/,c:s.concat([e.C("###","###"),e.HCM,{cN:"function",b:"^\\s*"+n+"\\s*=\\s*"+t,e:"[-=]>",rB:!0,c:[i,o]},{b:/[:\(,=]\s*/,r:0,c:[{cN:"function",b:t,e:"[-=]>",rB:!0,c:[o]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[i]},i]},{b:n+":",e:":",rB:!0,rE:!0,r:0}])}});hljs.registerLanguage("java",function(e){var a=e.UIR+"(<"+e.UIR+"(\\s*,\\s*"+e.UIR+")*>)?",t="false synchronized int abstract float private char boolean 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",r="\\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]?",c={cN:"number",b:r,r:0};return{aliases:["jsp"],k:t,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new throw return else",r:0},{cN:"function",b:"("+a+"\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:t,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:t,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},c,{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("cpp",function(t){var e={cN:"keyword",b:"\\b[a-z\\d_]*_t\\b"},r={cN:"string",v:[t.inherit(t.QSM,{b:'((u8?|U)|L)?"'}),{b:'(u8?|U)?R"',e:'"',c:[t.BE]},{b:"'\\\\?.",e:"'",i:"."}]},i={cN:"number",v:[{b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},{b:t.CNR}],r:0},s={cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elif endif define undef warning error line pragma ifdef ifndef"},c:[{b:/\\\n/,r:0},{bK:"include",e:"$",k:{"meta-keyword":"include"},c:[t.inherit(r,{cN:"meta-string"}),{cN:"meta-string",b:"<",e:">",i:"\\n"}]},r,t.CLCM,t.CBCM]},a=t.IR+"\\s*\\(",c={keyword:"int float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct 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 class asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong",built_in:"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf 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",literal:"true false nullptr NULL"};return{aliases:["c","cc","h","c++","h++","hpp"],k:c,i:"</",c:[e,t.CLCM,t.CBCM,i,r,s,{b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:c,c:["self",e]},{b:t.IR+"::",k:c},{bK:"new throw return else",r:0},{cN:"function",b:"("+t.IR+"[\\*&\\s]+)+"+a,rB:!0,e:/[{;=]/,eE:!0,k:c,i:/[^\w\s\*&]/,c:[{b:a,rB:!0,c:[t.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:c,r:0,c:[t.CLCM,t.CBCM,r,i]},t.CLCM,t.CBCM,s]}]}});hljs.registerLanguage("perl",function(e){var t="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 qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub 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 closedirioctl 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",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},s={b:"->{",e:"}"},n={v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},i=[e.BE,r,n],o=[n,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),s,{cN:"string",c:i,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,r:5,c:[e.TM]},{b:"-\\w\\b",r:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return r.c=o,s.c=o,{aliases:["pl"],k:t,c:o}});hljs.registerLanguage("css",function(e){var c="[a-zA-Z-][a-zA-Z0-9_-]*",t={b:/[A-Z\_\.\-]+\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\w-]+\(/,rB:!0,c:[{cN:"built_in",b:/[\w-]+/},{b:/\(/,e:/\)/,c:[e.ASM,e.QSM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"number",b:"#[0-9A-Fa-f]+"},{cN:"meta",b:"!important"}]}}]};return{cI:!0,i:/[=\/|'\$]/,c:[e.CBCM,{cN:"selector-id",b:/#[A-Za-z0-9_-]+/},{cN:"selector-class",b:/\.[A-Za-z0-9_-]+/},{cN:"selector-attr",b:/\[/,e:/\]/,i:"$"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{b:"@",e:"[{;]",c:[{cN:"keyword",b:/\S+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:"selector-tag",b:c,r:0},{b:"{",e:"}",i:/\S/,c:[e.CBCM,t]}]}});hljs.registerLanguage("dockerfile",function(e){return{aliases:["docker"],cI:!0,k:"from maintainer cmd expose add copy entrypoint volume user workdir onbuild run env label",c:[e.HCM,{k:"run cmd entrypoint volume add copy workdir onbuild label",b:/^ *(onbuild +)?(run|cmd|entrypoint|volume|add|copy|workdir|label) +/,starts:{e:/[^\\]\n/,sL:"bash"}},{k:"from maintainer expose env user onbuild",b:/^ *(onbuild +)?(from|maintainer|expose|env|user|onbuild) +/,e:/[^\\]\n/,c:[e.ASM,e.QSM,e.NM,e.HCM]}]}});hljs.registerLanguage("diff",function(e){return{aliases:["patch"],c:[{cN:"meta",r:10,v:[{b:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"comment",v:[{b:/Index: /,e:/$/},{b:/=====/,e:/=====$/},{b:/^\-\-\-/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+\+\+/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"addition",b:"^\\!",e:"$"}]}});hljs.registerLanguage("makefile",function(e){var a={cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]};return{aliases:["mk","mak"],c:[e.HCM,{b:/^\w+\s*\W*=/,rB:!0,r:0,starts:{e:/\s*\W*=/,eE:!0,starts:{e:/$/,r:0,c:[a]}}},{cN:"section",b:/^[\w]+:\s*$/},{cN:"meta",b:/^\.PHONY:/,e:/$/,k:{"meta-keyword":".PHONY"},l:/[\.\w]+/},{b:/^\t+/,e:/$/,r:0,c:[e.QSM,a]}]}});hljs.registerLanguage("ini",function(e){var b={cN:"string",c:[e.BE],v:[{b:"'''",e:"'''",r:10},{b:'"""',e:'"""',r:10},{b:'"',e:'"'},{b:"'",e:"'"}]};return{aliases:["toml"],cI:!0,i:/\S/,c:[e.C(";","$"),e.HCM,{cN:"section",b:/^\s*\[+/,e:/\]+/},{b:/^[a-z0-9\[\]_-]+\s*=\s*/,e:"$",rB:!0,c:[{cN:"attr",b:/[a-z0-9\[\]_-]+/},{b:/=/,eW:!0,r:0,c:[{cN:"literal",b:/\bon|off|true|false|yes|no\b/},{cN:"variable",v:[{b:/\$[\w\d"][\w\d_]*/},{b:/\$\{(.*?)}/}]},b,{cN:"number",b:/([\+\-]+)?[\d]+_[\d_]+/},e.NM]}]}]}});hljs.registerLanguage("apache",function(e){var r={cN:"number",b:"[\\$%]\\d+"};return{aliases:["apacheconf"],cI:!0,c:[e.HCM,{cN:"section",b:"</?",e:">"},{cN:"attribute",b:/\w+/,r:0,k:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"meta",b:"\\s\\[",e:"\\]$"},{cN:"variable",b:"[\\$%]\\{",e:"\\}",c:["self",r]},r,e.QSM]}}],i:/\S/}});hljs.registerLanguage("less",function(e){var r="[\\w-]+",t="("+r+"|@{"+r+"})",a=[],c=[],s=function(e){return{cN:"string",b:"~?"+e+".*?"+e}},b=function(e,r,t){return{cN:e,b:r,r:t}},i={b:"\\(",e:"\\)",c:c,r:0};c.push(e.CLCM,e.CBCM,s("'"),s('"'),e.CSSNM,{b:"(url|data-uri)\\(",starts:{cN:"string",e:"[\\)\\n]",eE:!0}},b("number","#[0-9A-Fa-f]+\\b"),i,b("variable","@@?"+r,10),b("variable","@{"+r+"}"),b("built_in","~?`[^`]*?`"),{cN:"attribute",b:r+"\\s*:",e:":",rB:!0,eE:!0},{cN:"meta",b:"!important"});var n=c.concat({b:"{",e:"}",c:a}),o={bK:"when",eW:!0,c:[{bK:"and not"}].concat(c)},u={cN:"attribute",b:t,e:":",eE:!0,c:[e.CLCM,e.CBCM],i:/\S/,starts:{e:"[;}]",rE:!0,c:c,i:"[<=$]"}},C={cN:"keyword",b:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{e:"[;{}]",rE:!0,c:c,r:0}},l={cN:"variable",v:[{b:"@"+r+"\\s*:",r:15},{b:"@"+r}],starts:{e:"[;}]",rE:!0,c:n}},p={v:[{b:"[\\.#:&\\[]",e:"[;{}]"},{b:t+"[^;]*{",e:"{"}],rB:!0,rE:!0,i:"[<='$\"]",c:[e.CLCM,e.CBCM,o,b("keyword","all\\b"),b("variable","@{"+r+"}"),b("selector-tag",t+"%?",0),b("selector-id","#"+t),b("selector-class","\\."+t,0),b("selector-tag","&",0),{cN:"selector-attr",b:"\\[",e:"\\]"},{b:"\\(",e:"\\)",c:n},{b:"!important"}]};return a.push(e.CLCM,e.CBCM,C,l,p,u),{cI:!0,i:"[=>'/<($\"]",c:a}});hljs.registerLanguage("scala",function(e){var t={cN:"meta",b:"@[A-Za-z]+"},a={cN:"subst",v:[{b:"\\$[A-Za-z0-9_]+"},{b:"\\${",e:"}"}]},r={cN:"string",v:[{b:'"',e:'"',i:"\\n",c:[e.BE]},{b:'"""',e:'"""',r:10},{b:'[a-z]+"',e:'"',i:"\\n",c:[e.BE,a]},{cN:"string",b:'[a-z]+"""',e:'"""',c:[a],r:10}]},c={cN:"symbol",b:"'\\w[\\w\\d_]*(?!')"},i={cN:"type",b:"\\b[A-Z][A-Za-z0-9_]*",r:0},s={cN:"title",b:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,r:0},n={cN:"class",bK:"class object trait type",e:/[:={\[\n;]/,eE:!0,c:[{bK:"extends with",r:10},{b:/\[/,e:/\]/,eB:!0,eE:!0,r:0,c:[i]},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,r:0,c:[i]},s]},l={cN:"function",bK:"def",e:/[:={\[(\n;]/,eE:!0,c:[s]};return{k:{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"},c:[e.CLCM,e.CBCM,r,c,i,l,n,e.CNM,t]}});hljs.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"`.+?`"},{b:"^( {4}|	)",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:"^\\[.+\\]:",rB:!0,c:[{cN:"symbol",b:"\\[",e:"\\]:",eB:!0,eE:!0,starts:{cN:"link",e:"$"}}]}]}});hljs.registerLanguage("powershell",function(e){var t={b:"`[\\s\\S]",r:0},r={cN:"variable",v:[{b:/\$[\w\d][\w\d_:]*/}]},o={cN:"literal",b:/\$(null|true|false)\b/},a={cN:"string",b:/"/,e:/"/,c:[t,r,{cN:"variable",b:/\$[A-z]/,e:/[^A-z]/}]},i={cN:"string",b:/'/,e:/'/};return{aliases:["ps"],l:/-?[A-z\.\-]+/,cI:!0,k:{keyword:"if else foreach return function do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch",built_in:"Add-Content Add-History Add-Member Add-PSSnapin Clear-Content Clear-Item Clear-Item Property Clear-Variable Compare-Object ConvertFrom-SecureString Convert-Path ConvertTo-Html ConvertTo-SecureString Copy-Item Copy-ItemProperty Export-Alias Export-Clixml Export-Console Export-Csv ForEach-Object Format-Custom Format-List Format-Table Format-Wide Get-Acl Get-Alias Get-AuthenticodeSignature Get-ChildItem Get-Command Get-Content Get-Credential Get-Culture Get-Date Get-EventLog Get-ExecutionPolicy Get-Help Get-History Get-Host Get-Item Get-ItemProperty Get-Location Get-Member Get-PfxCertificate Get-Process Get-PSDrive Get-PSProvider Get-PSSnapin Get-Service Get-TraceSource Get-UICulture Get-Unique Get-Variable Get-WmiObject Group-Object Import-Alias Import-Clixml Import-Csv Invoke-Expression Invoke-History Invoke-Item Join-Path Measure-Command Measure-Object Move-Item Move-ItemProperty New-Alias New-Item New-ItemProperty New-Object New-PSDrive New-Service New-TimeSpan New-Variable Out-Default Out-File Out-Host Out-Null Out-Printer Out-String Pop-Location Push-Location Read-Host Remove-Item Remove-ItemProperty Remove-PSDrive Remove-PSSnapin Remove-Variable Rename-Item Rename-ItemProperty Resolve-Path Restart-Service Resume-Service Select-Object Select-String Set-Acl Set-Alias Set-AuthenticodeSignature Set-Content Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-Location Set-PSDebug Set-Service Set-TraceSource Set-Variable Sort-Object Split-Path Start-Service Start-Sleep Start-Transcript Stop-Process Stop-Service Stop-Transcript Suspend-Service Tee-Object Test-Path Trace-Command Update-FormatData Update-TypeData Where-Object Write-Debug Write-Error Write-Host Write-Output Write-Progress Write-Verbose Write-Warning",nomarkup:"-ne -eq -lt -gt -ge -le -not -like -notlike -match -notmatch -contains -notcontains -in -notin -replace"},c:[e.HCM,e.NM,a,i,o,r]}});hljs.registerLanguage("go",function(e){var t={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{aliases:["golang"],k:t,i:"</",c:[e.CLCM,e.CBCM,e.QSM,{cN:"string",b:"'",e:"[^\\\\]'"},{cN:"string",b:"`",e:"`"},{cN:"number",b:e.CNR+"[dflsi]?",r:0},e.CNM]}});hljs.registerLanguage("json",function(e){var i={literal:"true false null"},n=[e.QSM,e.CNM],r={e:",",eW:!0,eE:!0,c:n,k:i},t={b:"{",e:"}",c:[{cN:"attr",b:/"/,e:/"/,c:[e.BE],i:"\\n"},e.inherit(r,{b:/:/})],i:"\\S"},c={b:"\\[",e:"\\]",c:[e.inherit(r)],i:"\\S"};return n.splice(n.length,0,t,c),{c:n,k:i,i:"\\S"}});hljs.registerLanguage("xml",function(s){var e="[A-Za-z0-9\\._:-]+",t={eW:!0,i:/</,r:0,c:[{cN:"attr",b:e,r:0},{b:"=",r:0,c:[{cN:"string",v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s\/>]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xsl","plist"],cI:!0,c:[{cN:"meta",b:"<!DOCTYPE",e:">",r:10,c:[{b:"\\[",e:"\\]"}]},s.C("<!--","-->",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{b:/<\?(php)?/,e:/\?>/,sL:"php",c:[{b:"/\\*",e:"\\*/",skip:!0}]},{cN:"tag",b:"<style(?=\\s|>|$)",e:">",k:{name:"style"},c:[t],starts:{e:"</style>",rE:!0,sL:["css","xml"]}},{cN:"tag",b:"<script(?=\\s|>|$)",e:">",k:{name:"script"},c:[t],starts:{e:"</script>",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},{cN:"meta",v:[{b:/<\?xml/,e:/\?>/,r:10},{b:/<\?\w+/,e:/\?>/}]},{cN:"tag",b:"</?",e:"/?>",c:[{cN:"name",b:/[^\/><\s]+/,r:0},t]}]}});hljs.registerLanguage("sql",function(e){var t=e.C("--","$");return{cI:!0,i:/[<>{}*]/,c:[{bK:"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",e:/;/,eW:!0,k:{keyword:"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 allocate allow alter always analyze ancillary and 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 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 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 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 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 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 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 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 section securefile security seed segment select self 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 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 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 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",built_in:"array bigint binary bit blob boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text varchar varying void"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t]},e.CBCM,t]}});hljs.registerLanguage("groovy",function(e){return{k:{literal:"true false null",keyword:"byte short char int long boolean float double void def as in assert trait super this abstract static volatile transient public private protected synchronized final class interface enum if else for while switch case break default continue throw throws try catch finally implements extends new import package return instanceof"},c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,{cN:"string",b:'"""',e:'"""'},{cN:"string",b:"'''",e:"'''"},{cN:"string",b:"\\$/",e:"/\\$",r:10},e.ASM,{cN:"regexp",b:/~?\/[^\/\n]+\//,c:[e.BE]},e.QSM,{cN:"meta",b:"^#!/usr/bin/env",e:"$",i:"\n"},e.BNM,{cN:"class",bK:"class interface trait enum",e:"{",i:":",c:[{bK:"extends implements"},e.UTM]},e.CNM,{cN:"meta",b:"@[A-Za-z]+"},{cN:"string",b:/[^\?]{0}[A-Za-z0-9_$]+ *:/},{b:/\?/,e:/\:/},{cN:"symbol",b:"^\\s*[A-Za-z0-9_$]+:",r:0}],i:/#|<\//}});hljs.registerLanguage("cs",function(e){var t="abstract as base bool break byte case catch char checked const continue decimal dynamic default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long null when object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while async protected public private internal ascending descending from get group into join let orderby partial select set value var where yield",r=e.IR+"(<"+e.IR+">)?";return{aliases:["csharp"],k:t,i:/::/,c:[e.C("///","$",{rB:!0,c:[{cN:"doctag",v:[{b:"///",r:0},{b:"<!--|-->"},{b:"</?",e:">"}]}]}),e.CLCM,e.CBCM,{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},e.ASM,e.QSM,e.CNM,{bK:"class interface",e:/[{;=]/,i:/[^\s:]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:"namespace",e:/[{;=]/,i:/[^\s:]/,c:[e.inherit(e.TM,{b:"[a-zA-Z](\\.?\\w)*"}),e.CLCM,e.CBCM]},{bK:"new return throw await",r:0},{cN:"function",b:"("+r+"\\s+)+"+e.IR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:t,c:[{b:e.IR+"\\s*\\(",rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]}]}});hljs.registerLanguage("ruby",function(e){var b="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",c="and false then defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",r={cN:"doctag",b:"@[A-Za-z]+"},a={b:"#<",e:">"},s=[e.C("#","$",{c:[r]}),e.C("^\\=begin","^\\=end",{c:[r],r:10}),e.C("^__END__","\\n$")],n={cN:"subst",b:"#\\{",e:"}",k:c},t={cN:"string",c:[e.BE,n],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/}]},i={cN:"params",b:"\\(",e:"\\)",endsParent:!0,k:c},d=[t,a,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<\\s*",c:[{b:"("+e.IR+"::)?"+e.IR}]}].concat(s)},{cN:"function",bK:"def",e:"$|;",c:[e.inherit(e.TM,{b:b}),i].concat(s)},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":",c:[t,{b:b}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"("+e.RSR+")\\s*",c:[a,{cN:"regexp",c:[e.BE,n],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(s),r:0}].concat(s);n.c=d,i.c=d;var o="[>?]>",l="[\\w#]+\\(\\w+\\):\\d+:\\d+>",u="(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>",w=[{b:/^\s*=>/,starts:{e:"$",c:d}},{cN:"meta",b:"^("+o+"|"+l+"|"+u+")",starts:{e:"$",c:d}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:c,i:/\/\*/,c:s.concat(w).concat(d)}});hljs.registerLanguage("http",function(e){var t="HTTP/[0-9\\.]+";return{aliases:["https"],i:"\\S",c:[{b:"^"+t,e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{b:"^[A-Z]+ (.*?) "+t+"$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0},{b:t},{cN:"keyword",b:"[A-Z]+"}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{e:"$",r:0}},{b:"\\n\\n",starts:{sL:[],eW:!0}}]}});hljs.registerLanguage("vbnet",function(e){return{aliases:["vb"],cI:!0,k:{keyword:"addhandler addressof alias and andalso aggregate ansi as assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into is isfalse isnot istrue join key let lib like loop me mid mod module mustinherit mustoverride mybase myclass namespace narrowing new next not notinheritable notoverridable of off on operator option optional or order orelse overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim rem removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly xor",built_in:"boolean byte cbool cbyte cchar cdate cdec cdbl char cint clng cobj csbyte cshort csng cstr ctype date decimal directcast double gettype getxmlnamespace iif integer long object sbyte short single string trycast typeof uinteger ulong ushort",literal:"true false nothing"},i:"//|{|}|endif|gosub|variant|wend",c:[e.inherit(e.QSM,{c:[{b:'""'}]}),e.C("'","$",{rB:!0,c:[{cN:"doctag",b:"'''|<!--|-->",c:[e.PWM]},{cN:"doctag",b:"</?",e:">",c:[e.PWM]}]}),e.CNM,{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elseif end region externalsource"}}]}});hljs.registerLanguage("objectivec",function(e){var t={cN:"built_in",b:"(AV|CA|CF|CG|CI|MK|MP|NS|UI|XC)\\w+"},i={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",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},n=/[a-zA-Z@][a-zA-Z0-9_]*/,o="@interface @class @protocol @implementation";return{aliases:["mm","objc","obj-c"],k:i,l:n,i:"</",c:[t,e.CLCM,e.CBCM,e.CNM,e.QSM,{cN:"string",v:[{b:'@"',e:'"',i:"\\n",c:[e.BE]},{b:"'",e:"[^\\\\]'",i:"[^\\\\][^']"}]},{cN:"meta",b:"#",e:"$",c:[{cN:"meta-string",v:[{b:'"',e:'"'},{b:"<",e:">"}]}]},{cN:"class",b:"("+o.split(" ").join("|")+")\\b",e:"({|$)",eE:!0,k:o,l:n,c:[e.UTM]},{b:"\\."+e.UIR,r:0}]}});hljs.registerLanguage("nginx",function(e){var r={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+e.UIR}]},b={eW:!0,l:"[a-z/_]+",k:{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"},r:0,i:"=>",c:[e.HCM,{cN:"string",c:[e.BE,r],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0,c:[r]},{cN:"regexp",c:[e.BE,r],v:[{b:"\\s\\^",e:"\\s|{|;",rE:!0},{b:"~\\*?\\s+",e:"\\s|{|;",rE:!0},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},r]};return{aliases:["nginxconf"],c:[e.HCM,{b:e.UIR+"\\s+{",rB:!0,e:"{",c:[{cN:"section",b:e.UIR}],r:0},{b:e.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"attribute",b:e.UIR,starts:b}],r:0}],i:"[^\\s\\}]"}});

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/js/hugo-learn.js
=====================================================
// Get Parameters from some url
var getUrlParameter = function getUrlParameter(sPageURL) {
    var url = sPageURL.split('?');
    var obj = {};
    if (url.length == 2) {
      var sURLVariables = url[1].split('&'),
          sParameterName,
          i;
      for (i = 0; i < sURLVariables.length; i++) {
          sParameterName = sURLVariables[i].split('=');
          obj[sParameterName[0]] = sParameterName[1];
      }
      return obj;
    } else {
      return undefined;
    }
};

// Execute actions on images generated from Markdown pages
var images = $("div#body-inner img").not(".inline");
// Wrap image inside a featherlight (to get a full size view in a popup)
images.wrap(function(){
  var image =$(this);
  if (!image.parent("a").length) {
    return "<a href='" + image[0].src + "' data-featherlight='image'></a>";
  }
});

// Change styles, depending on parameters set to the image
images.each(function(index){
  var image = $(this)
  var o = getUrlParameter(image[0].src);
  if (typeof o !== "undefined") {
    var h = o["height"];
    var w = o["width"];
    var c = o["classes"];
    image.css("width", function() {
      if (typeof w !== "undefined") {
        return w;
      } else {
        return "auto";
      }
    });
    image.css("height", function() {
      if (typeof h !== "undefined") {
        return h;
      } else {
        return "auto";
      }
    });

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/js/learn.js
=====================================================
// Scrollbar Width function
function getScrollBarWidth() {
    var inner = document.createElement('p');
    inner.style.width = "100%";
    inner.style.height = "200px";

    var outer = document.createElement('div');
    outer.style.position = "absolute";
    outer.style.top = "0px";
    outer.style.left = "0px";
    outer.style.visibility = "hidden";
    outer.style.width = "200px";
    outer.style.height = "150px";
    outer.style.overflow = "hidden";
    outer.appendChild(inner);

    document.body.appendChild(outer);
    var w1 = inner.offsetWidth;
    outer.style.overflow = 'scroll';
    var w2 = inner.offsetWidth;
    if (w1 == w2) w2 = outer.clientWidth;

    document.body.removeChild(outer);

    return (w1 - w2);
};

function setMenuHeight() {
    $('#sidebar .leftMenu').height($(window).innerHeight() - $('#header-wrapper').height() - 240);
    $('#sidebar .leftMenu').perfectScrollbar('update');
}

function fallbackMessage(action) {
    var actionMsg = '';
    var actionKey = (action === 'cut' ? 'X' : 'C');

    if (/iPhone|iPad/i.test(navigator.userAgent)) {
        actionMsg = 'No support :(';
    }
    else if (/Mac/i.test(navigator.userAgent)) {
        actionMsg = 'Press ⌘-' + actionKey + ' to ' + action;
    }
    else {
        actionMsg = 'Press Ctrl-' + actionKey + ' to ' + action;
    }

    return actionMsg;
}

// for the window resize

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/js/search.js
=====================================================
var lunrIndex, pagesIndex;

function endsWith(str, suffix) {
    return str.indexOf(suffix, str.length - suffix.length) !== -1;
}

// Initialize lunrjs using our generated index file
function initLunr() {
    if (!endsWith(baseurl,"/")){
        baseurl = baseurl+'/'
    };

    // First retrieve the index file
    $.getJSON(baseurl +"index.json")
        .done(function(index) {
            pagesIndex =   index;
            // Set up lunrjs by declaring the fields we use
            // Also provide their boost level for the ranking
            lunrIndex = new lunr.Index
            lunrIndex.ref("uri");
            lunrIndex.field('title', {
                boost: 15
            });
            lunrIndex.field('tags', {
                boost: 10
            });
            lunrIndex.field("content", {
                boost: 5
            });

            // Feed lunr with each file and let lunr actually index them
            pagesIndex.forEach(function(page) {
                lunrIndex.add(page);
            });
            lunrIndex.pipeline.remove(lunrIndex.stemmer)
        })
        .fail(function(jqxhr, textStatus, error) {
            var err = textStatus + ", " + error;
            console.error("Error getting Hugo index flie:", err);
        });
}

/**
 * Trigger a search in lunr and transform the result
 *
 * @param  {String} query
 * @return {Array}  results
 */
function search(query) {
    // Find the item in our index corresponding to the lunr one to have more info

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/js/jquery-2.x.min.js
=====================================================
/*! jQuery v2.2.3 | (c) jQuery Foundation | jquery.org/license */
!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="2.2.3",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isPlainObject:function(a){var b;if("object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype||{},"isPrototypeOf"))return!1;for(b in a);return void 0===b||k.call(a,b)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=d.createElement("script"),b.text=a,d.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:h.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(d=e.call(arguments,2),f=function(){return a.apply(b||this,d.concat(e.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=la(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=ma(b);function pa(){}pa.prototype=d.filters=d.pseudos,d.setFilters=new pa,g=fa.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=R.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=S.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(Q," ")}),h=h.slice(c.length));for(g in d.filter)!(e=W[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fa.error(a):z(a,i).slice(0)};function qa(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return h.call(b,a)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&f.parentNode&&(this.length=1,this[0]=f),this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?void 0!==c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?h.call(n(a),this[0]):h.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||n.uniqueSort(e),D.test(a)&&e.reverse()),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){n.each(b,function(b,c){n.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==n.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return n.each(arguments,function(a,b){var c;while((c=n.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.removeEventListener("DOMContentLoaded",J),a.removeEventListener("load",J),n.ready()}n.ready.promise=function(b){return I||(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(n.ready):(d.addEventListener("DOMContentLoaded",J),a.addEventListener("load",J))),I.promise(b)},n.ready.promise();var K=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)K(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},L=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function M(){this.expando=n.expando+M.uid++}M.uid=1,M.prototype={register:function(a,b){var c=b||{};return a.nodeType?a[this.expando]=c:Object.defineProperty(a,this.expando,{value:c,writable:!0,configurable:!0}),a[this.expando]},cache:function(a){if(!L(a))return{};var b=a[this.expando];return b||(b={},L(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[b]=c;else for(d in b)e[d]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=a[this.expando];if(void 0!==f){if(void 0===b)this.register(a);else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in f?d=[b,e]:(d=e,d=d in f?[d]:d.match(G)||[])),c=d.length;while(c--)delete f[d[c]]}(void 0===b||n.isEmptyObject(f))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!n.isEmptyObject(b)}};var N=new M,O=new M,P=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Q=/[A-Z]/g;function R(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Q,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:P.test(c)?n.parseJSON(c):c;
}catch(e){}O.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return O.hasData(a)||N.hasData(a)},data:function(a,b,c){return O.access(a,b,c)},removeData:function(a,b){O.remove(a,b)},_data:function(a,b,c){return N.access(a,b,c)},_removeData:function(a,b){N.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=O.get(f),1===f.nodeType&&!N.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),R(f,d,e[d])));N.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){O.set(this,a)}):K(this,function(b){var c,d;if(f&&void 0===b){if(c=O.get(f,a)||O.get(f,a.replace(Q,"-$&").toLowerCase()),void 0!==c)return c;if(d=n.camelCase(a),c=O.get(f,d),void 0!==c)return c;if(c=R(f,d,void 0),void 0!==c)return c}else d=n.camelCase(a),this.each(function(){var c=O.get(this,d);O.set(this,d,b),a.indexOf("-")>-1&&void 0!==c&&O.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){O.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=N.get(a,b),c&&(!d||n.isArray(c)?d=N.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return N.get(a,c)||N.access(a,c,{empty:n.Callbacks("once memory").add(function(){N.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=N.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),U=["Top","Right","Bottom","Left"],V=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)};function W(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return n.css(a,b,"")},i=h(),j=c&&c[3]||(n.cssNumber[b]?"":"px"),k=(n.cssNumber[b]||"px"!==j&&+i)&&T.exec(n.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,n.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var X=/^(?:checkbox|radio)$/i,Y=/<([\w:-]+)/,Z=/^$|\/(?:java|ecma)script/i,$={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};$.optgroup=$.option,$.tbody=$.tfoot=$.colgroup=$.caption=$.thead,$.th=$.td;function _(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function aa(a,b){for(var c=0,d=a.length;d>c;c++)N.set(a[c],"globalEval",!b||N.get(b[c],"globalEval"))}var ba=/<|&#?\w+;/;function ca(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],o=0,p=a.length;p>o;o++)if(f=a[o],f||0===f)if("object"===n.type(f))n.merge(m,f.nodeType?[f]:f);else if(ba.test(f)){g=g||l.appendChild(b.createElement("div")),h=(Y.exec(f)||["",""])[1].toLowerCase(),i=$[h]||$._default,g.innerHTML=i[1]+n.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;n.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",o=0;while(f=m[o++])if(d&&n.inArray(f,d)>-1)e&&e.push(f);else if(j=n.contains(f.ownerDocument,f),g=_(l.appendChild(f),"script"),j&&aa(g),c){k=0;while(f=g[k++])Z.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var da=/^key/,ea=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,fa=/^([^.]*)(?:\.(.+)|)/;function ga(){return!0}function ha(){return!1}function ia(){try{return d.activeElement}catch(a){}}function ja(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ja(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ha;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return"undefined"!=typeof n&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(G)||[""],j=b.length;while(j--)h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.hasData(a)&&N.get(a);if(r&&(i=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&N.remove(a,"handle events")}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(N.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,e,f,g=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||d,e=c.documentElement,f=c.body,a.pageX=b.clientX+(e&&e.scrollLeft||f&&f.scrollLeft||0)-(e&&e.clientLeft||f&&f.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||f&&f.scrollTop||0)-(e&&e.clientTop||f&&f.clientTop||0)),a.which||void 0===g||(a.which=1&g?1:2&g?3:4&g?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,e,f=a.type,g=a,h=this.fixHooks[f];h||(this.fixHooks[f]=h=ea.test(f)?this.mouseHooks:da.test(f)?this.keyHooks:{}),e=h.props?this.props.concat(h.props):this.props,a=new n.Event(g),b=e.length;while(b--)c=e[b],a[c]=g[c];return a.target||(a.target=d),3===a.target.nodeType&&(a.target=a.target.parentNode),h.filter?h.filter(a,g):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==ia()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===ia()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ga:ha):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={constructor:n.Event,isDefaultPrevented:ha,isPropagationStopped:ha,isImmediatePropagationStopped:ha,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ga,a&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ga,a&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ga,a&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||n.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),n.fn.extend({on:function(a,b,c,d){return ja(this,a,b,c,d)},one:function(a,b,c,d){return ja(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=ha),this.each(function(){n.event.remove(this,a,c,b)})}});var ka=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,la=/<script|<style|<link/i,ma=/checked\s*(?:[^=]|=\s*.checked.)/i,na=/^true\/(.*)/,oa=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function pa(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function qa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function ra(a){var b=na.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function sa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(N.hasData(a)&&(f=N.access(a),g=N.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}O.hasData(a)&&(h=O.access(a),i=n.extend({},h),O.set(b,i))}}function ta(a,b){var c=b.nodeName.toLowerCase();"input"===c&&X.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function ua(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&ma.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),ua(f,b,c,d)});if(o&&(e=ca(b,a[0].ownerDocument,!1,a,d),g=e.firstChild,1===e.childNodes.length&&(e=g),g||d)){for(h=n.map(_(e,"script"),qa),i=h.length;o>m;m++)j=e,m!==p&&(j=n.clone(j,!0,!0),i&&n.merge(h,_(j,"script"))),c.call(a[m],j,m);if(i)for(k=h[h.length-1].ownerDocument,n.map(h,ra),m=0;i>m;m++)j=h[m],Z.test(j.type||"")&&!N.access(j,"globalEval")&&n.contains(k,j)&&(j.src?n._evalUrl&&n._evalUrl(j.src):n.globalEval(j.textContent.replace(oa,"")))}return a}function va(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(_(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&aa(_(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(ka,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=_(h),f=_(a),d=0,e=f.length;e>d;d++)ta(f[d],g[d]);if(b)if(c)for(f=f||_(a),g=g||_(h),d=0,e=f.length;e>d;d++)sa(f[d],g[d]);else sa(a,h);return g=_(h,"script"),g.length>0&&aa(g,!i&&_(a,"script")),h},cleanData:function(a){for(var b,c,d,e=n.event.special,f=0;void 0!==(c=a[f]);f++)if(L(c)){if(b=c[N.expando]){if(b.events)for(d in b.events)e[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);c[N.expando]=void 0}c[O.expando]&&(c[O.expando]=void 0)}}}),n.fn.extend({domManip:ua,detach:function(a){return va(this,a,!0)},remove:function(a){return va(this,a)},text:function(a){return K(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.appendChild(a)}})},prepend:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(_(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return K(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!la.test(a)&&!$[(Y.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(_(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return ua(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(_(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),f=e.length-1,h=0;f>=h;h++)c=h===f?this:this.clone(!0),n(e[h])[b](c),g.apply(d,c.get());return this.pushStack(d)}});var wa,xa={HTML:"block",BODY:"block"};function ya(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function za(a){var b=d,c=xa[a];return c||(c=ya(a,b),"none"!==c&&c||(wa=(wa||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=wa[0].contentDocument,b.write(),b.close(),c=ya(a,b),wa.detach()),xa[a]=c),c}var Aa=/^margin/,Ba=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ca=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)},Da=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},Ea=d.documentElement;!function(){var b,c,e,f,g=d.createElement("div"),h=d.createElement("div");if(h.style){h.style.backgroundClip="content-box",h.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===h.style.backgroundClip,g.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",g.appendChild(h);function i(){h.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",h.innerHTML="",Ea.appendChild(g);var d=a.getComputedStyle(h);b="1%"!==d.top,f="2px"===d.marginLeft,c="4px"===d.width,h.style.marginRight="50%",e="4px"===d.marginRight,Ea.removeChild(g)}n.extend(l,{pixelPosition:function(){return i(),b},boxSizingReliable:function(){return null==c&&i(),c},pixelMarginRight:function(){return null==c&&i(),e},reliableMarginLeft:function(){return null==c&&i(),f},reliableMarginRight:function(){var b,c=h.appendChild(d.createElement("div"));return c.style.cssText=h.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",h.style.width="1px",Ea.appendChild(g),b=!parseFloat(a.getComputedStyle(c).marginRight),Ea.removeChild(g),h.removeChild(c),b}})}}();function Fa(a,b,c){var d,e,f,g,h=a.style;return c=c||Ca(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),c&&!l.pixelMarginRight()&&Ba.test(g)&&Aa.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f),void 0!==g?g+"":g}function Ga(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Ha=/^(none|table(?!-c[ea]).+)/,Ia={position:"absolute",visibility:"hidden",display:"block"},Ja={letterSpacing:"0",fontWeight:"400"},Ka=["Webkit","O","Moz","ms"],La=d.createElement("div").style;function Ma(a){if(a in La)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ka.length;while(c--)if(a=Ka[c]+b,a in La)return a}function Na(a,b,c){var d=T.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Oa(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+U[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+U[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+U[f]+"Width",!0,e))):(g+=n.css(a,"padding"+U[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+U[f]+"Width",!0,e)));return g}function Pa(b,c,e){var f=!0,g="width"===c?b.offsetWidth:b.offsetHeight,h=Ca(b),i="border-box"===n.css(b,"boxSizing",!1,h);if(d.msFullscreenElement&&a.top!==a&&b.getClientRects().length&&(g=Math.round(100*b.getBoundingClientRect()[c])),0>=g||null==g){if(g=Fa(b,c,h),(0>g||null==g)&&(g=b.style[c]),Ba.test(g))return g;f=i&&(l.boxSizingReliable()||g===b.style[c]),g=parseFloat(g)||0}return g+Oa(b,c,e||(i?"border":"content"),f,h)+"px"}function Qa(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=N.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&V(d)&&(f[g]=N.access(d,"olddisplay",za(d.nodeName)))):(e=V(d),"none"===c&&e||N.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Fa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Ma(h)||h),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=T.exec(c))&&e[1]&&(c=W(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(n.cssNumber[h]?"":"px")),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Ma(h)||h),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Fa(a,b,d)),"normal"===e&&b in Ja&&(e=Ja[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?Ha.test(n.css(a,"display"))&&0===a.offsetWidth?Da(a,Ia,function(){return Pa(a,b,d)}):Pa(a,b,d):void 0},set:function(a,c,d){var e,f=d&&Ca(a),g=d&&Oa(a,b,d,"border-box"===n.css(a,"boxSizing",!1,f),f);return g&&(e=T.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=n.css(a,b)),Na(a,c,g)}}}),n.cssHooks.marginLeft=Ga(l.reliableMarginLeft,function(a,b){return b?(parseFloat(Fa(a,"marginLeft"))||a.getBoundingClientRect().left-Da(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px":void 0}),n.cssHooks.marginRight=Ga(l.reliableMarginRight,function(a,b){return b?Da(a,{display:"inline-block"},Fa,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+U[d]+b]=f[d]||f[d-2]||f[0];return e}},Aa.test(a)||(n.cssHooks[a+b].set=Na)}),n.fn.extend({css:function(a,b){return K(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Ca(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Qa(this,!0)},hide:function(){return Qa(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){V(this)?n(this).show():n(this).hide()})}});function Ra(a,b,c,d,e){return new Ra.prototype.init(a,b,c,d,e)}n.Tween=Ra,Ra.prototype={constructor:Ra,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Ra.propHooks[this.prop];return a&&a.get?a.get(this):Ra.propHooks._default.get(this)},run:function(a){var b,c=Ra.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ra.propHooks._default.set(this),this}},Ra.prototype.init.prototype=Ra.prototype,Ra.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now+a.unit)}}},Ra.propHooks.scrollTop=Ra.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},n.fx=Ra.prototype.init,n.fx.step={};var Sa,Ta,Ua=/^(?:toggle|show|hide)$/,Va=/queueHooks$/;function Wa(){return a.setTimeout(function(){Sa=void 0}),Sa=n.now()}function Xa(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=U[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ya(a,b,c){for(var d,e=(_a.tweeners[b]||[]).concat(_a.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Za(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&V(a),q=N.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?N.get(a,"olddisplay")||za(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Ua.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?za(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=N.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;N.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ya(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function $a(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function _a(a,b,c){var d,e,f=0,g=_a.prefilters.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Sa||Wa(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{},easing:n.easing._default},c),originalProperties:b,originalOptions:c,startTime:Sa||Wa(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for($a(k,j.opts.specialEasing);g>f;f++)if(d=_a.prefilters[f].call(j,a,k,j.opts))return n.isFunction(d.stop)&&(n._queueHooks(j.elem,j.opts.queue).stop=n.proxy(d.stop,d)),d;return n.map(k,Ya,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(_a,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return W(c.elem,a,T.exec(b),c),c}]},tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.match(G);for(var c,d=0,e=a.length;e>d;d++)c=a[d],_a.tweeners[c]=_a.tweeners[c]||[],_a.tweeners[c].unshift(b)},prefilters:[Za],prefilter:function(a,b){b?_a.prefilters.unshift(a):_a.prefilters.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(V).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=_a(this,n.extend({},a),f);(e||N.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=N.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Va.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=N.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Xa(b,!0),a,d,e)}}),n.each({slideDown:Xa("show"),slideUp:Xa("hide"),slideToggle:Xa("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Sa=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),Sa=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Ta||(Ta=a.setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){a.clearInterval(Ta),Ta=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(b,c){return b=n.fx?n.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",l.checkOn=""!==a.value,l.optSelected=c.selected,b.disabled=!0,l.optDisabled=!c.disabled,a=d.createElement("input"),a.value="t",a.type="radio",l.radioValue="t"===a.value}();var ab,bb=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return K(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.attrHooks[b]||(n.expr.match.bool.test(b)?ab:void 0)),void 0!==c?null===c?void n.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=n.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(G);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)}}),ab={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=bb[b]||n.find.attr;bb[b]=function(a,b,d){var e,f;return d||(f=bb[b],bb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,bb[b]=f),e}});var cb=/^(?:input|select|textarea|button)$/i,db=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return K(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,
e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):cb.test(a.nodeName)||db.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var eb=/[\t\r\n\f]/g;function fb(a){return a.getAttribute&&a.getAttribute("class")||""}n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,fb(this)))});if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=fb(c),d=1===c.nodeType&&(" "+e+" ").replace(eb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=n.trim(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,fb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=fb(c),d=1===c.nodeType&&(" "+e+" ").replace(eb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=n.trim(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):n.isFunction(a)?this.each(function(c){n(this).toggleClass(a.call(this,c,fb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=n(this),f=a.match(G)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=fb(this),b&&N.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":N.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+fb(c)+" ").replace(eb," ").indexOf(b)>-1)return!0;return!1}});var gb=/\r/g,hb=/[\x20\t\r\n\f]+/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(gb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a)).replace(hb," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(l.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(n.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>-1:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var ib=/^(?:focusinfocus|focusoutblur)$/;n.extend(n.event,{trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!ib.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),l=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},f||!o.trigger||o.trigger.apply(e,c)!==!1)){if(!f&&!o.noBubble&&!n.isWindow(e)){for(j=o.delegateType||q,ib.test(j+q)||(h=h.parentNode);h;h=h.parentNode)p.push(h),i=h;i===(e.ownerDocument||d)&&p.push(i.defaultView||i.parentWindow||a)}g=0;while((h=p[g++])&&!b.isPropagationStopped())b.type=g>1?j:o.bindType||q,m=(N.get(h,"events")||{})[b.type]&&N.get(h,"handle"),m&&m.apply(h,c),m=l&&h[l],m&&m.apply&&L(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=q,f||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!L(e)||l&&n.isFunction(e[q])&&!n.isWindow(e)&&(i=e[l],i&&(e[l]=null),n.event.triggered=q,e[q](),n.event.triggered=void 0,i&&(e[l]=i)),b.result}},simulate:function(a,b,c){var d=n.extend(new n.Event,c,{type:a,isSimulated:!0});n.event.trigger(d,null,b),d.isDefaultPrevented()&&c.preventDefault()}}),n.fn.extend({trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),l.focusin="onfocusin"in a,l.focusin||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a))};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=N.access(d,b);e||d.addEventListener(a,c,!0),N.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=N.access(d,b)-1;e?N.access(d,b,e):(d.removeEventListener(a,c,!0),N.remove(d,b))}}});var jb=a.location,kb=n.now(),lb=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var mb=/#.*$/,nb=/([?&])_=[^&]*/,ob=/^(.*?):[ \t]*([^\r\n]*)$/gm,pb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,qb=/^(?:GET|HEAD)$/,rb=/^\/\//,sb={},tb={},ub="*/".concat("*"),vb=d.createElement("a");vb.href=jb.href;function wb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(G)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function xb(a,b,c,d){var e={},f=a===tb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function yb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function zb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Ab(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:jb.href,type:"GET",isLocal:pb.test(jb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":ub,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?yb(yb(a,n.ajaxSettings),b):yb(n.ajaxSettings,a)},ajaxPrefilter:wb(sb),ajaxTransport:wb(tb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m=n.ajaxSetup({},c),o=m.context||m,p=m.context&&(o.nodeType||o.jquery)?n(o):n.event,q=n.Deferred(),r=n.Callbacks("once memory"),s=m.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,getResponseHeader:function(a){var b;if(2===v){if(!h){h={};while(b=ob.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===v?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return v||(a=u[c]=u[c]||a,t[a]=b),this},overrideMimeType:function(a){return v||(m.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>v)for(b in a)s[b]=[s[b],a[b]];else x.always(a[x.status]);return this},abort:function(a){var b=a||w;return e&&e.abort(b),z(0,b),this}};if(q.promise(x).complete=r.add,x.success=x.done,x.error=x.fail,m.url=((b||m.url||jb.href)+"").replace(mb,"").replace(rb,jb.protocol+"//"),m.type=c.method||c.type||m.method||m.type,m.dataTypes=n.trim(m.dataType||"*").toLowerCase().match(G)||[""],null==m.crossDomain){j=d.createElement("a");try{j.href=m.url,j.href=j.href,m.crossDomain=vb.protocol+"//"+vb.host!=j.protocol+"//"+j.host}catch(y){m.crossDomain=!0}}if(m.data&&m.processData&&"string"!=typeof m.data&&(m.data=n.param(m.data,m.traditional)),xb(sb,m,c,x),2===v)return x;k=n.event&&m.global,k&&0===n.active++&&n.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!qb.test(m.type),f=m.url,m.hasContent||(m.data&&(f=m.url+=(lb.test(f)?"&":"?")+m.data,delete m.data),m.cache===!1&&(m.url=nb.test(f)?f.replace(nb,"$1_="+kb++):f+(lb.test(f)?"&":"?")+"_="+kb++)),m.ifModified&&(n.lastModified[f]&&x.setRequestHeader("If-Modified-Since",n.lastModified[f]),n.etag[f]&&x.setRequestHeader("If-None-Match",n.etag[f])),(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",m.contentType),x.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+ub+"; q=0.01":""):m.accepts["*"]);for(l in m.headers)x.setRequestHeader(l,m.headers[l]);if(m.beforeSend&&(m.beforeSend.call(o,x,m)===!1||2===v))return x.abort();w="abort";for(l in{success:1,error:1,complete:1})x[l](m[l]);if(e=xb(tb,m,c,x)){if(x.readyState=1,k&&p.trigger("ajaxSend",[x,m]),2===v)return x;m.async&&m.timeout>0&&(i=a.setTimeout(function(){x.abort("timeout")},m.timeout));try{v=1,e.send(t,z)}catch(y){if(!(2>v))throw y;z(-1,y)}}else z(-1,"No Transport");function z(b,c,d,h){var j,l,t,u,w,y=c;2!==v&&(v=2,i&&a.clearTimeout(i),e=void 0,g=h||"",x.readyState=b>0?4:0,j=b>=200&&300>b||304===b,d&&(u=zb(m,x,d)),u=Ab(m,u,x,j),j?(m.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(n.lastModified[f]=w),w=x.getResponseHeader("etag"),w&&(n.etag[f]=w)),204===b||"HEAD"===m.type?y="nocontent":304===b?y="notmodified":(y=u.state,l=u.data,t=u.error,j=!t)):(t=y,!b&&y||(y="error",0>b&&(b=0))),x.status=b,x.statusText=(c||y)+"",j?q.resolveWith(o,[l,y,x]):q.rejectWith(o,[x,y,t]),x.statusCode(s),s=void 0,k&&p.trigger(j?"ajaxSuccess":"ajaxError",[x,m,j?l:t]),r.fireWith(o,[x,y]),k&&(p.trigger("ajaxComplete",[x,m]),--n.active||n.event.trigger("ajaxStop")))}return x},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&&a))}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return!n.expr.filters.visible(a)},n.expr.filters.visible=function(a){return a.offsetWidth>0||a.offsetHeight>0||a.getClientRects().length>0};var Bb=/%20/g,Cb=/\[\]$/,Db=/\r?\n/g,Eb=/^(?:submit|button|image|reset|file)$/i,Fb=/^(?:input|select|textarea|keygen)/i;function Gb(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||Cb.test(a)?d(a,e):Gb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Gb(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Gb(c,a[c],b,e);return d.join("&").replace(Bb,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Fb.test(this.nodeName)&&!Eb.test(a)&&(this.checked||!X.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(Db,"\r\n")}}):{name:b.name,value:c.replace(Db,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Hb={0:200,1223:204},Ib=n.ajaxSettings.xhr();l.cors=!!Ib&&"withCredentials"in Ib,l.ajax=Ib=!!Ib,n.ajaxTransport(function(b){var c,d;return l.cors||Ib&&!b.crossDomain?{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Hb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=n("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Jb=[],Kb=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Jb.pop()||n.expando+"_"+kb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Kb.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Kb.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Kb,"$1"+e):b.jsonp!==!1&&(b.url+=(lb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Jb.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||d;var e=x.exec(a),f=!c&&[];return e?[b.createElement(e[1])]:(e=ca([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.childNodes))};var Lb=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Lb)return Lb.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function Mb(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(e=d.getBoundingClientRect(),c=Mb(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Ea})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;n.fn[a]=function(d){return K(this,function(a,d,e){var f=Mb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Ga(l.pixelPosition,function(a,c){return c?(c=Fa(a,b),Ba.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return K(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)},size:function(){return this.length}}),n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Nb=a.jQuery,Ob=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Ob),b&&a.jQuery===n&&(a.jQuery=Nb),n},b||(a.jQuery=a.$=n),n});

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/js/html5shiv-printshiv.min.js
=====================================================
/**
* @preserve HTML5 Shiv prev3.7.1 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
*/
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=x.elements;return"string"==typeof a?a.split(" "):a}function e(a){var b=w[a[u]];return b||(b={},v++,a[u]=v,w[v]=b),b}function f(a,c,d){if(c||(c=b),p)return c.createElement(a);d||(d=e(c));var f;return f=d.cache[a]?d.cache[a].cloneNode():t.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!f.canHaveChildren||s.test(a)||f.tagUrn?f:d.frag.appendChild(f)}function g(a,c){if(a||(a=b),p)return a.createDocumentFragment();c=c||e(a);for(var f=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)f.createElement(h[g]);return f}function h(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return x.shivMethods?f(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(x,b.frag)}function i(a){a||(a=b);var d=e(a);return!x.shivCSS||o||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),p||h(a,d),a}function j(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(k(b)));return g}function k(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(z+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function l(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+z+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function m(a){for(var b=a.length;b--;)a[b].removeNode()}function n(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,f,g=e(a),h=a.namespaces,i=a.parentWindow;return!A||a.printShived?a:("undefined"==typeof h[z]&&h.add(z),i.attachEvent("onbeforeprint",function(){b();for(var e,g,h,i=a.styleSheets,k=[],m=i.length,n=Array(m);m--;)n[m]=i[m];for(;h=n.pop();)if(!h.disabled&&y.test(h.media)){try{e=h.imports,g=e.length}catch(o){g=0}for(m=0;g>m;m++)n.push(e[m]);try{k.push(h.cssText)}catch(o){}}k=l(k.reverse().join("")),f=j(a),d=c(a,k)}),i.attachEvent("onafterprint",function(){m(f),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var o,p,q="3.7.0",r=a.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,t=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,u="_html5shiv",v=0,w={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",o="hidden"in a,p=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){o=!0,p=!0}}();var x={elements:r.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:q,shivCSS:r.shivCSS!==!1,supportsUnknownElements:p,shivMethods:r.shivMethods!==!1,type:"default",shivDocument:i,createElement:f,createDocumentFragment:g};a.html5=x,i(b);var y=/^$|\b(?:all|print)\b/,z="html5shiv",A=!p&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();x.type+=" print",x.shivPrint=n,n(b)}(this,document);

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/js/lunr.min.js
=====================================================
/**
 * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 0.7.2
 * Copyright (C) 2016 Oliver Nightingale
 * @license MIT
 */
!function(){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.7.2",t.utils={},t.utils.warn=function(t){return function(e){t.console&&console.warn&&console.warn(e)}}(this),t.utils.asString=function(t){return void 0===t||null===t?"":t.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var t=Array.prototype.slice.call(arguments),e=t.pop(),n=t;if("function"!=typeof e)throw new TypeError("last argument must be a function");n.forEach(function(t){this.hasHandler(t)||(this.events[t]=[]),this.events[t].push(e)},this)},t.EventEmitter.prototype.removeListener=function(t,e){if(this.hasHandler(t)){var n=this.events[t].indexOf(e);this.events[t].splice(n,1),this.events[t].length||delete this.events[t]}},t.EventEmitter.prototype.emit=function(t){if(this.hasHandler(t)){var e=Array.prototype.slice.call(arguments,1);this.events[t].forEach(function(t){t.apply(void 0,e)})}},t.EventEmitter.prototype.hasHandler=function(t){return t in this.events},t.tokenizer=function(e){if(!arguments.length||null==e||void 0==e)return[];if(Array.isArray(e))return e.map(function(e){return t.utils.asString(e).toLowerCase()});var n=t.tokenizer.seperator||t.tokenizer.separator;return e.toString().trim().toLowerCase().split(n)},t.tokenizer.seperator=!1,t.tokenizer.separator=/[\s\-]+/,t.tokenizer.load=function(t){var e=this.registeredFunctions[t];if(!e)throw new Error("Cannot load un-registered function: "+t);return e},t.tokenizer.label="default",t.tokenizer.registeredFunctions={"default":t.tokenizer},t.tokenizer.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing tokenizer: "+n),e.label=n,this.registeredFunctions[n]=e},t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=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.registeredFunctions[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._stack.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,n)},t.Pipeline.prototype.remove=function(t){var e=this._stack.indexOf(t);-1!=e&&this._stack.splice(e,1)},t.Pipeline.prototype.run=function(t){for(var e=[],n=t.length,i=this._stack.length,r=0;n>r;r++){for(var o=t[r],s=0;i>s&&(o=this._stack[s](o,r,t),void 0!==o&&""!==o);s++);void 0!==o&&""!==o&&e.push(o)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(e<i.idx)return this.list=new t.Vector.Node(e,n,i),this.length++;for(var r=i,o=i.next;void 0!=o;){if(e<o.idx)return r.next=new t.Vector.Node(e,n,o),this.length++;r=o,o=o.next}return r.next=new t.Vector.Node(e,n,o),this.length++},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var t,e=this.list,n=0;e;)t=e.val,n+=t*t,e=e.next;return this._magnitude=Math.sqrt(n)},t.Vector.prototype.dot=function(t){for(var e=this.list,n=t.list,i=0;e&&n;)e.idx<n.idx?e=e.next:e.idx>n.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t<arguments.length;t++)e=arguments[t],~this.indexOf(e)||this.elements.splice(this.locationFor(e),0,e);this.length=this.elements.length},t.SortedSet.prototype.toArray=function(){return this.elements.slice()},t.SortedSet.prototype.map=function(t,e){return this.elements.map(t,e)},t.SortedSet.prototype.forEach=function(t,e){return this.elements.forEach(t,e)},t.SortedSet.prototype.indexOf=function(t){for(var e=0,n=this.elements.length,i=n-e,r=e+Math.floor(i/2),o=this.elements[r];i>1;){if(o===t)return r;t>o&&(e=r),o>t&&(n=r),i=n-e,r=e+Math.floor(i/2),o=this.elements[r]}return o===t?r:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,r=e+Math.floor(i/2),o=this.elements[r];i>1;)t>o&&(e=r),o>t&&(n=r),i=n-e,r=e+Math.floor(i/2),o=this.elements[r];return o>t?r:t>o?r+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,r=0,o=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>o-1||r>s-1)break;a[i]!==h[r]?a[i]<h[r]?i++:a[i]>h[r]&&r++:(n.add(a[i]),i++,r++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone();for(var r=0,o=n.toArray();r<o.length;r++)i.add(o[r]);return i},t.SortedSet.prototype.toJSON=function(){return this.toArray()},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.Store,this.tokenStore=new t.TokenStore,this.corpusTokens=new t.SortedSet,this.eventEmitter=new t.EventEmitter,this.tokenizerFn=t.tokenizer,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var t=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,t)},t.Index.prototype.off=function(t,e){return this.eventEmitter.removeListener(t,e)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;return n._fields=e.fields,n._ref=e.ref,n.tokenizer(t.tokenizer.load(e.tokenizer)),n.documentStore=t.Store.load(e.documentStore),n.tokenStore=t.TokenStore.load(e.tokenStore),n.corpusTokens=t.SortedSet.load(e.corpusTokens),n.pipeline=t.Pipeline.load(e.pipeline),n},t.Index.prototype.field=function(t,e){var e=e||{},n={name:t,boost:e.boost||1};return this._fields.push(n),this},t.Index.prototype.ref=function(t){return this._ref=t,this},t.Index.prototype.tokenizer=function(e){var n=e.label&&e.label in t.tokenizer.registeredFunctions;return n||t.utils.warn("Function is not a registered tokenizer. This may cause problems when serialising the index"),this.tokenizerFn=e,this},t.Index.prototype.add=function(e,n){var i={},r=new t.SortedSet,o=e[this._ref],n=void 0===n?!0:n;this._fields.forEach(function(t){var n=this.pipeline.run(this.tokenizerFn(e[t.name]));i[t.name]=n;for(var o=0;o<n.length;o++){var s=n[o];r.add(s),this.corpusTokens.add(s)}},this),this.documentStore.set(o,r);for(var s=0;s<r.length;s++){for(var a=r.elements[s],h=0,u=0;u<this._fields.length;u++){var l=this._fields[u],c=i[l.name],f=c.length;if(f){for(var d=0,p=0;f>p;p++)c[p]===a&&d++;h+=d/f*l.boost}}this.tokenStore.add(a,{ref:o,tf:h})}n&&this.eventEmitter.emit("add",e,this)},t.Index.prototype.remove=function(t,e){var n=t[this._ref],e=void 0===e?!0:e;if(this.documentStore.has(n)){var i=this.documentStore.get(n);this.documentStore.remove(n),i.forEach(function(t){this.tokenStore.remove(t,n)},this),e&&this.eventEmitter.emit("remove",t,this)}},t.Index.prototype.update=function(t,e){var e=void 0===e?!0:e;this.remove(t,!1),this.add(t,!1),e&&this.eventEmitter.emit("update",t,this)},t.Index.prototype.idf=function(t){var e="@"+t;if(Object.prototype.hasOwnProperty.call(this._idfCache,e))return this._idfCache[e];var n=this.tokenStore.count(t),i=1;return n>0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(this.tokenizerFn(e)),i=new t.Vector,r=[],o=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*o,h=this,u=this.tokenStore.expand(e).reduce(function(n,r){var o=h.corpusTokens.indexOf(r),s=h.idf(r),u=1,l=new t.SortedSet;if(r!==e){var c=Math.max(3,r.length-e.length);u=1/Math.log(c)}o>-1&&i.insert(o,a*s*u);for(var f=h.tokenStore.get(r),d=Object.keys(f),p=d.length,v=0;p>v;v++)l.add(f[d[v]].ref);return n.union(l)},new t.SortedSet);r.push(u)},this);var a=r.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,r=new t.Vector,o=0;i>o;o++){var s=n.elements[o],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);r.insert(this.corpusTokens.indexOf(s),a*h)}return r},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,tokenizer:this.tokenizerFn.label,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={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"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",r=n+"[^aeiouy]*",o=i+"[aeiou]*",s="^("+r+")?"+o+r,a="^("+r+")?"+o+r+"("+o+")?$",h="^("+r+")?"+o+r+o+r,u="^("+r+")?"+i,l=new RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new RegExp(u),p=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,g=/^(.+?)eed$/,m=/^(.+?)(ed|ing)$/,y=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),k=new RegExp("^"+r+i+"[^aeiouwxy]$"),x=/^(.+?[^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)$/,F=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,_=/^(.+?)(s|t)(ion)$/,z=/^(.+?)e$/,O=/ll$/,P=new RegExp("^"+r+i+"[^aeiouwxy]$"),T=function(n){var i,r,o,s,a,h,u;if(n.length<3)return n;if(o=n.substr(0,1),"y"==o&&(n=o.toUpperCase()+n.substr(1)),s=p,a=v,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=g,a=m,s.test(n)){var T=s.exec(n);s=l,s.test(T[1])&&(s=y,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,u=k,a.test(n)?n+="e":h.test(n)?(s=y,n=n.replace(s,"")):u.test(n)&&(n+="e"))}if(s=x,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],r=T[2],s=l,s.test(i)&&(n=i+t[r])}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],r=T[2],s=l,s.test(i)&&(n=i+e[r])}if(s=F,a=_,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=z,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=f,h=P,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=O,a=c,s.test(n)&&a.test(n)&&(s=y,n=n.replace(s,"")),"y"==o&&(n=o.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.generateStopWordFilter=function(t){var e=t.reduce(function(t,e){return t[e]=e,t},{});return function(t){return t&&e[t]!==t?t:void 0}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){return t.replace(/^\W+/,"").replace(/\W+$/,"")},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t.charAt(0),r=t.slice(1);return i in n||(n[i]={docs:{}}),0===r.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(r,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;n<t.length;n++){if(!e[t.charAt(n)])return!1;e=e[t.charAt(n)]}return!0},t.TokenStore.prototype.getNode=function(t){if(!t)return{};for(var e=this.root,n=0;n<t.length;n++){if(!e[t.charAt(n)])return{};e=e[t.charAt(n)]}return e},t.TokenStore.prototype.get=function(t,e){return this.getNode(t,e).docs||{}},t.TokenStore.prototype.count=function(t,e){return Object.keys(this.get(t,e)).length},t.TokenStore.prototype.remove=function(t,e){if(t){for(var n=this.root,i=0;i<t.length;i++){if(!(t.charAt(i)in n))return;n=n[t.charAt(i)]}delete n.docs[e]}},t.TokenStore.prototype.expand=function(t,e){var n=this.getNode(t),i=n.docs||{},e=e||[];return Object.keys(i).length&&e.push(t),Object.keys(n).forEach(function(n){"docs"!==n&&e.concat(this.expand(t+n,e))},this),e},t.TokenStore.prototype.toJSON=function(){return{root:this.root,length:this.length}},function(t,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():t.lunr=e()}(this,function(){return t})}();

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/js/auto-complete.js
=====================================================
/*
    JavaScript autoComplete v1.0.4
    Copyright (c) 2014 Simon Steinberger / Pixabay
    GitHub: https://github.com/Pixabay/JavaScript-autoComplete
    License: http://www.opensource.org/licenses/mit-license.php
*/

var autoComplete = (function(){
    // "use strict";
    function autoComplete(options){
        if (!document.querySelector) return;

        // helpers
        function hasClass(el, className){ return el.classList ? el.classList.contains(className) : new RegExp('\\b'+ className+'\\b').test(el.className); }

        function addEvent(el, type, handler){
            if (el.attachEvent) el.attachEvent('on'+type, handler); else el.addEventListener(type, handler);
        }
        function removeEvent(el, type, handler){
            // if (el.removeEventListener) not working in IE11
            if (el.detachEvent) el.detachEvent('on'+type, handler); else el.removeEventListener(type, handler);
        }
        function live(elClass, event, cb, context){
            addEvent(context || document, event, function(e){
                var found, el = e.target || e.srcElement;
                while (el && !(found = hasClass(el, elClass))) el = el.parentElement;
                if (found) cb.call(el, e);
            });
        }

        var o = {
            selector: 0,
            source: 0,
            minChars: 3,
            delay: 150,
            offsetLeft: 0,
            offsetTop: 1,
            cache: 1,
            menuClass: '',
            renderItem: function (item, search){
                // escape special characters
                search = search.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
                var re = new RegExp("(" + search.split(' ').join('|') + ")", "gi");
                return '<div class="autocomplete-suggestion" data-val="' + item + '">' + item.replace(re, "<b>$1</b>") + '</div>';
            },
            onSelect: function(e, term, item){}
        };
        for (var k in options) { if (options.hasOwnProperty(k)) o[k] = options[k]; }

        // init

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/js/perfect-scrollbar.jquery.min.js
=====================================================
/* perfect-scrollbar v0.6.13 */
!function t(e,n,r){function o(i,s){if(!n[i]){if(!e[i]){var a="function"==typeof require&&require;if(!s&&a)return a(i,!0);if(l)return l(i,!0);var c=new Error("Cannot find module '"+i+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[i]={exports:{}};e[i][0].call(u.exports,function(t){var n=e[i][1][t];return o(n?n:t)},u,u.exports,t,e,n,r)}return n[i].exports}for(var l="function"==typeof require&&require,i=0;i<r.length;i++)o(r[i]);return o}({1:[function(t,e,n){"use strict";function r(t){t.fn.perfectScrollbar=function(t){return this.each(function(){if("object"==typeof t||"undefined"==typeof t){var e=t;l.get(this)||o.initialize(this,e)}else{var n=t;"update"===n?o.update(this):"destroy"===n&&o.destroy(this)}})}}var o=t("../main"),l=t("../plugin/instances");if("function"==typeof define&&define.amd)define(["jquery"],r);else{var i=window.jQuery?window.jQuery:window.$;"undefined"!=typeof i&&r(i)}e.exports=r},{"../main":7,"../plugin/instances":18}],2:[function(t,e,n){"use strict";function r(t,e){var n=t.className.split(" ");n.indexOf(e)<0&&n.push(e),t.className=n.join(" ")}function o(t,e){var n=t.className.split(" "),r=n.indexOf(e);r>=0&&n.splice(r,1),t.className=n.join(" ")}n.add=function(t,e){t.classList?t.classList.add(e):r(t,e)},n.remove=function(t,e){t.classList?t.classList.remove(e):o(t,e)},n.list=function(t){return t.classList?Array.prototype.slice.apply(t.classList):t.className.split(" ")}},{}],3:[function(t,e,n){"use strict";function r(t,e){return window.getComputedStyle(t)[e]}function o(t,e,n){return"number"==typeof n&&(n=n.toString()+"px"),t.style[e]=n,t}function l(t,e){for(var n in e){var r=e[n];"number"==typeof r&&(r=r.toString()+"px"),t.style[n]=r}return t}var i={};i.e=function(t,e){var n=document.createElement(t);return n.className=e,n},i.appendTo=function(t,e){return e.appendChild(t),t},i.css=function(t,e,n){return"object"==typeof e?l(t,e):"undefined"==typeof n?r(t,e):o(t,e,n)},i.matches=function(t,e){return"undefined"!=typeof t.matches?t.matches(e):"undefined"!=typeof t.matchesSelector?t.matchesSelector(e):"undefined"!=typeof t.webkitMatchesSelector?t.webkitMatchesSelector(e):"undefined"!=typeof t.mozMatchesSelector?t.mozMatchesSelector(e):"undefined"!=typeof t.msMatchesSelector?t.msMatchesSelector(e):void 0},i.remove=function(t){"undefined"!=typeof t.remove?t.remove():t.parentNode&&t.parentNode.removeChild(t)},i.queryChildren=function(t,e){return Array.prototype.filter.call(t.childNodes,function(t){return i.matches(t,e)})},e.exports=i},{}],4:[function(t,e,n){"use strict";var r=function(t){this.element=t,this.events={}};r.prototype.bind=function(t,e){"undefined"==typeof this.events[t]&&(this.events[t]=[]),this.events[t].push(e),this.element.addEventListener(t,e,!1)},r.prototype.unbind=function(t,e){var n="undefined"!=typeof e;this.events[t]=this.events[t].filter(function(r){return!(!n||r===e)||(this.element.removeEventListener(t,r,!1),!1)},this)},r.prototype.unbindAll=function(){for(var t in this.events)this.unbind(t)};var o=function(){this.eventElements=[]};o.prototype.eventElement=function(t){var e=this.eventElements.filter(function(e){return e.element===t})[0];return"undefined"==typeof e&&(e=new r(t),this.eventElements.push(e)),e},o.prototype.bind=function(t,e,n){this.eventElement(t).bind(e,n)},o.prototype.unbind=function(t,e,n){this.eventElement(t).unbind(e,n)},o.prototype.unbindAll=function(){for(var t=0;t<this.eventElements.length;t++)this.eventElements[t].unbindAll()},o.prototype.once=function(t,e,n){var r=this.eventElement(t),o=function(t){r.unbind(e,o),n(t)};r.bind(e,o)},e.exports=o},{}],5:[function(t,e,n){"use strict";e.exports=function(){function t(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return function(){return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()}}()},{}],6:[function(t,e,n){"use strict";var r=t("./class"),o=t("./dom"),l=n.toInt=function(t){return parseInt(t,10)||0},i=n.clone=function(t){if(t){if(t.constructor===Array)return t.map(i);if("object"==typeof t){var e={};for(var n in t)e[n]=i(t[n]);return e}return t}return null};n.extend=function(t,e){var n=i(t);for(var r in e)n[r]=i(e[r]);return n},n.isEditable=function(t){return o.matches(t,"input,[contenteditable]")||o.matches(t,"select,[contenteditable]")||o.matches(t,"textarea,[contenteditable]")||o.matches(t,"button,[contenteditable]")},n.removePsClasses=function(t){for(var e=r.list(t),n=0;n<e.length;n++){var o=e[n];0===o.indexOf("ps-")&&r.remove(t,o)}},n.outerWidth=function(t){return l(o.css(t,"width"))+l(o.css(t,"paddingLeft"))+l(o.css(t,"paddingRight"))+l(o.css(t,"borderLeftWidth"))+l(o.css(t,"borderRightWidth"))},n.startScrolling=function(t,e){r.add(t,"ps-in-scrolling"),"undefined"!=typeof e?r.add(t,"ps-"+e):(r.add(t,"ps-x"),r.add(t,"ps-y"))},n.stopScrolling=function(t,e){r.remove(t,"ps-in-scrolling"),"undefined"!=typeof e?r.remove(t,"ps-"+e):(r.remove(t,"ps-x"),r.remove(t,"ps-y"))},n.env={isWebKit:"WebkitAppearance"in document.documentElement.style,supportsTouch:"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch,supportsIePointer:null!==window.navigator.msMaxTouchPoints}},{"./class":2,"./dom":3}],7:[function(t,e,n){"use strict";var r=t("./plugin/destroy"),o=t("./plugin/initialize"),l=t("./plugin/update");e.exports={initialize:o,update:l,destroy:r}},{"./plugin/destroy":9,"./plugin/initialize":17,"./plugin/update":21}],8:[function(t,e,n){"use strict";e.exports={handlers:["click-rail","drag-scrollbar","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipePropagation:!0,useBothWheelAxes:!1,wheelPropagation:!1,wheelSpeed:1,theme:"default"}},{}],9:[function(t,e,n){"use strict";var r=t("../lib/helper"),o=t("../lib/dom"),l=t("./instances");e.exports=function(t){var e=l.get(t);e&&(e.event.unbindAll(),o.remove(e.scrollbarX),o.remove(e.scrollbarY),o.remove(e.scrollbarXRail),o.remove(e.scrollbarYRail),r.removePsClasses(t),l.remove(t))}},{"../lib/dom":3,"../lib/helper":6,"./instances":18}],10:[function(t,e,n){"use strict";function r(t,e){function n(t){return t.getBoundingClientRect()}var r=function(t){t.stopPropagation()};e.event.bind(e.scrollbarY,"click",r),e.event.bind(e.scrollbarYRail,"click",function(r){var o=r.pageY-window.pageYOffset-n(e.scrollbarYRail).top,s=o>e.scrollbarYTop?1:-1;i(t,"top",t.scrollTop+s*e.containerHeight),l(t),r.stopPropagation()}),e.event.bind(e.scrollbarX,"click",r),e.event.bind(e.scrollbarXRail,"click",function(r){var o=r.pageX-window.pageXOffset-n(e.scrollbarXRail).left,s=o>e.scrollbarXLeft?1:-1;i(t,"left",t.scrollLeft+s*e.containerWidth),l(t),r.stopPropagation()})}var o=t("../instances"),l=t("../update-geometry"),i=t("../update-scroll");e.exports=function(t){var e=o.get(t);r(t,e)}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],11:[function(t,e,n){"use strict";function r(t,e){function n(n){var o=r+n*e.railXRatio,i=Math.max(0,e.scrollbarXRail.getBoundingClientRect().left)+e.railXRatio*(e.railXWidth-e.scrollbarXWidth);o<0?e.scrollbarXLeft=0:o>i?e.scrollbarXLeft=i:e.scrollbarXLeft=o;var s=l.toInt(e.scrollbarXLeft*(e.contentWidth-e.containerWidth)/(e.containerWidth-e.railXRatio*e.scrollbarXWidth))-e.negativeScrollAdjustment;c(t,"left",s)}var r=null,o=null,s=function(e){n(e.pageX-o),a(t),e.stopPropagation(),e.preventDefault()},u=function(){l.stopScrolling(t,"x"),e.event.unbind(e.ownerDocument,"mousemove",s)};e.event.bind(e.scrollbarX,"mousedown",function(n){o=n.pageX,r=l.toInt(i.css(e.scrollbarX,"left"))*e.railXRatio,l.startScrolling(t,"x"),e.event.bind(e.ownerDocument,"mousemove",s),e.event.once(e.ownerDocument,"mouseup",u),n.stopPropagation(),n.preventDefault()})}function o(t,e){function n(n){var o=r+n*e.railYRatio,i=Math.max(0,e.scrollbarYRail.getBoundingClientRect().top)+e.railYRatio*(e.railYHeight-e.scrollbarYHeight);o<0?e.scrollbarYTop=0:o>i?e.scrollbarYTop=i:e.scrollbarYTop=o;var s=l.toInt(e.scrollbarYTop*(e.contentHeight-e.containerHeight)/(e.containerHeight-e.railYRatio*e.scrollbarYHeight));c(t,"top",s)}var r=null,o=null,s=function(e){n(e.pageY-o),a(t),e.stopPropagation(),e.preventDefault()},u=function(){l.stopScrolling(t,"y"),e.event.unbind(e.ownerDocument,"mousemove",s)};e.event.bind(e.scrollbarY,"mousedown",function(n){o=n.pageY,r=l.toInt(i.css(e.scrollbarY,"top"))*e.railYRatio,l.startScrolling(t,"y"),e.event.bind(e.ownerDocument,"mousemove",s),e.event.once(e.ownerDocument,"mouseup",u),n.stopPropagation(),n.preventDefault()})}var l=t("../../lib/helper"),i=t("../../lib/dom"),s=t("../instances"),a=t("../update-geometry"),c=t("../update-scroll");e.exports=function(t){var e=s.get(t);r(t,e),o(t,e)}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],12:[function(t,e,n){"use strict";function r(t,e){function n(n,r){var o=t.scrollTop;if(0===n){if(!e.scrollbarYActive)return!1;if(0===o&&r>0||o>=e.contentHeight-e.containerHeight&&r<0)return!e.settings.wheelPropagation}var l=t.scrollLeft;if(0===r){if(!e.scrollbarXActive)return!1;if(0===l&&n<0||l>=e.contentWidth-e.containerWidth&&n>0)return!e.settings.wheelPropagation}return!0}var r=!1;e.event.bind(t,"mouseenter",function(){r=!0}),e.event.bind(t,"mouseleave",function(){r=!1});var i=!1;e.event.bind(e.ownerDocument,"keydown",function(c){if(!(c.isDefaultPrevented&&c.isDefaultPrevented()||c.defaultPrevented)){var u=l.matches(e.scrollbarX,":focus")||l.matches(e.scrollbarY,":focus");if(r||u){var d=document.activeElement?document.activeElement:e.ownerDocument.activeElement;if(d){if("IFRAME"===d.tagName)d=d.contentDocument.activeElement;else for(;d.shadowRoot;)d=d.shadowRoot.activeElement;if(o.isEditable(d))return}var p=0,f=0;switch(c.which){case 37:p=c.metaKey?-e.contentWidth:c.altKey?-e.containerWidth:-30;break;case 38:f=c.metaKey?e.contentHeight:c.altKey?e.containerHeight:30;break;case 39:p=c.metaKey?e.contentWidth:c.altKey?e.containerWidth:30;break;case 40:f=c.metaKey?-e.contentHeight:c.altKey?-e.containerHeight:-30;break;case 33:f=90;break;case 32:f=c.shiftKey?90:-90;break;case 34:f=-90;break;case 35:f=c.ctrlKey?-e.contentHeight:-e.containerHeight;break;case 36:f=c.ctrlKey?t.scrollTop:e.containerHeight;break;default:return}a(t,"top",t.scrollTop-f),a(t,"left",t.scrollLeft+p),s(t),i=n(p,f),i&&c.preventDefault()}}})}var o=t("../../lib/helper"),l=t("../../lib/dom"),i=t("../instances"),s=t("../update-geometry"),a=t("../update-scroll");e.exports=function(t){var e=i.get(t);r(t,e)}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],13:[function(t,e,n){"use strict";function r(t,e){function n(n,r){var o=t.scrollTop;if(0===n){if(!e.scrollbarYActive)return!1;if(0===o&&r>0||o>=e.contentHeight-e.containerHeight&&r<0)return!e.settings.wheelPropagation}var l=t.scrollLeft;if(0===r){if(!e.scrollbarXActive)return!1;if(0===l&&n<0||l>=e.contentWidth-e.containerWidth&&n>0)return!e.settings.wheelPropagation}return!0}function r(t){var e=t.deltaX,n=-1*t.deltaY;return"undefined"!=typeof e&&"undefined"!=typeof n||(e=-1*t.wheelDeltaX/6,n=t.wheelDeltaY/6),t.deltaMode&&1===t.deltaMode&&(e*=10,n*=10),e!==e&&n!==n&&(e=0,n=t.wheelDelta),t.shiftKey?[-n,-e]:[e,n]}function o(e,n){var r=t.querySelector("textarea:hover, select[multiple]:hover, .ps-child:hover");if(r){if(!window.getComputedStyle(r).overflow.match(/(scroll|auto)/))return!1;var o=r.scrollHeight-r.clientHeight;if(o>0&&!(0===r.scrollTop&&n>0||r.scrollTop===o&&n<0))return!0;var l=r.scrollLeft-r.clientWidth;if(l>0&&!(0===r.scrollLeft&&e<0||r.scrollLeft===l&&e>0))return!0}return!1}function s(s){var c=r(s),u=c[0],d=c[1];o(u,d)||(a=!1,e.settings.useBothWheelAxes?e.scrollbarYActive&&!e.scrollbarXActive?(d?i(t,"top",t.scrollTop-d*e.settings.wheelSpeed):i(t,"top",t.scrollTop+u*e.settings.wheelSpeed),a=!0):e.scrollbarXActive&&!e.scrollbarYActive&&(u?i(t,"left",t.scrollLeft+u*e.settings.wheelSpeed):i(t,"left",t.scrollLeft-d*e.settings.wheelSpeed),a=!0):(i(t,"top",t.scrollTop-d*e.settings.wheelSpeed),i(t,"left",t.scrollLeft+u*e.settings.wheelSpeed)),l(t),a=a||n(u,d),a&&(s.stopPropagation(),s.preventDefault()))}var a=!1;"undefined"!=typeof window.onwheel?e.event.bind(t,"wheel",s):"undefined"!=typeof window.onmousewheel&&e.event.bind(t,"mousewheel",s)}var o=t("../instances"),l=t("../update-geometry"),i=t("../update-scroll");e.exports=function(t){var e=o.get(t);r(t,e)}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],14:[function(t,e,n){"use strict";function r(t,e){e.event.bind(t,"scroll",function(){l(t)})}var o=t("../instances"),l=t("../update-geometry");e.exports=function(t){var e=o.get(t);r(t,e)}},{"../instances":18,"../update-geometry":19}],15:[function(t,e,n){"use strict";function r(t,e){function n(){var t=window.getSelection?window.getSelection():document.getSelection?document.getSelection():"";return 0===t.toString().length?null:t.getRangeAt(0).commonAncestorContainer}function r(){c||(c=setInterval(function(){return l.get(t)?(s(t,"top",t.scrollTop+u.top),s(t,"left",t.scrollLeft+u.left),void i(t)):void clearInterval(c)},50))}function a(){c&&(clearInterval(c),c=null),o.stopScrolling(t)}var c=null,u={top:0,left:0},d=!1;e.event.bind(e.ownerDocument,"selectionchange",function(){t.contains(n())?d=!0:(d=!1,a())}),e.event.bind(window,"mouseup",function(){d&&(d=!1,a())}),e.event.bind(window,"keyup",function(){d&&(d=!1,a())}),e.event.bind(window,"mousemove",function(e){if(d){var n={x:e.pageX,y:e.pageY},l={left:t.offsetLeft,right:t.offsetLeft+t.offsetWidth,top:t.offsetTop,bottom:t.offsetTop+t.offsetHeight};n.x<l.left+3?(u.left=-5,o.startScrolling(t,"x")):n.x>l.right-3?(u.left=5,o.startScrolling(t,"x")):u.left=0,n.y<l.top+3?(l.top+3-n.y<5?u.top=-5:u.top=-20,o.startScrolling(t,"y")):n.y>l.bottom-3?(n.y-l.bottom+3<5?u.top=5:u.top=20,o.startScrolling(t,"y")):u.top=0,0===u.top&&0===u.left?a():r()}})}var o=t("../../lib/helper"),l=t("../instances"),i=t("../update-geometry"),s=t("../update-scroll");e.exports=function(t){var e=l.get(t);r(t,e)}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],16:[function(t,e,n){"use strict";function r(t,e,n,r){function o(n,r){var o=t.scrollTop,l=t.scrollLeft,i=Math.abs(n),s=Math.abs(r);if(s>i){if(r<0&&o===e.contentHeight-e.containerHeight||r>0&&0===o)return!e.settings.swipePropagation}else if(i>s&&(n<0&&l===e.contentWidth-e.containerWidth||n>0&&0===l))return!e.settings.swipePropagation;return!0}function a(e,n){s(t,"top",t.scrollTop-n),s(t,"left",t.scrollLeft-e),i(t)}function c(){w=!0}function u(){w=!1}function d(t){return t.targetTouches?t.targetTouches[0]:t}function p(t){return!(!t.targetTouches||1!==t.targetTouches.length)||!(!t.pointerType||"mouse"===t.pointerType||t.pointerType===t.MSPOINTER_TYPE_MOUSE)}function f(t){if(p(t)){Y=!0;var e=d(t);g.pageX=e.pageX,g.pageY=e.pageY,v=(new Date).getTime(),null!==y&&clearInterval(y),t.stopPropagation()}}function h(t){if(!Y&&e.settings.swipePropagation&&f(t),!w&&Y&&p(t)){var n=d(t),r={pageX:n.pageX,pageY:n.pageY},l=r.pageX-g.pageX,i=r.pageY-g.pageY;a(l,i),g=r;var s=(new Date).getTime(),c=s-v;c>0&&(m.x=l/c,m.y=i/c,v=s),o(l,i)&&(t.stopPropagation(),t.preventDefault())}}function b(){!w&&Y&&(Y=!1,clearInterval(y),y=setInterval(function(){return l.get(t)&&(m.x||m.y)?Math.abs(m.x)<.01&&Math.abs(m.y)<.01?void clearInterval(y):(a(30*m.x,30*m.y),m.x*=.8,void(m.y*=.8)):void clearInterval(y)},10))}var g={},v=0,m={},y=null,w=!1,Y=!1;n&&(e.event.bind(window,"touchstart",c),e.event.bind(window,"touchend",u),e.event.bind(t,"touchstart",f),e.event.bind(t,"touchmove",h),e.event.bind(t,"touchend",b)),r&&(window.PointerEvent?(e.event.bind(window,"pointerdown",c),e.event.bind(window,"pointerup",u),e.event.bind(t,"pointerdown",f),e.event.bind(t,"pointermove",h),e.event.bind(t,"pointerup",b)):window.MSPointerEvent&&(e.event.bind(window,"MSPointerDown",c),e.event.bind(window,"MSPointerUp",u),e.event.bind(t,"MSPointerDown",f),e.event.bind(t,"MSPointerMove",h),e.event.bind(t,"MSPointerUp",b)))}var o=t("../../lib/helper"),l=t("../instances"),i=t("../update-geometry"),s=t("../update-scroll");e.exports=function(t){if(o.env.supportsTouch||o.env.supportsIePointer){var e=l.get(t);r(t,e,o.env.supportsTouch,o.env.supportsIePointer)}}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],17:[function(t,e,n){"use strict";var r=t("../lib/helper"),o=t("../lib/class"),l=t("./instances"),i=t("./update-geometry"),s={"click-rail":t("./handler/click-rail"),"drag-scrollbar":t("./handler/drag-scrollbar"),keyboard:t("./handler/keyboard"),wheel:t("./handler/mouse-wheel"),touch:t("./handler/touch"),selection:t("./handler/selection")},a=t("./handler/native-scroll");e.exports=function(t,e){e="object"==typeof e?e:{},o.add(t,"ps-container");var n=l.add(t);n.settings=r.extend(n.settings,e),o.add(t,"ps-theme-"+n.settings.theme),n.settings.handlers.forEach(function(e){s[e](t)}),a(t),i(t)}},{"../lib/class":2,"../lib/helper":6,"./handler/click-rail":10,"./handler/drag-scrollbar":11,"./handler/keyboard":12,"./handler/mouse-wheel":13,"./handler/native-scroll":14,"./handler/selection":15,"./handler/touch":16,"./instances":18,"./update-geometry":19}],18:[function(t,e,n){"use strict";function r(t){function e(){a.add(t,"ps-focus")}function n(){a.remove(t,"ps-focus")}var r=this;r.settings=s.clone(c),r.containerWidth=null,r.containerHeight=null,r.contentWidth=null,r.contentHeight=null,r.isRtl="rtl"===u.css(t,"direction"),r.isNegativeScroll=function(){var e=t.scrollLeft,n=null;return t.scrollLeft=-1,n=t.scrollLeft<0,t.scrollLeft=e,n}(),r.negativeScrollAdjustment=r.isNegativeScroll?t.scrollWidth-t.clientWidth:0,r.event=new d,r.ownerDocument=t.ownerDocument||document,r.scrollbarXRail=u.appendTo(u.e("div","ps-scrollbar-x-rail"),t),r.scrollbarX=u.appendTo(u.e("div","ps-scrollbar-x"),r.scrollbarXRail),r.scrollbarX.setAttribute("tabindex",0),r.event.bind(r.scrollbarX,"focus",e),r.event.bind(r.scrollbarX,"blur",n),r.scrollbarXActive=null,r.scrollbarXWidth=null,r.scrollbarXLeft=null,r.scrollbarXBottom=s.toInt(u.css(r.scrollbarXRail,"bottom")),r.isScrollbarXUsingBottom=r.scrollbarXBottom===r.scrollbarXBottom,r.scrollbarXTop=r.isScrollbarXUsingBottom?null:s.toInt(u.css(r.scrollbarXRail,"top")),r.railBorderXWidth=s.toInt(u.css(r.scrollbarXRail,"borderLeftWidth"))+s.toInt(u.css(r.scrollbarXRail,"borderRightWidth")),u.css(r.scrollbarXRail,"display","block"),r.railXMarginWidth=s.toInt(u.css(r.scrollbarXRail,"marginLeft"))+s.toInt(u.css(r.scrollbarXRail,"marginRight")),u.css(r.scrollbarXRail,"display",""),r.railXWidth=null,r.railXRatio=null,r.scrollbarYRail=u.appendTo(u.e("div","ps-scrollbar-y-rail"),t),r.scrollbarY=u.appendTo(u.e("div","ps-scrollbar-y"),r.scrollbarYRail),r.scrollbarY.setAttribute("tabindex",0),r.event.bind(r.scrollbarY,"focus",e),r.event.bind(r.scrollbarY,"blur",n),r.scrollbarYActive=null,r.scrollbarYHeight=null,r.scrollbarYTop=null,r.scrollbarYRight=s.toInt(u.css(r.scrollbarYRail,"right")),r.isScrollbarYUsingRight=r.scrollbarYRight===r.scrollbarYRight,r.scrollbarYLeft=r.isScrollbarYUsingRight?null:s.toInt(u.css(r.scrollbarYRail,"left")),r.scrollbarYOuterWidth=r.isRtl?s.outerWidth(r.scrollbarY):null,r.railBorderYWidth=s.toInt(u.css(r.scrollbarYRail,"borderTopWidth"))+s.toInt(u.css(r.scrollbarYRail,"borderBottomWidth")),u.css(r.scrollbarYRail,"display","block"),r.railYMarginHeight=s.toInt(u.css(r.scrollbarYRail,"marginTop"))+s.toInt(u.css(r.scrollbarYRail,"marginBottom")),u.css(r.scrollbarYRail,"display",""),r.railYHeight=null,r.railYRatio=null}function o(t){return t.getAttribute("data-ps-id")}function l(t,e){t.setAttribute("data-ps-id",e)}function i(t){t.removeAttribute("data-ps-id")}var s=t("../lib/helper"),a=t("../lib/class"),c=t("./default-setting"),u=t("../lib/dom"),d=t("../lib/event-manager"),p=t("../lib/guid"),f={};n.add=function(t){var e=p();return l(t,e),f[e]=new r(t),f[e]},n.remove=function(t){delete f[o(t)],i(t)},n.get=function(t){return f[o(t)]}},{"../lib/class":2,"../lib/dom":3,"../lib/event-manager":4,"../lib/guid":5,"../lib/helper":6,"./default-setting":8}],19:[function(t,e,n){"use strict";function r(t,e){return t.settings.minScrollbarLength&&(e=Math.max(e,t.settings.minScrollbarLength)),t.settings.maxScrollbarLength&&(e=Math.min(e,t.settings.maxScrollbarLength)),e}function o(t,e){var n={width:e.railXWidth};e.isRtl?n.left=e.negativeScrollAdjustment+t.scrollLeft+e.containerWidth-e.contentWidth:n.left=t.scrollLeft,e.isScrollbarXUsingBottom?n.bottom=e.scrollbarXBottom-t.scrollTop:n.top=e.scrollbarXTop+t.scrollTop,s.css(e.scrollbarXRail,n);var r={top:t.scrollTop,height:e.railYHeight};e.isScrollbarYUsingRight?e.isRtl?r.right=e.contentWidth-(e.negativeScrollAdjustment+t.scrollLeft)-e.scrollbarYRight-e.scrollbarYOuterWidth:r.right=e.scrollbarYRight-t.scrollLeft:e.isRtl?r.left=e.negativeScrollAdjustment+t.scrollLeft+2*e.containerWidth-e.contentWidth-e.scrollbarYLeft-e.scrollbarYOuterWidth:r.left=e.scrollbarYLeft+t.scrollLeft,s.css(e.scrollbarYRail,r),s.css(e.scrollbarX,{left:e.scrollbarXLeft,width:e.scrollbarXWidth-e.railBorderXWidth}),s.css(e.scrollbarY,{top:e.scrollbarYTop,height:e.scrollbarYHeight-e.railBorderYWidth})}var l=t("../lib/helper"),i=t("../lib/class"),s=t("../lib/dom"),a=t("./instances"),c=t("./update-scroll");e.exports=function(t){var e=a.get(t);e.containerWidth=t.clientWidth,e.containerHeight=t.clientHeight,e.contentWidth=t.scrollWidth,e.contentHeight=t.scrollHeight;var n;t.contains(e.scrollbarXRail)||(n=s.queryChildren(t,".ps-scrollbar-x-rail"),n.length>0&&n.forEach(function(t){s.remove(t)}),s.appendTo(e.scrollbarXRail,t)),t.contains(e.scrollbarYRail)||(n=s.queryChildren(t,".ps-scrollbar-y-rail"),n.length>0&&n.forEach(function(t){s.remove(t)}),s.appendTo(e.scrollbarYRail,t)),!e.settings.suppressScrollX&&e.containerWidth+e.settings.scrollXMarginOffset<e.contentWidth?(e.scrollbarXActive=!0,e.railXWidth=e.containerWidth-e.railXMarginWidth,e.railXRatio=e.containerWidth/e.railXWidth,e.scrollbarXWidth=r(e,l.toInt(e.railXWidth*e.containerWidth/e.contentWidth)),e.scrollbarXLeft=l.toInt((e.negativeScrollAdjustment+t.scrollLeft)*(e.railXWidth-e.scrollbarXWidth)/(e.contentWidth-e.containerWidth))):e.scrollbarXActive=!1,!e.settings.suppressScrollY&&e.containerHeight+e.settings.scrollYMarginOffset<e.contentHeight?(e.scrollbarYActive=!0,e.railYHeight=e.containerHeight-e.railYMarginHeight,e.railYRatio=e.containerHeight/e.railYHeight,e.scrollbarYHeight=r(e,l.toInt(e.railYHeight*e.containerHeight/e.contentHeight)),e.scrollbarYTop=l.toInt(t.scrollTop*(e.railYHeight-e.scrollbarYHeight)/(e.contentHeight-e.containerHeight))):e.scrollbarYActive=!1,e.scrollbarXLeft>=e.railXWidth-e.scrollbarXWidth&&(e.scrollbarXLeft=e.railXWidth-e.scrollbarXWidth),e.scrollbarYTop>=e.railYHeight-e.scrollbarYHeight&&(e.scrollbarYTop=e.railYHeight-e.scrollbarYHeight),o(t,e),e.scrollbarXActive?i.add(t,"ps-active-x"):(i.remove(t,"ps-active-x"),e.scrollbarXWidth=0,e.scrollbarXLeft=0,c(t,"left",0)),e.scrollbarYActive?i.add(t,"ps-active-y"):(i.remove(t,"ps-active-y"),e.scrollbarYHeight=0,e.scrollbarYTop=0,c(t,"top",0))}},{"../lib/class":2,"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-scroll":20}],20:[function(t,e,n){"use strict";var r,o,l=t("./instances"),i=function(t){var e=document.createEvent("Event");return e.initEvent(t,!0,!0),e};e.exports=function(t,e,n){if("undefined"==typeof t)throw"You must provide an element to the update-scroll function";if("undefined"==typeof e)throw"You must provide an axis to the update-scroll function";if("undefined"==typeof n)throw"You must provide a value to the update-scroll function";"top"===e&&n<=0&&(t.scrollTop=n=0,t.dispatchEvent(i("ps-y-reach-start"))),"left"===e&&n<=0&&(t.scrollLeft=n=0,t.dispatchEvent(i("ps-x-reach-start")));var s=l.get(t);"top"===e&&n>=s.contentHeight-s.containerHeight&&(n=s.contentHeight-s.containerHeight,n-t.scrollTop<=1?n=t.scrollTop:t.scrollTop=n,t.dispatchEvent(i("ps-y-reach-end"))),"left"===e&&n>=s.contentWidth-s.containerWidth&&(n=s.contentWidth-s.containerWidth,n-t.scrollLeft<=1?n=t.scrollLeft:t.scrollLeft=n,t.dispatchEvent(i("ps-x-reach-end"))),r||(r=t.scrollTop),o||(o=t.scrollLeft),"top"===e&&n<r&&t.dispatchEvent(i("ps-scroll-up")),"top"===e&&n>r&&t.dispatchEvent(i("ps-scroll-down")),"left"===e&&n<o&&t.dispatchEvent(i("ps-scroll-left")),"left"===e&&n>o&&t.dispatchEvent(i("ps-scroll-right")),"top"===e&&(t.scrollTop=r=n,t.dispatchEvent(i("ps-scroll-y"))),"left"===e&&(t.scrollLeft=o=n,t.dispatchEvent(i("ps-scroll-x")))}},{"./instances":18}],21:[function(t,e,n){"use strict";var r=t("../lib/helper"),o=t("../lib/dom"),l=t("./instances"),i=t("./update-geometry"),s=t("./update-scroll");e.exports=function(t){var e=l.get(t);e&&(e.negativeScrollAdjustment=e.isNegativeScroll?t.scrollWidth-t.clientWidth:0,o.css(e.scrollbarXRail,"display","block"),o.css(e.scrollbarYRail,"display","block"),e.railXMarginWidth=r.toInt(o.css(e.scrollbarXRail,"marginLeft"))+r.toInt(o.css(e.scrollbarXRail,"marginRight")),e.railYMarginHeight=r.toInt(o.css(e.scrollbarYRail,"marginTop"))+r.toInt(o.css(e.scrollbarYRail,"marginBottom")),o.css(e.scrollbarXRail,"display","none"),o.css(e.scrollbarYRail,"display","none"),i(t),s(t,"top",t.scrollTop),s(t,"left",t.scrollLeft),o.css(e.scrollbarXRail,"display",""),o.css(e.scrollbarYRail,"display",""))}},{"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-geometry":19,"./update-scroll":20}]},{},[1]);

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/js/perfect-scrollbar.min.js
=====================================================
/* perfect-scrollbar v0.6.13 */
!function t(e,n,r){function o(i,s){if(!n[i]){if(!e[i]){var a="function"==typeof require&&require;if(!s&&a)return a(i,!0);if(l)return l(i,!0);var c=new Error("Cannot find module '"+i+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[i]={exports:{}};e[i][0].call(u.exports,function(t){var n=e[i][1][t];return o(n?n:t)},u,u.exports,t,e,n,r)}return n[i].exports}for(var l="function"==typeof require&&require,i=0;i<r.length;i++)o(r[i]);return o}({1:[function(t,e,n){"use strict";var r=t("../main");"function"==typeof define&&define.amd?define(r):(window.PerfectScrollbar=r,"undefined"==typeof window.Ps&&(window.Ps=r))},{"../main":7}],2:[function(t,e,n){"use strict";function r(t,e){var n=t.className.split(" ");n.indexOf(e)<0&&n.push(e),t.className=n.join(" ")}function o(t,e){var n=t.className.split(" "),r=n.indexOf(e);r>=0&&n.splice(r,1),t.className=n.join(" ")}n.add=function(t,e){t.classList?t.classList.add(e):r(t,e)},n.remove=function(t,e){t.classList?t.classList.remove(e):o(t,e)},n.list=function(t){return t.classList?Array.prototype.slice.apply(t.classList):t.className.split(" ")}},{}],3:[function(t,e,n){"use strict";function r(t,e){return window.getComputedStyle(t)[e]}function o(t,e,n){return"number"==typeof n&&(n=n.toString()+"px"),t.style[e]=n,t}function l(t,e){for(var n in e){var r=e[n];"number"==typeof r&&(r=r.toString()+"px"),t.style[n]=r}return t}var i={};i.e=function(t,e){var n=document.createElement(t);return n.className=e,n},i.appendTo=function(t,e){return e.appendChild(t),t},i.css=function(t,e,n){return"object"==typeof e?l(t,e):"undefined"==typeof n?r(t,e):o(t,e,n)},i.matches=function(t,e){return"undefined"!=typeof t.matches?t.matches(e):"undefined"!=typeof t.matchesSelector?t.matchesSelector(e):"undefined"!=typeof t.webkitMatchesSelector?t.webkitMatchesSelector(e):"undefined"!=typeof t.mozMatchesSelector?t.mozMatchesSelector(e):"undefined"!=typeof t.msMatchesSelector?t.msMatchesSelector(e):void 0},i.remove=function(t){"undefined"!=typeof t.remove?t.remove():t.parentNode&&t.parentNode.removeChild(t)},i.queryChildren=function(t,e){return Array.prototype.filter.call(t.childNodes,function(t){return i.matches(t,e)})},e.exports=i},{}],4:[function(t,e,n){"use strict";var r=function(t){this.element=t,this.events={}};r.prototype.bind=function(t,e){"undefined"==typeof this.events[t]&&(this.events[t]=[]),this.events[t].push(e),this.element.addEventListener(t,e,!1)},r.prototype.unbind=function(t,e){var n="undefined"!=typeof e;this.events[t]=this.events[t].filter(function(r){return!(!n||r===e)||(this.element.removeEventListener(t,r,!1),!1)},this)},r.prototype.unbindAll=function(){for(var t in this.events)this.unbind(t)};var o=function(){this.eventElements=[]};o.prototype.eventElement=function(t){var e=this.eventElements.filter(function(e){return e.element===t})[0];return"undefined"==typeof e&&(e=new r(t),this.eventElements.push(e)),e},o.prototype.bind=function(t,e,n){this.eventElement(t).bind(e,n)},o.prototype.unbind=function(t,e,n){this.eventElement(t).unbind(e,n)},o.prototype.unbindAll=function(){for(var t=0;t<this.eventElements.length;t++)this.eventElements[t].unbindAll()},o.prototype.once=function(t,e,n){var r=this.eventElement(t),o=function(t){r.unbind(e,o),n(t)};r.bind(e,o)},e.exports=o},{}],5:[function(t,e,n){"use strict";e.exports=function(){function t(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return function(){return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()}}()},{}],6:[function(t,e,n){"use strict";var r=t("./class"),o=t("./dom"),l=n.toInt=function(t){return parseInt(t,10)||0},i=n.clone=function(t){if(t){if(t.constructor===Array)return t.map(i);if("object"==typeof t){var e={};for(var n in t)e[n]=i(t[n]);return e}return t}return null};n.extend=function(t,e){var n=i(t);for(var r in e)n[r]=i(e[r]);return n},n.isEditable=function(t){return o.matches(t,"input,[contenteditable]")||o.matches(t,"select,[contenteditable]")||o.matches(t,"textarea,[contenteditable]")||o.matches(t,"button,[contenteditable]")},n.removePsClasses=function(t){for(var e=r.list(t),n=0;n<e.length;n++){var o=e[n];0===o.indexOf("ps-")&&r.remove(t,o)}},n.outerWidth=function(t){return l(o.css(t,"width"))+l(o.css(t,"paddingLeft"))+l(o.css(t,"paddingRight"))+l(o.css(t,"borderLeftWidth"))+l(o.css(t,"borderRightWidth"))},n.startScrolling=function(t,e){r.add(t,"ps-in-scrolling"),"undefined"!=typeof e?r.add(t,"ps-"+e):(r.add(t,"ps-x"),r.add(t,"ps-y"))},n.stopScrolling=function(t,e){r.remove(t,"ps-in-scrolling"),"undefined"!=typeof e?r.remove(t,"ps-"+e):(r.remove(t,"ps-x"),r.remove(t,"ps-y"))},n.env={isWebKit:"WebkitAppearance"in document.documentElement.style,supportsTouch:"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch,supportsIePointer:null!==window.navigator.msMaxTouchPoints}},{"./class":2,"./dom":3}],7:[function(t,e,n){"use strict";var r=t("./plugin/destroy"),o=t("./plugin/initialize"),l=t("./plugin/update");e.exports={initialize:o,update:l,destroy:r}},{"./plugin/destroy":9,"./plugin/initialize":17,"./plugin/update":21}],8:[function(t,e,n){"use strict";e.exports={handlers:["click-rail","drag-scrollbar","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipePropagation:!0,useBothWheelAxes:!1,wheelPropagation:!1,wheelSpeed:1,theme:"default"}},{}],9:[function(t,e,n){"use strict";var r=t("../lib/helper"),o=t("../lib/dom"),l=t("./instances");e.exports=function(t){var e=l.get(t);e&&(e.event.unbindAll(),o.remove(e.scrollbarX),o.remove(e.scrollbarY),o.remove(e.scrollbarXRail),o.remove(e.scrollbarYRail),r.removePsClasses(t),l.remove(t))}},{"../lib/dom":3,"../lib/helper":6,"./instances":18}],10:[function(t,e,n){"use strict";function r(t,e){function n(t){return t.getBoundingClientRect()}var r=function(t){t.stopPropagation()};e.event.bind(e.scrollbarY,"click",r),e.event.bind(e.scrollbarYRail,"click",function(r){var o=r.pageY-window.pageYOffset-n(e.scrollbarYRail).top,s=o>e.scrollbarYTop?1:-1;i(t,"top",t.scrollTop+s*e.containerHeight),l(t),r.stopPropagation()}),e.event.bind(e.scrollbarX,"click",r),e.event.bind(e.scrollbarXRail,"click",function(r){var o=r.pageX-window.pageXOffset-n(e.scrollbarXRail).left,s=o>e.scrollbarXLeft?1:-1;i(t,"left",t.scrollLeft+s*e.containerWidth),l(t),r.stopPropagation()})}var o=t("../instances"),l=t("../update-geometry"),i=t("../update-scroll");e.exports=function(t){var e=o.get(t);r(t,e)}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],11:[function(t,e,n){"use strict";function r(t,e){function n(n){var o=r+n*e.railXRatio,i=Math.max(0,e.scrollbarXRail.getBoundingClientRect().left)+e.railXRatio*(e.railXWidth-e.scrollbarXWidth);o<0?e.scrollbarXLeft=0:o>i?e.scrollbarXLeft=i:e.scrollbarXLeft=o;var s=l.toInt(e.scrollbarXLeft*(e.contentWidth-e.containerWidth)/(e.containerWidth-e.railXRatio*e.scrollbarXWidth))-e.negativeScrollAdjustment;c(t,"left",s)}var r=null,o=null,s=function(e){n(e.pageX-o),a(t),e.stopPropagation(),e.preventDefault()},u=function(){l.stopScrolling(t,"x"),e.event.unbind(e.ownerDocument,"mousemove",s)};e.event.bind(e.scrollbarX,"mousedown",function(n){o=n.pageX,r=l.toInt(i.css(e.scrollbarX,"left"))*e.railXRatio,l.startScrolling(t,"x"),e.event.bind(e.ownerDocument,"mousemove",s),e.event.once(e.ownerDocument,"mouseup",u),n.stopPropagation(),n.preventDefault()})}function o(t,e){function n(n){var o=r+n*e.railYRatio,i=Math.max(0,e.scrollbarYRail.getBoundingClientRect().top)+e.railYRatio*(e.railYHeight-e.scrollbarYHeight);o<0?e.scrollbarYTop=0:o>i?e.scrollbarYTop=i:e.scrollbarYTop=o;var s=l.toInt(e.scrollbarYTop*(e.contentHeight-e.containerHeight)/(e.containerHeight-e.railYRatio*e.scrollbarYHeight));c(t,"top",s)}var r=null,o=null,s=function(e){n(e.pageY-o),a(t),e.stopPropagation(),e.preventDefault()},u=function(){l.stopScrolling(t,"y"),e.event.unbind(e.ownerDocument,"mousemove",s)};e.event.bind(e.scrollbarY,"mousedown",function(n){o=n.pageY,r=l.toInt(i.css(e.scrollbarY,"top"))*e.railYRatio,l.startScrolling(t,"y"),e.event.bind(e.ownerDocument,"mousemove",s),e.event.once(e.ownerDocument,"mouseup",u),n.stopPropagation(),n.preventDefault()})}var l=t("../../lib/helper"),i=t("../../lib/dom"),s=t("../instances"),a=t("../update-geometry"),c=t("../update-scroll");e.exports=function(t){var e=s.get(t);r(t,e),o(t,e)}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],12:[function(t,e,n){"use strict";function r(t,e){function n(n,r){var o=t.scrollTop;if(0===n){if(!e.scrollbarYActive)return!1;if(0===o&&r>0||o>=e.contentHeight-e.containerHeight&&r<0)return!e.settings.wheelPropagation}var l=t.scrollLeft;if(0===r){if(!e.scrollbarXActive)return!1;if(0===l&&n<0||l>=e.contentWidth-e.containerWidth&&n>0)return!e.settings.wheelPropagation}return!0}var r=!1;e.event.bind(t,"mouseenter",function(){r=!0}),e.event.bind(t,"mouseleave",function(){r=!1});var i=!1;e.event.bind(e.ownerDocument,"keydown",function(c){if(!(c.isDefaultPrevented&&c.isDefaultPrevented()||c.defaultPrevented)){var u=l.matches(e.scrollbarX,":focus")||l.matches(e.scrollbarY,":focus");if(r||u){var d=document.activeElement?document.activeElement:e.ownerDocument.activeElement;if(d){if("IFRAME"===d.tagName)d=d.contentDocument.activeElement;else for(;d.shadowRoot;)d=d.shadowRoot.activeElement;if(o.isEditable(d))return}var p=0,f=0;switch(c.which){case 37:p=c.metaKey?-e.contentWidth:c.altKey?-e.containerWidth:-30;break;case 38:f=c.metaKey?e.contentHeight:c.altKey?e.containerHeight:30;break;case 39:p=c.metaKey?e.contentWidth:c.altKey?e.containerWidth:30;break;case 40:f=c.metaKey?-e.contentHeight:c.altKey?-e.containerHeight:-30;break;case 33:f=90;break;case 32:f=c.shiftKey?90:-90;break;case 34:f=-90;break;case 35:f=c.ctrlKey?-e.contentHeight:-e.containerHeight;break;case 36:f=c.ctrlKey?t.scrollTop:e.containerHeight;break;default:return}a(t,"top",t.scrollTop-f),a(t,"left",t.scrollLeft+p),s(t),i=n(p,f),i&&c.preventDefault()}}})}var o=t("../../lib/helper"),l=t("../../lib/dom"),i=t("../instances"),s=t("../update-geometry"),a=t("../update-scroll");e.exports=function(t){var e=i.get(t);r(t,e)}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],13:[function(t,e,n){"use strict";function r(t,e){function n(n,r){var o=t.scrollTop;if(0===n){if(!e.scrollbarYActive)return!1;if(0===o&&r>0||o>=e.contentHeight-e.containerHeight&&r<0)return!e.settings.wheelPropagation}var l=t.scrollLeft;if(0===r){if(!e.scrollbarXActive)return!1;if(0===l&&n<0||l>=e.contentWidth-e.containerWidth&&n>0)return!e.settings.wheelPropagation}return!0}function r(t){var e=t.deltaX,n=-1*t.deltaY;return"undefined"!=typeof e&&"undefined"!=typeof n||(e=-1*t.wheelDeltaX/6,n=t.wheelDeltaY/6),t.deltaMode&&1===t.deltaMode&&(e*=10,n*=10),e!==e&&n!==n&&(e=0,n=t.wheelDelta),t.shiftKey?[-n,-e]:[e,n]}function o(e,n){var r=t.querySelector("textarea:hover, select[multiple]:hover, .ps-child:hover");if(r){if(!window.getComputedStyle(r).overflow.match(/(scroll|auto)/))return!1;var o=r.scrollHeight-r.clientHeight;if(o>0&&!(0===r.scrollTop&&n>0||r.scrollTop===o&&n<0))return!0;var l=r.scrollLeft-r.clientWidth;if(l>0&&!(0===r.scrollLeft&&e<0||r.scrollLeft===l&&e>0))return!0}return!1}function s(s){var c=r(s),u=c[0],d=c[1];o(u,d)||(a=!1,e.settings.useBothWheelAxes?e.scrollbarYActive&&!e.scrollbarXActive?(d?i(t,"top",t.scrollTop-d*e.settings.wheelSpeed):i(t,"top",t.scrollTop+u*e.settings.wheelSpeed),a=!0):e.scrollbarXActive&&!e.scrollbarYActive&&(u?i(t,"left",t.scrollLeft+u*e.settings.wheelSpeed):i(t,"left",t.scrollLeft-d*e.settings.wheelSpeed),a=!0):(i(t,"top",t.scrollTop-d*e.settings.wheelSpeed),i(t,"left",t.scrollLeft+u*e.settings.wheelSpeed)),l(t),a=a||n(u,d),a&&(s.stopPropagation(),s.preventDefault()))}var a=!1;"undefined"!=typeof window.onwheel?e.event.bind(t,"wheel",s):"undefined"!=typeof window.onmousewheel&&e.event.bind(t,"mousewheel",s)}var o=t("../instances"),l=t("../update-geometry"),i=t("../update-scroll");e.exports=function(t){var e=o.get(t);r(t,e)}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],14:[function(t,e,n){"use strict";function r(t,e){e.event.bind(t,"scroll",function(){l(t)})}var o=t("../instances"),l=t("../update-geometry");e.exports=function(t){var e=o.get(t);r(t,e)}},{"../instances":18,"../update-geometry":19}],15:[function(t,e,n){"use strict";function r(t,e){function n(){var t=window.getSelection?window.getSelection():document.getSelection?document.getSelection():"";return 0===t.toString().length?null:t.getRangeAt(0).commonAncestorContainer}function r(){c||(c=setInterval(function(){return l.get(t)?(s(t,"top",t.scrollTop+u.top),s(t,"left",t.scrollLeft+u.left),void i(t)):void clearInterval(c)},50))}function a(){c&&(clearInterval(c),c=null),o.stopScrolling(t)}var c=null,u={top:0,left:0},d=!1;e.event.bind(e.ownerDocument,"selectionchange",function(){t.contains(n())?d=!0:(d=!1,a())}),e.event.bind(window,"mouseup",function(){d&&(d=!1,a())}),e.event.bind(window,"keyup",function(){d&&(d=!1,a())}),e.event.bind(window,"mousemove",function(e){if(d){var n={x:e.pageX,y:e.pageY},l={left:t.offsetLeft,right:t.offsetLeft+t.offsetWidth,top:t.offsetTop,bottom:t.offsetTop+t.offsetHeight};n.x<l.left+3?(u.left=-5,o.startScrolling(t,"x")):n.x>l.right-3?(u.left=5,o.startScrolling(t,"x")):u.left=0,n.y<l.top+3?(l.top+3-n.y<5?u.top=-5:u.top=-20,o.startScrolling(t,"y")):n.y>l.bottom-3?(n.y-l.bottom+3<5?u.top=5:u.top=20,o.startScrolling(t,"y")):u.top=0,0===u.top&&0===u.left?a():r()}})}var o=t("../../lib/helper"),l=t("../instances"),i=t("../update-geometry"),s=t("../update-scroll");e.exports=function(t){var e=l.get(t);r(t,e)}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],16:[function(t,e,n){"use strict";function r(t,e,n,r){function o(n,r){var o=t.scrollTop,l=t.scrollLeft,i=Math.abs(n),s=Math.abs(r);if(s>i){if(r<0&&o===e.contentHeight-e.containerHeight||r>0&&0===o)return!e.settings.swipePropagation}else if(i>s&&(n<0&&l===e.contentWidth-e.containerWidth||n>0&&0===l))return!e.settings.swipePropagation;return!0}function a(e,n){s(t,"top",t.scrollTop-n),s(t,"left",t.scrollLeft-e),i(t)}function c(){w=!0}function u(){w=!1}function d(t){return t.targetTouches?t.targetTouches[0]:t}function p(t){return!(!t.targetTouches||1!==t.targetTouches.length)||!(!t.pointerType||"mouse"===t.pointerType||t.pointerType===t.MSPOINTER_TYPE_MOUSE)}function f(t){if(p(t)){Y=!0;var e=d(t);g.pageX=e.pageX,g.pageY=e.pageY,v=(new Date).getTime(),null!==y&&clearInterval(y),t.stopPropagation()}}function h(t){if(!Y&&e.settings.swipePropagation&&f(t),!w&&Y&&p(t)){var n=d(t),r={pageX:n.pageX,pageY:n.pageY},l=r.pageX-g.pageX,i=r.pageY-g.pageY;a(l,i),g=r;var s=(new Date).getTime(),c=s-v;c>0&&(m.x=l/c,m.y=i/c,v=s),o(l,i)&&(t.stopPropagation(),t.preventDefault())}}function b(){!w&&Y&&(Y=!1,clearInterval(y),y=setInterval(function(){return l.get(t)&&(m.x||m.y)?Math.abs(m.x)<.01&&Math.abs(m.y)<.01?void clearInterval(y):(a(30*m.x,30*m.y),m.x*=.8,void(m.y*=.8)):void clearInterval(y)},10))}var g={},v=0,m={},y=null,w=!1,Y=!1;n&&(e.event.bind(window,"touchstart",c),e.event.bind(window,"touchend",u),e.event.bind(t,"touchstart",f),e.event.bind(t,"touchmove",h),e.event.bind(t,"touchend",b)),r&&(window.PointerEvent?(e.event.bind(window,"pointerdown",c),e.event.bind(window,"pointerup",u),e.event.bind(t,"pointerdown",f),e.event.bind(t,"pointermove",h),e.event.bind(t,"pointerup",b)):window.MSPointerEvent&&(e.event.bind(window,"MSPointerDown",c),e.event.bind(window,"MSPointerUp",u),e.event.bind(t,"MSPointerDown",f),e.event.bind(t,"MSPointerMove",h),e.event.bind(t,"MSPointerUp",b)))}var o=t("../../lib/helper"),l=t("../instances"),i=t("../update-geometry"),s=t("../update-scroll");e.exports=function(t){if(o.env.supportsTouch||o.env.supportsIePointer){var e=l.get(t);r(t,e,o.env.supportsTouch,o.env.supportsIePointer)}}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],17:[function(t,e,n){"use strict";var r=t("../lib/helper"),o=t("../lib/class"),l=t("./instances"),i=t("./update-geometry"),s={"click-rail":t("./handler/click-rail"),"drag-scrollbar":t("./handler/drag-scrollbar"),keyboard:t("./handler/keyboard"),wheel:t("./handler/mouse-wheel"),touch:t("./handler/touch"),selection:t("./handler/selection")},a=t("./handler/native-scroll");e.exports=function(t,e){e="object"==typeof e?e:{},o.add(t,"ps-container");var n=l.add(t);n.settings=r.extend(n.settings,e),o.add(t,"ps-theme-"+n.settings.theme),n.settings.handlers.forEach(function(e){s[e](t)}),a(t),i(t)}},{"../lib/class":2,"../lib/helper":6,"./handler/click-rail":10,"./handler/drag-scrollbar":11,"./handler/keyboard":12,"./handler/mouse-wheel":13,"./handler/native-scroll":14,"./handler/selection":15,"./handler/touch":16,"./instances":18,"./update-geometry":19}],18:[function(t,e,n){"use strict";function r(t){function e(){a.add(t,"ps-focus")}function n(){a.remove(t,"ps-focus")}var r=this;r.settings=s.clone(c),r.containerWidth=null,r.containerHeight=null,r.contentWidth=null,r.contentHeight=null,r.isRtl="rtl"===u.css(t,"direction"),r.isNegativeScroll=function(){var e=t.scrollLeft,n=null;return t.scrollLeft=-1,n=t.scrollLeft<0,t.scrollLeft=e,n}(),r.negativeScrollAdjustment=r.isNegativeScroll?t.scrollWidth-t.clientWidth:0,r.event=new d,r.ownerDocument=t.ownerDocument||document,r.scrollbarXRail=u.appendTo(u.e("div","ps-scrollbar-x-rail"),t),r.scrollbarX=u.appendTo(u.e("div","ps-scrollbar-x"),r.scrollbarXRail),r.scrollbarX.setAttribute("tabindex",0),r.event.bind(r.scrollbarX,"focus",e),r.event.bind(r.scrollbarX,"blur",n),r.scrollbarXActive=null,r.scrollbarXWidth=null,r.scrollbarXLeft=null,r.scrollbarXBottom=s.toInt(u.css(r.scrollbarXRail,"bottom")),r.isScrollbarXUsingBottom=r.scrollbarXBottom===r.scrollbarXBottom,r.scrollbarXTop=r.isScrollbarXUsingBottom?null:s.toInt(u.css(r.scrollbarXRail,"top")),r.railBorderXWidth=s.toInt(u.css(r.scrollbarXRail,"borderLeftWidth"))+s.toInt(u.css(r.scrollbarXRail,"borderRightWidth")),u.css(r.scrollbarXRail,"display","block"),r.railXMarginWidth=s.toInt(u.css(r.scrollbarXRail,"marginLeft"))+s.toInt(u.css(r.scrollbarXRail,"marginRight")),u.css(r.scrollbarXRail,"display",""),r.railXWidth=null,r.railXRatio=null,r.scrollbarYRail=u.appendTo(u.e("div","ps-scrollbar-y-rail"),t),r.scrollbarY=u.appendTo(u.e("div","ps-scrollbar-y"),r.scrollbarYRail),r.scrollbarY.setAttribute("tabindex",0),r.event.bind(r.scrollbarY,"focus",e),r.event.bind(r.scrollbarY,"blur",n),r.scrollbarYActive=null,r.scrollbarYHeight=null,r.scrollbarYTop=null,r.scrollbarYRight=s.toInt(u.css(r.scrollbarYRail,"right")),r.isScrollbarYUsingRight=r.scrollbarYRight===r.scrollbarYRight,r.scrollbarYLeft=r.isScrollbarYUsingRight?null:s.toInt(u.css(r.scrollbarYRail,"left")),r.scrollbarYOuterWidth=r.isRtl?s.outerWidth(r.scrollbarY):null,r.railBorderYWidth=s.toInt(u.css(r.scrollbarYRail,"borderTopWidth"))+s.toInt(u.css(r.scrollbarYRail,"borderBottomWidth")),u.css(r.scrollbarYRail,"display","block"),r.railYMarginHeight=s.toInt(u.css(r.scrollbarYRail,"marginTop"))+s.toInt(u.css(r.scrollbarYRail,"marginBottom")),u.css(r.scrollbarYRail,"display",""),r.railYHeight=null,r.railYRatio=null}function o(t){return t.getAttribute("data-ps-id")}function l(t,e){t.setAttribute("data-ps-id",e)}function i(t){t.removeAttribute("data-ps-id")}var s=t("../lib/helper"),a=t("../lib/class"),c=t("./default-setting"),u=t("../lib/dom"),d=t("../lib/event-manager"),p=t("../lib/guid"),f={};n.add=function(t){var e=p();return l(t,e),f[e]=new r(t),f[e]},n.remove=function(t){delete f[o(t)],i(t)},n.get=function(t){return f[o(t)]}},{"../lib/class":2,"../lib/dom":3,"../lib/event-manager":4,"../lib/guid":5,"../lib/helper":6,"./default-setting":8}],19:[function(t,e,n){"use strict";function r(t,e){return t.settings.minScrollbarLength&&(e=Math.max(e,t.settings.minScrollbarLength)),t.settings.maxScrollbarLength&&(e=Math.min(e,t.settings.maxScrollbarLength)),e}function o(t,e){var n={width:e.railXWidth};e.isRtl?n.left=e.negativeScrollAdjustment+t.scrollLeft+e.containerWidth-e.contentWidth:n.left=t.scrollLeft,e.isScrollbarXUsingBottom?n.bottom=e.scrollbarXBottom-t.scrollTop:n.top=e.scrollbarXTop+t.scrollTop,s.css(e.scrollbarXRail,n);var r={top:t.scrollTop,height:e.railYHeight};e.isScrollbarYUsingRight?e.isRtl?r.right=e.contentWidth-(e.negativeScrollAdjustment+t.scrollLeft)-e.scrollbarYRight-e.scrollbarYOuterWidth:r.right=e.scrollbarYRight-t.scrollLeft:e.isRtl?r.left=e.negativeScrollAdjustment+t.scrollLeft+2*e.containerWidth-e.contentWidth-e.scrollbarYLeft-e.scrollbarYOuterWidth:r.left=e.scrollbarYLeft+t.scrollLeft,s.css(e.scrollbarYRail,r),s.css(e.scrollbarX,{left:e.scrollbarXLeft,width:e.scrollbarXWidth-e.railBorderXWidth}),s.css(e.scrollbarY,{top:e.scrollbarYTop,height:e.scrollbarYHeight-e.railBorderYWidth})}var l=t("../lib/helper"),i=t("../lib/class"),s=t("../lib/dom"),a=t("./instances"),c=t("./update-scroll");e.exports=function(t){var e=a.get(t);e.containerWidth=t.clientWidth,e.containerHeight=t.clientHeight,e.contentWidth=t.scrollWidth,e.contentHeight=t.scrollHeight;var n;t.contains(e.scrollbarXRail)||(n=s.queryChildren(t,".ps-scrollbar-x-rail"),n.length>0&&n.forEach(function(t){s.remove(t)}),s.appendTo(e.scrollbarXRail,t)),t.contains(e.scrollbarYRail)||(n=s.queryChildren(t,".ps-scrollbar-y-rail"),n.length>0&&n.forEach(function(t){s.remove(t)}),s.appendTo(e.scrollbarYRail,t)),!e.settings.suppressScrollX&&e.containerWidth+e.settings.scrollXMarginOffset<e.contentWidth?(e.scrollbarXActive=!0,e.railXWidth=e.containerWidth-e.railXMarginWidth,e.railXRatio=e.containerWidth/e.railXWidth,e.scrollbarXWidth=r(e,l.toInt(e.railXWidth*e.containerWidth/e.contentWidth)),e.scrollbarXLeft=l.toInt((e.negativeScrollAdjustment+t.scrollLeft)*(e.railXWidth-e.scrollbarXWidth)/(e.contentWidth-e.containerWidth))):e.scrollbarXActive=!1,!e.settings.suppressScrollY&&e.containerHeight+e.settings.scrollYMarginOffset<e.contentHeight?(e.scrollbarYActive=!0,e.railYHeight=e.containerHeight-e.railYMarginHeight,e.railYRatio=e.containerHeight/e.railYHeight,e.scrollbarYHeight=r(e,l.toInt(e.railYHeight*e.containerHeight/e.contentHeight)),e.scrollbarYTop=l.toInt(t.scrollTop*(e.railYHeight-e.scrollbarYHeight)/(e.contentHeight-e.containerHeight))):e.scrollbarYActive=!1,e.scrollbarXLeft>=e.railXWidth-e.scrollbarXWidth&&(e.scrollbarXLeft=e.railXWidth-e.scrollbarXWidth),e.scrollbarYTop>=e.railYHeight-e.scrollbarYHeight&&(e.scrollbarYTop=e.railYHeight-e.scrollbarYHeight),o(t,e),e.scrollbarXActive?i.add(t,"ps-active-x"):(i.remove(t,"ps-active-x"),e.scrollbarXWidth=0,e.scrollbarXLeft=0,c(t,"left",0)),e.scrollbarYActive?i.add(t,"ps-active-y"):(i.remove(t,"ps-active-y"),e.scrollbarYHeight=0,e.scrollbarYTop=0,c(t,"top",0))}},{"../lib/class":2,"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-scroll":20}],20:[function(t,e,n){"use strict";var r,o,l=t("./instances"),i=function(t){var e=document.createEvent("Event");return e.initEvent(t,!0,!0),e};e.exports=function(t,e,n){if("undefined"==typeof t)throw"You must provide an element to the update-scroll function";if("undefined"==typeof e)throw"You must provide an axis to the update-scroll function";if("undefined"==typeof n)throw"You must provide a value to the update-scroll function";"top"===e&&n<=0&&(t.scrollTop=n=0,t.dispatchEvent(i("ps-y-reach-start"))),"left"===e&&n<=0&&(t.scrollLeft=n=0,t.dispatchEvent(i("ps-x-reach-start")));var s=l.get(t);"top"===e&&n>=s.contentHeight-s.containerHeight&&(n=s.contentHeight-s.containerHeight,n-t.scrollTop<=1?n=t.scrollTop:t.scrollTop=n,t.dispatchEvent(i("ps-y-reach-end"))),"left"===e&&n>=s.contentWidth-s.containerWidth&&(n=s.contentWidth-s.containerWidth,n-t.scrollLeft<=1?n=t.scrollLeft:t.scrollLeft=n,t.dispatchEvent(i("ps-x-reach-end"))),r||(r=t.scrollTop),o||(o=t.scrollLeft),"top"===e&&n<r&&t.dispatchEvent(i("ps-scroll-up")),"top"===e&&n>r&&t.dispatchEvent(i("ps-scroll-down")),"left"===e&&n<o&&t.dispatchEvent(i("ps-scroll-left")),"left"===e&&n>o&&t.dispatchEvent(i("ps-scroll-right")),"top"===e&&(t.scrollTop=r=n,t.dispatchEvent(i("ps-scroll-y"))),"left"===e&&(t.scrollLeft=o=n,t.dispatchEvent(i("ps-scroll-x")))}},{"./instances":18}],21:[function(t,e,n){"use strict";var r=t("../lib/helper"),o=t("../lib/dom"),l=t("./instances"),i=t("./update-geometry"),s=t("./update-scroll");e.exports=function(t){var e=l.get(t);e&&(e.negativeScrollAdjustment=e.isNegativeScroll?t.scrollWidth-t.clientWidth:0,o.css(e.scrollbarXRail,"display","block"),o.css(e.scrollbarYRail,"display","block"),e.railXMarginWidth=r.toInt(o.css(e.scrollbarXRail,"marginLeft"))+r.toInt(o.css(e.scrollbarXRail,"marginRight")),e.railYMarginHeight=r.toInt(o.css(e.scrollbarYRail,"marginTop"))+r.toInt(o.css(e.scrollbarYRail,"marginBottom")),o.css(e.scrollbarXRail,"display","none"),o.css(e.scrollbarYRail,"display","none"),i(t),s(t,"top",t.scrollTop),s(t,"left",t.scrollLeft),o.css(e.scrollbarXRail,"display",""),o.css(e.scrollbarYRail,"display",""))}},{"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-geometry":19,"./update-scroll":20}]},{},[1]);

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/js/jquery.sticky.js
=====================================================
// Sticky Plugin v1.0.4 for jQuery
// =============
// Author: Anthony Garand
// Improvements by German M. Bravo (Kronuz) and Ruud Kamphuis (ruudk)
// Improvements by Leonardo C. Daronco (daronco)
// Created: 02/14/2011
// Date: 07/20/2015
// Website: http://stickyjs.com/
// Description: Makes an element on the page stick on the screen as you scroll
//              It will only set the 'top' and 'position' of your element, you
//              might need to adjust the width in some cases.

(function (factory) {
    if (typeof define === 'function' && define.amd) {
        // AMD. Register as an anonymous module.
        define(['jquery'], factory);
    } else if (typeof module === 'object' && module.exports) {
        // Node/CommonJS
        module.exports = factory(require('jquery'));
    } else {
        // Browser globals
        factory(jQuery);
    }
}(function ($) {
    var slice = Array.prototype.slice; // save ref to original slice()
    var splice = Array.prototype.splice; // save ref to original slice()

  var defaults = {
      topSpacing: 0,
      bottomSpacing: 0,
      className: 'is-sticky',
      wrapperClassName: 'sticky-wrapper',
      center: false,
      getWidthFrom: '',
      widthFromWrapper: true, // works only when .getWidthFrom is empty
      responsiveWidth: false,
      zIndex: 'inherit'
    },
    $window = $(window),
    $document = $(document),
    $TableOfContents = $('#TableOfContents'),
    sticked = [],
    windowHeight = $window.height(),
    scroller = function() {
      var scrollTop = $window.scrollTop(),
        documentHeight = $document.height(),
        dwh = documentHeight - windowHeight,
        extra = (scrollTop > dwh) ? dwh - scrollTop : 0;

      for (var i = 0, l = sticked.length; i < l; i++) {

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/js/modernizr.custom.71422.js
=====================================================
/* Modernizr 2.7.1 (Custom Build) | MIT & BSD
 * Build: http://modernizr.com/download/#-csstransforms3d-shiv-cssclasses-teststyles-testprop-testallprops-prefixes-domprefixes-load
 */
;window.Modernizr=function(a,b,c){function z(a){j.cssText=a}function A(a,b){return z(m.join(a+";")+(b||""))}function B(a,b){return typeof a===b}function C(a,b){return!!~(""+a).indexOf(b)}function D(a,b){for(var d in a){var e=a[d];if(!C(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function E(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:B(f,"function")?f.bind(d||b):f}return!1}function F(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o.join(d+" ")+d).split(" ");return B(b,"string")||B(b,"undefined")?D(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),E(e,b,c))}var d="2.7.1",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m=" -webkit- -moz- -o- -ms- ".split(" "),n="Webkit Moz O ms",o=n.split(" "),p=n.toLowerCase().split(" "),q={},r={},s={},t=[],u=t.slice,v,w=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["&#173;",'<style id="s',h,'">',a,"</style>"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},x={}.hasOwnProperty,y;!B(x,"undefined")&&!B(x.call,"undefined")?y=function(a,b){return x.call(a,b)}:y=function(a,b){return b in a&&B(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=u.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(u.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(u.call(arguments)))};return e}),q.csstransforms3d=function(){var a=!!F("perspective");return a&&"webkitPerspective"in g.style&&w("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a};for(var G in q)y(q,G)&&(v=G.toLowerCase(),e[v]=q[G](),t.push((e[v]?"":"no-")+v));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)y(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},z(""),i=k=null,function(a,b){function l(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function m(){var a=s.elements;return typeof a=="string"?a.split(" "):a}function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));var g;return d.cache[a]?g=d.cache[a].cloneNode():f.test(a)?g=(d.cache[a]=d.createElem(a)).cloneNode():g=d.createElem(a),g.canHaveChildren&&!e.test(a)&&!g.tagUrn?d.frag.appendChild(g):g}function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a);var d=c.frag.cloneNode(),e=0,f=m(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function q(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return s.shivMethods?o(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(s,b.frag)}function r(a){a||(a=b);var c=n(a);return s.shivCSS&&!g&&!c.hasCSS&&(c.hasCSS=!!l(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),k||q(a,c),a}var c="3.7.0",d=a.html5||{},e=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,f=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,g,h="_html5shiv",i=0,j={},k;(function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",g="hidden"in a,k=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){g=!0,k=!0}})();var s={elements:d.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:c,shivCSS:d.shivCSS!==!1,supportsUnknownElements:k,shivMethods:d.shivMethods!==!1,type:"default",shivDocument:r,createElement:o,createDocumentFragment:p};a.html5=s,r(b)}(this,b),e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.testProp=function(a){return D([a])},e.testAllProps=F,e.testStyles=w,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+t.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/js/featherlight.min.js
=====================================================
/**
 * Featherlight - ultra slim jQuery lightbox
 * Version 1.2.3 - http://noelboss.github.io/featherlight/
 *
 * Copyright 2015, Noël Raoul Bossart (http://www.noelboss.com)
 * MIT Licensed.
**/
!function(a){"use strict";function b(a,c){if(!(this instanceof b)){var d=new b(a,c);return d.open(),d}this.id=b.id++,this.setup(a,c),this.chainCallbacks(b._callbackChain)}if("undefined"==typeof a)return void("console"in window&&window.console.info("Too much lightness, Featherlight needs jQuery."));var c=[],d=function(b){return c=a.grep(c,function(a){return a!==b&&a.$instance.closest("body").length>0})},e=function(a,b){var c={},d=new RegExp("^"+b+"([A-Z])(.*)");for(var e in a){var f=e.match(d);if(f){var g=(f[1]+f[2].replace(/([A-Z])/g,"-$1")).toLowerCase();c[g]=a[e]}}return c},f={keyup:"onKeyUp",resize:"onResize"},g=function(c){a.each(b.opened().reverse(),function(){return c.isDefaultPrevented()||!1!==this[f[c.type]](c)?void 0:(c.preventDefault(),c.stopPropagation(),!1)})},h=function(c){if(c!==b._globalHandlerInstalled){b._globalHandlerInstalled=c;var d=a.map(f,function(a,c){return c+"."+b.prototype.namespace}).join(" ");a(window)[c?"on":"off"](d,g)}};b.prototype={constructor:b,namespace:"featherlight",targetAttr:"data-featherlight",variant:null,resetCss:!1,background:null,openTrigger:"click",closeTrigger:"click",filter:null,root:"body",openSpeed:250,closeSpeed:250,closeOnClick:"background",closeOnEsc:!0,closeIcon:"&#10005;",loading:"",otherClose:null,beforeOpen:a.noop,beforeContent:a.noop,beforeClose:a.noop,afterOpen:a.noop,afterContent:a.noop,afterClose:a.noop,onKeyUp:a.noop,onResize:a.noop,type:null,contentFilters:["jquery","image","html","ajax","iframe","text"],setup:function(b,c){"object"!=typeof b||b instanceof a!=!1||c||(c=b,b=void 0);var d=a.extend(this,c,{target:b}),e=d.resetCss?d.namespace+"-reset":d.namespace,f=a(d.background||['<div class="'+e+"-loading "+e+'">','<div class="'+e+'-content">','<span class="'+e+"-close-icon "+d.namespace+'-close">',d.closeIcon,"</span>",'<div class="'+d.namespace+'-inner">'+d.loading+"</div>","</div>","</div>"].join("")),g="."+d.namespace+"-close"+(d.otherClose?","+d.otherClose:"");return d.$instance=f.clone().addClass(d.variant),d.$instance.on(d.closeTrigger+"."+d.namespace,function(b){var c=a(b.target);("background"===d.closeOnClick&&c.is("."+d.namespace)||"anywhere"===d.closeOnClick||c.closest(g).length)&&(b.preventDefault(),d.close())}),this},getContent:function(){var b=this,c=this.constructor.contentFilters,d=function(a){return b.$currentTarget&&b.$currentTarget.attr(a)},e=d(b.targetAttr),f=b.target||e||"",g=c[b.type];if(!g&&f in c&&(g=c[f],f=b.target&&e),f=f||d("href")||"",!g)for(var h in c)b[h]&&(g=c[h],f=b[h]);if(!g){var i=f;if(f=null,a.each(b.contentFilters,function(){return g=c[this],g.test&&(f=g.test(i)),!f&&g.regex&&i.match&&i.match(g.regex)&&(f=i),!f}),!f)return"console"in window&&window.console.error("Featherlight: no content filter found "+(i?' for "'+i+'"':" (no target specified)")),!1}return g.process.call(b,f)},setContent:function(b){var c=this;return(b.is("iframe")||a("iframe",b).length>0)&&c.$instance.addClass(c.namespace+"-iframe"),c.$instance.removeClass(c.namespace+"-loading"),c.$instance.find("."+c.namespace+"-inner").slice(1).remove().end().replaceWith(a.contains(c.$instance[0],b[0])?"":b),c.$content=b.addClass(c.namespace+"-inner"),c},open:function(b){var d=this;if(d.$instance.hide().appendTo(d.root),!(b&&b.isDefaultPrevented()||d.beforeOpen(b)===!1)){b&&b.preventDefault();var e=d.getContent();if(e)return c.push(d),h(!0),d.$instance.fadeIn(d.openSpeed),d.beforeContent(b),a.when(e).always(function(a){d.setContent(a),d.afterContent(b)}).then(d.$instance.promise()).done(function(){d.afterOpen(b)})}return d.$instance.detach(),a.Deferred().reject().promise()},close:function(b){var c=this,e=a.Deferred();return c.beforeClose(b)===!1?e.reject():(0===d(c).length&&h(!1),c.$instance.fadeOut(c.closeSpeed,function(){c.$instance.detach(),c.afterClose(b),e.resolve()})),e.promise()},chainCallbacks:function(b){for(var c in b)this[c]=a.proxy(b[c],this,a.proxy(this[c],this))}},a.extend(b,{id:0,autoBind:"[data-featherlight]",defaults:b.prototype,contentFilters:{jquery:{regex:/^[#.]\w/,test:function(b){return b instanceof a&&b},process:function(b){return a(b).clone(!0)}},image:{regex:/\.(png|jpg|jpeg|gif|tiff|bmp)(\?\S*)?$/i,process:function(b){var c=this,d=a.Deferred(),e=new Image,f=a('<img src="'+b+'" alt="" class="'+c.namespace+'-image" />');return e.onload=function(){f.naturalWidth=e.width,f.naturalHeight=e.height,d.resolve(f)},e.onerror=function(){d.reject(f)},e.src=b,d.promise()}},html:{regex:/^\s*<[\w!][^<]*>/,process:function(b){return a(b)}},ajax:{regex:/./,process:function(b){var c=a.Deferred(),d=a("<div></div>").load(b,function(a,b){"error"!==b&&c.resolve(d.contents()),c.fail()});return c.promise()}},iframe:{process:function(b){var c=new a.Deferred,d=a("<iframe/>").hide().attr("src",b).css(e(this,"iframe")).on("load",function(){c.resolve(d.show())}).appendTo(this.$instance.find("."+this.namespace+"-content"));return c.promise()}},text:{process:function(b){return a("<div>",{text:b})}}},functionAttributes:["beforeOpen","afterOpen","beforeContent","afterContent","beforeClose","afterClose"],readElementConfig:function(b,c){var d=this,e=new RegExp("^data-"+c+"-(.*)"),f={};return b&&b.attributes&&a.each(b.attributes,function(){var b=this.name.match(e);if(b){var c=this.value,g=a.camelCase(b[1]);if(a.inArray(g,d.functionAttributes)>=0)c=new Function(c);else try{c=a.parseJSON(c)}catch(h){}f[g]=c}}),f},extend:function(b,c){var d=function(){this.constructor=b};return d.prototype=this.prototype,b.prototype=new d,b.__super__=this.prototype,a.extend(b,this,c),b.defaults=b.prototype,b},attach:function(b,c,d){var e=this;"object"!=typeof c||c instanceof a!=!1||d||(d=c,c=void 0),d=a.extend({},d);var f=d.namespace||e.defaults.namespace,g=a.extend({},e.defaults,e.readElementConfig(b[0],f),d);return b.on(g.openTrigger+"."+g.namespace,g.filter,function(f){var h=a.extend({$source:b,$currentTarget:a(this)},e.readElementConfig(b[0],g.namespace),e.readElementConfig(this,g.namespace),d);new e(c,h).open(f)}),b},current:function(){var a=this.opened();return a[a.length-1]||null},opened:function(){var b=this;return d(),a.grep(c,function(a){return a instanceof b})},close:function(){var a=this.current();return a?a.close():void 0},_onReady:function(){var b=this;b.autoBind&&(b.attach(a(document),{filter:b.autoBind}),a(b.autoBind).filter("[data-featherlight-filter]").each(function(){b.attach(a(this))}))},_callbackChain:{onKeyUp:function(a,b){return 27===b.keyCode?(this.closeOnEsc&&this.$instance.find("."+this.namespace+"-close:first").click(),!1):a(b)},onResize:function(a,b){if(this.$content.naturalWidth){var c=this.$content.naturalWidth,d=this.$content.naturalHeight;this.$content.css("width","").css("height","");var e=Math.max(c/parseInt(this.$content.parent().css("width"),10),d/parseInt(this.$content.parent().css("height"),10));e>1&&this.$content.css("width",""+c/e+"px").css("height",""+d/e+"px")}return a(b)},afterContent:function(a,b){var c=a(b);return this.onResize(b),c}}}),a.featherlight=b,a.fn.featherlight=function(a,c){return b.attach(this,a,c)},a(document).ready(function(){b._onReady()})}(jQuery);

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/js/clipboard.min.js
=====================================================
/*!
 * clipboard.js v1.5.5
 * https://zenorocha.github.io/clipboard.js
 *
 * Licensed MIT © Zeno Rocha
 */
!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.Clipboard=t()}}(function(){var t,e,n;return function t(e,n,r){function o(a,c){if(!n[a]){if(!e[a]){var s="function"==typeof require&&require;if(!c&&s)return s(a,!0);if(i)return i(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var l=n[a]={exports:{}};e[a][0].call(l.exports,function(t){var n=e[a][1][t];return o(n?n:t)},l,l.exports,t,e,n,r)}return n[a].exports}for(var i="function"==typeof require&&require,a=0;a<r.length;a++)o(r[a]);return o}({1:[function(t,e,n){var r=t("matches-selector");e.exports=function(t,e,n){for(var o=n?t:t.parentNode;o&&o!==document;){if(r(o,e))return o;o=o.parentNode}}},{"matches-selector":2}],2:[function(t,e,n){function r(t,e){if(i)return i.call(t,e);for(var n=t.parentNode.querySelectorAll(e),r=0;r<n.length;++r)if(n[r]==t)return!0;return!1}var o=Element.prototype,i=o.matchesSelector||o.webkitMatchesSelector||o.mozMatchesSelector||o.msMatchesSelector||o.oMatchesSelector;e.exports=r},{}],3:[function(t,e,n){function r(t,e,n,r){var i=o.apply(this,arguments);return t.addEventListener(n,i),{destroy:function(){t.removeEventListener(n,i)}}}function o(t,e,n,r){return function(n){n.delegateTarget=i(n.target,e,!0),n.delegateTarget&&r.call(t,n)}}var i=t("closest");e.exports=r},{closest:1}],4:[function(t,e,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.function=function(t){var e=Object.prototype.toString.call(t);return"[object Function]"===e}},{}],5:[function(t,e,n){function r(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!c.string(e))throw new TypeError("Second argument must be a String");if(!c.function(n))throw new TypeError("Third argument must be a Function");if(c.node(t))return o(t,e,n);if(c.nodeList(t))return i(t,e,n);if(c.string(t))return a(t,e,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function o(t,e,n){return t.addEventListener(e,n),{destroy:function(){t.removeEventListener(e,n)}}}function i(t,e,n){return Array.prototype.forEach.call(t,function(t){t.addEventListener(e,n)}),{destroy:function(){Array.prototype.forEach.call(t,function(t){t.removeEventListener(e,n)})}}}function a(t,e,n){return s(document.body,t,e,n)}var c=t("./is"),s=t("delegate");e.exports=r},{"./is":4,delegate:3}],6:[function(t,e,n){function r(t){var e;if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName)t.focus(),t.setSelectionRange(0,t.value.length),e=t.value;else{t.hasAttribute("contenteditable")&&t.focus();var n=window.getSelection(),r=document.createRange();r.selectNodeContents(t),n.removeAllRanges(),n.addRange(r),e=n.toString()}return e}e.exports=r},{}],7:[function(t,e,n){function r(){}r.prototype={on:function(t,e,n){var r=this.e||(this.e={});return(r[t]||(r[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){function r(){o.off(t,r),e.apply(n,arguments)}var o=this;return r._=e,this.on(t,r,n)},emit:function(t){var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),r=0,o=n.length;for(r;o>r;r++)n[r].fn.apply(n[r].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),r=n[t],o=[];if(r&&e)for(var i=0,a=r.length;a>i;i++)r[i].fn!==e&&r[i].fn._!==e&&o.push(r[i]);return o.length?n[t]=o:delete n[t],this}},e.exports=r},{}],8:[function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}n.__esModule=!0;var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),a=t("select"),c=r(a),s=function(){function t(e){o(this,t),this.resolveOptions(e),this.initSelection()}return t.prototype.resolveOptions=function t(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.action=e.action,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""},t.prototype.initSelection=function t(){if(this.text&&this.target)throw new Error('Multiple attributes declared, use either "target" or "text"');if(this.text)this.selectFake();else{if(!this.target)throw new Error('Missing required attributes, use either "target" or "text"');this.selectTarget()}},t.prototype.selectFake=function t(){var e=this;this.removeFake(),this.fakeHandler=document.body.addEventListener("click",function(){return e.removeFake()}),this.fakeElem=document.createElement("textarea"),this.fakeElem.style.position="absolute",this.fakeElem.style.left="-9999px",this.fakeElem.style.top=(window.pageYOffset||document.documentElement.scrollTop)+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,document.body.appendChild(this.fakeElem),this.selectedText=c.default(this.fakeElem),this.copyText()},t.prototype.removeFake=function t(){this.fakeHandler&&(document.body.removeEventListener("click"),this.fakeHandler=null),this.fakeElem&&(document.body.removeChild(this.fakeElem),this.fakeElem=null)},t.prototype.selectTarget=function t(){this.selectedText=c.default(this.target),this.copyText()},t.prototype.copyText=function t(){var e=void 0;try{e=document.execCommand(this.action)}catch(n){e=!1}this.handleResult(e)},t.prototype.handleResult=function t(e){e?this.emitter.emit("success",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)}):this.emitter.emit("error",{action:this.action,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})},t.prototype.clearSelection=function t(){this.target&&this.target.blur(),window.getSelection().removeAllRanges()},t.prototype.destroy=function t(){this.removeFake()},i(t,[{key:"action",set:function t(){var e=arguments.length<=0||void 0===arguments[0]?"copy":arguments[0];if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function t(){return this._action}},{key:"target",set:function t(e){if(void 0!==e){if(!e||"object"!=typeof e||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');this._target=e}},get:function t(){return this._target}}]),t}();n.default=s,e.exports=n.default},{select:6}],9:[function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(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)}function a(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}n.__esModule=!0;var c=t("./clipboard-action"),s=r(c),u=t("tiny-emitter"),l=r(u),f=t("good-listener"),d=r(f),h=function(t){function e(n,r){o(this,e),t.call(this),this.resolveOptions(r),this.listenClick(n)}return i(e,t),e.prototype.resolveOptions=function t(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText},e.prototype.listenClick=function t(e){var n=this;this.listener=d.default(e,"click",function(t){return n.onClick(t)})},e.prototype.onClick=function t(e){var n=e.delegateTarget||e.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new s.default({action:this.action(n),target:this.target(n),text:this.text(n),trigger:n,emitter:this})},e.prototype.defaultAction=function t(e){return a("action",e)},e.prototype.defaultTarget=function t(e){var n=a("target",e);return n?document.querySelector(n):void 0},e.prototype.defaultText=function t(e){return a("text",e)},e.prototype.destroy=function t(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)},e}(l.default);n.default=h,e.exports=n.default},{"./clipboard-action":8,"good-listener":5,"tiny-emitter":7}]},{},[9])(9)});

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/css/theme.css
=====================================================
@charset "UTF-8";
#top-github-link, #body #breadcrumbs {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
.button, .button-secondary {
    display: inline-block;
    padding: 7px 12px;
}
.button:active, .button-secondary:active {
    margin: 2px 0 -2px 0;
}
@font-face {
    font-family: 'Novacento Sans Wide';
    src: url("../fonts/Novecentosanswide-UltraLight-webfont.eot");
    src: url("../fonts/Novecentosanswide-UltraLight-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/Novecentosanswide-UltraLight-webfont.woff2") format("woff2"), url("../fonts/Novecentosanswide-UltraLight-webfont.woff") format("woff"), url("../fonts/Novecentosanswide-UltraLight-webfont.ttf") format("truetype"), url("../fonts/Novecentosanswide-UltraLight-webfont.svg#novecento_sans_wideultralight") format("svg");
    font-style: normal;
    font-weight: 200;
}
@font-face {
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 300;
    src: url("../fonts/Work_Sans_300.eot?#iefix") format("embedded-opentype"), url("../fonts/Work_Sans_300.woff") format("woff"), url("../fonts/Work_Sans_300.woff2") format("woff2"), url("../fonts/Work_Sans_300.svg#WorkSans") format("svg"), url("../fonts/Work_Sans_300.ttf") format("truetype");
}
@font-face {
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 500;
    src: url("../fonts/Work_Sans_500.eot?#iefix") format("embedded-opentype"), url("../fonts/Work_Sans_500.woff") format("woff"), url("../fonts/Work_Sans_500.woff2") format("woff2"), url("../fonts/Work_Sans_500.svg#WorkSans") format("svg"), url("../fonts/Work_Sans_500.ttf") format("truetype");
}
body {
    background: #fff;
    color: #777;
}
body #chapter h1 {
    font-size: 3.5rem;
}
@media only all and (min-width: 48em) and (max-width: 59.938em) {
    body #chapter h1 {
        font-size: 3rem;
    }
}
@media only all and (max-width: 47.938em) {
    body #chapter h1 {

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/css/hybrid.css
=====================================================
/*

vim-hybrid theme by w0ng (https://github.com/w0ng/vim-hybrid)

*/

/*background color*/
.hljs {
  display: block;
  overflow-x: auto;
  padding: 0.5em;
  /* background: #1d1f21; */
}

/*selection color*/
.hljs::selection,
.hljs span::selection {
  background: #373b41;
}

.hljs::-moz-selection,
.hljs span::-moz-selection {
  background: #373b41;
}

/*foreground color*/
.hljs {
  color: #c5c8c6;
}

/*color: fg_yellow*/
.hljs-title,
.hljs-name {
  color: #f0c674;
}

/*color: fg_comment*/
.hljs-comment,
.hljs-meta,
.hljs-meta .hljs-keyword {
  color: #707880;
}

/*color: fg_red*/
.hljs-number,
.hljs-symbol,
.hljs-literal,
.hljs-deletion,
.hljs-link {
 color: #cc6666

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/css/auto-complete.css
=====================================================
.autocomplete-suggestions {
    text-align: left;
    cursor: default;
    border: 1px solid #ccc;
    border-top: 0;
    background: #fff;
    box-shadow: -1px 1px 3px rgba(0,0,0,.1);

    /* core styles should not be changed */
    position: absolute;
    display: none;
    z-index: 9999;
    max-height: 254px;
    overflow: hidden;
    overflow-y: auto;
    box-sizing: border-box;
    
}
.autocomplete-suggestion {
    position: relative;
    cursor: pointer;
    padding: 7px;
    line-height: 23px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #333;
}

.autocomplete-suggestion b {
    font-weight: normal;
    color: #1f8dd6;
}

.autocomplete-suggestion.selected {
    background: #333;
    color: #fff;
}

.autocomplete-suggestion:hover {
    background: #444;
    color: #fff;
}

.autocomplete-suggestion > .context {
    font-size: 12px;
}

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/css/featherlight.min.css
=====================================================
/**
 * Featherlight - ultra slim jQuery lightbox
 * Version 1.2.3 - http://noelboss.github.io/featherlight/
 *
 * Copyright 2015, Noël Raoul Bossart (http://www.noelboss.com)
 * MIT Licensed.
**/
@media all{.featherlight{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483647;text-align:center;white-space:nowrap;cursor:pointer;background:#333;background:rgba(0,0,0,0)}.featherlight:last-of-type{background:rgba(0,0,0,.8)}.featherlight:before{content:'';display:inline-block;height:100%;vertical-align:middle;margin-right:-.25em}.featherlight .featherlight-content{position:relative;text-align:left;vertical-align:middle;display:inline-block;overflow:auto;padding:25px 25px 0;border-bottom:25px solid transparent;min-width:30%;margin-left:5%;margin-right:5%;max-height:95%;background:#fff;cursor:auto;white-space:normal}.featherlight .featherlight-inner{display:block}.featherlight .featherlight-close-icon{position:absolute;z-index:9999;top:0;right:0;line-height:25px;width:25px;cursor:pointer;text-align:center;font:Arial,sans-serif;background:#fff;background:rgba(255,255,255,.3);color:#000}.featherlight .featherlight-image{width:100%}.featherlight-iframe .featherlight-content{border-bottom:0;padding:0}.featherlight iframe{border:0}}@media only screen and (max-width:1024px){.featherlight .featherlight-content{margin-left:10px;margin-right:10px;max-height:98%;padding:10px 10px 0;border-bottom:10px solid transparent}}

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/css/theme-blue.css
=====================================================

:root{
    
    --MAIN-TEXT-color:#323232; /* Color of text by default */
    --MAIN-TITLES-TEXT-color: #5e5e5e; /* Color of titles h2-h3-h4-h5 */
    --MAIN-LINK-color:#1C90F3; /* Color of links */
    --MAIN-LINK-HOVER-color:#167ad0; /* Color of hovered links */
    --MAIN-ANCHOR-color: #1C90F3; /* color of anchors on titles */

    --MENU-HEADER-BG-color:#1C90F3; /* Background color of menu header */
    --MENU-HEADER-BORDER-color:#33a1ff; /*Color of menu header border */ 

    --MENU-SEARCH-BG-color:#167ad0; /* Search field background color (by default borders + icons) */
    --MENU-SEARCH-BOX-color: #33a1ff; /* Override search field border color */
    --MENU-SEARCH-BOX-ICONS-color: #a1d2fd; /* Override search field icons color */

    --MENU-SECTIONS-ACTIVE-BG-color:#20272b; /* Background color of the active section and its childs */
    --MENU-SECTIONS-BG-color:#252c31; /* Background color of other sections */
    --MENU-SECTIONS-LINK-color: #ccc; /* Color of links in menu */
    --MENU-SECTIONS-LINK-HOVER-color: #e6e6e6;  /* Color of links in menu, when hovered */
    --MENU-SECTION-ACTIVE-CATEGORY-color: #777; /* Color of active category text */
    --MENU-SECTION-ACTIVE-CATEGORY-BG-color: #fff; /* Color of background for the active category (only) */

    --MENU-VISITED-color: #33a1ff; /* Color of 'page visited' icons in menu */
    --MENU-SECTION-HR-color: #20272b; /* Color of <hr> separator in menu */
    
}

body {
    color: var(--MAIN-TEXT-color) !important;
}

textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus {
    border-color: none;
    box-shadow: none;
}

h2, h3, h4, h5 {
    color: var(--MAIN-TITLES-TEXT-color) !important;
}

a {
    color: var(--MAIN-LINK-color);
}

.anchor {
    color: var(--MAIN-ANCHOR-color);
}

a:hover {

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/css/theme-red.css
=====================================================

:root{
    
    --MAIN-TEXT-color:#323232; /* Color of text by default */
    --MAIN-TITLES-TEXT-color: #5e5e5e; /* Color of titles h2-h3-h4-h5 */
    --MAIN-LINK-color:#f31c1c; /* Color of links */
    --MAIN-LINK-HOVER-color:#d01616; /* Color of hovered links */
    --MAIN-ANCHOR-color: #f31c1c; /* color of anchors on titles */

    --MENU-HEADER-BG-color:#dc1010; /* Background color of menu header */
    --MENU-HEADER-BORDER-color:#e23131; /*Color of menu header border */ 

    --MENU-SEARCH-BG-color:#b90000; /* Search field background color (by default borders + icons) */
    --MENU-SEARCH-BOX-color: #ef2020; /* Override search field border color */
    --MENU-SEARCH-BOX-ICONS-color: #fda1a1; /* Override search field icons color */

    --MENU-SECTIONS-ACTIVE-BG-color:#2b2020; /* Background color of the active section and its childs */
    --MENU-SECTIONS-BG-color:#312525; /* Background color of other sections */
    --MENU-SECTIONS-LINK-color: #ccc; /* Color of links in menu */
    --MENU-SECTIONS-LINK-HOVER-color: #e6e6e6;  /* Color of links in menu, when hovered */
    --MENU-SECTION-ACTIVE-CATEGORY-color: #777; /* Color of active category text */
    --MENU-SECTION-ACTIVE-CATEGORY-BG-color: #fff; /* Color of background for the active category (only) */
    
    --MENU-VISITED-color: #ff3333; /* Color of 'page visited' icons in menu */
    --MENU-SECTION-HR-color: #2b2020; /* Color of <hr> separator in menu */
    
}

body {
    color: var(--MAIN-TEXT-color) !important;
}

textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus {
    border-color: none;
    box-shadow: none;
}

h2, h3, h4, h5 {
    color: var(--MAIN-TITLES-TEXT-color) !important;
}

a {
    color: var(--MAIN-LINK-color);
}

.anchor {
    color: var(--MAIN-ANCHOR-color);
}

a:hover {

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/css/perfect-scrollbar.min.css
=====================================================
/* perfect-scrollbar v0.6.13 */
.ps-container{-ms-touch-action:auto;touch-action:auto;overflow:hidden !important;-ms-overflow-style:none}@supports (-ms-overflow-style: none){.ps-container{overflow:auto !important}}@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none){.ps-container{overflow:auto !important}}.ps-container.ps-active-x>.ps-scrollbar-x-rail,.ps-container.ps-active-y>.ps-scrollbar-y-rail{display:block;background-color:transparent}.ps-container.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail{background-color:#eee;opacity:.9}.ps-container.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail>.ps-scrollbar-x{background-color:#999;height:11px}.ps-container.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail{background-color:#eee;opacity:.9}.ps-container.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#999;width:11px}.ps-container>.ps-scrollbar-x-rail{display:none;position:absolute;opacity:0;-webkit-transition:background-color .2s linear, opacity .2s linear;-o-transition:background-color .2s linear, opacity .2s linear;-moz-transition:background-color .2s linear, opacity .2s linear;transition:background-color .2s linear, opacity .2s linear;bottom:0px;height:15px}.ps-container>.ps-scrollbar-x-rail>.ps-scrollbar-x{position:absolute;background-color:#aaa;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;-o-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;-moz-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -webkit-border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;bottom:2px;height:6px}.ps-container>.ps-scrollbar-x-rail:hover>.ps-scrollbar-x,.ps-container>.ps-scrollbar-x-rail:active>.ps-scrollbar-x{height:11px}.ps-container>.ps-scrollbar-y-rail{display:none;position:absolute;opacity:0;-webkit-transition:background-color .2s linear, opacity .2s linear;-o-transition:background-color .2s linear, opacity .2s linear;-moz-transition:background-color .2s linear, opacity .2s linear;transition:background-color .2s linear, opacity .2s linear;right:0;width:15px}.ps-container>.ps-scrollbar-y-rail>.ps-scrollbar-y{position:absolute;background-color:#aaa;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;-o-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;-moz-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -webkit-border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;right:2px;width:6px}.ps-container>.ps-scrollbar-y-rail:hover>.ps-scrollbar-y,.ps-container>.ps-scrollbar-y-rail:active>.ps-scrollbar-y{width:11px}.ps-container:hover.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail{background-color:#eee;opacity:.9}.ps-container:hover.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail>.ps-scrollbar-x{background-color:#999;height:11px}.ps-container:hover.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail{background-color:#eee;opacity:.9}.ps-container:hover.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#999;width:11px}.ps-container:hover>.ps-scrollbar-x-rail,.ps-container:hover>.ps-scrollbar-y-rail{opacity:.6}.ps-container:hover>.ps-scrollbar-x-rail:hover{background-color:#eee;opacity:.9}.ps-container:hover>.ps-scrollbar-x-rail:hover>.ps-scrollbar-x{background-color:#999}.ps-container:hover>.ps-scrollbar-y-rail:hover{background-color:#eee;opacity:.9}.ps-container:hover>.ps-scrollbar-y-rail:hover>.ps-scrollbar-y{background-color:#999}

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/css/font-awesome.min.css
=====================================================
/*!
 *  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}

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/css/hugo-theme.css
=====================================================
/* Insert here special css for hugo theme, on top of any other imported css */


/* Table of contents */

.progress ul {
  list-style: none;
  margin: 0;
  padding: 0 5px;
}

#TableOfContents {
    font-size: 13px !important;
    max-height: 85vh;
    overflow: auto;
    padding: 15px !important;
}


#TableOfContents > ul > li > ul > li > ul li {
  margin-right: 8px;
}

#TableOfContents > ul > li > a   {
  /* font-weight: bold;  */
  padding: 0 18px; margin: 0 2px;
}

#TableOfContents > ul > li > ul > li > a {
  /* font-weight: bold; */
}

#TableOfContents > ul > li > ul > li > ul > li > ul > li > ul > li  {
    display: none;
}

body {
    font-size: 16px !important;
    color: #323232 !important;
}

#body a.highlight, #body a.highlight:hover, #body a.highlight:focus {
    text-decoration: none;
    outline: none;
    outline: 0;
}
#body a.highlight {
    line-height: 1.1;
    display: inline-block;
}

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/css/nucleus.css
=====================================================
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

@-webkit-viewport {
  width: device-width;
}

@-moz-viewport {
  width: device-width;
}

@-ms-viewport {
  width: device-width;
}

@-o-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}

html {
  font-size: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/css/theme-green.css
=====================================================

:root{
    
    --MAIN-TEXT-color:#323232; /* Color of text by default */
    --MAIN-TITLES-TEXT-color: #5e5e5e; /* Color of titles h2-h3-h4-h5 */
    --MAIN-LINK-color:#599a3e; /* Color of links */
    --MAIN-LINK-HOVER-color:#3f6d2c; /* Color of hovered links */
    --MAIN-ANCHOR-color: #599a3e; /* color of anchors on titles */

    --MENU-HEADER-BG-color:#74b559; /* Background color of menu header */
    --MENU-HEADER-BORDER-color:#9cd484; /*Color of menu header border */ 
    
    --MENU-SEARCH-BG-color:#599a3e; /* Search field background color (by default borders + icons) */
    --MENU-SEARCH-BOX-color: #84c767; /* Override search field border color */
    --MENU-SEARCH-BOX-ICONS-color: #c7f7c4; /* Override search field icons color */

    --MENU-SECTIONS-ACTIVE-BG-color:#1b211c; /* Background color of the active section and its childs */
    --MENU-SECTIONS-BG-color:#222723; /* Background color of other sections */
    --MENU-SECTIONS-LINK-color: #ccc; /* Color of links in menu */
    --MENU-SECTIONS-LINK-HOVER-color: #e6e6e6;  /* Color of links in menu, when hovered */
    --MENU-SECTION-ACTIVE-CATEGORY-color: #777; /* Color of active category text */
    --MENU-SECTION-ACTIVE-CATEGORY-BG-color: #fff; /* Color of background for the active category (only) */

    --MENU-VISITED-color: #599a3e; /* Color of 'page visited' icons in menu */
    --MENU-SECTION-HR-color: #18211c; /* Color of <hr> separator in menu */
    
}

body {
    color: var(--MAIN-TEXT-color) !important;
}

textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus {
    border-color: none;
    box-shadow: none;
}

h2, h3, h4, h5 {
    color: var(--MAIN-TITLES-TEXT-color) !important;
}

a {
    color: var(--MAIN-LINK-color);
}

.anchor {
    color: var(--MAIN-ANCHOR-color);
}

a:hover {

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.svg
=====================================================
<?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 xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="novecento_sans_widenormal" horiz-adv-x="668" >
<font-face units-per-em="1000" ascent="821" descent="-179" />
<missing-glyph horiz-adv-x="250" />
<glyph horiz-adv-x="1000" />
<glyph horiz-adv-x="1000" />
<glyph unicode="&#xd;" horiz-adv-x="1000" />
<glyph unicode=" "  horiz-adv-x="250" />
<glyph unicode="&#x09;" horiz-adv-x="250" />
<glyph unicode="&#xa0;" horiz-adv-x="250" />
<glyph unicode="!" horiz-adv-x="262" d="M172 700v-538h-82v538h82zM131 -10q-25 0 -39.5 14.5t-14.5 36.5t14.5 36t39.5 14t39.5 -14t14.5 -36t-14.5 -36.5t-39.5 -14.5z" />
<glyph unicode="&#x22;" horiz-adv-x="321" d="M126 700l-4 -230h-68l-5 230h77zM270 700l-5 -230h-68l-5 230h78z" />
<glyph unicode="#" horiz-adv-x="661" d="M452 179h95l-19 -72h-96l-28 -107h-69l28 107h-160l-29 -107h-69l29 107h-96l20 72h96l55 204h-95l20 71h94l28 106h69l-29 -106h161l29 106h69l-29 -106h97l-20 -71h-96zM277 383l-55 -204h161l55 204h-161z" />
<glyph unicode="$" horiz-adv-x="474" d="M439 150q0 -70 -44.5 -111.5t-120.5 -48.5v-80h-65v80q-151 16 -174 149l71 19q6 -49 43 -78.5t96 -29.5q53 0 84.5 25.5t31.5 71.5q0 14 -2.5 26t-9.5 21.5t-12 16.5t-18.5 13.5t-20 10.5t-24 9t-24 6.5t-27.5 6.5t-26 6q-31 7 -52.5 15.5t-47 25t-38.5 45t-13 67.5 q0 65 40.5 105t113.5 48v81h66v-80q138 -14 168 -135l-70 -19q-20 93 -128 93q-56 0 -86 -24.5t-30 -64.5q0 -25 9.5 -42.5t30.5 -29t41 -17.5t56 -14q31 -7 49 -12t46.5 -18t45 -29t29 -44t12.5 -64z" />
<glyph unicode="%" horiz-adv-x="711" d="M163 219q-128 0 -128 175q0 176 128 176t128 -176q0 -175 -128 -175zM477 560l-188 -560h-56l188 560h56zM163 274q36 0 54 28t18 92t-18 92.5t-54 28.5q-73 0 -73 -121q0 -120 73 -120zM549 -7q-128 0 -128 176q0 177 128 177t128 -177q0 -176 -128 -176zM549 49 q36 0 54 28t18 92t-18 92.5t-54 28.5q-37 0 -55 -28.5t-18 -92.5t18 -92t55 -28z" />
<glyph unicode="&#x26;" horiz-adv-x="612" d="M495 253v-71q0 -95 -57.5 -144.5t-166.5 -49.5q-106 0 -161.5 44.5t-55.5 118.5q0 57 32 93.5t80 45.5v2q-43 9 -74.5 42.5t-31.5 90.5q0 71 51 108.5t145 37.5q193 0 236 -148l-72 -20q-29 102 -157 102q-123 0 -123 -86q0 -42 32.5 -68.5t94.5 -26.5h317v-70zM417 254 h-153q-60 0 -95.5 -25.5t-35.5 -74.5q0 -48 35 -74.5t104 -26.5q145 0 145 130v71z" />
<glyph unicode="'" horiz-adv-x="178" d="M126 700l-4 -230h-68l-5 230h77z" />
<glyph unicode="(" horiz-adv-x="356" d="M316 795l23 -74q-204 -70 -204 -430t204 -430l-23 -75q-260 92 -260 505q0 412 260 504z" />
<glyph unicode=")" horiz-adv-x="356" d="M41 -213l-24 74q204 70 204 430t-204 430l24 75q259 -92 259 -505q0 -412 -259 -504z" />
<glyph unicode="*" horiz-adv-x="489" d="M290 518l76 -106l-46 -33l-75 107l-75 -107l-47 33l76 106l-122 38l17 53l122 -38v129h57v-129l122 38l18 -53z" />
<glyph unicode="+" d="M524 254h-153v-165h-74v165h-153v69h153v164h74v-164h153v-69z" />
<glyph unicode="," horiz-adv-x="224" d="M108 0q-21 -3 -33.5 8.5t-12.5 32.5q0 20 14.5 33.5t37.5 13.5q27 0 42.5 -17t15.5 -48q0 -37 -24.5 -74t-65.5 -52l-33 35q22 8 38.5 28.5t20.5 39.5z" />
<glyph unicode="-" horiz-adv-x="581" d="M480 254h-380v69h380v-69z" />
<glyph unicode="." horiz-adv-x="224" d="M112 -10q-26 0 -40 14.5t-14 36.5t14.5 36t39.5 14t39.5 -14t14.5 -36t-14.5 -36.5t-39.5 -14.5z" />
<glyph unicode="/" horiz-adv-x="485" d="M462 700l-353 -700h-86l355 700h84z" />
<glyph unicode="0" horiz-adv-x="521" d="M260 571q107 0 165 -75t58 -216t-58 -216.5t-165 -75.5t-165 75.5t-58 216.5t58 216t165 75zM260 499q-145 0 -145 -219q0 -220 145 -220t145 220q0 219 -145 219z" />
<glyph unicode="1" horiz-adv-x="342" d="M184 0v374q0 18 1 43t1 39l1 15h-2l-8 -9q-8 -9 -18 -20.5t-15 -15.5l-57 -58l-47 55l148 137h74v-560h-78z" />
<glyph unicode="2" horiz-adv-x="490" d="M49 0v85l203 156q60 48 86 82t26 73q0 46 -32 77t-92 31q-58 0 -88.5 -28.5t-34.5 -72.5l-73 20q11 76 66.5 112t135.5 36q94 0 145.5 -47t51.5 -126q0 -61 -33 -104t-111 -100l-160 -123l1 -2q1 0 12.5 0.5t30.5 0.5h40h223v-70h-397z" />
<glyph unicode="3" horiz-adv-x="489" d="M335 294v-3q51 -6 84 -41.5t33 -94.5q0 -75 -55.5 -121t-145.5 -46q-86 0 -143.5 43.5t-70.5 117.5l69 19q10 -53 48 -82.5t96 -29.5q60 0 92.5 31t32.5 78q0 48 -34 72.5t-93 24.5h-56v59h54q59 0 91 23.5t32 68.5q0 44 -31.5 68.5t-88.5 24.5q-117 0 -129 -102l-71 19 q13 77 69 112.5t138 35.5q94 0 142 -39.5t48 -105.5q0 -56 -32.5 -90.5t-78.5 -41.5z" />
<glyph unicode="4" horiz-adv-x="525" d="M398 0h-78v146h-286v71l249 343h115v-347h82v-67h-82v-146zM320 367v129h-3l-210 -281l2 -2h92h119v154z" />
<glyph unicode="5" horiz-adv-x="503" d="M135 316l2 -1q16 18 50 33.5t78 15.5q88 0 141 -51t53 -134q0 -86 -57 -138.5t-149 -52.5q-81 0 -137.5 42t-71.5 112l68 17q10 -49 47.5 -76.5t91.5 -27.5q59 0 96 33.5t37 90.5q0 58 -37 91.5t-100 33.5q-48 0 -79 -19t-43 -45l-63 18l51 302h309v-73h-256l-16 -93 q-3 -20 -7 -39l-6 -28.5t-2 -10.5z" />
<glyph unicode="6" horiz-adv-x="499" d="M149 316l3 -2q41 48 118 48q83 0 137 -50.5t54 -130.5q0 -85 -59 -139t-154 -54q-94 0 -153 53.5t-59 146.5q0 92 78 193l139 179h85zM249 56q62 0 99.5 34.5t38.5 92.5q0 56 -37 89.5t-101 33.5q-63 0 -99.5 -33.5t-36.5 -89.5q0 -58 37 -92.5t99 -34.5z" />
<glyph unicode="7" horiz-adv-x="470" d="M447 502l-283 -502h-81l225 401q11 20 24.5 41t20.5 32l7 12l-2 2q-35 -1 -73 -1h-255v73h417v-58z" />
<glyph unicode="8" horiz-adv-x="502" d="M37 151q0 62 39 98.5t92 43.5v3q-33 4 -69 37.5t-36 89.5q0 63 50.5 105.5t137.5 42.5q86 0 137 -42.5t51 -104.5q0 -57 -36 -90.5t-68 -37.5v-3q52 -7 91 -43.5t39 -98.5q0 -72 -57 -117.5t-156 -45.5t-157 45t-58 118zM131 419q0 -44 34 -68.5t86 -24.5q54 1 86.5 27 t32.5 67q0 42 -32.5 68t-86.5 26q-56 0 -88 -26.5t-32 -68.5zM112 156q0 -50 38 -78.5t101 -28.5q64 0 101.5 28.5t37.5 78.5q0 49 -37.5 75.5t-101.5 26.5t-101.5 -27t-37.5 -75z" />
<glyph unicode="9" horiz-adv-x="507" d="M355 239l-2 2q-45 -48 -121 -48q-86 0 -139 52t-53 132q0 86 60 140t154 54q92 0 153.5 -53t61.5 -146q0 -63 -28 -116t-87 -121l-117 -135h-88zM253 503q-60 0 -99.5 -32t-39.5 -96q0 -63 39.5 -94t99.5 -31q61 0 100 32t39 94q0 63 -39.5 95t-99.5 32z" />
<glyph unicode=":" horiz-adv-x="224" d="M112 338q-26 0 -40 14.5t-14 36.5t14.5 36t39.5 14t39.5 -14.5t14.5 -35.5q0 -23 -14 -37t-40 -14zM112 -10q-26 0 -40 14.5t-14 36.5t14.5 36t39.5 14t39.5 -14t14.5 -36t-14.5 -36.5t-39.5 -14.5z" />
<glyph unicode=";" horiz-adv-x="224" d="M112 338q-26 0 -40 14.5t-14 36.5t14.5 36t39.5 14t39.5 -14.5t14.5 -35.5q0 -23 -14 -37t-40 -14zM108 1q-21 -3 -33.5 8.5t-12.5 31.5q0 21 14 34t38 13q27 0 42.5 -17t15.5 -47q0 -37 -24.5 -74.5t-65.5 -51.5l-33 34q22 8 38.5 28.5t20.5 40.5z" />
<glyph unicode="&#x3c;" d="M542 41l-451 217v62l451 217v-73l-362 -174v-2l362 -174v-73z" />
<glyph unicode="=" d="M524 347h-380v69h380v-69zM524 164h-380v69h380v-69z" />
<glyph unicode="&#x3e;" d="M488 288v2l-362 174v73l451 -217v-62l-451 -217v73z" />
<glyph unicode="?" horiz-adv-x="563" d="M229 162v177q119 41 166 79.5t47 91.5q0 52 -36 89t-117 37q-75 0 -115.5 -32.5t-58.5 -94.5l-77 21q22 88 88.5 136t166.5 48q113 0 172.5 -56.5t59.5 -137.5q0 -84 -58.5 -135t-154.5 -86v-137h-83zM270 -10q-26 0 -40.5 14.5t-14.5 36.5t14.5 36t40.5 14 q25 0 39.5 -14t14.5 -36t-14.5 -36.5t-39.5 -14.5z" />
<glyph unicode="@" horiz-adv-x="787" d="M494 142h-2q-15 -34 -48 -54.5t-77 -20.5q-69 0 -116.5 48.5t-47.5 134.5t44 137t117 51q84 0 113 -59h3v-117q0 50 -27.5 80t-73.5 30q-48 0 -73.5 -33t-25.5 -88t27 -86t72 -31q46 0 71.5 30t29.5 78v182h77v-207q0 -45 12.5 -66.5t41.5 -21.5q37 0 57 37.5t20 102.5 q0 136 -80.5 220t-212.5 84q-133 0 -214.5 -86t-81.5 -224q0 -148 77 -228.5t202 -80.5q29 0 55 3.5t46 9t36 12t28.5 14t20 13t14 11.5t7.5 6l46 -36q-38 -39 -109.5 -64t-141.5 -25q-154 0 -248 97t-94 269q0 157 100.5 261t255.5 104q158 0 256.5 -102.5t98.5 -258.5 q0 -91 -38 -146t-109 -55q-40 0 -70 21.5t-38 53.5z" />
<glyph unicode="A" horiz-adv-x="732" d="M543 186h-355l-78 -186h-87l298 700h89l298 -700h-87zM512 260l-77 183q-10 24 -28.5 68t-29.5 70l-11 26h-2q-1 -1 -68 -163l-77 -184h293z" />
<glyph unicode="B" horiz-adv-x="623" d="M428 377v-3q61 -10 110 -54.5t49 -124.5q0 -90 -62.5 -142.5t-176.5 -52.5h-271v700h252q94 0 151.5 -48.5t57.5 -123.5q0 -63 -33 -102t-77 -49zM158 400h163q60 0 97.5 30.5t37.5 85.5q0 52 -38 83t-105 31h-155v-230zM158 70h186q73 0 115.5 33t42.5 96 q0 64 -46 100.5t-114 36.5h-184v-266z" />
<glyph unicode="C" horiz-adv-x="769" d="M646 218l79 -21q-40 -98 -127.5 -154t-199.5 -56q-156 0 -258 101t-102 264t102 262.5t258 99.5q116 0 199.5 -54t118.5 -137l-79 -22q-12 22 -29 42t-45.5 43t-72 37t-94.5 14q-123 0 -199.5 -77.5t-76.5 -208.5q0 -130 78 -208t196 -78q85 0 152 41t100 112z" />
<glyph unicode="D" horiz-adv-x="729" d="M77 700h242q165 0 268.5 -96.5t103.5 -256.5q0 -159 -102.5 -253t-262.5 -94h-249v700zM158 76h164q124 0 205.5 70t81.5 201t-82.5 204t-210.5 73h-158v-548z" />

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_300.svg
=====================================================
<?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 xmlns="http://www.w3.org/2000/svg">
<defs >
<font id="WorkSans" horiz-adv-x="550" ><font-face
    font-family="Work Sans Light"
    units-per-em="1000"
    panose-1="0 0 4 0 0 0 0 0 0 0"
    ascent="930"
    descent="-243"
    alphabetic="0" />
<glyph unicode=" " glyph-name="space" horiz-adv-x="313" />
<glyph unicode="!" glyph-name="exclam" horiz-adv-x="230" d="M141 340L135 190H95L89 340V660H141V340ZM135 82T147 70T160 37Q160 17 148 5T115 -8Q95 -8 83 4T70 37Q70 57 82 69T115 82Q135 82 147 70Z" />
<glyph unicode="&quot;" glyph-name="quotedbl" horiz-adv-x="327" d="M248 480H208V685H262L248 480ZM115 480H75V685H129L115 480Z" />
<glyph unicode="#" glyph-name="numbersign" horiz-adv-x="636" d="M466 429L436 238H568V199H429L398 0H354L386 199H205L174 0H130L162 199H31V238H168L198 429H68V468H205L235 660H279L248 468H429L459 660H503L472 468H605V429H466ZM423 429H242L212 238H392L423
429Z" />
<glyph unicode="$" glyph-name="dollar" horiz-adv-x="599" d="M285 1Q196 6 135 50T52 171L98 195Q111 131 162 91T285 43V309Q217 323 174 339T101 388T72 477Q72 525 97 566T171 632T285 659V760H328V659Q406 655 456 620T535 516L495 484Q473 548 433 579T328
616V344Q396 330 439 314T511 265T540 175Q540 99 483 52T328 1V-100H285V1ZM285 617Q208 614 164 577T120 481Q120 441 142 416T198 378T285 353V617ZM402 45T447 78T493 171Q493 211 471 236T415 275T328 300V42Q402 45 447 78Z" />
<glyph unicode="%" glyph-name="percent" horiz-adv-x="809" d="M260 665T299 616T338 490Q338 413 299 365T189 316Q119 316 80 365T40 490Q40 567 79 616T189 665Q260 665 299 616ZM596 660H645L212 0H163L596 660ZM138 625T112 588T85 490Q85 430 111 393T189
356Q240 356 266 393T293 490Q293 550 267 587T189 625Q138 625 112 588ZM690 344T729 295T769 169Q769 93 730 44T620 -5Q549 -5 510 44T470 169Q470 246 509 295T620 344Q690 344 729 295ZM569 304T542 267T515 169Q515 109 542 72T620 35Q671 35 697 72T724
169Q724 230 698 267T620 304Q569 304 542 267Z" />
<glyph unicode="&amp;" glyph-name="ampersand" horiz-adv-x="599" d="M514 61T542 45T605 28L593 -10Q556 -10 524 8T446 75Q369 -10 247 -10Q189 -10 144 10T73 67T47 151Q47 216 87 264T214 361Q167 422 150 456T132 528Q132 587 172 627T280 668Q343 668 383
636T424 541Q424 484 394 441T279 349Q321 294 347 261Q407 185 444 140Q471 183 484 239T496 360L537 356Q539 287 523 223T472 108Q514 61 542 45ZM233 625T206 598T179 529Q179 498 192 471T253 382Q328 422 353 458T379 540Q379 581 353 603T279 625Q233 625
206 598ZM298 31T342 50T418 106Q367 166 314 233L240 327Q160 281 127 244T94 154Q94 99 137 65T244 31Q298 31 342 50Z" />
<glyph unicode="&apos;" glyph-name="quotesingle" horiz-adv-x="194" d="M115 480H75V685H129L115 480Z" />
<glyph unicode="(" glyph-name="parenleft" horiz-adv-x="305" d="M285 717Q191 634 150 531T108 283Q108 139 149 36T285 -151L257 -180Q156 -94 107 20T57 283Q57 430 106 545T257 746L285 717Z" />
<glyph unicode=")" glyph-name="parenright" horiz-adv-x="305" d="M148 660T197 545T247 283Q247 136 198 21T48 -180L20 -151Q114 -68 155 35T197 283Q197 427 156 530T20 717L48 746Q148 660 197 545Z" />
<glyph unicode="*" glyph-name="asterisk" horiz-adv-x="543" d="M347 436L421 332L388 308L312 410L271 479L231 410L155 308L122 332L196 436L248 496L170 514L50 554L62 593L183 555L257 524L250 603V730H293V603L286 524L359 555L481 593L493 554L373 514L295
496L347 436Z" />
<glyph unicode="+" glyph-name="plus" horiz-adv-x="604" d="M540 293H326V73H279V293H64V339H279V555H326V339H540V293Z" />
<glyph unicode="," glyph-name="comma" horiz-adv-x="220" d="M137 82T151 62T166 9Q166 -33 144 -70T80 -128L52 -103Q87 -90 109 -59T130 1L127 2Q120 -8 104 -8Q89 -8 77 4T65 36Q65 55 78 68T111 82Q137 82 151 62Z" />
<glyph unicode="-" glyph-name="hyphen" horiz-adv-x="466" d="M387 240H80V291H387V240Z" />
<glyph unicode="." glyph-name="period" horiz-adv-x="220" d="M130 82T142 70T155 37Q155 17 143 5T110 -8Q90 -8 78 4T65 37Q65 57 77 69T110 82Q130 82 142 70Z" />
<glyph unicode="/" glyph-name="slash" horiz-adv-x="396" d="M79 -70H31L316 730H364L79 -70Z" />
<glyph unicode="0" glyph-name="zero" horiz-adv-x="607" d="M187 -10T125 77T63 330Q63 495 125 582T304 670Q420 670 482 583T544 330Q544 165 482 78T304 -10Q187 -10 125 77ZM396 35T444 111T493 330Q493 473 445 549T304 625Q212 625 163 549T114 330Q114
187 163 111T304 35Q396 35 444 111Z" />
<glyph unicode="1" glyph-name="one" horiz-adv-x="365" d="M268 660V0H218V500Q218 529 220 591Q187 553 141 525T46 483L33 528Q81 540 139 579T223 660H268Z" />
<glyph unicode="2" glyph-name="two" horiz-adv-x="560" d="M65 41Q206 151 281 219T394 347T433 469Q433 540 390 582T271 624Q194 624 147 576T94 444L50 469Q59 561 117 615T272 670Q370 670 427 616T485 469Q485 403 448 341T338 209T138 46V45L204 46H506V0H65V41Z" />
<glyph unicode="3" glyph-name="three" horiz-adv-x="554" d="M368 670T420 622T473 498Q473 432 438 386T347 334V333Q410 331 449 286T489 174Q489 120 461 79T384 14T271 -10Q185 -10 129 30T48 145L94 170Q129 36 274 36Q347 36 392 75T437 178Q437 242 397
276T277 310H240V356H277Q347 356 384 392T421 490Q421 554 383 589T275 624Q214 624 174 594T118 509L71 532Q94 596 148 633T275 670Q368 670 420 622Z" />
<glyph unicode="4" glyph-name="four" horiz-adv-x="582" d="M546 188H419V0H369V188H41V226L355 660H419V231H546V188ZM95 231H369V533L371 618H369Q350 585 314 531L95 231Z" />
<glyph unicode="5" glyph-name="five" horiz-adv-x="560" d="M357 412T404 386T478 313T504 203Q504 106 445 48T285 -10Q102 -10 57 145L105 169Q134 36 283 36Q359 36 405 81T452 201Q451 277 407 321T289 366Q172 366 119 292H75L111 660H476V614H153L127 358L125
345H126Q184 412 296 412Q357 412 404 386Z" />
<glyph unicode="6" glyph-name="six" horiz-adv-x="581" d="M391 670T437 638T509 540L463 518Q448 567 411 595T314 624Q248 624 202 582T133 470T110 316Q110 289 115 249H118Q122 298 151 334T222 388T310 407Q409 407 466 351T524 198Q524 103 465 47T306
-10Q189 -10 127 80T64 330Q64 439 96 515T186 631T317 670Q391 670 437 638ZM258 360T221 338T162 280T141 200Q141 128 186 83T305 37Q383 37 427 81T472 200Q472 273 428 316T307 360Q258 360 221 338Z" />
<glyph unicode="7" glyph-name="seven" horiz-adv-x="530" d="M507 660V614Q385 485 325 335T256 0H204Q220 363 452 614H32V660H507Z" />
<glyph unicode="8" glyph-name="eight" horiz-adv-x="591" d="M388 669T444 624T500 502Q500 445 469 405T383 348V347Q450 330 489 284T529 174Q529 119 500 78T418 13T295 -10Q227 -10 174 13T92 77T62 174Q62 238 101 284T208 347V348Q153 365 122 405T91 502Q91
578 146 623T295 669Q388 669 444 624ZM225 623T184 589T143 497Q143 439 184 405T295 370Q364 370 406 404T448 497Q448 555 407 589T295 623Q225 623 184 589ZM377 36T427 75T477 178Q477 243 427 283T295 323Q214 323 164 283T114 178Q114 114 163 75T295 36Q377
36 427 75Z" />
<glyph unicode="9" glyph-name="nine" horiz-adv-x="596" d="M403 670T466 579T530 330Q530 164 466 77T286 -10Q200 -10 144 28T66 135L116 161Q130 102 170 69T285 36Q391 36 438 121T485 346Q485 371 479 415H476Q472 362 443 326T370 271T280 253Q182 253

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_500.svg
=====================================================
<?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 xmlns="http://www.w3.org/2000/svg">
<defs >
<font id="WorkSans" horiz-adv-x="581" ><font-face
    font-family="Work Sans Medium"
    units-per-em="1000"
    panose-1="0 0 6 0 0 0 0 0 0 0"
    ascent="930"
    descent="-243"
    alphabetic="0" />
<glyph unicode=" " glyph-name="space" horiz-adv-x="325" />
<glyph unicode="!" glyph-name="exclam" horiz-adv-x="281" d="M196 396L182 210H98L84 396V660H196V396ZM174 132T194 113T215 61Q215 29 195 10T140 -9Q106 -9 86 10T66 61Q66 93 86 112T140 132Q174 132 194 113Z" />
<glyph unicode="&quot;" glyph-name="quotedbl" horiz-adv-x="416" d="M332 430H254V686H359L332 430ZM154 430H76V686H181L154 430Z" />
<glyph unicode="#" glyph-name="numbersign" horiz-adv-x="655" d="M498 412L472 252H588V179H460L430 0H348L377 179H222L193 0H110L140 179H22V252H152L178 412H65V485H191L219 660H302L273 485H428L457 660H539L510 485H632V412H498ZM416 412H261L234 252H390L416
412Z" />
<glyph unicode="$" glyph-name="dollar" horiz-adv-x="622" d="M279 1Q102 16 41 158L118 214Q132 163 176 129T279 84V292Q213 306 169 323T95 374T65 466Q65 543 122 596T279 659V756H356V658Q433 652 483 620T571 526L500 461Q474 515 441 542T356 575V364Q422
350 466 333T540 280T570 186Q570 108 512 59T356 1V-96H279V1ZM279 575Q223 569 194 543T165 473Q165 434 194 414T279 380V575ZM471 94T471 179Q471 219 442 240T356 275V83Q471 94 471 179Z" />
<glyph unicode="%" glyph-name="percent" horiz-adv-x="880" d="M280 670T325 620T371 486Q371 403 326 353T204 302Q128 302 83 352T37 486Q37 569 82 619T204 670Q280 670 325 620ZM610 660H702L271 0H178L610 660ZM166 592T146 565T125 486Q125 436 145 409T204
381Q243 381 263 408T284 486Q284 537 264 564T204 592Q166 592 146 565ZM752 358T797 308T843 174Q843 91 798 41T676 -10Q600 -10 555 40T509 174Q509 257 554 307T676 358Q752 358 797 308ZM638 279T618 252T597 174Q597 123 617 96T676 68Q715 68 735 95T756
174Q756 224 736 251T676 279Q638 279 618 252Z" />
<glyph unicode="&amp;" glyph-name="ampersand" horiz-adv-x="630" d="M613 -10Q568 -10 534 4T453 62Q416 28 367 9T258 -10Q195 -10 146 12T69 73T41 164Q41 223 76 271T193 359Q151 412 135 446T119 517Q119 556 138 591T196 648T288 670Q362 670 408 634T454
528Q454 470 425 427T320 344Q361 293 381 270Q436 204 458 179Q494 244 494 327L493 350L572 344Q574 283 558 226T508 124Q544 89 570 78T632 68L613 -10ZM253 589T234 569T215 516Q215 491 226 468T276 397Q330 429 347 458T364 524Q364 556 345 572T288 589Q253
589 234 569ZM137 127T173 98T261 69Q341 69 402 115Q356 164 318 210L303 227L240 302Q179 265 158 236T137 171Q137 127 173 98Z" />
<glyph unicode="&apos;" glyph-name="quotesingle" horiz-adv-x="239" d="M154 430H76V686H181L154 430Z" />
<glyph unicode="(" glyph-name="parenleft" horiz-adv-x="362" d="M339 691Q245 605 206 510T166 278Q166 141 205 47T339 -134L283 -190Q174 -102 119 16T63 278Q63 423 118 541T283 747L339 691Z" />
<glyph unicode=")" glyph-name="parenright" horiz-adv-x="362" d="M188 659T243 541T299 278Q299 134 244 16T80 -190L23 -134Q117 -49 156 46T196 278Q196 415 157 510T23 691L80 747Q188 659 243 541Z" />
<glyph unicode="*" glyph-name="asterisk" horiz-adv-x="577" d="M388 423L462 321L396 273L322 375L288 440L254 375L181 273L115 321L189 423L240 475L168 488L49 526L73 603L193 564L259 532L248 604L247 730H330L329 604L318 532L384 564L504 603L528 526L409
488L336 475L388 423Z" />
<glyph unicode="+" glyph-name="plus" horiz-adv-x="604" d="M548 275H349V66H256V275H56V364H256V572H349V364H548V275Z" />
<glyph unicode="," glyph-name="comma" horiz-adv-x="273" d="M176 135T198 106T221 29Q221 -28 191 -75T103 -150L51 -106Q92 -92 120 -65T157 -3L152 -1Q144 -9 124 -9Q99 -9 80 9T60 61Q60 93 82 114T136 135Q176 135 198 106Z" />
<glyph unicode="-" glyph-name="hyphen" horiz-adv-x="515" d="M428 214H87V313H428V214Z" />
<glyph unicode="." glyph-name="period" horiz-adv-x="273" d="M171 135T191 116T212 63Q212 30 192 10T137 -10Q103 -10 82 10T61 63Q61 96 81 115T137 135Q171 135 191 116Z" />
<glyph unicode="/" glyph-name="slash" horiz-adv-x="447" d="M124 -70H24L322 725H422L124 -70Z" />
<glyph unicode="0" glyph-name="zero" horiz-adv-x="628" d="M189 -10T125 76T60 330Q60 497 124 583T314 670Q439 670 504 584T569 330Q569 163 504 77T314 -10Q189 -10 125 76ZM386 81T423 143T460 330Q460 454 423 516T314 579Q169 579 169 330Q169 81 314
81Q386 81 423 143Z" />
<glyph unicode="1" glyph-name="one" horiz-adv-x="418" d="M324 660V0H219V488Q219 522 220 541Q186 508 143 484T54 450L34 543Q60 546 101 565T180 610T234 660H324Z" />
<glyph unicode="2" glyph-name="two" horiz-adv-x="587" d="M70 79Q200 170 272 233T375 349T407 458Q407 511 374 544T282 577Q220 577 184 536T142 422L49 465Q59 560 122 615T288 670Q359 670 411 643T490 568T517 462Q517 367 447 281T212 90V88Q262 92 321
92H529V0H70V79Z" />
<glyph unicode="3" glyph-name="three" horiz-adv-x="586" d="M361 670T409 647T483 583T508 494Q508 447 490 411T443 354T384 334V332Q422 332 453 313T504 259T523 178Q523 124 493 81T409 14T283 -10Q104 -10 46 150L144 197Q159 139 192 111T287 82Q347 82
381 111T415 190Q415 244 383 266T279 289H249V374H276Q400 374 400 476Q400 526 372 552T291 578Q238 578 207 553T166 480L68 520Q89 592 149 631T293 670Q361 670 409 647Z" />
<glyph unicode="4" glyph-name="four" horiz-adv-x="622" d="M579 165H467V0H366V165H41V230L336 660H467V248H579V165ZM148 248H366V474L370 581H368Q344 530 304 471L148 248Z" />
<glyph unicode="5" glyph-name="five" horiz-adv-x="582" d="M382 424T429 398T501 324T527 215Q527 108 463 49T292 -10Q202 -10 145 26T53 135L153 190Q168 136 198 109T290 81Q351 81 386 114T422 207Q422 269 389 302T294 336Q200 336 160 279L71 285L112
660H495V568H197L174 385L172 371H173Q221 424 319 424Q382 424 429 398Z" />
<glyph unicode="6" glyph-name="six" horiz-adv-x="617" d="M413 670T466 637T548 529L454 484Q425 577 326 577Q278 577 241 544T184 453T163 323V305H167Q183 359 232 387T341 416Q406 416 456 390T533 317T561 205Q561 106 498 48T326 -10Q201 -10 133 81T65
330Q65 439 99 516T194 631T332 670Q413 670 466 637ZM268 327T233 294T197 206Q197 150 232 116T326 82Q387 82 421 114T455 206Q455 263 421 295T326 327Q268 327 233 294Z" />
<glyph unicode="7" glyph-name="seven" horiz-adv-x="577" d="M544 660V571Q422 446 368 307T314 0H205Q205 159 262 302T433 567H41V660H544Z" />
<glyph unicode="8" glyph-name="eight" horiz-adv-x="619" d="M411 669T471 621T531 492Q531 441 506 403T434 345V344Q493 322 525 280T558 177Q558 91 491 41T310 -10Q196 -10 129 40T61 177Q61 237 94 280T186 344V345Q140 364 114 402T88 492Q88 574 148 621T310
669Q411 669 471 621ZM257 579T226 554T195 482Q195 437 226 412T310 386Q362 386 393 411T425 482Q425 527 394 553T310 579Q257 579 226 554ZM375 80T412 109T450 189Q450 240 412 269T310 299Q246 299 208 270T169 189Q169 138 207 109T310 80Q375 80 412 109Z"
/>

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/fonts/Inconsolata.svg
=====================================================
<?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 xmlns="http://www.w3.org/2000/svg">
<defs >
<font id="Inconsolata" horiz-adv-x="499" ><font-face
    font-family="Inconsolata"
    units-per-em="1000"
    panose-1="2 11 6 9 3 0 3 0 0 0"
    ascent="859"
    descent="-190"
    alphabetic="0" />
<glyph unicode=" " glyph-name="space" horiz-adv-x="500" />
<glyph unicode="!" glyph-name="exclam" horiz-adv-x="500" d="M281 89Q299 71 299 47Q299 24 281 7T239 -11Q215 -11 198 6T180 47Q180 71 197 89T239 107Q263 107 281 89ZM241 668Q264 668 278 649T292 584Q292 573 291 558T288 522L283 470L265 194H215L200
470Q199 486 198 503T195 537T192 569T190 594Q190 629 203 648T241 668Z" />
<glyph unicode="&quot;" glyph-name="quotedbl" horiz-adv-x="500" d="M315 548L309 611Q309 639 322 652T352 666Q369 666 383 651T397 603Q397 572 363 478L339 412L284 425L306 493Q315 523 315 548ZM143 548L136 611Q136 639 149 652T179 666Q196 666 210
651T224 603Q224 569 191 478L167 412L111 425L133 493Q138 508 140 521T143 548Z" />
<glyph unicode="#" glyph-name="numbersign" horiz-adv-x="500" d="M173 624L234 626L213 455H323L343 622L405 623L385 457H476L470 410H379L358 241H457L452 196H353L331 14L270 10L292 193H181L160 14L101 13L122 191H25L29 236H128L148 407H39L42 453H153L173
624ZM207 408L187 238H297L318 408H207Z" />
<glyph unicode="$" glyph-name="dollar" horiz-adv-x="500" d="M235 651H299Q300 650 300 648Q300 646 297 642T293 630V592Q387 581 442 515L399 461Q394 463 394 470T388 482Q353 523 293 533V340Q336 326 367 311T419 278T450 236T460 181Q460 152 449 125T416
76T363 37T293 16V-47H235V14Q127 22 60 94L103 154Q107 151 107 144T110 133Q160 79 235 72V292Q157 318 118 354T79 446Q79 473 90 497T122 541T171 573T235 591V651ZM293 273V74Q341 83 368 112T395 177Q395 213 371 234T293 273ZM235 361V534Q190 529 168 506T145
454Q145 397 235 361Z" />
<glyph unicode="%" glyph-name="percent" horiz-adv-x="500" d="M391 623H458L110 0H46L391 623ZM28 504Q28 531 37 555T61 596T96 624T140 634Q163 634 183 624T219 596T243 554T252 503Q252 446 220 410T140 373Q117 373 97 383T61 410T37 452T28 504ZM189 504Q189
547 173 564T138 582Q120 582 105 565T89 504Q89 462 105 444T140 426Q159 426 174 443T189 504ZM371 249Q394 249 414 239T450 211T473 170T482 119Q482 92 473 68T449 27T414 0T371 -10Q348 -10 328 0T292 27T268 68T259 119Q259 146 268 170T292 211T327 239T371
249ZM406 179Q389 198 370 198Q350 198 334 180T318 120Q318 77 335 59T372 40Q392 40 407 59T423 118Q423 159 406 179Z" />
<glyph unicode="&amp;" glyph-name="ampersand" horiz-adv-x="500" d="M413 262L412 274Q412 280 416 284L481 239Q447 179 405 123L475 32L416 -12L361 76Q330 37 286 14T192 -10Q158 -10 130 2T80 34T48 82T36 141Q36 204 70 257T162 343Q91 429 91 498Q91 526
102 550T131 591T175 619T228 629Q258 629 283 618T326 589T353 547T363 498Q363 473 355 448T333 401T299 360T255 330L367 173Q381 190 395 215T413 262ZM160 497Q160 449 221 373Q257 390 277 424T297 492Q297 525 277 547T229 570Q201 570 181 550T160 497ZM197
296Q157 271 135 231T112 152Q112 131 119 114T138 83T165 62T199 54Q215 54 232 59T263 71T290 88T309 106L324 123L197 296Z" />
<glyph unicode="&apos;" glyph-name="quotesingle" horiz-adv-x="500" d="M238 548L231 611Q231 639 244 652T274 666Q291 666 305 651T319 603Q318 586 311 555T286 478L261 412L206 425L228 493Q233 508 235 521T238 548Z" />
<glyph unicode="(" glyph-name="parenleft" horiz-adv-x="500" d="M414 603L403 604Q400 604 394 601Q306 549 257 460T208 256Q208 200 223 146T266 42T334 -49T425 -120L393 -173Q333 -142 286 -97T207 5T157 125T139 258Q139 326 156 388T207 504T286 599T392
666L422 605Q416 603 414 603Z" />
<glyph unicode=")" glyph-name="parenright" horiz-adv-x="500" d="M78 603L97 665Q157 637 207 594T291 496T345 379T364 250Q364 183 345 120T290 1T204 -100T91 -174L72 -114Q123 -87 163 -49T233 37T277 138T293 247Q293 303 278 356T234 455T166 539T78 603Z" />
<glyph unicode="*" glyph-name="asterisk" horiz-adv-x="500" d="M213 519H294Q293 513 291 506T288 492L273 342L432 414L458 353L287 301L413 150L358 107L250 273L138 106L84 150L214 300L41 353L67 418L229 342L213 519Z" />
<glyph unicode="+" glyph-name="plus" horiz-adv-x="500" d="M222 523H285V352H456V291H285V104H222V291H45V352H222V523Z" />
<glyph unicode="," glyph-name="comma" horiz-adv-x="500" d="M306 20Q306 -59 199 -168L165 -138Q193 -112 211 -82T230 -33Q230 -23 222 -15T205 2T187 20T179 44Q179 69 195 86T238 103Q264 103 285 80T306 20Z" />
<glyph unicode="-" glyph-name="hyphen" horiz-adv-x="500" d="M71 348H431V281H71V348Z" />
<glyph unicode="." glyph-name="period" horiz-adv-x="500" d="M280 87Q298 69 298 46Q298 23 281 6T238 -11Q213 -11 196 5T179 46Q179 70 197 87T238 104Q261 104 280 87Z" />
<glyph unicode="/" glyph-name="slash" horiz-adv-x="500" d="M64 -13L377 665L437 634L123 -42L64 -13Z" />
<glyph unicode="0" glyph-name="zero" horiz-adv-x="500" d="M386 544Q415 505 432 442T450 301Q450 222 433 164T387 66T322 8T249 -11Q211 -11 175 12T111 76T67 176T50 306Q50 377 66 436T111 537T175 603T249 627Q327 627 386 544ZM349 485Q329 525 303 545T250
566Q225 566 201 548T157 498T127 420T115 319Q115 257 129 201L349 485ZM372 418L152 138Q176 93 202 73T255 53Q282 53 305 69T346 117T374 192T385 293Q385 328 382 359T372 418Z" />
<glyph unicode="1" glyph-name="one" horiz-adv-x="500" d="M299 624V0H230V537L104 500L88 539L251 624H299Z" />
<glyph unicode="2" glyph-name="two" horiz-adv-x="500" d="M78 526Q105 574 151 600T252 627Q289 627 322 614T380 576T419 520T433 452Q433 423 425 397T402 348T370 303T331 263L271 207Q258 195 242 179T211 143T180 103T154 61H415Q420 61 425 65T436 70H439V0H73V44Q110
117 153 170T236 259L284 303Q309 326 324 345T349 383T361 417T364 451Q364 473 355 493T330 530T293 556T250 566Q224 566 204 559T168 541T143 519T133 498Q131 489 129 486L78 526Z" />
<glyph unicode="3" glyph-name="three" horiz-adv-x="500" d="M411 467Q411 422 386 385T318 332Q366 315 395 271T425 171Q425 134 412 101T373 43T310 4T226 -11Q134 -11 69 60L122 123Q126 119 128 110T135 94L149 81Q157 73 181 63T232 53Q259 53 282 63T322
90T348 131T358 181Q358 235 318 266T211 298Q203 298 196 298T180 296V352Q226 352 257 361T307 387T335 424T344 471Q344 489 336 505T314 534T280 555T236 563Q172 563 129 515L90 558Q151 625 239 625Q275 625 306 613T361 578T397 528T411 467Z" />
<glyph unicode="4" glyph-name="four" horiz-adv-x="500" d="M313 624H372V234H452V172H372V0H299V173H48V224L313 624ZM300 513L117 234H300V513Z" />
<glyph unicode="5" glyph-name="five" horiz-adv-x="500" d="M106 623H422V560H165L155 381Q204 405 257 405Q297 405 331 391T391 349T431 283T445 196Q445 148 430 110T389 44T327 3T249 -11Q192 -11 144 14T64 85L126 131Q131 128 131 119T133 108Q137 101
147 91T172 72T208 57T253 50Q277 50 299 60T337 90T364 136T374 199Q374 234 364 261T337 308T296 337T246 347Q214 347 183 332T129 288L85 306L106 623Z" />
<glyph unicode="6" glyph-name="six" horiz-adv-x="500" d="M287 630Q365 630 424 573L375 520Q366 528 363 537T349 551Q334 561 319 564T289 568Q269 568 243 559T193 523T154 450T136 327Q157 362 192 382T268 402Q303 402 334 388T388 346T425 282T439 198Q439
152 425 114T387 48T331 5T261 -10Q214 -10 178 10T118 69T80 161T67 284Q67 368 82 432T127 541T196 607T287 630ZM140 257Q139 251 139 245T139 233Q139 194 148 161T175 104T215 66T264 52Q307 52 339 89T371 197Q371 235 361 262T336 306T301 332T262 341Q226
341 193 317T140 257Z" />

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/fonts/fontawesome-webfont.svg
=====================================================
<?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" 

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/fonts/Work_Sans_200.svg
=====================================================
<?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 xmlns="http://www.w3.org/2000/svg">
<defs >
<font id="WorkSans" horiz-adv-x="532" ><font-face
    font-family="Work Sans ExtraLight"
    units-per-em="1000"
    panose-1="0 0 3 0 0 0 0 0 0 0"
    ascent="930"
    descent="-243"
    alphabetic="0" />
<glyph unicode=" " glyph-name="space" horiz-adv-x="292" />
<glyph unicode="!" glyph-name="exclam" horiz-adv-x="199" d="M114 316L112 177H87L85 316V660H114V316ZM113 54T121 46T130 24Q130 11 122 3T99 -6Q86 -6 78 2T69 24Q69 37 77 45T99 54Q113 54 121 46Z" />
<glyph unicode="&quot;" glyph-name="quotedbl" horiz-adv-x="271" d="M200 506H175V682H205L200 506ZM94 506H69V682H99L94 506Z" />
<glyph unicode="#" glyph-name="numbersign" horiz-adv-x="634" d="M453 438L421 231H562V208H417L385 0H359L391 208H200L168 0H142L174 208H39V231H178L210 438H71V461H213L244 660H270L239 461H430L461 660H487L456 461H595V438H453ZM427 438H236L204 231H395L427
438Z" />
<glyph unicode="$" glyph-name="dollar" horiz-adv-x="587" d="M289 0Q199 4 138 48T55 171L81 185Q96 113 152 71T289 24V315Q217 330 174 345T101 394T71 484Q71 531 97 570T173 634T289 660V760H313V660Q394 656 446 621T522 514L499 496Q479 564 433 598T313
636V336Q384 322 427 307T499 258T529 168Q529 94 471 48T313 0V-100H289V0ZM289 636Q202 635 151 593T99 485Q99 438 124 410T188 368T289 341V636ZM396 26T449 63T502 167Q502 213 477 241T413 283T313 310V24Q396 26 449 63Z" />
<glyph unicode="%" glyph-name="percent" horiz-adv-x="774" d="M252 662T288 613T324 491Q324 419 288 371T182 323Q112 323 76 371T39 491Q39 564 75 613T182 662Q252 662 288 613ZM593 660H622L180 0H151L593 660ZM125 639T96 597T66 491Q66 427 95 387T182
346Q240 346 269 386T298 491Q298 555 269 597T182 639Q125 639 96 597ZM663 337T699 289T735 167Q735 94 699 46T593 -2Q523 -2 486 46T449 167Q449 240 486 288T593 337Q663 337 699 289ZM535 314T506 273T476 167Q476 104 505 63T593 21Q650 21 679 62T708 167Q708
231 679 272T593 314Q535 314 506 273Z" />
<glyph unicode="&amp;" glyph-name="ampersand" horiz-adv-x="582" d="M497 49T526 31T588 12L583 -10Q548 -10 516 10T438 81Q364 -10 239 -10Q154 -10 100 31T46 143Q46 212 88 258T220 357Q169 424 151 458T133 531Q133 592 172 629T276 667Q338 667 376 635T414
545Q414 489 381 445T257 350Q281 317 327 258Q406 157 436 120Q466 166 481 229T495 364L519 362Q520 288 504 220T452 101Q497 49 526 31ZM223 643T192 613T160 532Q160 508 166 489T189 444T242 370Q327 417 357 456T388 545Q388 590 358 616T276 643Q223 643
192 613ZM354 14T421 100Q390 137 310 241L235 337Q178 305 144 279T92 220T73 144Q73 85 119 50T236 14Q354 14 421 100Z" />
<glyph unicode="&apos;" glyph-name="quotesingle" horiz-adv-x="165" d="M94 506H69V682H99L94 506Z" />
<glyph unicode="(" glyph-name="parenleft" horiz-adv-x="271" d="M258 725Q167 648 125 540T82 284Q82 136 124 29T258 -157L243 -174Q147 -92 101 20T55 284Q55 436 101 548T243 742L258 725Z" />
<glyph unicode=")" glyph-name="parenright" horiz-adv-x="271" d="M124 660T170 548T217 284Q217 133 171 21T28 -174L13 -157Q105 -79 147 28T189 284Q189 433 147 540T13 725L28 742Q124 660 170 548Z" />
<glyph unicode="*" glyph-name="asterisk" horiz-adv-x="522" d="M323 446L400 339L380 324L302 430L261 494L219 430L142 324L121 339L199 446L246 505L172 525L47 566L55 590L180 550L252 522L248 598V730H274V598L270 522L341 550L467 590L474 566L349 525L275
505L323 446Z" />
<glyph unicode="+" glyph-name="plus" horiz-adv-x="604" d="M536 303H316V77H289V303H68V329H289V549H316V329H536V303Z" />
<glyph unicode="," glyph-name="comma" horiz-adv-x="186" d="M114 54T124 39T135 -1Q135 -35 117 -66T67 -114L49 -100Q76 -89 95 -62T114 -10Q114 -5 112 5H110Q104 -6 91 -6Q79 -6 71 2T63 24Q63 36 72 45T94 54Q114 54 124 39Z" />
<glyph unicode="-" glyph-name="hyphen" horiz-adv-x="434" d="M362 254H72V283H362V254Z" />
<glyph unicode="." glyph-name="period" horiz-adv-x="186" d="M107 54T115 46T123 24Q123 11 115 3T93 -6Q80 -6 72 2T63 24Q63 38 71 46T93 54Q107 54 115 46Z" />
<glyph unicode="/" glyph-name="slash" horiz-adv-x="366" d="M62 -70H34L303 730H331L62 -70Z" />
<glyph unicode="0" glyph-name="zero" horiz-adv-x="596" d="M183 -10T122 78T61 330Q61 494 122 582T298 670Q413 670 474 582T535 330Q535 166 474 78T298 -10Q183 -10 122 78ZM399 15T453 96T507 330Q507 483 453 564T298 645Q197 645 144 564T90 330Q90 177
143 96T298 15Q399 15 453 96Z" />
<glyph unicode="1" glyph-name="one" horiz-adv-x="333" d="M240 660V0H212V512Q212 581 213 616Q183 573 137 542T38 494L30 518Q85 537 137 575T213 660H240Z" />
<glyph unicode="2" glyph-name="two" horiz-adv-x="543" d="M58 24Q207 145 281 212T399 344T443 473Q443 552 395 598T264 645Q180 645 129 593T73 453L48 466Q54 559 111 614T264 670Q360 670 415 617T471 473Q471 405 430 340T315 207T101 26V25H142H497V0H58V24Z" />
<glyph unicode="3" glyph-name="three" horiz-adv-x="533" d="M353 670T404 624T455 498Q455 434 421 388T328 333V332Q391 328 431 283T471 171Q471 118 444 77T370 13T265 -10Q176 -10 120 30T45 142L70 157Q85 91 134 53T266 15Q343 15 393 58T443 174Q443
241 400 280T277 320H232V346H277Q348 346 387 387T426 494Q426 565 383 605T263 645Q200 645 156 612T94 520L66 534Q89 597 141 633T263 670Q353 670 404 624Z" />
<glyph unicode="4" glyph-name="four" horiz-adv-x="561" d="M534 199H399V0H371V199H39V221L362 660H399V223H534V199ZM70 223H371V565L372 634H370Q351 605 323 565L70 223Z" />
<glyph unicode="5" glyph-name="five" horiz-adv-x="544" d="M346 404T393 378T466 306T492 199Q492 138 465 91T390 17T278 -10Q88 -10 52 148L78 160Q91 87 142 51T278 15Q332 15 374 38T440 103T464 198Q463 279 414 329T283 379Q158 379 98 298H73L105 660H466V635H128L102
345L101 327H102Q159 404 286 404Q346 404 393 378Z" />
<glyph unicode="6" glyph-name="six" horiz-adv-x="555" d="M443 670T488 546L462 534Q447 585 408 615T307 645Q230 645 180 600T107 480T84 317Q84 281 92 213H95Q95 269 123 311T198 376T295 399Q392 399 447 343T503 194Q503 101 446 46T291 -10Q176 -10 117
77T58 330Q58 440 90 516T178 631T308 670Q443 670 488 546ZM241 374T199 349T134 282T111 196Q111 145 133 104T197 40T290 16Q375 16 424 65T474 196Q474 275 425 324T294 374Q241 374 199 349Z" />
<glyph unicode="7" glyph-name="seven" horiz-adv-x="507" d="M493 660V635Q372 505 308 349T231 0H202Q214 188 277 346T462 635H25V660H493Z" />
<glyph unicode="8" glyph-name="eight" horiz-adv-x="572" d="M377 670T431 625T486 506Q486 446 451 405T353 348V347Q427 332 471 285T515 171Q515 118 486 77T405 13T286 -10Q219 -10 167 13T86 77T57 171Q57 238 101 285T220 347V348Q157 362 122 403T86 506Q86
580 140 625T286 670Q377 670 431 625ZM208 644T161 606T114 504Q114 439 161 400T286 360Q364 360 411 399T458 504Q458 568 411 606T286 644Q208 644 161 606ZM345 15T390 35T461 90T486 172Q486 219 461 255T391 312T286 333Q228 333 183 313T112 256T86 172Q86
126 111 91T181 35T286 15Q345 15 390 35Z" />
<glyph unicode="9" glyph-name="nine" horiz-adv-x="577" d="M391 670T453 581T515 330Q515 164 451 77T277 -10Q194 -10 138 28T64 132L93 147Q105 86 151 51T277 15Q388 15 438 107T489 338Q489 393 479 451H477Q477 392 448 349T371 284T272 261Q175 261 117

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.svg
=====================================================
<?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 xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="novecento_sans_wideultralight" horiz-adv-x="207" >
<font-face units-per-em="1000" ascent="821" descent="-179" />
<missing-glyph horiz-adv-x="250" />
<glyph horiz-adv-x="1000" />
<glyph horiz-adv-x="1000" />
<glyph unicode="&#xd;" horiz-adv-x="1000" />
<glyph unicode=" "  horiz-adv-x="250" />
<glyph unicode="&#x09;" horiz-adv-x="250" />
<glyph unicode="&#xa0;" horiz-adv-x="250" />
<glyph unicode="!" d="M117 700v-563h-27v563h27zM104 -10q-16 0 -25 9.5t-9 23.5t9.5 23t24.5 9q16 0 25 -9.5t9 -22.5q0 -15 -9 -24t-25 -9z" />
<glyph unicode="&#x22;" horiz-adv-x="220" d="M75 700l-2 -217h-23l-2 217h27zM169 700l-2 -217h-23l-2 217h27z" />
<glyph unicode="#" horiz-adv-x="658" d="M423 154h113l-6 -23h-114l-35 -131h-25l35 131h-207l-35 -131h-25l35 131h-114l6 23h115l68 254h-112l6 23h112l35 129h25l-35 -129h207l35 129h25l-35 -129h116l-6 -23h-116zM259 408l-68 -254h207l68 254h-207z" />
<glyph unicode="$" horiz-adv-x="455" d="M415 141q0 -69 -45.5 -110t-124.5 -43v-78h-25v78q-159 9 -180 150l25 7q7 -64 53 -97.5t118 -33.5q70 0 111 33.5t41 93.5q0 36 -14 61.5t-42 40t-53 22t-62 15.5q-7 1 -11 2q-25 5 -40 9.5t-39.5 15.5t-38 25t-24.5 38.5t-11 56.5q0 62 42 101t117 43v79h25v-79 q148 -5 174 -134l-26 -7q-13 56 -49.5 85.5t-106.5 29.5q-71 0 -110 -32t-39 -85q0 -59 39 -84.5t114 -40.5q29 -6 47.5 -10.5t47 -16.5t45 -28t29.5 -43.5t13 -63.5z" />
<glyph unicode="%" horiz-adv-x="688" d="M155 214q-119 0 -119 178t119 178t119 -178t-119 -178zM452 560l-189 -560h-29l189 560h29zM155 238q95 0 95 154t-95 154t-95 -154t95 -154zM533 -7q-119 0 -119 178q0 179 119 179t119 -179q0 -178 -119 -178zM533 17q95 0 95 154t-95 154t-95 -154t95 -154z" />
<glyph unicode="&#x26;" horiz-adv-x="604" d="M481 280v-96q0 -97 -54.5 -146.5t-157.5 -49.5q-99 0 -152.5 43.5t-53.5 116.5q0 62 37 100t91 45v2q-47 9 -83 43t-36 93q0 66 47 103t136 37q53 0 96 -12t80 -47.5t48 -92.5l-25 -7q-31 133 -198 133q-157 0 -157 -112q0 -55 41.5 -90.5t116.5 -35.5h317v-26zM454 281 h-196q-74 0 -121 -34t-47 -99q0 -62 45.5 -98t133.5 -36q185 0 185 170v97z" />
<glyph unicode="'" horiz-adv-x="126" d="M75 700l-2 -217h-23l-2 217h27z" />
<glyph unicode="(" horiz-adv-x="320" d="M295 796l13 -24q-109 -40 -165 -154.5t-56 -323.5t56 -323.5t165 -154.5l-13 -24q-122 44 -178.5 168t-56.5 334t56.5 334t178.5 168z" />
<glyph unicode=")" horiz-adv-x="320" d="M25 -208l-13 24q109 40 165 154.5t56 323.5t-56 323.5t-165 154.5l13 24q122 -44 178.5 -168t56.5 -334t-56.5 -334t-178.5 -168z" />
<glyph unicode="*" horiz-adv-x="506" d="M276 527l85 -124l-21 -14l-87 122l-87 -122l-21 14l85 124l-140 45l8 23l142 -43v148h26v-148l142 43l8 -23z" />
<glyph unicode="+" horiz-adv-x="668" d="M515 281h-167v-179h-29v179h-167v26h167v177h29v-177h167v-26z" />
<glyph unicode="," horiz-adv-x="186" d="M105 -9q-17 -4 -28 4t-11 24q0 32 34 32q35 0 35 -42q0 -30 -19.5 -65.5t-53.5 -48.5l-14 13q25 10 41 36.5t16 46.5z" />
<glyph unicode="-" horiz-adv-x="588" d="M475 281h-363v26h363v-26z" />
<glyph unicode="." horiz-adv-x="186" d="M93 -10q-16 0 -25 9.5t-9 23.5t9.5 23t24.5 9q16 0 25 -9.5t9 -22.5q0 -15 -9.5 -24t-24.5 -9z" />
<glyph unicode="/" horiz-adv-x="448" d="M418 700l-358 -700h-30l358 700h30z" />
<glyph unicode="0" horiz-adv-x="508" d="M254 571q105 0 159.5 -76t54.5 -215t-54.5 -215.5t-159.5 -76.5q-106 0 -160 76t-54 216q0 139 54 215t160 76zM254 545q-94 0 -140.5 -69t-46.5 -196t46.5 -196.5t140.5 -69.5t140.5 69.5t46.5 196.5t-46.5 196t-140.5 69z" />
<glyph unicode="1" horiz-adv-x="307" d="M190 0v447q0 18 1 39t1 32l1 12h-1l-9 -10q-9 -10 -20.5 -22t-15.5 -16l-79 -82l-18 18l141 142h26v-560h-27z" />
<glyph unicode="2" horiz-adv-x="476" d="M51 0v31l212 174q72 59 102.5 102t30.5 94q0 62 -42 103t-121 41q-77 0 -116 -38.5t-42 -94.5l-25 7q6 76 59 114t128 38q87 0 136.5 -48t49.5 -125q0 -54 -31 -99.5t-111 -111.5l-195 -160l1 -1h82h257v-26h-375z" />
<glyph unicode="3" horiz-adv-x="470" d="M312 295v-3q52 -7 85 -43t33 -95q0 -75 -53.5 -120.5t-135.5 -45.5t-137.5 45.5t-63.5 116.5l24 7q10 -68 58.5 -105.5t121.5 -37.5q77 0 117.5 41t40.5 101q0 62 -43 93.5t-120 31.5h-50v26h50q158 0 158 118q0 58 -40 89t-115 31q-86 0 -121.5 -37t-42.5 -96l-25 7 q9 78 61 115t132 37q88 0 133 -40t45 -103q0 -53 -31 -89t-81 -44z" />
<glyph unicode="4" horiz-adv-x="501" d="M367 0h-27v163h-305v29l297 368h35v-371h84v-26h-84v-163zM340 406v124h-1l-276 -340l1 -1h108h168v217z" />
<glyph unicode="5" horiz-adv-x="497" d="M94 294l1 -1q17 26 59 48t99 22q85 0 139.5 -51.5t54.5 -136.5t-55 -136t-140 -51q-77 0 -132 43.5t-70 119.5l25 6q12 -68 60.5 -105.5t116.5 -37.5q74 0 121 43.5t47 118.5q0 74 -47.5 117.5t-126.5 43.5q-62 0 -101.5 -25.5t-53.5 -60.5l-23 7l49 302h293v-26h-273 l-22 -133q-3 -18 -6 -35.5t-5.5 -29.5t-5 -22t-3.5 -15z" />
<glyph unicode="6" horiz-adv-x="488" d="M96 301l2 -1q51 65 147 65q88 0 143 -52t55 -133q0 -84 -56.5 -138t-145.5 -54q-88 0 -143.5 54t-55.5 142t62 169l160 207h33zM242 14q77 0 125 45.5t49 120.5q1 72 -46.5 115.5t-127.5 43.5q-79 0 -126 -43.5t-47 -116.5q0 -74 47.5 -119.5t125.5 -45.5z" />
<glyph unicode="7" horiz-adv-x="443" d="M418 536l-302 -536h-30l270 482q7 13 15.5 25.5t12.5 19.5l5 7l-1 1q-38 -1 -71 -1h-287v26h388v-24z" />
<glyph unicode="8" horiz-adv-x="490" d="M40 148q0 64 42.5 102t100.5 42v2q-36 3 -76.5 38t-40.5 93q0 62 47.5 104t131.5 42q82 0 130.5 -42t48.5 -103q0 -41 -23 -72.5t-48.5 -44.5t-44.5 -15v-2q57 -4 99.5 -42.5t42.5 -101.5q0 -72 -56.5 -116t-148.5 -44t-148.5 44t-56.5 116zM92 424q0 -55 43.5 -87.5 t109.5 -31.5q69 1 111 34.5t42 85.5t-41.5 86t-111.5 34q-72 0 -112.5 -34t-40.5 -87zM67 149q0 -63 48 -99t130 -36t130 36t48 99q0 62 -47.5 96t-130.5 34t-130.5 -34t-47.5 -96z" />
<glyph unicode="9" horiz-adv-x="497" d="M397 255l-1 1q-60 -66 -153 -66q-89 0 -143.5 52.5t-54.5 136.5q0 85 56.5 138.5t146.5 53.5q89 0 146.5 -52t57.5 -142q0 -55 -26.5 -107.5t-90.5 -129.5l-120 -140h-33zM248 545q-74 0 -125 -42t-51 -125q0 -82 50.5 -122t125.5 -40q77 0 127 42t50 122q0 82 -51 123.5 t-126 41.5z" />
<glyph unicode=":" horiz-adv-x="186" d="M93 349q-16 0 -25 9.5t-9 23.5t9.5 23t24.5 9q16 0 25 -9.5t9 -22.5q0 -14 -9.5 -23.5t-24.5 -9.5zM93 -10q-16 0 -25 9.5t-9 23.5t9.5 23t24.5 9q16 0 25 -9.5t9 -22.5q0 -15 -9.5 -24t-24.5 -9z" />
<glyph unicode=";" horiz-adv-x="186" d="M93 349q-16 0 -25 9.5t-9 23.5t9.5 23t24.5 9q16 0 25 -9.5t9 -22.5q0 -14 -9.5 -23.5t-24.5 -9.5zM105 -9q-17 -4 -28 4t-11 24q0 32 34 32q35 0 35 -42q0 -30 -19.5 -65.5t-53.5 -48.5l-14 13q25 10 41 36.5t16 46.5z" />
<glyph unicode="&#x3c;" horiz-adv-x="668" d="M539 47l-451 232v32l451 232v-30l-425 -217v-2l425 -217v-30z" />
<glyph unicode="=" horiz-adv-x="668" d="M515 358h-363v26h363v-26zM515 205h-363v26h363v-26z" />
<glyph unicode="&#x3e;" horiz-adv-x="668" d="M554 294v2l-425 217v30l451 -232v-32l-451 -232v30z" />
<glyph unicode="?" horiz-adv-x="555" d="M248 137v182q128 48 180.5 94.5t52.5 112.5q0 65 -45 113t-150 48q-176 0 -216 -163l-25 7q21 91 84 137t160 46q113 0 167 -55.5t54 -130.5q0 -44 -19 -81t-54.5 -63.5t-72.5 -45t-87 -36.5v-165h-29zM261 -10q-16 0 -25 9.5t-9 23.5t9.5 23t24.5 9q16 0 25 -9.5 t9 -22.5q0 -15 -9.5 -24t-24.5 -9z" />
<glyph unicode="@" horiz-adv-x="782" d="M536 419v-228q0 -87 72 -87q48 0 75 43t27 121q0 143 -90.5 236.5t-229.5 93.5q-138 0 -228 -93.5t-90 -240.5q0 -146 85 -239t226 -93q154 0 233 79l20 -16q-48 -49 -120.5 -69t-131.5 -20q-154 0 -246.5 101.5t-92.5 257.5q0 155 98.5 257t247.5 102t247.5 -102 t98.5 -255q0 -88 -34.5 -138t-94.5 -50q-37 0 -64 23t-31 65h-2q-16 -42 -52.5 -65t-83.5 -23q-65 0 -112.5 48.5t-47.5 127.5q0 78 43.5 130t116.5 52q34 0 61 -10t41.5 -24.5t21.5 -25.5t9 -19h2v61h26zM375 105q61 0 95 38.5t40 98.5v30q0 62 -37 100.5t-98 38.5 q-64 0 -98.5 -43t-34.5 -113t37 -110t96 -40z" />
<glyph unicode="A" horiz-adv-x="715" d="M552 230h-389l-104 -230h-29l315 700h25l315 -700h-29zM541 255l-95 211q-13 29 -35 80t-37 86l-16 36h-1l-15 -36q-16 -35 -38 -86t-35 -80l-95 -211h367z" />
<glyph unicode="B" horiz-adv-x="618" d="M395 377v-3q27 -2 55.5 -12t57 -30t47 -57t18.5 -85q0 -93 -61 -141.5t-169 -48.5h-253v700h220q96 0 151.5 -45.5t55.5 -120.5q0 -70 -36 -108.5t-86 -48.5zM117 385h200q78 0 125.5 37.5t47.5 109.5q0 66 -49 104t-135 38h-189v-289zM117 26h228q92 0 146.5 40.5 t54.5 120.5t-60 126t-144 46h-225v-333z" />
<glyph unicode="C" horiz-adv-x="781" d="M701 197l25 -7q-42 -95 -128 -148.5t-196 -53.5q-153 0 -255 100.5t-102 263.5q0 165 101 263.5t257 98.5q115 0 196.5 -52.5t116.5 -131.5l-25 -8q-10 22 -27.5 45t-50 53t-87 49t-121.5 19q-147 0 -240 -90.5t-93 -245.5q0 -154 94.5 -246t235.5 -92q98 0 178 48.5 t121 134.5z" />
<glyph unicode="D" horiz-adv-x="715" d="M90 700h207q168 0 270.5 -95t102.5 -258q0 -161 -100.5 -254t-262.5 -93h-217v700zM117 26h190q147 0 241.5 84.5t94.5 236.5q0 154 -95.5 240.5t-250.5 86.5h-180v-648z" />

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/mermaid/mermaid.css
=====================================================
/* Flowchart variables */
/* Sequence Diagram variables */
/* Gantt chart variables */
.mermaid .label {
  color: #333;
}
.node rect,
.node circle,
.node ellipse,
.node polygon {
  fill: #ECECFF;
  stroke: #CCCCFF;
  stroke-width: 1px;
}
.edgePath .path {
  stroke: #333333;
}
.edgeLabel {
  background-color: #e8e8e8;
}
.cluster rect {
  fill: #ffffde !important;
  rx: 4 !important;
  stroke: #aaaa33 !important;
  stroke-width: 1px !important;
}
.cluster text {
  fill: #333;
}
.actor {
  stroke: #CCCCFF;
  fill: #ECECFF;
}
text.actor {
  fill: black;
  stroke: none;
}
.actor-line {
  stroke: grey;
}
.messageLine0 {
  stroke-width: 1.5;
  stroke-dasharray: "2 2";
  marker-end: "url(#arrowhead)";
  stroke: #333;
}
.messageLine1 {
  stroke-width: 1.5;
  stroke-dasharray: "2 2";
  stroke: #333;

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/mermaid/mermaid.js
=====================================================
!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.mermaid=t()}}(function(){var define,module,exports;return function t(e,n,r){function i(u,o){if(!n[u]){if(!e[u]){var s="function"==typeof require&&require;if(!o&&s)return s(u,!0);if(a)return a(u,!0);var c=new Error("Cannot find module '"+u+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[u]={exports:{}};e[u][0].call(l.exports,function(t){var n=e[u][1][t];return i(n?n:t)},l,l.exports,t,e,n,r)}return n[u].exports}for(var a="function"==typeof require&&require,u=0;u<r.length;u++)i(r[u]);return i}({1:[function(){},{}],2:[function(t,e,n){(function(t){function e(t,e){for(var n=0,r=t.length-1;r>=0;r--){var i=t[r];"."===i?t.splice(r,1):".."===i?(t.splice(r,1),n++):n&&(t.splice(r,1),n--)}if(e)for(;n--;n)t.unshift("..");return t}function r(t,e){if(t.filter)return t.filter(e);for(var n=[],r=0;r<t.length;r++)e(t[r],r,t)&&n.push(t[r]);return n}var i=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,a=function(t){return i.exec(t).slice(1)};n.resolve=function(){for(var n="",i=!1,a=arguments.length-1;a>=-1&&!i;a--){var u=a>=0?arguments[a]:t.cwd();if("string"!=typeof u)throw new TypeError("Arguments to path.resolve must be strings");u&&(n=u+"/"+n,i="/"===u.charAt(0))}return n=e(r(n.split("/"),function(t){return!!t}),!i).join("/"),(i?"/":"")+n||"."},n.normalize=function(t){var i=n.isAbsolute(t),a="/"===u(t,-1);return t=e(r(t.split("/"),function(t){return!!t}),!i).join("/"),t||i||(t="."),t&&a&&(t+="/"),(i?"/":"")+t},n.isAbsolute=function(t){return"/"===t.charAt(0)},n.join=function(){var t=Array.prototype.slice.call(arguments,0);return n.normalize(r(t,function(t){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},n.relative=function(t,e){function r(t){for(var e=0;e<t.length&&""===t[e];e++);for(var n=t.length-1;n>=0&&""===t[n];n--);return e>n?[]:t.slice(e,n-e+1)}t=n.resolve(t).substr(1),e=n.resolve(e).substr(1);for(var i=r(t.split("/")),a=r(e.split("/")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;s<i.length;s++)c.push("..");return c=c.concat(a.slice(o)),c.join("/")},n.sep="/",n.delimiter=":",n.dirname=function(t){var e=a(t),n=e[0],r=e[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},n.basename=function(t,e){var n=a(t)[2];return e&&n.substr(-1*e.length)===e&&(n=n.substr(0,n.length-e.length)),n},n.extname=function(t){return a(t)[3]};var u="b"==="ab".substr(-1)?function(t,e,n){return t.substr(e,n)}:function(t,e,n){return 0>e&&(e=t.length+e),t.substr(e,n)}}).call(this,t("_process"))},{_process:3}],3:[function(t,e){function n(){}var r=e.exports={};r.nextTick=function(){var t="undefined"!=typeof window&&window.setImmediate,e="undefined"!=typeof window&&window.MutationObserver,n="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(t)return function(t){return window.setImmediate(t)};var r=[];if(e){var i=document.createElement("div"),a=new MutationObserver(function(){var t=r.slice();r.length=0,t.forEach(function(t){t()})});return a.observe(i,{attributes:!0}),function(t){r.length||i.setAttribute("yes","no"),r.push(t)}}return n?(window.addEventListener("message",function(t){var e=t.source;if((e===window||null===e)&&"process-tick"===t.data&&(t.stopPropagation(),r.length>0)){var n=r.shift();n()}},!0),function(t){r.push(t),window.postMessage("process-tick","*")}):function(t){setTimeout(t,0)}}(),r.title="browser",r.browser=!0,r.env={},r.argv=[],r.on=n,r.addListener=n,r.once=n,r.off=n,r.removeListener=n,r.removeAllListeners=n,r.emit=n,r.binding=function(){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(){throw new Error("process.chdir is not supported")}},{}],4:[function(t,e){!function(){function t(t){return t&&(t.ownerDocument||t.document||t).documentElement}function n(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}function r(t,e){return e>t?-1:t>e?1:t>=e?0:0/0}function i(t){return null===t?0/0:+t}function a(t){return!isNaN(t)}function u(t){return{left:function(e,n,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=e.length);i>r;){var a=r+i>>>1;t(e[a],n)<0?r=a+1:i=a}return r},right:function(e,n,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=e.length);i>r;){var a=r+i>>>1;t(e[a],n)>0?i=a:r=a+1}return r}}}function o(t){return t.length}function s(t){for(var e=1;t*e%1;)e*=10;return e}function c(t,e){for(var n in e)Object.defineProperty(t.prototype,n,{value:e[n],enumerable:!1})}function l(){this._=Object.create(null)}function h(t){return(t+="")===gu||t[0]===yu?yu+t:t}function f(t){return(t+="")[0]===yu?t.slice(1):t}function d(t){return h(t)in this._}function p(t){return(t=h(t))in this._&&delete this._[t]}function g(){var t=[];for(var e in this._)t.push(f(e));return t}function y(){var t=0;for(var e in this._)++t;return t}function m(){for(var t in this._)return!1;return!0}function v(){this._=Object.create(null)}function _(t){return t}function b(t,e,n){return function(){var r=n.apply(e,arguments);return r===e?t:r}}function x(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var n=0,r=mu.length;r>n;++n){var i=mu[n]+e;if(i in t)return i}}function w(){}function A(){}function k(t){function e(){for(var e,r=n,i=-1,a=r.length;++i<a;)(e=r[i].on)&&e.apply(this,arguments);return t}var n=[],r=new l;return e.on=function(e,i){var a,u=r.get(e);return arguments.length<2?u&&u.on:(u&&(u.on=null,n=n.slice(0,a=n.indexOf(u)).concat(n.slice(a+1)),r.remove(e)),i&&n.push(r.set(e,{on:i})),t)},e}function E(){nu.event.preventDefault()}function D(){for(var t,e=nu.event;t=e.sourceEvent;)e=t;return e}function S(t){for(var e=new A,n=0,r=arguments.length;++n<r;)e[arguments[n]]=k(e);return e.of=function(n,r){return function(i){try{var a=i.sourceEvent=nu.event;i.target=t,nu.event=i,e[i.type].apply(n,r)}finally{nu.event=a}}},e}function C(t){return _u(t,Au),t}function M(t){return"function"==typeof t?t:function(){return bu(t,this)}}function T(t){return"function"==typeof t?t:function(){return xu(t,this)}}function F(t,e){function n(){this.removeAttribute(t)}function r(){this.removeAttributeNS(t.space,t.local)}function i(){this.setAttribute(t,e)}function a(){this.setAttributeNS(t.space,t.local,e)}function u(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}function o(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}return t=nu.ns.qualify(t),null==e?t.local?r:n:"function"==typeof e?t.local?o:u:t.local?a:i}function L(t){return t.trim().replace(/\s+/g," ")}function B(t){return new RegExp("(?:^|\\s+)"+nu.requote(t)+"(?:\\s+|$)","g")}function O(t){return(t+"").trim().split(/^|\s+/)}function I(t,e){function n(){for(var n=-1;++n<i;)t[n](this,e)}function r(){for(var n=-1,r=e.apply(this,arguments);++n<i;)t[n](this,r)}t=O(t).map(N);var i=t.length;return"function"==typeof e?r:n}function N(t){var e=B(t);return function(n,r){if(i=n.classList)return r?i.add(t):i.remove(t);var i=n.getAttribute("class")||"";r?(e.lastIndex=0,e.test(i)||n.setAttribute("class",L(i+" "+t))):n.setAttribute("class",L(i.replace(e," ")))}}function R(t,e,n){function r(){this.style.removeProperty(t)}function i(){this.style.setProperty(t,e,n)}function a(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}return null==e?r:"function"==typeof e?a:i}function P(t,e){function n(){delete this[t]}function r(){this[t]=e}function i(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}return null==e?n:"function"==typeof e?i:r}function j(t){function e(){var e=this.ownerDocument,n=this.namespaceURI;return n?e.createElementNS(n,t):e.createElement(t)}function n(){return this.ownerDocument.createElementNS(t.space,t.local)}return"function"==typeof t?t:(t=nu.ns.qualify(t)).local?n:e}function q(){var t=this.parentNode;t&&t.removeChild(this)}function U(t){return{__data__:t}}function Y(t){return function(){return wu(this,t)}}function V(t){return arguments.length||(t=r),function(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}}function $(t,e){for(var n=0,r=t.length;r>n;n++)for(var i,a=t[n],u=0,o=a.length;o>u;u++)(i=a[u])&&e(i,u,n);return t}function z(t){return _u(t,Eu),t}function G(t){var e,n;return function(r,i,a){var u,o=t[a].update,s=o.length;for(a!=n&&(n=a,e=0),i>=e&&(e=i+1);!(u=o[e])&&++e<s;);return u}}function H(t,e,n){function r(){var e=this[u];e&&(this.removeEventListener(t,e,e.$),delete this[u])}function i(){var i=s(e,iu(arguments));r.call(this),this.addEventListener(t,this[u]=i,i.$=n),i._=e}function a(){var e,n=new RegExp("^__on([^.]+)"+nu.requote(t)+"$");for(var r in this)if(e=r.match(n)){var i=this[r];this.removeEventListener(e[1],i,i.$),delete this[r]}}var u="__on"+t,o=t.indexOf("."),s=W;o>0&&(t=t.slice(0,o));var c=Du.get(t);return c&&(t=c,s=Z),o?e?i:r:e?w:a}function W(t,e){return function(n){var r=nu.event;nu.event=n,e[0]=this.__data__;try{t.apply(this,e)}finally{nu.event=r}}}function Z(t,e){var n=W(t,e);return function(t){var e=this,r=t.relatedTarget;r&&(r===e||8&r.compareDocumentPosition(e))||n.call(e,t)}}function X(e){var r=".dragsuppress-"+ ++Cu,i="click"+r,a=nu.select(n(e)).on("touchmove"+r,E).on("dragstart"+r,E).on("selectstart"+r,E);if(null==Su&&(Su="onselectstart"in e?!1:x(e.style,"userSelect")),Su){var u=t(e).style,o=u[Su];u[Su]="none"}return function(t){if(a.on(r,null),Su&&(u[Su]=o),t){var e=function(){a.on(i,null)};a.on(i,function(){E(),e()},!0),setTimeout(e,0)}}}function K(t,e){e.changedTouches&&(e=e.changedTouches[0]);var r=t.ownerSVGElement||t;if(r.createSVGPoint){var i=r.createSVGPoint();if(0>Mu){var a=n(t);if(a.scrollX||a.scrollY){r=nu.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var u=r[0][0].getScreenCTM();Mu=!(u.f||u.e),r.remove()}}return Mu?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var o=t.getBoundingClientRect();return[e.clientX-o.left-t.clientLeft,e.clientY-o.top-t.clientTop]}function J(){return nu.event.changedTouches[0].identifier}function Q(t){return t>0?1:0>t?-1:0}function tt(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(e[1]-t[1])*(n[0]-t[0])}function et(t){return t>1?0:-1>t?Lu:Math.acos(t)}function nt(t){return t>1?Iu:-1>t?-Iu:Math.asin(t)}function rt(t){return((t=Math.exp(t))-1/t)/2}function it(t){return((t=Math.exp(t))+1/t)/2}function at(t){return((t=Math.exp(2*t))-1)/(t+1)}function ut(t){return(t=Math.sin(t/2))*t}function ot(){}function st(t,e,n){return this instanceof st?(this.h=+t,this.s=+e,void(this.l=+n)):arguments.length<2?t instanceof st?new st(t.h,t.s,t.l):wt(""+t,At,st):new st(t,e,n)}function ct(t,e,n){function r(t){return t>360?t-=360:0>t&&(t+=360),60>t?a+(u-a)*t/60:180>t?u:240>t?a+(u-a)*(240-t)/60:a}function i(t){return Math.round(255*r(t))}var a,u;return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:0>e?0:e>1?1:e,n=0>n?0:n>1?1:n,u=.5>=n?n*(1+e):n+e-n*e,a=2*n-u,new vt(i(t+120),i(t),i(t-120))}function lt(t,e,n){return this instanceof lt?(this.h=+t,this.c=+e,void(this.l=+n)):arguments.length<2?t instanceof lt?new lt(t.h,t.c,t.l):t instanceof ft?pt(t.l,t.a,t.b):pt((t=kt((t=nu.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new lt(t,e,n)}function ht(t,e,n){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new ft(n,Math.cos(t*=Nu)*e,Math.sin(t)*e)}function ft(t,e,n){return this instanceof ft?(this.l=+t,this.a=+e,void(this.b=+n)):arguments.length<2?t instanceof ft?new ft(t.l,t.a,t.b):t instanceof lt?ht(t.h,t.c,t.l):kt((t=vt(t)).r,t.g,t.b):new ft(t,e,n)}function dt(t,e,n){var r=(t+16)/116,i=r+e/500,a=r-n/200;return i=gt(i)*Hu,r=gt(r)*Wu,a=gt(a)*Zu,new vt(mt(3.2404542*i-1.5371385*r-.4985314*a),mt(-.969266*i+1.8760108*r+.041556*a),mt(.0556434*i-.2040259*r+1.0572252*a))}function pt(t,e,n){return t>0?new lt(Math.atan2(n,e)*Ru,Math.sqrt(e*e+n*n),t):new lt(0/0,0/0,t)}function gt(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function yt(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function mt(t){return Math.round(255*(.00304>=t?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function vt(t,e,n){return this instanceof vt?(this.r=~~t,this.g=~~e,void(this.b=~~n)):arguments.length<2?t instanceof vt?new vt(t.r,t.g,t.b):wt(""+t,vt,ct):new vt(t,e,n)}function _t(t){return new vt(t>>16,t>>8&255,255&t)}function bt(t){return _t(t)+""}function xt(t){return 16>t?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function wt(t,e,n){t=t.toLowerCase();var r,i,a,u=0,o=0,s=0;if(r=/([a-z]+)\((.*)\)/.exec(t))switch(i=r[2].split(","),r[1]){case"hsl":return n(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(Dt(i[0]),Dt(i[1]),Dt(i[2]))}return(a=Ju.get(t))?e(a.r,a.g,a.b):(null==t||"#"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(u=(3840&a)>>4,u=u>>4|u,o=240&a,o=o>>4|o,s=15&a,s=s<<4|s):7===t.length&&(u=(16711680&a)>>16,o=(65280&a)>>8,s=255&a)),e(u,o,s))}function At(t,e,n){var r,i,a=Math.min(t/=255,e/=255,n/=255),u=Math.max(t,e,n),o=u-a,s=(u+a)/2;return o?(i=.5>s?o/(u+a):o/(2-u-a),r=t==u?(e-n)/o+(n>e?6:0):e==u?(n-t)/o+2:(t-e)/o+4,r*=60):(r=0/0,i=s>0&&1>s?0:r),new st(r,i,s)}function kt(t,e,n){t=Et(t),e=Et(e),n=Et(n);var r=yt((.4124564*t+.3575761*e+.1804375*n)/Hu),i=yt((.2126729*t+.7151522*e+.072175*n)/Wu),a=yt((.0193339*t+.119192*e+.9503041*n)/Zu);return ft(116*i-16,500*(r-i),200*(i-a))}function Et(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Dt(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}function St(t){return"function"==typeof t?t:function(){return t}}function Ct(t){return function(e,n,r){return 2===arguments.length&&"function"==typeof n&&(r=n,n=null),Mt(e,n,t,r)}}function Mt(t,e,n,r){function i(){var t,e=s.status;if(!e&&Ft(s)||e>=200&&300>e||304===e){try{t=n.call(a,s)}catch(r){return void u.error.call(a,r)}u.load.call(a,t)}else u.error.call(a,s)}var a={},u=nu.dispatch("beforesend","progress","load","error"),o={},s=new XMLHttpRequest,c=null;return!this.XDomainRequest||"withCredentials"in s||!/^(http(s)?:)?\/\//.test(t)||(s=new XDomainRequest),"onload"in s?s.onload=s.onerror=i:s.onreadystatechange=function(){s.readyState>3&&i()},s.onprogress=function(t){var e=nu.event;nu.event=t;try{u.progress.call(a,s)}finally{nu.event=e}},a.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?o[t]:(null==e?delete o[t]:o[t]=e+"",a)},a.mimeType=function(t){return arguments.length?(e=null==t?null:t+"",a):e},a.responseType=function(t){return arguments.length?(c=t,a):c},a.response=function(t){return n=t,a},["get","post"].forEach(function(t){a[t]=function(){return a.send.apply(a,[t].concat(iu(arguments)))}}),a.send=function(n,r,i){if(2===arguments.length&&"function"==typeof r&&(i=r,r=null),s.open(n,t,!0),null==e||"accept"in o||(o.accept=e+",*/*"),s.setRequestHeader)for(var l in o)s.setRequestHeader(l,o[l]);return null!=e&&s.overrideMimeType&&s.overrideMimeType(e),null!=c&&(s.responseType=c),null!=i&&a.on("error",i).on("load",function(t){i(null,t)}),u.beforesend.call(a,s),s.send(null==r?null:r),a},a.abort=function(){return s.abort(),a},nu.rebind(a,u,"on"),null==r?a:a.get(Tt(r))}function Tt(t){return 1===t.length?function(e,n){t(null==e?n:null)}:t}function Ft(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}function Lt(){var t=Bt(),e=Ot()-t;e>24?(isFinite(e)&&(clearTimeout(no),no=setTimeout(Lt,e)),eo=0):(eo=1,io(Lt))}function Bt(){var t=Date.now();for(ro=Qu;ro;)t>=ro.t&&(ro.f=ro.c(t-ro.t)),ro=ro.n;return t}function Ot(){for(var t,e=Qu,n=1/0;e;)e.f?e=t?t.n=e.n:Qu=e.n:(e.t<n&&(n=e.t),e=(t=e).n);return to=t,n}function It(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}function Nt(t,e){var n=Math.pow(10,3*pu(8-e));return{scale:e>8?function(t){return t/n}:function(t){return t*n},symbol:t}}function Rt(t){var e=t.decimal,n=t.thousands,r=t.grouping,i=t.currency,a=r&&n?function(t,e){for(var i=t.length,a=[],u=0,o=r[0],s=0;i>0&&o>0&&(s+o+1>e&&(o=Math.max(1,e-s)),a.push(t.substring(i-=o,i+o)),!((s+=o+1)>e));)o=r[u=(u+1)%r.length];return a.reverse().join(n)}:_;return function(t){var n=uo.exec(t),r=n[1]||" ",u=n[2]||">",o=n[3]||"-",s=n[4]||"",c=n[5],l=+n[6],h=n[7],f=n[8],d=n[9],p=1,g="",y="",m=!1,v=!0;switch(f&&(f=+f.substring(1)),(c||"0"===r&&"="===u)&&(c=r="0",u="="),d){case"n":h=!0,d="g";break;case"%":p=100,y="%",d="f";break;case"p":p=100,y="%",d="r";break;case"b":case"o":case"x":case"X":"#"===s&&(g="0"+d.toLowerCase());case"c":v=!1;case"d":m=!0,f=0;break;case"s":p=-1,d="r"}"$"===s&&(g=i[0],y=i[1]),"r"!=d||f||(d="g"),null!=f&&("g"==d?f=Math.max(1,Math.min(21,f)):("e"==d||"f"==d)&&(f=Math.max(0,Math.min(20,f)))),d=oo.get(d)||Pt;var _=c&&h;return function(t){var n=y;if(m&&t%1)return"";var i=0>t||0===t&&0>1/t?(t=-t,"-"):"-"===o?"":o;if(0>p){var s=nu.formatPrefix(t,f);t=s.scale(t),n=s.symbol+y}else t*=p;t=d(t,f);var b,x,w=t.lastIndexOf(".");if(0>w){var A=v?t.lastIndexOf("e"):-1;0>A?(b=t,x=""):(b=t.substring(0,A),x=t.substring(A))}else b=t.substring(0,w),x=e+t.substring(w+1);!c&&h&&(b=a(b,1/0));var k=g.length+b.length+x.length+(_?0:i.length),E=l>k?new Array(k=l-k+1).join(r):"";return _&&(b=a(E+b,E.length?l-x.length:1/0)),i+=g,t=b+x,("<"===u?i+t+E:">"===u?E+i+t:"^"===u?E.substring(0,k>>=1)+i+t+E.substring(k):i+(_?t:E+t))+n}}}function Pt(t){return t+""}function jt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function qt(t,e,n){function r(e){var n=t(e),r=a(n,1);return r-e>e-n?n:r}function i(n){return e(n=t(new co(n-1)),1),n}function a(t,n){return e(t=new co(+t),n),t}function u(t,r,a){var u=i(t),o=[];if(a>1)for(;r>u;)n(u)%a||o.push(new Date(+u)),e(u,1);else for(;r>u;)o.push(new Date(+u)),e(u,1);return o}function o(t,e,n){try{co=jt;var r=new jt;return r._=t,u(r,e,n)}finally{co=Date}}t.floor=t,t.round=r,t.ceil=i,t.offset=a,t.range=u;var s=t.utc=Ut(t);return s.floor=s,s.round=Ut(r),s.ceil=Ut(i),s.offset=Ut(a),s.range=o,t}function Ut(t){return function(e,n){try{co=jt;var r=new jt;return r._=e,t(r,n)._}finally{co=Date}}}function Yt(t){function e(t){function e(e){for(var n,i,a,u=[],o=-1,s=0;++o<r;)37===t.charCodeAt(o)&&(u.push(t.slice(s,o)),null!=(i=ho[n=t.charAt(++o)])&&(n=t.charAt(++o)),(a=C[n])&&(n=a(e,null==i?"e"===n?" ":"0":i)),u.push(n),s=o+1);return u.push(t.slice(s,o)),u.join("")}var r=t.length;return e.parse=function(e){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},i=n(r,t,e,0);if(i!=e.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var a=null!=r.Z&&co!==jt,u=new(a?jt:co);return"j"in r?u.setFullYear(r.y,0,r.j):"w"in r&&("W"in r||"U"in r)?(u.setFullYear(r.y,0,1),u.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(u.getDay()+5)%7:r.w+7*r.U-(u.getDay()+6)%7)):u.setFullYear(r.y,r.m,r.d),u.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),a?u._:u},e.toString=function(){return t},e}function n(t,e,n,r){for(var i,a,u,o=0,s=e.length,c=n.length;s>o;){if(r>=c)return-1;if(i=e.charCodeAt(o++),37===i){if(u=e.charAt(o++),a=M[u in ho?e.charAt(o++):u],!a||(r=a(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}function r(t,e,n){w.lastIndex=0;var r=w.exec(e.slice(n));return r?(t.w=A.get(r[0].toLowerCase()),n+r[0].length):-1}function i(t,e,n){b.lastIndex=0;var r=b.exec(e.slice(n));return r?(t.w=x.get(r[0].toLowerCase()),n+r[0].length):-1}function a(t,e,n){D.lastIndex=0;var r=D.exec(e.slice(n));return r?(t.m=S.get(r[0].toLowerCase()),n+r[0].length):-1}function u(t,e,n){k.lastIndex=0;var r=k.exec(e.slice(n));return r?(t.m=E.get(r[0].toLowerCase()),n+r[0].length):-1}function o(t,e,r){return n(t,C.c.toString(),e,r)}function s(t,e,r){return n(t,C.x.toString(),e,r)}function c(t,e,r){return n(t,C.X.toString(),e,r)}function l(t,e,n){var r=_.get(e.slice(n,n+=2).toLowerCase());return null==r?-1:(t.p=r,n)}var h=t.dateTime,f=t.date,d=t.time,p=t.periods,g=t.days,y=t.shortDays,m=t.months,v=t.shortMonths;e.utc=function(t){function n(t){try{co=jt;var e=new co;return e._=t,r(e)}finally{co=Date}}var r=e(t);return n.parse=function(t){try{co=jt;var e=r.parse(t);return e&&e._}finally{co=Date}},n.toString=r.toString,n},e.multi=e.utc.multi=se;var _=nu.map(),b=$t(g),x=zt(g),w=$t(y),A=zt(y),k=$t(m),E=zt(m),D=$t(v),S=zt(v);p.forEach(function(t,e){_.set(t.toLowerCase(),e)});var C={a:function(t){return y[t.getDay()]},A:function(t){return g[t.getDay()]},b:function(t){return v[t.getMonth()]},B:function(t){return m[t.getMonth()]},c:e(h),d:function(t,e){return Vt(t.getDate(),e,2)},e:function(t,e){return Vt(t.getDate(),e,2)},H:function(t,e){return Vt(t.getHours(),e,2)},I:function(t,e){return Vt(t.getHours()%12||12,e,2)},j:function(t,e){return Vt(1+so.dayOfYear(t),e,3)},L:function(t,e){return Vt(t.getMilliseconds(),e,3)},m:function(t,e){return Vt(t.getMonth()+1,e,2)},M:function(t,e){return Vt(t.getMinutes(),e,2)},p:function(t){return p[+(t.getHours()>=12)]},S:function(t,e){return Vt(t.getSeconds(),e,2)},U:function(t,e){return Vt(so.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Vt(so.mondayOfYear(t),e,2)},x:e(f),X:e(d),y:function(t,e){return Vt(t.getFullYear()%100,e,2)},Y:function(t,e){return Vt(t.getFullYear()%1e4,e,4)},Z:ue,"%":function(){return"%"}},M={a:r,A:i,b:a,B:u,c:o,d:te,e:te,H:ne,I:ne,j:ee,L:ae,m:Qt,M:re,p:l,S:ie,U:Ht,w:Gt,W:Wt,x:s,X:c,y:Xt,Y:Zt,Z:Kt,"%":oe};return e}function Vt(t,e,n){var r=0>t?"-":"",i=(r?-t:t)+"",a=i.length;return r+(n>a?new Array(n-a+1).join(e)+i:i)}function $t(t){return new RegExp("^(?:"+t.map(nu.requote).join("|")+")","i")}function zt(t){for(var e=new l,n=-1,r=t.length;++n<r;)e.set(t[n].toLowerCase(),n);return e}function Gt(t,e,n){fo.lastIndex=0;var r=fo.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Ht(t,e,n){fo.lastIndex=0;var r=fo.exec(e.slice(n));return r?(t.U=+r[0],n+r[0].length):-1}function Wt(t,e,n){fo.lastIndex=0;var r=fo.exec(e.slice(n));return r?(t.W=+r[0],n+r[0].length):-1}function Zt(t,e,n){fo.lastIndex=0;var r=fo.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Xt(t,e,n){fo.lastIndex=0;var r=fo.exec(e.slice(n,n+2));return r?(t.y=Jt(+r[0]),n+r[0].length):-1}function Kt(t,e,n){return/^[+-]\d{4}$/.test(e=e.slice(n,n+5))?(t.Z=-e,n+5):-1}function Jt(t){return t+(t>68?1900:2e3)}function Qt(t,e,n){fo.lastIndex=0;var r=fo.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function te(t,e,n){fo.lastIndex=0;var r=fo.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function ee(t,e,n){fo.lastIndex=0;var r=fo.exec(e.slice(n,n+3));return r?(t.j=+r[0],n+r[0].length):-1}function ne(t,e,n){fo.lastIndex=0;var r=fo.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function re(t,e,n){fo.lastIndex=0;var r=fo.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function ie(t,e,n){fo.lastIndex=0;var r=fo.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function ae(t,e,n){fo.lastIndex=0;var r=fo.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function ue(t){var e=t.getTimezoneOffset(),n=e>0?"-":"+",r=pu(e)/60|0,i=pu(e)%60;return n+Vt(r,"0",2)+Vt(i,"0",2)}function oe(t,e,n){po.lastIndex=0;var r=po.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function se(t){for(var e=t.length,n=-1;++n<e;)t[n][0]=this(t[n][0]);return function(e){for(var n=0,r=t[n];!r[1](e);)r=t[++n];return r[0](e)}}function ce(){}function le(t,e,n){var r=n.s=t+e,i=r-t,a=r-i;n.t=t-a+(e-i)}function he(t,e){t&&vo.hasOwnProperty(t.type)&&vo[t.type](t,e)}function fe(t,e,n){var r,i=-1,a=t.length-n;for(e.lineStart();++i<a;)r=t[i],e.point(r[0],r[1],r[2]);e.lineEnd()}function de(t,e){var n=-1,r=t.length;for(e.polygonStart();++n<r;)fe(t[n],e,1);e.polygonEnd()}function pe(){function t(t,e){t*=Nu,e=e*Nu/2+Lu/4;var n=t-r,u=n>=0?1:-1,o=u*n,s=Math.cos(e),c=Math.sin(e),l=a*c,h=i*s+l*Math.cos(o),f=l*u*Math.sin(o);bo.add(Math.atan2(f,h)),r=t,i=s,a=c}var e,n,r,i,a;xo.point=function(u,o){xo.point=t,r=(e=u)*Nu,i=Math.cos(o=(n=o)*Nu/2+Lu/4),a=Math.sin(o)},xo.lineEnd=function(){t(e,n)}}function ge(t){var e=t[0],n=t[1],r=Math.cos(n);return[r*Math.cos(e),r*Math.sin(e),Math.sin(n)]}function ye(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function me(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function ve(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function _e(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function be(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function xe(t){return[Math.atan2(t[1],t[0]),nt(t[2])]}function we(t,e){return pu(t[0]-e[0])<Tu&&pu(t[1]-e[1])<Tu}function Ae(t,e){t*=Nu;var n=Math.cos(e*=Nu);ke(n*Math.cos(t),n*Math.sin(t),Math.sin(e))}function ke(t,e,n){++wo,ko+=(t-ko)/wo,Eo+=(e-Eo)/wo,Do+=(n-Do)/wo}function Ee(){function t(t,i){t*=Nu;var a=Math.cos(i*=Nu),u=a*Math.cos(t),o=a*Math.sin(t),s=Math.sin(i),c=Math.atan2(Math.sqrt((c=n*s-r*o)*c+(c=r*u-e*s)*c+(c=e*o-n*u)*c),e*u+n*o+r*s);Ao+=c,So+=c*(e+(e=u)),Co+=c*(n+(n=o)),Mo+=c*(r+(r=s)),ke(e,n,r)}var e,n,r;Bo.point=function(i,a){i*=Nu;var u=Math.cos(a*=Nu);e=u*Math.cos(i),n=u*Math.sin(i),r=Math.sin(a),Bo.point=t,ke(e,n,r)}}function De(){Bo.point=Ae}function Se(){function t(t,e){t*=Nu;var n=Math.cos(e*=Nu),u=n*Math.cos(t),o=n*Math.sin(t),s=Math.sin(e),c=i*s-a*o,l=a*u-r*s,h=r*o-i*u,f=Math.sqrt(c*c+l*l+h*h),d=r*u+i*o+a*s,p=f&&-et(d)/f,g=Math.atan2(f,d);To+=p*c,Fo+=p*l,Lo+=p*h,Ao+=g,So+=g*(r+(r=u)),Co+=g*(i+(i=o)),Mo+=g*(a+(a=s)),ke(r,i,a)}var e,n,r,i,a;Bo.point=function(u,o){e=u,n=o,Bo.point=t,u*=Nu;var s=Math.cos(o*=Nu);r=s*Math.cos(u),i=s*Math.sin(u),a=Math.sin(o),ke(r,i,a)},Bo.lineEnd=function(){t(e,n),Bo.lineEnd=De,Bo.point=Ae}}function Ce(t,e){function n(n,r){return n=t(n,r),e(n[0],n[1])}return t.invert&&e.invert&&(n.invert=function(n,r){return n=e.invert(n,r),n&&t.invert(n[0],n[1])}),n}function Me(){return!0}function Te(t,e,n,r,i){var a=[],u=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,n=t[0],r=t[e];if(we(n,r)){i.lineStart();for(var o=0;e>o;++o)i.point((n=t[o])[0],n[1]);return void i.lineEnd()}var s=new Le(n,t,null,!0),c=new Le(n,null,s,!1);s.o=c,a.push(s),u.push(c),s=new Le(r,t,null,!1),c=new Le(r,null,s,!0),s.o=c,a.push(s),u.push(c)}}),u.sort(e),Fe(a),Fe(u),a.length){for(var o=0,s=n,c=u.length;c>o;++o)u[o].e=s=!s;for(var l,h,f=a[0];;){for(var d=f,p=!0;d.v;)if((d=d.n)===f)return;l=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(p)for(var o=0,c=l.length;c>o;++o)i.point((h=l[o])[0],h[1]);else r(d.x,d.n.x,1,i);d=d.n}else{if(p){l=d.p.z;for(var o=l.length-1;o>=0;--o)i.point((h=l[o])[0],h[1])}else r(d.x,d.p.x,-1,i);d=d.p}d=d.o,l=d.z,p=!p}while(!d.v);i.lineEnd()}}}function Fe(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r<e;)i.n=n=t[r],n.p=i,i=n;i.n=n=t[0],n.p=i}}function Le(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function Be(t,e,n,r){return function(i,a){function u(e,n){var r=i(e,n);t(e=r[0],n=r[1])&&a.point(e,n)}function o(t,e){var n=i(t,e);y.point(n[0],n[1])}function s(){v.point=o,y.lineStart()}function c(){v.point=u,y.lineEnd()}function l(t,e){g.push([t,e]);var n=i(t,e);b.point(n[0],n[1])}function h(){b.lineStart(),g=[]}function f(){l(g[0][0],g[0][1]),b.lineEnd();var t,e=b.clean(),n=_.buffer(),r=n.length;if(g.pop(),p.push(g),g=null,r)if(1&e){t=n[0];var i,r=t.length-1,u=-1;if(r>0){for(x||(a.polygonStart(),x=!0),a.lineStart();++u<r;)a.point((i=t[u])[0],i[1]);a.lineEnd()}}else r>1&&2&e&&n.push(n.pop().concat(n.shift())),d.push(n.filter(Oe))}var d,p,g,y=e(a),m=i.invert(r[0],r[1]),v={point:u,lineStart:s,lineEnd:c,polygonStart:function(){v.point=l,v.lineStart=h,v.lineEnd=f,d=[],p=[]},polygonEnd:function(){v.point=u,v.lineStart=s,v.lineEnd=c,d=nu.merge(d);var t=qe(m,p);d.length?(x||(a.polygonStart(),x=!0),Te(d,Ne,t,n,a)):t&&(x||(a.polygonStart(),x=!0),a.lineStart(),n(null,null,1,a),a.lineEnd()),x&&(a.polygonEnd(),x=!1),d=p=null},sphere:function(){a.polygonStart(),a.lineStart(),n(null,null,1,a),a.lineEnd(),a.polygonEnd()}},_=Ie(),b=e(_),x=!1;return v}}function Oe(t){return t.length>1}function Ie(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,n){t.push([e,n])},lineEnd:w,buffer:function(){var n=e;return e=[],t=null,n},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function Ne(t,e){return((t=t.x)[0]<0?t[1]-Iu-Tu:Iu-t[1])-((e=e.x)[0]<0?e[1]-Iu-Tu:Iu-e[1])}function Re(t){var e,n=0/0,r=0/0,i=0/0;return{lineStart:function(){t.lineStart(),e=1},point:function(a,u){var o=a>0?Lu:-Lu,s=pu(a-n);pu(s-Lu)<Tu?(t.point(n,r=(r+u)/2>0?Iu:-Iu),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(o,r),t.point(a,r),e=0):i!==o&&s>=Lu&&(pu(n-i)<Tu&&(n-=i*Tu),pu(a-o)<Tu&&(a-=o*Tu),r=Pe(n,r,a,u),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(o,r),e=0),t.point(n=a,r=u),i=o},lineEnd:function(){t.lineEnd(),n=r=0/0},clean:function(){return 2-e}}}function Pe(t,e,n,r){var i,a,u=Math.sin(t-n);return pu(u)>Tu?Math.atan((Math.sin(e)*(a=Math.cos(r))*Math.sin(n)-Math.sin(r)*(i=Math.cos(e))*Math.sin(t))/(i*a*u)):(e+r)/2}function je(t,e,n,r){var i;if(null==t)i=n*Iu,r.point(-Lu,i),r.point(0,i),r.point(Lu,i),r.point(Lu,0),r.point(Lu,-i),r.point(0,-i),r.point(-Lu,-i),r.point(-Lu,0),r.point(-Lu,i);else if(pu(t[0]-e[0])>Tu){var a=t[0]<e[0]?Lu:-Lu;i=n*a/2,r.point(-a,i),r.point(0,i),r.point(a,i)}else r.point(e[0],e[1])}function qe(t,e){var n=t[0],r=t[1],i=[Math.sin(n),-Math.cos(n),0],a=0,u=0;bo.reset();for(var o=0,s=e.length;s>o;++o){var c=e[o],l=c.length;if(l)for(var h=c[0],f=h[0],d=h[1]/2+Lu/4,p=Math.sin(d),g=Math.cos(d),y=1;;){y===l&&(y=0),t=c[y];var m=t[0],v=t[1]/2+Lu/4,_=Math.sin(v),b=Math.cos(v),x=m-f,w=x>=0?1:-1,A=w*x,k=A>Lu,E=p*_;if(bo.add(Math.atan2(E*w*Math.sin(A),g*b+E*Math.cos(A))),a+=k?x+w*Bu:x,k^f>=n^m>=n){var D=me(ge(h),ge(t));be(D);var S=me(i,D);be(S);var C=(k^x>=0?-1:1)*nt(S[2]);(r>C||r===C&&(D[0]||D[1]))&&(u+=k^x>=0?1:-1)}if(!y++)break;f=m,p=_,g=b,h=t}}return(-Tu>a||Tu>a&&0>bo)^1&u}function Ue(t){function e(t,e){return Math.cos(t)*Math.cos(e)>a}function n(t){var n,a,s,c,l;return{lineStart:function(){c=s=!1,l=1},point:function(h,f){var d,p=[h,f],g=e(h,f),y=u?g?0:i(h,f):g?i(h+(0>h?Lu:-Lu),f):0;if(!n&&(c=s=g)&&t.lineStart(),g!==s&&(d=r(n,p),(we(n,d)||we(p,d))&&(p[0]+=Tu,p[1]+=Tu,g=e(p[0],p[1]))),g!==s)l=0,g?(t.lineStart(),d=r(p,n),t.point(d[0],d[1])):(d=r(n,p),t.point(d[0],d[1]),t.lineEnd()),n=d;else if(o&&n&&u^g){var m;y&a||!(m=r(p,n,!0))||(l=0,u?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!g||n&&we(n,p)||t.point(p[0],p[1]),n=p,s=g,a=y},lineEnd:function(){s&&t.lineEnd(),n=null},clean:function(){return l|(c&&s)<<1}}}function r(t,e,n){var r=ge(t),i=ge(e),u=[1,0,0],o=me(r,i),s=ye(o,o),c=o[0],l=s-c*c;if(!l)return!n&&t;var h=a*s/l,f=-a*c/l,d=me(u,o),p=_e(u,h),g=_e(o,f);ve(p,g);var y=d,m=ye(p,y),v=ye(y,y),_=m*m-v*(ye(p,p)-1);if(!(0>_)){var b=Math.sqrt(_),x=_e(y,(-m-b)/v);if(ve(x,p),x=xe(x),!n)return x;var w,A=t[0],k=e[0],E=t[1],D=e[1];A>k&&(w=A,A=k,k=w);var S=k-A,C=pu(S-Lu)<Tu,M=C||Tu>S;if(!C&&E>D&&(w=E,E=D,D=w),M?C?E+D>0^x[1]<(pu(x[0]-A)<Tu?E:D):E<=x[1]&&x[1]<=D:S>Lu^(A<=x[0]&&x[0]<=k)){var T=_e(y,(-m+b)/v);return ve(T,p),[x,xe(T)]}}}function i(e,n){var r=u?t:Lu-t,i=0;return-r>e?i|=1:e>r&&(i|=2),-r>n?i|=4:n>r&&(i|=8),i}var a=Math.cos(t),u=a>0,o=pu(a)>Tu,s=gn(t,6*Nu);return Be(e,n,s,u?[0,-t]:[-Lu,t-Lu])}function Ye(t,e,n,r){return function(i){var a,u=i.a,o=i.b,s=u.x,c=u.y,l=o.x,h=o.y,f=0,d=1,p=l-s,g=h-c;if(a=t-s,p||!(a>0)){if(a/=p,0>p){if(f>a)return;d>a&&(d=a)}else if(p>0){if(a>d)return;a>f&&(f=a)}if(a=n-s,p||!(0>a)){if(a/=p,0>p){if(a>d)return;a>f&&(f=a)}else if(p>0){if(f>a)return;d>a&&(d=a)}if(a=e-c,g||!(a>0)){if(a/=g,0>g){if(f>a)return;d>a&&(d=a)}else if(g>0){if(a>d)return;a>f&&(f=a)}if(a=r-c,g||!(0>a)){if(a/=g,0>g){if(a>d)return;a>f&&(f=a)}else if(g>0){if(f>a)return;d>a&&(d=a)}return f>0&&(i.a={x:s+f*p,y:c+f*g}),1>d&&(i.b={x:s+d*p,y:c+d*g}),i}}}}}}function Ve(t,e,n,r){function i(r,i){return pu(r[0]-t)<Tu?i>0?0:3:pu(r[0]-n)<Tu?i>0?2:1:pu(r[1]-e)<Tu?i>0?1:0:i>0?3:2}function a(t,e){return u(t.x,e.x)}function u(t,e){var n=i(t,1),r=i(e,1);return n!==r?n-r:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0];

}return function(o){function s(t){for(var e=0,n=y.length,r=t[1],i=0;n>i;++i)for(var a,u=1,o=y[i],s=o.length,c=o[0];s>u;++u)a=o[u],c[1]<=r?a[1]>r&&tt(c,a,t)>0&&++e:a[1]<=r&&tt(c,a,t)<0&&--e,c=a;return 0!==e}function c(a,o,s,c){var l=0,h=0;if(null==a||(l=i(a,s))!==(h=i(o,s))||u(a,o)<0^s>0){do c.point(0===l||3===l?t:n,l>1?r:e);while((l=(l+s+4)%4)!==h)}else c.point(o[0],o[1])}function l(i,a){return i>=t&&n>=i&&a>=e&&r>=a}function h(t,e){l(t,e)&&o.point(t,e)}function f(){M.point=p,y&&y.push(m=[]),k=!0,A=!1,x=w=0/0}function d(){g&&(p(v,_),b&&A&&S.rejoin(),g.push(S.buffer())),M.point=h,A&&o.lineEnd()}function p(t,e){t=Math.max(-Io,Math.min(Io,t)),e=Math.max(-Io,Math.min(Io,e));var n=l(t,e);if(y&&m.push([t,e]),k)v=t,_=e,b=n,k=!1,n&&(o.lineStart(),o.point(t,e));else if(n&&A)o.point(t,e);else{var r={a:{x:x,y:w},b:{x:t,y:e}};C(r)?(A||(o.lineStart(),o.point(r.a.x,r.a.y)),o.point(r.b.x,r.b.y),n||o.lineEnd(),E=!1):n&&(o.lineStart(),o.point(t,e),E=!1)}x=t,w=e,A=n}var g,y,m,v,_,b,x,w,A,k,E,D=o,S=Ie(),C=Ye(t,e,n,r),M={point:h,lineStart:f,lineEnd:d,polygonStart:function(){o=S,g=[],y=[],E=!0},polygonEnd:function(){o=D,g=nu.merge(g);var e=s([t,r]),n=E&&e,i=g.length;(n||i)&&(o.polygonStart(),n&&(o.lineStart(),c(null,null,1,o),o.lineEnd()),i&&Te(g,a,e,c,o),o.polygonEnd()),g=y=m=null}};return M}}function $e(t){var e=0,n=Lu/3,r=on(t),i=r(e,n);return i.parallels=function(t){return arguments.length?r(e=t[0]*Lu/180,n=t[1]*Lu/180):[e/Lu*180,n/Lu*180]},i}function ze(t,e){function n(t,e){var n=Math.sqrt(a-2*i*Math.sin(e))/i;return[n*Math.sin(t*=i),u-n*Math.cos(t)]}var r=Math.sin(t),i=(r+Math.sin(e))/2,a=1+r*(2*i-r),u=Math.sqrt(a)/i;return n.invert=function(t,e){var n=u-e;return[Math.atan2(t,n)/i,nt((a-(t*t+n*n)*i*i)/(2*i))]},n}function Ge(){function t(t,e){Ro+=i*t-r*e,r=t,i=e}var e,n,r,i;Yo.point=function(a,u){Yo.point=t,e=r=a,n=i=u},Yo.lineEnd=function(){t(e,n)}}function He(t,e){Po>t&&(Po=t),t>qo&&(qo=t),jo>e&&(jo=e),e>Uo&&(Uo=e)}function We(){function t(t,e){u.push("M",t,",",e,a)}function e(t,e){u.push("M",t,",",e),o.point=n}function n(t,e){u.push("L",t,",",e)}function r(){o.point=t}function i(){u.push("Z")}var a=Ze(4.5),u=[],o={point:t,lineStart:function(){o.point=e},lineEnd:r,polygonStart:function(){o.lineEnd=i},polygonEnd:function(){o.lineEnd=r,o.point=t},pointRadius:function(t){return a=Ze(t),o},result:function(){if(u.length){var t=u.join("");return u=[],t}}};return o}function Ze(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function Xe(t,e){ko+=t,Eo+=e,++Do}function Ke(){function t(t,r){var i=t-e,a=r-n,u=Math.sqrt(i*i+a*a);So+=u*(e+t)/2,Co+=u*(n+r)/2,Mo+=u,Xe(e=t,n=r)}var e,n;$o.point=function(r,i){$o.point=t,Xe(e=r,n=i)}}function Je(){$o.point=Xe}function Qe(){function t(t,e){var n=t-r,a=e-i,u=Math.sqrt(n*n+a*a);So+=u*(r+t)/2,Co+=u*(i+e)/2,Mo+=u,u=i*t-r*e,To+=u*(r+t),Fo+=u*(i+e),Lo+=3*u,Xe(r=t,i=e)}var e,n,r,i;$o.point=function(a,u){$o.point=t,Xe(e=r=a,n=i=u)},$o.lineEnd=function(){t(e,n)}}function tn(t){function e(e,n){t.moveTo(e+u,n),t.arc(e,n,u,0,Bu)}function n(e,n){t.moveTo(e,n),o.point=r}function r(e,n){t.lineTo(e,n)}function i(){o.point=e}function a(){t.closePath()}var u=4.5,o={point:e,lineStart:function(){o.point=n},lineEnd:i,polygonStart:function(){o.lineEnd=a},polygonEnd:function(){o.lineEnd=i,o.point=e},pointRadius:function(t){return u=t,o},result:w};return o}function en(t){function e(t){return(o?r:n)(t)}function n(e){return an(e,function(n,r){n=t(n,r),e.point(n[0],n[1])})}function r(e){function n(n,r){n=t(n,r),e.point(n[0],n[1])}function r(){_=0/0,k.point=a,e.lineStart()}function a(n,r){var a=ge([n,r]),u=t(n,r);i(_,b,v,x,w,A,_=u[0],b=u[1],v=n,x=a[0],w=a[1],A=a[2],o,e),e.point(_,b)}function u(){k.point=n,e.lineEnd()}function s(){r(),k.point=c,k.lineEnd=l}function c(t,e){a(h=t,f=e),d=_,p=b,g=x,y=w,m=A,k.point=a}function l(){i(_,b,v,x,w,A,d,p,h,g,y,m,o,e),k.lineEnd=u,u()}var h,f,d,p,g,y,m,v,_,b,x,w,A,k={point:n,lineStart:r,lineEnd:u,polygonStart:function(){e.polygonStart(),k.lineStart=s},polygonEnd:function(){e.polygonEnd(),k.lineStart=r}};return k}function i(e,n,r,o,s,c,l,h,f,d,p,g,y,m){var v=l-e,_=h-n,b=v*v+_*_;if(b>4*a&&y--){var x=o+d,w=s+p,A=c+g,k=Math.sqrt(x*x+w*w+A*A),E=Math.asin(A/=k),D=pu(pu(A)-1)<Tu||pu(r-f)<Tu?(r+f)/2:Math.atan2(w,x),S=t(D,E),C=S[0],M=S[1],T=C-e,F=M-n,L=_*T-v*F;(L*L/b>a||pu((v*T+_*F)/b-.5)>.3||u>o*d+s*p+c*g)&&(i(e,n,r,o,s,c,C,M,D,x/=k,w/=k,A,y,m),m.point(C,M),i(C,M,D,x,w,A,l,h,f,d,p,g,y,m))}}var a=.5,u=Math.cos(30*Nu),o=16;return e.precision=function(t){return arguments.length?(o=(a=t*t)>0&&16,e):Math.sqrt(a)},e}function nn(t){var e=en(function(e,n){return t([e*Ru,n*Ru])});return function(t){return sn(e(t))}}function rn(t){this.stream=t}function an(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function un(t){return on(function(){return t})()}function on(t){function e(t){return t=o(t[0]*Nu,t[1]*Nu),[t[0]*f+s,c-t[1]*f]}function n(t){return t=o.invert((t[0]-s)/f,(c-t[1])/f),t&&[t[0]*Ru,t[1]*Ru]}function r(){o=Ce(u=hn(m,v,b),a);var t=a(g,y);return s=d-t[0]*f,c=p+t[1]*f,i()}function i(){return l&&(l.valid=!1,l=null),e}var a,u,o,s,c,l,h=en(function(t,e){return t=a(t,e),[t[0]*f+s,c-t[1]*f]}),f=150,d=480,p=250,g=0,y=0,m=0,v=0,b=0,x=Oo,w=_,A=null,k=null;return e.stream=function(t){return l&&(l.valid=!1),l=sn(x(u,h(w(t)))),l.valid=!0,l},e.clipAngle=function(t){return arguments.length?(x=null==t?(A=t,Oo):Ue((A=+t)*Nu),i()):A},e.clipExtent=function(t){return arguments.length?(k=t,w=t?Ve(t[0][0],t[0][1],t[1][0],t[1][1]):_,i()):k},e.scale=function(t){return arguments.length?(f=+t,r()):f},e.translate=function(t){return arguments.length?(d=+t[0],p=+t[1],r()):[d,p]},e.center=function(t){return arguments.length?(g=t[0]%360*Nu,y=t[1]%360*Nu,r()):[g*Ru,y*Ru]},e.rotate=function(t){return arguments.length?(m=t[0]%360*Nu,v=t[1]%360*Nu,b=t.length>2?t[2]%360*Nu:0,r()):[m*Ru,v*Ru,b*Ru]},nu.rebind(e,h,"precision"),function(){return a=t.apply(this,arguments),e.invert=a.invert&&n,r()}}function sn(t){return an(t,function(e,n){t.point(e*Nu,n*Nu)})}function cn(t,e){return[t,e]}function ln(t,e){return[t>Lu?t-Bu:-Lu>t?t+Bu:t,e]}function hn(t,e,n){return t?e||n?Ce(dn(t),pn(e,n)):dn(t):e||n?pn(e,n):ln}function fn(t){return function(e,n){return e+=t,[e>Lu?e-Bu:-Lu>e?e+Bu:e,n]}}function dn(t){var e=fn(t);return e.invert=fn(-t),e}function pn(t,e){function n(t,e){var n=Math.cos(e),o=Math.cos(t)*n,s=Math.sin(t)*n,c=Math.sin(e),l=c*r+o*i;return[Math.atan2(s*a-l*u,o*r-c*i),nt(l*a+s*u)]}var r=Math.cos(t),i=Math.sin(t),a=Math.cos(e),u=Math.sin(e);return n.invert=function(t,e){var n=Math.cos(e),o=Math.cos(t)*n,s=Math.sin(t)*n,c=Math.sin(e),l=c*a-s*u;return[Math.atan2(s*a+c*u,o*r+l*i),nt(l*r-o*i)]},n}function gn(t,e){var n=Math.cos(t),r=Math.sin(t);return function(i,a,u,o){var s=u*e;null!=i?(i=yn(n,i),a=yn(n,a),(u>0?a>i:i>a)&&(i+=u*Bu)):(i=t+u*Bu,a=t-.5*s);for(var c,l=i;u>0?l>a:a>l;l-=s)o.point((c=xe([n,-r*Math.cos(l),-r*Math.sin(l)]))[0],c[1])}}function yn(t,e){var n=ge(e);n[0]-=t,be(n);var r=et(-n[1]);return((-n[2]<0?-r:r)+2*Math.PI-Tu)%(2*Math.PI)}function mn(t,e,n){var r=nu.range(t,e-Tu,n).concat(e);return function(t){return r.map(function(e){return[t,e]})}}function vn(t,e,n){var r=nu.range(t,e-Tu,n).concat(e);return function(t){return r.map(function(e){return[e,t]})}}function _n(t){return t.source}function bn(t){return t.target}function xn(t,e,n,r){var i=Math.cos(e),a=Math.sin(e),u=Math.cos(r),o=Math.sin(r),s=i*Math.cos(t),c=i*Math.sin(t),l=u*Math.cos(n),h=u*Math.sin(n),f=2*Math.asin(Math.sqrt(ut(r-e)+i*u*ut(n-t))),d=1/Math.sin(f),p=f?function(t){var e=Math.sin(t*=f)*d,n=Math.sin(f-t)*d,r=n*s+e*l,i=n*c+e*h,u=n*a+e*o;return[Math.atan2(i,r)*Ru,Math.atan2(u,Math.sqrt(r*r+i*i))*Ru]}:function(){return[t*Ru,e*Ru]};return p.distance=f,p}function wn(){function t(t,i){var a=Math.sin(i*=Nu),u=Math.cos(i),o=pu((t*=Nu)-e),s=Math.cos(o);zo+=Math.atan2(Math.sqrt((o=u*Math.sin(o))*o+(o=r*a-n*u*s)*o),n*a+r*u*s),e=t,n=a,r=u}var e,n,r;Go.point=function(i,a){e=i*Nu,n=Math.sin(a*=Nu),r=Math.cos(a),Go.point=t},Go.lineEnd=function(){Go.point=Go.lineEnd=w}}function An(t,e){function n(e,n){var r=Math.cos(e),i=Math.cos(n),a=t(r*i);return[a*i*Math.sin(e),a*Math.sin(n)]}return n.invert=function(t,n){var r=Math.sqrt(t*t+n*n),i=e(r),a=Math.sin(i),u=Math.cos(i);return[Math.atan2(t*a,r*u),Math.asin(r&&n*a/r)]},n}function kn(t,e){function n(t,e){u>0?-Iu+Tu>e&&(e=-Iu+Tu):e>Iu-Tu&&(e=Iu-Tu);var n=u/Math.pow(i(e),a);return[n*Math.sin(a*t),u-n*Math.cos(a*t)]}var r=Math.cos(t),i=function(t){return Math.tan(Lu/4+t/2)},a=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(i(e)/i(t)),u=r*Math.pow(i(t),a)/a;return a?(n.invert=function(t,e){var n=u-e,r=Q(a)*Math.sqrt(t*t+n*n);return[Math.atan2(t,n)/a,2*Math.atan(Math.pow(u/r,1/a))-Iu]},n):Dn}function En(t,e){function n(t,e){var n=a-e;return[n*Math.sin(i*t),a-n*Math.cos(i*t)]}var r=Math.cos(t),i=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),a=r/i+t;return pu(i)<Tu?cn:(n.invert=function(t,e){var n=a-e;return[Math.atan2(t,n)/i,a-Q(i)*Math.sqrt(t*t+n*n)]},n)}function Dn(t,e){return[t,Math.log(Math.tan(Lu/4+e/2))]}function Sn(t){var e,n=un(t),r=n.scale,i=n.translate,a=n.clipExtent;return n.scale=function(){var t=r.apply(n,arguments);return t===n?e?n.clipExtent(null):n:t},n.translate=function(){var t=i.apply(n,arguments);return t===n?e?n.clipExtent(null):n:t},n.clipExtent=function(t){var u=a.apply(n,arguments);if(u===n){if(e=null==t){var o=Lu*r(),s=i();a([[s[0]-o,s[1]-o],[s[0]+o,s[1]+o]])}}else e&&(u=null);return u},n.clipExtent(null)}function Cn(t,e){return[Math.log(Math.tan(Lu/4+e/2)),-t]}function Mn(t){return t[0]}function Tn(t){return t[1]}function Fn(t){for(var e=t.length,n=[0,1],r=2,i=2;e>i;i++){for(;r>1&&tt(t[n[r-2]],t[n[r-1]],t[i])<=0;)--r;n[r++]=i}return n.slice(0,r)}function Ln(t,e){return t[0]-e[0]||t[1]-e[1]}function Bn(t,e,n){return(n[0]-e[0])*(t[1]-e[1])<(n[1]-e[1])*(t[0]-e[0])}function On(t,e,n,r){var i=t[0],a=n[0],u=e[0]-i,o=r[0]-a,s=t[1],c=n[1],l=e[1]-s,h=r[1]-c,f=(o*(s-c)-h*(i-a))/(h*u-o*l);return[i+f*u,s+f*l]}function In(t){var e=t[0],n=t[t.length-1];return!(e[0]-n[0]||e[1]-n[1])}function Nn(){rr(this),this.edge=this.site=this.circle=null}function Rn(t){var e=is.pop()||new Nn;return e.site=t,e}function Pn(t){Wn(t),es.remove(t),is.push(t),rr(t)}function jn(t){var e=t.circle,n=e.x,r=e.cy,i={x:n,y:r},a=t.P,u=t.N,o=[t];Pn(t);for(var s=a;s.circle&&pu(n-s.circle.x)<Tu&&pu(r-s.circle.cy)<Tu;)a=s.P,o.unshift(s),Pn(s),s=a;o.unshift(s),Wn(s);for(var c=u;c.circle&&pu(n-c.circle.x)<Tu&&pu(r-c.circle.cy)<Tu;)u=c.N,o.push(c),Pn(c),c=u;o.push(c),Wn(c);var l,h=o.length;for(l=1;h>l;++l)c=o[l],s=o[l-1],tr(c.edge,s.site,c.site,i);s=o[0],c=o[h-1],c.edge=Jn(s.site,c.site,null,i),Hn(s),Hn(c)}function qn(t){for(var e,n,r,i,a=t.x,u=t.y,o=es._;o;)if(r=Un(o,u)-a,r>Tu)o=o.L;else{if(i=a-Yn(o,u),!(i>Tu)){r>-Tu?(e=o.P,n=o):i>-Tu?(e=o,n=o.N):e=n=o;break}if(!o.R){e=o;break}o=o.R}var s=Rn(t);if(es.insert(e,s),e||n){if(e===n)return Wn(e),n=Rn(e.site),es.insert(s,n),s.edge=n.edge=Jn(e.site,s.site),Hn(e),void Hn(n);if(!n)return void(s.edge=Jn(e.site,s.site));Wn(e),Wn(n);var c=e.site,l=c.x,h=c.y,f=t.x-l,d=t.y-h,p=n.site,g=p.x-l,y=p.y-h,m=2*(f*y-d*g),v=f*f+d*d,_=g*g+y*y,b={x:(y*v-d*_)/m+l,y:(f*_-g*v)/m+h};tr(n.edge,c,p,b),s.edge=Jn(c,t,null,b),n.edge=Jn(t,p,null,b),Hn(e),Hn(n)}}function Un(t,e){var n=t.site,r=n.x,i=n.y,a=i-e;if(!a)return r;var u=t.P;if(!u)return-(1/0);n=u.site;var o=n.x,s=n.y,c=s-e;if(!c)return o;var l=o-r,h=1/a-1/c,f=l/c;return h?(-f+Math.sqrt(f*f-2*h*(l*l/(-2*c)-s+c/2+i-a/2)))/h+r:(r+o)/2}function Yn(t,e){var n=t.N;if(n)return Un(n,e);var r=t.site;return r.y===e?r.x:1/0}function Vn(t){this.site=t,this.edges=[]}function $n(t){for(var e,n,r,i,a,u,o,s,c,l,h=t[0][0],f=t[1][0],d=t[0][1],p=t[1][1],g=ts,y=g.length;y--;)if(a=g[y],a&&a.prepare())for(o=a.edges,s=o.length,u=0;s>u;)l=o[u].end(),r=l.x,i=l.y,c=o[++u%s].start(),e=c.x,n=c.y,(pu(r-e)>Tu||pu(i-n)>Tu)&&(o.splice(u,0,new er(Qn(a.site,l,pu(r-h)<Tu&&p-i>Tu?{x:h,y:pu(e-h)<Tu?n:p}:pu(i-p)<Tu&&f-r>Tu?{x:pu(n-p)<Tu?e:f,y:p}:pu(r-f)<Tu&&i-d>Tu?{x:f,y:pu(e-f)<Tu?n:d}:pu(i-d)<Tu&&r-h>Tu?{x:pu(n-d)<Tu?e:h,y:d}:null),a.site,null)),++s)}function zn(t,e){return e.angle-t.angle}function Gn(){rr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Hn(t){var e=t.P,n=t.N;if(e&&n){var r=e.site,i=t.site,a=n.site;if(r!==a){var u=i.x,o=i.y,s=r.x-u,c=r.y-o,l=a.x-u,h=a.y-o,f=2*(s*h-c*l);if(!(f>=-Fu)){var d=s*s+c*c,p=l*l+h*h,g=(h*d-c*p)/f,y=(s*p-l*d)/f,h=y+o,m=as.pop()||new Gn;m.arc=t,m.site=i,m.x=g+u,m.y=h+Math.sqrt(g*g+y*y),m.cy=h,t.circle=m;for(var v=null,_=rs._;_;)if(m.y<_.y||m.y===_.y&&m.x<=_.x){if(!_.L){v=_.P;break}_=_.L}else{if(!_.R){v=_;break}_=_.R}rs.insert(v,m),v||(ns=m)}}}}function Wn(t){var e=t.circle;e&&(e.P||(ns=e.N),rs.remove(e),as.push(e),rr(e),t.circle=null)}function Zn(t){for(var e,n=Qo,r=Ye(t[0][0],t[0][1],t[1][0],t[1][1]),i=n.length;i--;)e=n[i],(!Xn(e,t)||!r(e)||pu(e.a.x-e.b.x)<Tu&&pu(e.a.y-e.b.y)<Tu)&&(e.a=e.b=null,n.splice(i,1))}function Xn(t,e){var n=t.b;if(n)return!0;var r,i,a=t.a,u=e[0][0],o=e[1][0],s=e[0][1],c=e[1][1],l=t.l,h=t.r,f=l.x,d=l.y,p=h.x,g=h.y,y=(f+p)/2,m=(d+g)/2;if(g===d){if(u>y||y>=o)return;if(f>p){if(a){if(a.y>=c)return}else a={x:y,y:s};n={x:y,y:c}}else{if(a){if(a.y<s)return}else a={x:y,y:c};n={x:y,y:s}}}else if(r=(f-p)/(g-d),i=m-r*y,-1>r||r>1)if(f>p){if(a){if(a.y>=c)return}else a={x:(s-i)/r,y:s};n={x:(c-i)/r,y:c}}else{if(a){if(a.y<s)return}else a={x:(c-i)/r,y:c};n={x:(s-i)/r,y:s}}else if(g>d){if(a){if(a.x>=o)return}else a={x:u,y:r*u+i};n={x:o,y:r*o+i}}else{if(a){if(a.x<u)return}else a={x:o,y:r*o+i};n={x:u,y:r*u+i}}return t.a=a,t.b=n,!0}function Kn(t,e){this.l=t,this.r=e,this.a=this.b=null}function Jn(t,e,n,r){var i=new Kn(t,e);return Qo.push(i),n&&tr(i,t,e,n),r&&tr(i,e,t,r),ts[t.i].edges.push(new er(i,t,e)),ts[e.i].edges.push(new er(i,e,t)),i}function Qn(t,e,n){var r=new Kn(t,null);return r.a=e,r.b=n,Qo.push(r),r}function tr(t,e,n,r){t.a||t.b?t.l===n?t.b=r:t.a=r:(t.a=r,t.l=e,t.r=n)}function er(t,e,n){var r=t.a,i=t.b;this.edge=t,this.site=e,this.angle=n?Math.atan2(n.y-e.y,n.x-e.x):t.l===e?Math.atan2(i.x-r.x,r.y-i.y):Math.atan2(r.x-i.x,i.y-r.y)}function nr(){this._=null}function rr(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function ir(t,e){var n=e,r=e.R,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.R=r.L,n.R&&(n.R.U=n),r.L=n}function ar(t,e){var n=e,r=e.L,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.L=r.R,n.L&&(n.L.U=n),r.R=n}function ur(t){for(;t.L;)t=t.L;return t}function or(t,e){var n,r,i,a=t.sort(sr).pop();for(Qo=[],ts=new Array(t.length),es=new nr,rs=new nr;;)if(i=ns,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))(a.x!==n||a.y!==r)&&(ts[a.i]=new Vn(a),qn(a),n=a.x,r=a.y),a=t.pop();else{if(!i)break;jn(i.arc)}e&&(Zn(e),$n(e));var u={cells:ts,edges:Qo};return es=rs=Qo=ts=null,u}function sr(t,e){return e.y-t.y||e.x-t.x}function cr(t,e,n){return(t.x-n.x)*(e.y-t.y)-(t.x-e.x)*(n.y-t.y)}function lr(t){return t.x}function hr(t){return t.y}function fr(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function dr(t,e,n,r,i,a){if(!t(e,n,r,i,a)){var u=.5*(n+i),o=.5*(r+a),s=e.nodes;s[0]&&dr(t,s[0],n,r,u,o),s[1]&&dr(t,s[1],u,r,i,o),s[2]&&dr(t,s[2],n,o,u,a),s[3]&&dr(t,s[3],u,o,i,a)}}function pr(t,e,n,r,i,a,u){var o,s=1/0;return function c(t,l,h,f,d){if(!(l>a||h>u||r>f||i>d)){if(p=t.point){var p,g=e-t.x,y=n-t.y,m=g*g+y*y;if(s>m){var v=Math.sqrt(s=m);r=e-v,i=n-v,a=e+v,u=n+v,o=p}}for(var _=t.nodes,b=.5*(l+f),x=.5*(h+d),w=e>=b,A=n>=x,k=A<<1|w,E=k+4;E>k;++k)if(t=_[3&k])switch(3&k){case 0:c(t,l,h,b,x);break;case 1:c(t,b,h,f,x);break;case 2:c(t,l,x,b,d);break;case 3:c(t,b,x,f,d)}}}(t,r,i,a,u),o}function gr(t,e){t=nu.rgb(t),e=nu.rgb(e);var n=t.r,r=t.g,i=t.b,a=e.r-n,u=e.g-r,o=e.b-i;return function(t){return"#"+xt(Math.round(n+a*t))+xt(Math.round(r+u*t))+xt(Math.round(i+o*t))}}function yr(t,e){var n,r={},i={};for(n in t)n in e?r[n]=_r(t[n],e[n]):i[n]=t[n];for(n in e)n in t||(i[n]=e[n]);return function(t){for(n in r)i[n]=r[n](t);return i}}function mr(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function vr(t,e){var n,r,i,a=os.lastIndex=ss.lastIndex=0,u=-1,o=[],s=[];for(t+="",e+="";(n=os.exec(t))&&(r=ss.exec(e));)(i=r.index)>a&&(i=e.slice(a,i),o[u]?o[u]+=i:o[++u]=i),(n=n[0])===(r=r[0])?o[u]?o[u]+=r:o[++u]=r:(o[++u]=null,s.push({i:u,x:mr(n,r)})),a=ss.lastIndex;return a<e.length&&(i=e.slice(a),o[u]?o[u]+=i:o[++u]=i),o.length<2?s[0]?(e=s[0].x,function(t){return e(t)+""}):function(){return e}:(e=s.length,function(t){for(var n,r=0;e>r;++r)o[(n=s[r]).i]=n.x(t);return o.join("")})}function _r(t,e){for(var n,r=nu.interpolators.length;--r>=0&&!(n=nu.interpolators[r](t,e)););return n}function br(t,e){var n,r=[],i=[],a=t.length,u=e.length,o=Math.min(t.length,e.length);for(n=0;o>n;++n)r.push(_r(t[n],e[n]));for(;a>n;++n)i[n]=t[n];for(;u>n;++n)i[n]=e[n];return function(t){for(n=0;o>n;++n)i[n]=r[n](t);return i}}function xr(t){return function(e){return 0>=e?0:e>=1?1:t(e)}}function wr(t){return function(e){return 1-t(1-e)}}function Ar(t){return function(e){return.5*(.5>e?t(2*e):2-t(2-2*e))}}function kr(t){return t*t}function Er(t){return t*t*t}function Dr(t){if(0>=t)return 0;if(t>=1)return 1;var e=t*t,n=e*t;return 4*(.5>t?n:3*(t-e)+n-.75)}function Sr(t){return function(e){return Math.pow(e,t)}}function Cr(t){return 1-Math.cos(t*Iu)}function Mr(t){return Math.pow(2,10*(t-1))}function Tr(t){return 1-Math.sqrt(1-t*t)}function Fr(t,e){var n;return arguments.length<2&&(e=.45),arguments.length?n=e/Bu*Math.asin(1/t):(t=1,n=e/4),function(r){return 1+t*Math.pow(2,-10*r)*Math.sin((r-n)*Bu/e)}}function Lr(t){return t||(t=1.70158),function(e){return e*e*((t+1)*e-t)}}function Br(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Or(t,e){t=nu.hcl(t),e=nu.hcl(e);var n=t.h,r=t.c,i=t.l,a=e.h-n,u=e.c-r,o=e.l-i;return isNaN(u)&&(u=0,r=isNaN(r)?e.c:r),isNaN(a)?(a=0,n=isNaN(n)?e.h:n):a>180?a-=360:-180>a&&(a+=360),function(t){return ht(n+a*t,r+u*t,i+o*t)+""}}function Ir(t,e){t=nu.hsl(t),e=nu.hsl(e);var n=t.h,r=t.s,i=t.l,a=e.h-n,u=e.s-r,o=e.l-i;return isNaN(u)&&(u=0,r=isNaN(r)?e.s:r),isNaN(a)?(a=0,n=isNaN(n)?e.h:n):a>180?a-=360:-180>a&&(a+=360),function(t){return ct(n+a*t,r+u*t,i+o*t)+""}}function Nr(t,e){t=nu.lab(t),e=nu.lab(e);var n=t.l,r=t.a,i=t.b,a=e.l-n,u=e.a-r,o=e.b-i;return function(t){return dt(n+a*t,r+u*t,i+o*t)+""}}function Rr(t,e){return e-=t,function(n){return Math.round(t+e*n)}}function Pr(t){var e=[t.a,t.b],n=[t.c,t.d],r=qr(e),i=jr(e,n),a=qr(Ur(n,e,-i))||0;e[0]*n[1]<n[0]*e[1]&&(e[0]*=-1,e[1]*=-1,r*=-1,i*=-1),this.rotate=(r?Math.atan2(e[1],e[0]):Math.atan2(-n[0],n[1]))*Ru,this.translate=[t.e,t.f],this.scale=[r,a],this.skew=a?Math.atan2(i,a)*Ru:0}function jr(t,e){return t[0]*e[0]+t[1]*e[1]}function qr(t){var e=Math.sqrt(jr(t,t));return e&&(t[0]/=e,t[1]/=e),e}function Ur(t,e,n){return t[0]+=n*e[0],t[1]+=n*e[1],t}function Yr(t,e){var n,r=[],i=[],a=nu.transform(t),u=nu.transform(e),o=a.translate,s=u.translate,c=a.rotate,l=u.rotate,h=a.skew,f=u.skew,d=a.scale,p=u.scale;return o[0]!=s[0]||o[1]!=s[1]?(r.push("translate(",null,",",null,")"),i.push({i:1,x:mr(o[0],s[0])},{i:3,x:mr(o[1],s[1])})):r.push(s[0]||s[1]?"translate("+s+")":""),c!=l?(c-l>180?l+=360:l-c>180&&(c+=360),i.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:mr(c,l)})):l&&r.push(r.pop()+"rotate("+l+")"),h!=f?i.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:mr(h,f)}):f&&r.push(r.pop()+"skewX("+f+")"),d[0]!=p[0]||d[1]!=p[1]?(n=r.push(r.pop()+"scale(",null,",",null,")"),i.push({i:n-4,x:mr(d[0],p[0])},{i:n-2,x:mr(d[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),n=i.length,function(t){for(var e,a=-1;++a<n;)r[(e=i[a]).i]=e.x(t);return r.join("")}}function Vr(t,e){return e=(e-=t=+t)||1/e,function(n){return(n-t)/e}}function $r(t,e){return e=(e-=t=+t)||1/e,function(n){return Math.max(0,Math.min(1,(n-t)/e))}}function zr(t){for(var e=t.source,n=t.target,r=Hr(e,n),i=[e];e!==r;)e=e.parent,i.push(e);for(var a=i.length;n!==r;)i.splice(a,0,n),n=n.parent;return i}function Gr(t){for(var e=[],n=t.parent;null!=n;)e.push(t),t=n,n=n.parent;return e.push(t),e}function Hr(t,e){if(t===e)return t;for(var n=Gr(t),r=Gr(e),i=n.pop(),a=r.pop(),u=null;i===a;)u=i,i=n.pop(),a=r.pop();return u}function Wr(t){t.fixed|=2}function Zr(t){t.fixed&=-7}function Xr(t){t.fixed|=4,t.px=t.x,t.py=t.y}function Kr(t){t.fixed&=-5}function Jr(t,e,n){var r=0,i=0;if(t.charge=0,!t.leaf)for(var a,u=t.nodes,o=u.length,s=-1;++s<o;)a=u[s],null!=a&&(Jr(a,e,n),t.charge+=a.charge,r+=a.charge*a.cx,i+=a.charge*a.cy);if(t.point){t.leaf||(t.point.x+=Math.random()-.5,t.point.y+=Math.random()-.5);var c=e*n[t.point.index];t.charge+=t.pointCharge=c,r+=c*t.point.x,i+=c*t.point.y}t.cx=r/t.charge,t.cy=i/t.charge}function Qr(t,e){return nu.rebind(t,e,"sort","children","value"),t.nodes=t,t.links=ai,t}function ti(t,e){for(var n=[t];null!=(t=n.pop());)if(e(t),(i=t.children)&&(r=i.length))for(var r,i;--r>=0;)n.push(i[r])}function ei(t,e){for(var n=[t],r=[];null!=(t=n.pop());)if(r.push(t),(a=t.children)&&(i=a.length))for(var i,a,u=-1;++u<i;)n.push(a[u]);for(;null!=(t=r.pop());)e(t)}function ni(t){return t.children}function ri(t){return t.value}function ii(t,e){return e.value-t.value}function ai(t){return nu.merge(t.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}function ui(t){return t.x}function oi(t){return t.y}function si(t,e,n){t.y0=e,t.y=n}function ci(t){return nu.range(t.length)}function li(t){for(var e=-1,n=t[0].length,r=[];++e<n;)r[e]=0;return r}function hi(t){for(var e,n=1,r=0,i=t[0][1],a=t.length;a>n;++n)(e=t[n][1])>i&&(r=n,i=e);return r}function fi(t){return t.reduce(di,0)}function di(t,e){return t+e[1]}function pi(t,e){return gi(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function gi(t,e){for(var n=-1,r=+t[0],i=(t[1]-r)/e,a=[];++n<=e;)a[n]=i*n+r;return a}function yi(t){return[nu.min(t),nu.max(t)]}function mi(t,e){return t.value-e.value}function vi(t,e){var n=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=n,n._pack_prev=e}function _i(t,e){t._pack_next=e,e._pack_prev=t}function bi(t,e){var n=e.x-t.x,r=e.y-t.y,i=t.r+e.r;return.999*i*i>n*n+r*r}function xi(t){function e(t){l=Math.min(t.x-t.r,l),h=Math.max(t.x+t.r,h),f=Math.min(t.y-t.r,f),d=Math.max(t.y+t.r,d)}if((n=t.children)&&(c=n.length)){var n,r,i,a,u,o,s,c,l=1/0,h=-(1/0),f=1/0,d=-(1/0);if(n.forEach(wi),r=n[0],r.x=-r.r,r.y=0,e(r),c>1&&(i=n[1],i.x=i.r,i.y=0,e(i),c>2))for(a=n[2],Ei(r,i,a),e(a),vi(r,a),r._pack_prev=a,vi(a,i),i=r._pack_next,u=3;c>u;u++){Ei(r,i,a=n[u]);var p=0,g=1,y=1;for(o=i._pack_next;o!==i;o=o._pack_next,g++)if(bi(o,a)){p=1;break}if(1==p)for(s=r._pack_prev;s!==o._pack_prev&&!bi(s,a);s=s._pack_prev,y++);p?(y>g||g==y&&i.r<r.r?_i(r,i=o):_i(r=s,i),u--):(vi(r,a),i=a,e(a))}var m=(l+h)/2,v=(f+d)/2,_=0;for(u=0;c>u;u++)a=n[u],a.x-=m,a.y-=v,_=Math.max(_,a.r+Math.sqrt(a.x*a.x+a.y*a.y));t.r=_,n.forEach(Ai)}}function wi(t){t._pack_next=t._pack_prev=t}function Ai(t){delete t._pack_next,delete t._pack_prev}function ki(t,e,n,r){var i=t.children;if(t.x=e+=r*t.x,t.y=n+=r*t.y,t.r*=r,i)for(var a=-1,u=i.length;++a<u;)ki(i[a],e,n,r)}function Ei(t,e,n){var r=t.r+n.r,i=e.x-t.x,a=e.y-t.y;if(r&&(i||a)){var u=e.r+n.r,o=i*i+a*a;u*=u,r*=r;var s=.5+(r-u)/(2*o),c=Math.sqrt(Math.max(0,2*u*(r+o)-(r-=o)*r-u*u))/(2*o);n.x=t.x+s*i+c*a,n.y=t.y+s*a-c*i}else n.x=t.x+r,n.y=t.y}function Di(t,e){return t.parent==e.parent?1:2}function Si(t){var e=t.children;return e.length?e[0]:t.t}function Ci(t){var e,n=t.children;return(e=n.length)?n[e-1]:t.t}function Mi(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function Ti(t){for(var e,n=0,r=0,i=t.children,a=i.length;--a>=0;)e=i[a],e.z+=n,e.m+=n,n+=e.s+(r+=e.c)}function Fi(t,e,n){return t.a.parent===e.parent?t.a:n}function Li(t){return 1+nu.max(t,function(t){return t.y})}function Bi(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}function Oi(t){var e=t.children;return e&&e.length?Oi(e[0]):t}function Ii(t){var e,n=t.children;return n&&(e=n.length)?Ii(n[e-1]):t}function Ni(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function Ri(t,e){var n=t.x+e[3],r=t.y+e[0],i=t.dx-e[1]-e[3],a=t.dy-e[0]-e[2];return 0>i&&(n+=i/2,i=0),0>a&&(r+=a/2,a=0),{x:n,y:r,dx:i,dy:a}}function Pi(t){var e=t[0],n=t[t.length-1];return n>e?[e,n]:[n,e]}function ji(t){return t.rangeExtent?t.rangeExtent():Pi(t.range())}function qi(t,e,n,r){var i=n(t[0],t[1]),a=r(e[0],e[1]);return function(t){return a(i(t))}}function Ui(t,e){var n,r=0,i=t.length-1,a=t[r],u=t[i];return a>u&&(n=r,r=i,i=n,n=a,a=u,u=n),t[r]=e.floor(a),t[i]=e.ceil(u),t}function Yi(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:_s}function Vi(t,e,n,r){var i=[],a=[],u=0,o=Math.min(t.length,e.length)-1;for(t[o]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++u<=o;)i.push(n(t[u-1],t[u])),a.push(r(e[u-1],e[u]));return function(e){var n=nu.bisect(t,e,1,o)-1;return a[n](i[n](e))}}function $i(t,e,n,r){function i(){var i=Math.min(t.length,e.length)>2?Vi:qi,s=r?$r:Vr;return u=i(t,e,s,n),o=i(e,t,s,_r),a}function a(t){return u(t)}var u,o;return a.invert=function(t){return o(t)},a.domain=function(e){return arguments.length?(t=e.map(Number),i()):t},a.range=function(t){return arguments.length?(e=t,i()):e},a.rangeRound=function(t){return a.range(t).interpolate(Rr)},a.clamp=function(t){return arguments.length?(r=t,i()):r},a.interpolate=function(t){return arguments.length?(n=t,i()):n},a.ticks=function(e){return Wi(t,e)},a.tickFormat=function(e,n){return Zi(t,e,n)},a.nice=function(e){return Gi(t,e),i()},a.copy=function(){return $i(t,e,n,r)},i()}function zi(t,e){return nu.rebind(t,e,"range","rangeRound","interpolate","clamp")}function Gi(t,e){return Ui(t,Yi(Hi(t,e)[2]))}function Hi(t,e){null==e&&(e=10);var n=Pi(t),r=n[1]-n[0],i=Math.pow(10,Math.floor(Math.log(r/e)/Math.LN10)),a=e/r*i;return.15>=a?i*=10:.35>=a?i*=5:.75>=a&&(i*=2),n[0]=Math.ceil(n[0]/i)*i,n[1]=Math.floor(n[1]/i)*i+.5*i,n[2]=i,n}function Wi(t,e){return nu.range.apply(nu,Hi(t,e))}function Zi(t,e,n){var r=Hi(t,e);if(n){var i=uo.exec(n);if(i.shift(),"s"===i[8]){var a=nu.formatPrefix(Math.max(pu(r[0]),pu(r[1])));return i[7]||(i[7]="."+Xi(a.scale(r[2]))),i[8]="f",n=nu.format(i.join("")),function(t){return n(a.scale(t))+a.symbol}}i[7]||(i[7]="."+Ki(i[8],r)),n=i.join("")}else n=",."+Xi(r[2])+"f";return nu.format(n)}function Xi(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function Ki(t,e){var n=Xi(e[2]);return t in bs?Math.abs(n-Xi(Math.max(pu(e[0]),pu(e[1]))))+ +("e"!==t):n-2*("%"===t)}function Ji(t,e,n,r){function i(t){return(n?Math.log(0>t?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function a(t){return n?Math.pow(e,t):-Math.pow(e,-t)}function u(e){return t(i(e))}return u.invert=function(e){return a(t.invert(e))},u.domain=function(e){return arguments.length?(n=e[0]>=0,t.domain((r=e.map(Number)).map(i)),u):r},u.base=function(n){return arguments.length?(e=+n,t.domain(r.map(i)),u):e},u.nice=function(){var e=Ui(r.map(i),n?Math:ws);return t.domain(e),r=e.map(a),u},u.ticks=function(){var t=Pi(r),u=[],o=t[0],s=t[1],c=Math.floor(i(o)),l=Math.ceil(i(s)),h=e%1?2:e;if(isFinite(l-c)){if(n){for(;l>c;c++)for(var f=1;h>f;f++)u.push(a(c)*f);u.push(a(c))}else for(u.push(a(c));c++<l;)for(var f=h-1;f>0;f--)u.push(a(c)*f);for(c=0;u[c]<o;c++);for(l=u.length;u[l-1]>s;l--);u=u.slice(c,l)}return u},u.tickFormat=function(t,e){if(!arguments.length)return xs;arguments.length<2?e=xs:"function"!=typeof e&&(e=nu.format(e));var r,o=Math.max(.1,t/u.ticks().length),s=n?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(t){return t/a(s(i(t)+r))<=o?e(t):""}},u.copy=function(){return Ji(t.copy(),e,n,r)},zi(u,t)}function Qi(t,e,n){function r(e){return t(i(e))}var i=ta(e),a=ta(1/e);return r.invert=function(e){return a(t.invert(e))},r.domain=function(e){return arguments.length?(t.domain((n=e.map(Number)).map(i)),r):n},r.ticks=function(t){return Wi(n,t)},r.tickFormat=function(t,e){return Zi(n,t,e)},r.nice=function(t){return r.domain(Gi(n,t))},r.exponent=function(u){return arguments.length?(i=ta(e=u),a=ta(1/e),t.domain(n.map(i)),r):e},r.copy=function(){return Qi(t.copy(),e,n)},zi(r,t)}function ta(t){return function(e){return 0>e?-Math.pow(-e,t):Math.pow(e,t)}}function ea(t,e){function n(n){return a[((i.get(n)||("range"===e.t?i.set(n,t.push(n)):0/0))-1)%a.length]}function r(e,n){return nu.range(t.length).map(function(t){return e+n*t})}var i,a,u;return n.domain=function(r){if(!arguments.length)return t;t=[],i=new l;for(var a,u=-1,o=r.length;++u<o;)i.has(a=r[u])||i.set(a,t.push(a));return n[e.t].apply(n,e.a)},n.range=function(t){return arguments.length?(a=t,u=0,e={t:"range",a:arguments},n):a},n.rangePoints=function(i,o){arguments.length<2&&(o=0);var s=i[0],c=i[1],l=t.length<2?(s=(s+c)/2,0):(c-s)/(t.length-1+o);return a=r(s+l*o/2,l),u=0,e={t:"rangePoints",a:arguments},n},n.rangeRoundPoints=function(i,o){arguments.length<2&&(o=0);var s=i[0],c=i[1],l=t.length<2?(s=c=Math.round((s+c)/2),0):(c-s)/(t.length-1+o)|0;return a=r(s+Math.round(l*o/2+(c-s-(t.length-1+o)*l)/2),l),u=0,e={t:"rangeRoundPoints",a:arguments},n},n.rangeBands=function(i,o,s){arguments.length<2&&(o=0),arguments.length<3&&(s=o);var c=i[1]<i[0],l=i[c-0],h=i[1-c],f=(h-l)/(t.length-o+2*s);return a=r(l+f*s,f),c&&a.reverse(),u=f*(1-o),e={t:"rangeBands",a:arguments},n},n.rangeRoundBands=function(i,o,s){arguments.length<2&&(o=0),arguments.length<3&&(s=o);var c=i[1]<i[0],l=i[c-0],h=i[1-c],f=Math.floor((h-l)/(t.length-o+2*s));return a=r(l+Math.round((h-l-(t.length-o)*f)/2),f),c&&a.reverse(),u=Math.round(f*(1-o)),e={t:"rangeRoundBands",a:arguments},n},n.rangeBand=function(){return u},n.rangeExtent=function(){return Pi(e.a[0])},n.copy=function(){return ea(t,e)},n.domain(t)}function na(t,e){function n(){var n=0,r=e.length;for(o=[];++n<r;)o[n-1]=nu.quantile(t,n/r);return u}function u(t){return isNaN(t=+t)?void 0:e[nu.bisect(o,t)]}var o;return u.domain=function(e){return arguments.length?(t=e.map(i).filter(a).sort(r),n()):t},u.range=function(t){return arguments.length?(e=t,n()):e},u.quantiles=function(){return o},u.invertExtent=function(n){return n=e.indexOf(n),0>n?[0/0,0/0]:[n>0?o[n-1]:t[0],n<o.length?o[n]:t[t.length-1]]},u.copy=function(){return na(t,e)},n()}function ra(t,e,n){function r(e){return n[Math.max(0,Math.min(u,Math.floor(a*(e-t))))]}function i(){return a=n.length/(e-t),u=n.length-1,r}var a,u;return r.domain=function(n){return arguments.length?(t=+n[0],e=+n[n.length-1],i()):[t,e]},r.range=function(t){return arguments.length?(n=t,i()):n},r.invertExtent=function(e){return e=n.indexOf(e),e=0>e?0/0:e/a+t,[e,e+1/a]},r.copy=function(){return ra(t,e,n)},i()}function ia(t,e){function n(n){return n>=n?e[nu.bisect(t,n)]:void 0}return n.domain=function(e){return arguments.length?(t=e,n):t},n.range=function(t){return arguments.length?(e=t,n):e},n.invertExtent=function(n){return n=e.indexOf(n),[t[n-1],t[n]]},n.copy=function(){return ia(t,e)},n}function aa(t){function e(t){return+t}return e.invert=e,e.domain=e.range=function(n){return arguments.length?(t=n.map(e),e):t},e.ticks=function(e){return Wi(t,e)},e.tickFormat=function(e,n){return Zi(t,e,n)},e.copy=function(){return aa(t)},e}function ua(){return 0}function oa(t){return t.innerRadius}function sa(t){return t.outerRadius}function ca(t){return t.startAngle}function la(t){return t.endAngle}function ha(t){return t&&t.padAngle}function fa(t,e,n,r){return(t-n)*e-(e-r)*t>0?0:1}function da(t,e,n,r,i){var a=t[0]-e[0],u=t[1]-e[1],o=(i?r:-r)/Math.sqrt(a*a+u*u),s=o*u,c=-o*a,l=t[0]+s,h=t[1]+c,f=e[0]+s,d=e[1]+c,p=(l+f)/2,g=(h+d)/2,y=f-l,m=d-h,v=y*y+m*m,_=n-r,b=l*d-f*h,x=(0>m?-1:1)*Math.sqrt(_*_*v-b*b),w=(b*m-y*x)/v,A=(-b*y-m*x)/v,k=(b*m+y*x)/v,E=(-b*y+m*x)/v,D=w-p,S=A-g,C=k-p,M=E-g;return D*D+S*S>C*C+M*M&&(w=k,A=E),[[w-s,A-c],[w*n/_,A*n/_]]}function pa(t){function e(e){function u(){c.push("M",a(t(l),o))}for(var s,c=[],l=[],h=-1,f=e.length,d=St(n),p=St(r);++h<f;)i.call(this,s=e[h],h)?l.push([+d.call(this,s,h),+p.call(this,s,h)]):l.length&&(u(),l=[]);return l.length&&u(),c.length?c.join(""):null}var n=Mn,r=Tn,i=Me,a=ga,u=a.key,o=.7;return e.x=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(r=t,
e):r},e.defined=function(t){return arguments.length?(i=t,e):i},e.interpolate=function(t){return arguments.length?(u="function"==typeof t?a=t:(a=Cs.get(t)||ga).key,e):u},e.tension=function(t){return arguments.length?(o=t,e):o},e}function ga(t){return t.join("L")}function ya(t){return ga(t)+"Z"}function ma(t){for(var e=0,n=t.length,r=t[0],i=[r[0],",",r[1]];++e<n;)i.push("H",(r[0]+(r=t[e])[0])/2,"V",r[1]);return n>1&&i.push("H",r[0]),i.join("")}function va(t){for(var e=0,n=t.length,r=t[0],i=[r[0],",",r[1]];++e<n;)i.push("V",(r=t[e])[1],"H",r[0]);return i.join("")}function _a(t){for(var e=0,n=t.length,r=t[0],i=[r[0],",",r[1]];++e<n;)i.push("H",(r=t[e])[0],"V",r[1]);return i.join("")}function ba(t,e){return t.length<4?ga(t):t[1]+Aa(t.slice(1,-1),ka(t,e))}function xa(t,e){return t.length<3?ga(t):t[0]+Aa((t.push(t[0]),t),ka([t[t.length-2]].concat(t,[t[1]]),e))}function wa(t,e){return t.length<3?ga(t):t[0]+Aa(t,ka(t,e))}function Aa(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return ga(t);var n=t.length!=e.length,r="",i=t[0],a=t[1],u=e[0],o=u,s=1;if(n&&(r+="Q"+(a[0]-2*u[0]/3)+","+(a[1]-2*u[1]/3)+","+a[0]+","+a[1],i=t[1],s=2),e.length>1){o=e[1],a=t[s],s++,r+="C"+(i[0]+u[0])+","+(i[1]+u[1])+","+(a[0]-o[0])+","+(a[1]-o[1])+","+a[0]+","+a[1];for(var c=2;c<e.length;c++,s++)a=t[s],o=e[c],r+="S"+(a[0]-o[0])+","+(a[1]-o[1])+","+a[0]+","+a[1]}if(n){var l=t[s];r+="Q"+(a[0]+2*o[0]/3)+","+(a[1]+2*o[1]/3)+","+l[0]+","+l[1]}return r}function ka(t,e){for(var n,r=[],i=(1-e)/2,a=t[0],u=t[1],o=1,s=t.length;++o<s;)n=a,a=u,u=t[o],r.push([i*(u[0]-n[0]),i*(u[1]-n[1])]);return r}function Ea(t){if(t.length<3)return ga(t);var e=1,n=t.length,r=t[0],i=r[0],a=r[1],u=[i,i,i,(r=t[1])[0]],o=[a,a,a,r[1]],s=[i,",",a,"L",Ma(Fs,u),",",Ma(Fs,o)];for(t.push(t[n-1]);++e<=n;)r=t[e],u.shift(),u.push(r[0]),o.shift(),o.push(r[1]),Ta(s,u,o);return t.pop(),s.push("L",r),s.join("")}function Da(t){if(t.length<4)return ga(t);for(var e,n=[],r=-1,i=t.length,a=[0],u=[0];++r<3;)e=t[r],a.push(e[0]),u.push(e[1]);for(n.push(Ma(Fs,a)+","+Ma(Fs,u)),--r;++r<i;)e=t[r],a.shift(),a.push(e[0]),u.shift(),u.push(e[1]),Ta(n,a,u);return n.join("")}function Sa(t){for(var e,n,r=-1,i=t.length,a=i+4,u=[],o=[];++r<4;)n=t[r%i],u.push(n[0]),o.push(n[1]);for(e=[Ma(Fs,u),",",Ma(Fs,o)],--r;++r<a;)n=t[r%i],u.shift(),u.push(n[0]),o.shift(),o.push(n[1]),Ta(e,u,o);return e.join("")}function Ca(t,e){var n=t.length-1;if(n)for(var r,i,a=t[0][0],u=t[0][1],o=t[n][0]-a,s=t[n][1]-u,c=-1;++c<=n;)r=t[c],i=c/n,r[0]=e*r[0]+(1-e)*(a+i*o),r[1]=e*r[1]+(1-e)*(u+i*s);return Ea(t)}function Ma(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function Ta(t,e,n){t.push("C",Ma(Ms,e),",",Ma(Ms,n),",",Ma(Ts,e),",",Ma(Ts,n),",",Ma(Fs,e),",",Ma(Fs,n))}function Fa(t,e){return(e[1]-t[1])/(e[0]-t[0])}function La(t){for(var e=0,n=t.length-1,r=[],i=t[0],a=t[1],u=r[0]=Fa(i,a);++e<n;)r[e]=(u+(u=Fa(i=a,a=t[e+1])))/2;return r[e]=u,r}function Ba(t){for(var e,n,r,i,a=[],u=La(t),o=-1,s=t.length-1;++o<s;)e=Fa(t[o],t[o+1]),pu(e)<Tu?u[o]=u[o+1]=0:(n=u[o]/e,r=u[o+1]/e,i=n*n+r*r,i>9&&(i=3*e/Math.sqrt(i),u[o]=i*n,u[o+1]=i*r));for(o=-1;++o<=s;)i=(t[Math.min(s,o+1)][0]-t[Math.max(0,o-1)][0])/(6*(1+u[o]*u[o])),a.push([i||0,u[o]*i||0]);return a}function Oa(t){return t.length<3?ga(t):t[0]+Aa(t,Ba(t))}function Ia(t){for(var e,n,r,i=-1,a=t.length;++i<a;)e=t[i],n=e[0],r=e[1]-Iu,e[0]=n*Math.cos(r),e[1]=n*Math.sin(r);return t}function Na(t){function e(e){function s(){g.push("M",o(t(m),h),l,c(t(y.reverse()),h),"Z")}for(var f,d,p,g=[],y=[],m=[],v=-1,_=e.length,b=St(n),x=St(i),w=n===r?function(){return d}:St(r),A=i===a?function(){return p}:St(a);++v<_;)u.call(this,f=e[v],v)?(y.push([d=+b.call(this,f,v),p=+x.call(this,f,v)]),m.push([+w.call(this,f,v),+A.call(this,f,v)])):y.length&&(s(),y=[],m=[]);return y.length&&s(),g.length?g.join(""):null}var n=Mn,r=Mn,i=0,a=Tn,u=Me,o=ga,s=o.key,c=o,l="L",h=.7;return e.x=function(t){return arguments.length?(n=r=t,e):r},e.x0=function(t){return arguments.length?(n=t,e):n},e.x1=function(t){return arguments.length?(r=t,e):r},e.y=function(t){return arguments.length?(i=a=t,e):a},e.y0=function(t){return arguments.length?(i=t,e):i},e.y1=function(t){return arguments.length?(a=t,e):a},e.defined=function(t){return arguments.length?(u=t,e):u},e.interpolate=function(t){return arguments.length?(s="function"==typeof t?o=t:(o=Cs.get(t)||ga).key,c=o.reverse||o,l=o.closed?"M":"L",e):s},e.tension=function(t){return arguments.length?(h=t,e):h},e}function Ra(t){return t.radius}function Pa(t){return[t.x,t.y]}function ja(t){return function(){var e=t.apply(this,arguments),n=e[0],r=e[1]-Iu;return[n*Math.cos(r),n*Math.sin(r)]}}function qa(){return 64}function Ua(){return"circle"}function Ya(t){var e=Math.sqrt(t/Lu);return"M0,"+e+"A"+e+","+e+" 0 1,1 0,"+-e+"A"+e+","+e+" 0 1,1 0,"+e+"Z"}function Va(t){return function(){var e,n;(e=this[t])&&(n=e[e.active])&&(--e.count?delete e[e.active]:delete this[t],e.active+=.5,n.event&&n.event.interrupt.call(this,this.__data__,n.index))}}function $a(t,e,n){return _u(t,Ps),t.namespace=e,t.id=n,t}function za(t,e,n,r){var i=t.id,a=t.namespace;return $(t,"function"==typeof n?function(t,u,o){t[a][i].tween.set(e,r(n.call(t,t.__data__,u,o)))}:(n=r(n),function(t){t[a][i].tween.set(e,n)}))}function Ga(t){return null==t&&(t=""),function(){this.textContent=t}}function Ha(t){return null==t?"__transition__":"__transition_"+t+"__"}function Wa(t,e,n,r,i){var a=t[n]||(t[n]={active:0,count:0}),u=a[r];if(!u){var o=i.time;u=a[r]={tween:new l,time:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++a.count,nu.timer(function(i){function s(n){if(a.active>r)return l();var i=a[a.active];i&&(--a.count,delete a[a.active],i.event&&i.event.interrupt.call(t,t.__data__,i.index)),a.active=r,u.event&&u.event.start.call(t,t.__data__,e),u.tween.forEach(function(n,r){(r=r.call(t,t.__data__,e))&&g.push(r)}),f=u.ease,h=u.duration,nu.timer(function(){return p.c=c(n||1)?Me:c,1},0,o)}function c(n){if(a.active!==r)return 1;for(var i=n/h,o=f(i),s=g.length;s>0;)g[--s].call(t,o);return i>=1?(u.event&&u.event.end.call(t,t.__data__,e),l()):void 0}function l(){return--a.count?delete a[r]:delete t[n],1}var h,f,d=u.delay,p=ro,g=[];return p.t=d+o,i>=d?s(i-d):void(p.c=s)},0,o)}}function Za(t,e,n){t.attr("transform",function(t){var r=e(t);return"translate("+(isFinite(r)?r:n(t))+",0)"})}function Xa(t,e,n){t.attr("transform",function(t){var r=e(t);return"translate(0,"+(isFinite(r)?r:n(t))+")"})}function Ka(t){return t.toISOString()}function Ja(t,e,n){function r(e){return t(e)}function i(t,n){var r=t[1]-t[0],i=r/n,a=nu.bisect(Hs,i);return a==Hs.length?[e.year,Hi(t.map(function(t){return t/31536e6}),n)[2]]:a?e[i/Hs[a-1]<Hs[a]/i?a-1:a]:[Xs,Hi(t,n)[2]]}return r.invert=function(e){return Qa(t.invert(e))},r.domain=function(e){return arguments.length?(t.domain(e),r):t.domain().map(Qa)},r.nice=function(t,e){function n(n){return!isNaN(n)&&!t.range(n,Qa(+n+1),e).length}var a=r.domain(),u=Pi(a),o=null==t?i(u,10):"number"==typeof t&&i(u,t);return o&&(t=o[0],e=o[1]),r.domain(Ui(a,e>1?{floor:function(e){for(;n(e=t.floor(e));)e=Qa(e-1);return e},ceil:function(e){for(;n(e=t.ceil(e));)e=Qa(+e+1);return e}}:t))},r.ticks=function(t,e){var n=Pi(r.domain()),a=null==t?i(n,10):"number"==typeof t?i(n,t):!t.range&&[{range:t},e];return a&&(t=a[0],e=a[1]),t.range(n[0],Qa(+n[1]+1),1>e?1:e)},r.tickFormat=function(){return n},r.copy=function(){return Ja(t.copy(),e,n)},zi(r,t)}function Qa(t){return new Date(t)}function tu(t){return JSON.parse(t.responseText)}function eu(t){var e=au.createRange();return e.selectNode(au.body),e.createContextualFragment(t.responseText)}var nu={version:"3.5.6"},ru=[].slice,iu=function(t){return ru.call(t)},au=this.document;if(au)try{iu(au.documentElement.childNodes)[0].nodeType}catch(uu){iu=function(t){for(var e=t.length,n=new Array(e);e--;)n[e]=t[e];return n}}if(Date.now||(Date.now=function(){return+new Date}),au)try{au.createElement("DIV").style.setProperty("opacity",0,"")}catch(ou){var su=this.Element.prototype,cu=su.setAttribute,lu=su.setAttributeNS,hu=this.CSSStyleDeclaration.prototype,fu=hu.setProperty;su.setAttribute=function(t,e){cu.call(this,t,e+"")},su.setAttributeNS=function(t,e,n){lu.call(this,t,e,n+"")},hu.setProperty=function(t,e,n){fu.call(this,t,e+"",n)}}nu.ascending=r,nu.descending=function(t,e){return t>e?-1:e>t?1:e>=t?0:0/0},nu.min=function(t,e){var n,r,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(r=t[i])&&r>=r){n=r;break}for(;++i<a;)null!=(r=t[i])&&n>r&&(n=r)}else{for(;++i<a;)if(null!=(r=e.call(t,t[i],i))&&r>=r){n=r;break}for(;++i<a;)null!=(r=e.call(t,t[i],i))&&n>r&&(n=r)}return n},nu.max=function(t,e){var n,r,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(r=t[i])&&r>=r){n=r;break}for(;++i<a;)null!=(r=t[i])&&r>n&&(n=r)}else{for(;++i<a;)if(null!=(r=e.call(t,t[i],i))&&r>=r){n=r;break}for(;++i<a;)null!=(r=e.call(t,t[i],i))&&r>n&&(n=r)}return n},nu.extent=function(t,e){var n,r,i,a=-1,u=t.length;if(1===arguments.length){for(;++a<u;)if(null!=(r=t[a])&&r>=r){n=i=r;break}for(;++a<u;)null!=(r=t[a])&&(n>r&&(n=r),r>i&&(i=r))}else{for(;++a<u;)if(null!=(r=e.call(t,t[a],a))&&r>=r){n=i=r;break}for(;++a<u;)null!=(r=e.call(t,t[a],a))&&(n>r&&(n=r),r>i&&(i=r))}return[n,i]},nu.sum=function(t,e){var n,r=0,i=t.length,u=-1;if(1===arguments.length)for(;++u<i;)a(n=+t[u])&&(r+=n);else for(;++u<i;)a(n=+e.call(t,t[u],u))&&(r+=n);return r},nu.mean=function(t,e){var n,r=0,u=t.length,o=-1,s=u;if(1===arguments.length)for(;++o<u;)a(n=i(t[o]))?r+=n:--s;else for(;++o<u;)a(n=i(e.call(t,t[o],o)))?r+=n:--s;return s?r/s:void 0},nu.quantile=function(t,e){var n=(t.length-1)*e+1,r=Math.floor(n),i=+t[r-1],a=n-r;return a?i+a*(t[r]-i):i},nu.median=function(t,e){var n,u=[],o=t.length,s=-1;if(1===arguments.length)for(;++s<o;)a(n=i(t[s]))&&u.push(n);else for(;++s<o;)a(n=i(e.call(t,t[s],s)))&&u.push(n);return u.length?nu.quantile(u.sort(r),.5):void 0},nu.variance=function(t,e){var n,r,u=t.length,o=0,s=0,c=-1,l=0;if(1===arguments.length)for(;++c<u;)a(n=i(t[c]))&&(r=n-o,o+=r/++l,s+=r*(n-o));else for(;++c<u;)a(n=i(e.call(t,t[c],c)))&&(r=n-o,o+=r/++l,s+=r*(n-o));return l>1?s/(l-1):void 0},nu.deviation=function(){var t=nu.variance.apply(this,arguments);return t?Math.sqrt(t):t};var du=u(r);nu.bisectLeft=du.left,nu.bisect=nu.bisectRight=du.right,nu.bisector=function(t){return u(1===t.length?function(e,n){return r(t(e),n)}:t)},nu.shuffle=function(t,e,n){(a=arguments.length)<3&&(n=t.length,2>a&&(e=0));for(var r,i,a=n-e;a;)i=Math.random()*a--|0,r=t[a+e],t[a+e]=t[i+e],t[i+e]=r;return t},nu.permute=function(t,e){for(var n=e.length,r=new Array(n);n--;)r[n]=t[e[n]];return r},nu.pairs=function(t){for(var e,n=0,r=t.length-1,i=t[0],a=new Array(0>r?0:r);r>n;)a[n]=[e=i,i=t[++n]];return a},nu.zip=function(){if(!(r=arguments.length))return[];for(var t=-1,e=nu.min(arguments,o),n=new Array(e);++t<e;)for(var r,i=-1,a=n[t]=new Array(r);++i<r;)a[i]=arguments[i][t];return n},nu.transpose=function(t){return nu.zip.apply(nu,t)},nu.keys=function(t){var e=[];for(var n in t)e.push(n);return e},nu.values=function(t){var e=[];for(var n in t)e.push(t[n]);return e},nu.entries=function(t){var e=[];for(var n in t)e.push({key:n,value:t[n]});return e},nu.merge=function(t){for(var e,n,r,i=t.length,a=-1,u=0;++a<i;)u+=t[a].length;for(n=new Array(u);--i>=0;)for(r=t[i],e=r.length;--e>=0;)n[--u]=r[e];return n};var pu=Math.abs;nu.range=function(t,e,n){if(arguments.length<3&&(n=1,arguments.length<2&&(e=t,t=0)),(e-t)/n===1/0)throw new Error("infinite range");var r,i=[],a=s(pu(n)),u=-1;if(t*=a,e*=a,n*=a,0>n)for(;(r=t+n*++u)>e;)i.push(r/a);else for(;(r=t+n*++u)<e;)i.push(r/a);return i},nu.map=function(t,e){var n=new l;if(t instanceof l)t.forEach(function(t,e){n.set(t,e)});else if(Array.isArray(t)){var r,i=-1,a=t.length;if(1===arguments.length)for(;++i<a;)n.set(i,t[i]);else for(;++i<a;)n.set(e.call(t,r=t[i],i),r)}else for(var u in t)n.set(u,t[u]);return n};var gu="__proto__",yu="\x00";c(l,{has:d,get:function(t){return this._[h(t)]},set:function(t,e){return this._[h(t)]=e},remove:p,keys:g,values:function(){var t=[];for(var e in this._)t.push(this._[e]);return t},entries:function(){var t=[];for(var e in this._)t.push({key:f(e),value:this._[e]});return t},size:y,empty:m,forEach:function(t){for(var e in this._)t.call(this,f(e),this._[e])}}),nu.nest=function(){function t(e,u,o){if(o>=a.length)return r?r.call(i,u):n?u.sort(n):u;for(var s,c,h,f,d=-1,p=u.length,g=a[o++],y=new l;++d<p;)(f=y.get(s=g(c=u[d])))?f.push(c):y.set(s,[c]);return e?(c=e(),h=function(n,r){c.set(n,t(e,r,o))}):(c={},h=function(n,r){c[n]=t(e,r,o)}),y.forEach(h),c}function e(t,n){if(n>=a.length)return t;var r=[],i=u[n++];return t.forEach(function(t,i){r.push({key:t,values:e(i,n)})}),i?r.sort(function(t,e){return i(t.key,e.key)}):r}var n,r,i={},a=[],u=[];return i.map=function(e,n){return t(n,e,0)},i.entries=function(n){return e(t(nu.map,n,0),0)},i.key=function(t){return a.push(t),i},i.sortKeys=function(t){return u[a.length-1]=t,i},i.sortValues=function(t){return n=t,i},i.rollup=function(t){return r=t,i},i},nu.set=function(t){var e=new v;if(t)for(var n=0,r=t.length;r>n;++n)e.add(t[n]);return e},c(v,{has:d,add:function(t){return this._[h(t+="")]=!0,t},remove:p,values:g,size:y,empty:m,forEach:function(t){for(var e in this._)t.call(this,f(e))}}),nu.behavior={},nu.rebind=function(t,e){for(var n,r=1,i=arguments.length;++r<i;)t[n=arguments[r]]=b(t,e,e[n]);return t};var mu=["webkit","ms","moz","Moz","o","O"];nu.dispatch=function(){for(var t=new A,e=-1,n=arguments.length;++e<n;)t[arguments[e]]=k(t);return t},A.prototype.on=function(t,e){var n=t.indexOf("."),r="";if(n>=0&&(r=t.slice(n+1),t=t.slice(0,n)),t)return arguments.length<2?this[t].on(r):this[t].on(r,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(r,null);return this}},nu.event=null,nu.requote=function(t){return t.replace(vu,"\\$&")};var vu=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,_u={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var n in e)t[n]=e[n]},bu=function(t,e){return e.querySelector(t)},xu=function(t,e){return e.querySelectorAll(t)},wu=function(t,e){var n=t.matches||t[x(t,"matchesSelector")];return(wu=function(t,e){return n.call(t,e)})(t,e)};"function"==typeof Sizzle&&(bu=function(t,e){return Sizzle(t,e)[0]||null},xu=Sizzle,wu=Sizzle.matchesSelector),nu.selection=function(){return nu.select(au.documentElement)};var Au=nu.selection.prototype=[];Au.select=function(t){var e,n,r,i,a=[];t=M(t);for(var u=-1,o=this.length;++u<o;){a.push(e=[]),e.parentNode=(r=this[u]).parentNode;for(var s=-1,c=r.length;++s<c;)(i=r[s])?(e.push(n=t.call(i,i.__data__,s,u)),n&&"__data__"in i&&(n.__data__=i.__data__)):e.push(null)}return C(a)},Au.selectAll=function(t){var e,n,r=[];t=T(t);for(var i=-1,a=this.length;++i<a;)for(var u=this[i],o=-1,s=u.length;++o<s;)(n=u[o])&&(r.push(e=iu(t.call(n,n.__data__,o,i))),e.parentNode=n);return C(r)};var ku={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};nu.ns={prefix:ku,qualify:function(t){var e=t.indexOf(":"),n=t;return e>=0&&(n=t.slice(0,e),t=t.slice(e+1)),ku.hasOwnProperty(n)?{space:ku[n],local:t}:t}},Au.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var n=this.node();return t=nu.ns.qualify(t),t.local?n.getAttributeNS(t.space,t.local):n.getAttribute(t)}for(e in t)this.each(F(e,t[e]));return this}return this.each(F(t,e))},Au.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var n=this.node(),r=(t=O(t)).length,i=-1;if(e=n.classList){for(;++i<r;)if(!e.contains(t[i]))return!1}else for(e=n.getAttribute("class");++i<r;)if(!B(t[i]).test(e))return!1;return!0}for(e in t)this.each(I(e,t[e]));return this}return this.each(I(t,e))},Au.style=function(t,e,r){var i=arguments.length;if(3>i){if("string"!=typeof t){2>i&&(e="");for(r in t)this.each(R(r,t[r],e));return this}if(2>i){var a=this.node();return n(a).getComputedStyle(a,null).getPropertyValue(t)}r=""}return this.each(R(t,e,r))},Au.property=function(t,e){if(arguments.length<2){if("string"==typeof t)return this.node()[t];for(e in t)this.each(P(e,t[e]));return this}return this.each(P(t,e))},Au.text=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}:null==t?function(){this.textContent=""}:function(){this.textContent=t}):this.node().textContent},Au.html=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}:null==t?function(){this.innerHTML=""}:function(){this.innerHTML=t}):this.node().innerHTML},Au.append=function(t){return t=j(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Au.insert=function(t,e){return t=j(t),e=M(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},Au.remove=function(){return this.each(q)},Au.data=function(t,e){function n(t,n){var r,i,a,u=t.length,h=n.length,f=Math.min(u,h),d=new Array(h),p=new Array(h),g=new Array(u);if(e){var y,m=new l,v=new Array(u);for(r=-1;++r<u;)m.has(y=e.call(i=t[r],i.__data__,r))?g[r]=i:m.set(y,i),v[r]=y;for(r=-1;++r<h;)(i=m.get(y=e.call(n,a=n[r],r)))?i!==!0&&(d[r]=i,i.__data__=a):p[r]=U(a),m.set(y,!0);for(r=-1;++r<u;)m.get(v[r])!==!0&&(g[r]=t[r])}else{for(r=-1;++r<f;)i=t[r],a=n[r],i?(i.__data__=a,d[r]=i):p[r]=U(a);for(;h>r;++r)p[r]=U(n[r]);for(;u>r;++r)g[r]=t[r]}p.update=d,p.parentNode=d.parentNode=g.parentNode=t.parentNode,o.push(p),s.push(d),c.push(g)}var r,i,a=-1,u=this.length;if(!arguments.length){for(t=new Array(u=(r=this[0]).length);++a<u;)(i=r[a])&&(t[a]=i.__data__);return t}var o=z([]),s=C([]),c=C([]);if("function"==typeof t)for(;++a<u;)n(r=this[a],t.call(r,r.parentNode.__data__,a));else for(;++a<u;)n(r=this[a],t);return s.enter=function(){return o},s.exit=function(){return c},s},Au.datum=function(t){return arguments.length?this.property("__data__",t):this.property("__data__")},Au.filter=function(t){var e,n,r,i=[];"function"!=typeof t&&(t=Y(t));for(var a=0,u=this.length;u>a;a++){i.push(e=[]),e.parentNode=(n=this[a]).parentNode;for(var o=0,s=n.length;s>o;o++)(r=n[o])&&t.call(r,r.__data__,o,a)&&e.push(r)}return C(i)},Au.order=function(){for(var t=-1,e=this.length;++t<e;)for(var n,r=this[t],i=r.length-1,a=r[i];--i>=0;)(n=r[i])&&(a&&a!==n.nextSibling&&a.parentNode.insertBefore(n,a),a=n);return this},Au.sort=function(t){t=V.apply(this,arguments);for(var e=-1,n=this.length;++e<n;)this[e].sort(t);return this.order()},Au.each=function(t){return $(this,function(e,n,r){t.call(e,e.__data__,n,r)})},Au.call=function(t){var e=iu(arguments);return t.apply(e[0]=this,e),this},Au.empty=function(){return!this.node()},Au.node=function(){for(var t=0,e=this.length;e>t;t++)for(var n=this[t],r=0,i=n.length;i>r;r++){var a=n[r];if(a)return a}return null},Au.size=function(){var t=0;return $(this,function(){++t}),t};var Eu=[];nu.selection.enter=z,nu.selection.enter.prototype=Eu,Eu.append=Au.append,Eu.empty=Au.empty,Eu.node=Au.node,Eu.call=Au.call,Eu.size=Au.size,Eu.select=function(t){for(var e,n,r,i,a,u=[],o=-1,s=this.length;++o<s;){r=(i=this[o]).update,u.push(e=[]),e.parentNode=i.parentNode;for(var c=-1,l=i.length;++c<l;)(a=i[c])?(e.push(r[c]=n=t.call(i.parentNode,a.__data__,c,o)),n.__data__=a.__data__):e.push(null)}return C(u)},Eu.insert=function(t,e){return arguments.length<2&&(e=G(this)),Au.insert.call(this,t,e)},nu.select=function(e){var n;return"string"==typeof e?(n=[bu(e,au)],n.parentNode=au.documentElement):(n=[e],n.parentNode=t(e)),C([n])},nu.selectAll=function(t){var e;return"string"==typeof t?(e=iu(xu(t,au)),e.parentNode=au.documentElement):(e=t,e.parentNode=null),C([e])},Au.on=function(t,e,n){var r=arguments.length;if(3>r){if("string"!=typeof t){2>r&&(e=!1);for(n in t)this.each(H(n,t[n],e));return this}if(2>r)return(r=this.node()["__on"+t])&&r._;n=!1}return this.each(H(t,e,n))};var Du=nu.map({mouseenter:"mouseover",mouseleave:"mouseout"});au&&Du.forEach(function(t){"on"+t in au&&Du.remove(t)});var Su,Cu=0;nu.mouse=function(t){return K(t,D())};var Mu=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;nu.touch=function(t,e,n){if(arguments.length<3&&(n=e,e=D().changedTouches),e)for(var r,i=0,a=e.length;a>i;++i)if((r=e[i]).identifier===n)return K(t,r)},nu.behavior.drag=function(){function t(){this.on("mousedown.drag",a).on("touchstart.drag",u)}function e(t,e,n,a,u){return function(){function o(){var t,n,r=e(f,g);r&&(t=r[0]-_[0],n=r[1]-_[1],p|=t|n,_=r,d({type:"drag",x:r[0]+c[0],y:r[1]+c[1],dx:t,dy:n}))}function s(){e(f,g)&&(m.on(a+y,null).on(u+y,null),v(p&&nu.event.target===h),d({type:"dragend"}))}var c,l=this,h=nu.event.target,f=l.parentNode,d=r.of(l,arguments),p=0,g=t(),y=".drag"+(null==g?"":"-"+g),m=nu.select(n(h)).on(a+y,o).on(u+y,s),v=X(h),_=e(f,g);i?(c=i.apply(l,arguments),c=[c.x-_[0],c.y-_[1]]):c=[0,0],d({type:"dragstart"})}}var r=S(t,"drag","dragstart","dragend"),i=null,a=e(w,nu.mouse,n,"mousemove","mouseup"),u=e(J,nu.touch,_,"touchmove","touchend");return t.origin=function(e){return arguments.length?(i=e,t):i},nu.rebind(t,r,"on")},nu.touches=function(t,e){return arguments.length<2&&(e=D().touches),e?iu(e).map(function(e){var n=K(t,e);return n.identifier=e.identifier,n}):[]};var Tu=1e-6,Fu=Tu*Tu,Lu=Math.PI,Bu=2*Lu,Ou=Bu-Tu,Iu=Lu/2,Nu=Lu/180,Ru=180/Lu,Pu=Math.SQRT2,ju=2,qu=4;nu.interpolateZoom=function(t,e){function n(t){var e=t*v;if(m){var n=it(g),u=a/(ju*f)*(n*at(Pu*e+g)-rt(g));return[r+u*c,i+u*l,a*n/it(Pu*e+g)]}return[r+t*c,i+t*l,a*Math.exp(Pu*e)]}var r=t[0],i=t[1],a=t[2],u=e[0],o=e[1],s=e[2],c=u-r,l=o-i,h=c*c+l*l,f=Math.sqrt(h),d=(s*s-a*a+qu*h)/(2*a*ju*f),p=(s*s-a*a-qu*h)/(2*s*ju*f),g=Math.log(Math.sqrt(d*d+1)-d),y=Math.log(Math.sqrt(p*p+1)-p),m=y-g,v=(m||Math.log(s/a))/Pu;return n.duration=1e3*v,n},nu.behavior.zoom=function(){function t(t){t.on(F,h).on(Yu+".zoom",d).on("dblclick.zoom",p).on(O,f)}function e(t){return[(t[0]-k.x)/k.k,(t[1]-k.y)/k.k]}function r(t){return[t[0]*k.k+k.x,t[1]*k.k+k.y]}function i(t){k.k=Math.max(C[0],Math.min(C[1],t))}function a(t,e){e=r(e),k.x+=t[0]-e[0],k.y+=t[1]-e[1]}function u(e,n,r,u){e.__chart__={x:k.x,y:k.y,k:k.k},i(Math.pow(2,u)),a(y=n,r),e=nu.select(e),M>0&&(e=e.transition().duration(M)),e.call(t.event)}function o(){x&&x.domain(b.range().map(function(t){return(t-k.x)/k.k}).map(b.invert)),A&&A.domain(w.range().map(function(t){return(t-k.y)/k.k}).map(w.invert))}function s(t){T++||t({type:"zoomstart"})}function c(t){o(),t({type:"zoom",scale:k.k,translate:[k.x,k.y]})}function l(t){--T||(t({type:"zoomend"}),y=null)}function h(){function t(){h=1,a(nu.mouse(i),d),c(o)}function r(){f.on(L,null).on(B,null),p(h&&nu.event.target===u),l(o)}var i=this,u=nu.event.target,o=I.of(i,arguments),h=0,f=nu.select(n(i)).on(L,t).on(B,r),d=e(nu.mouse(i)),p=X(i);Rs.call(i),s(o)}function f(){function t(){var t=nu.touches(p);return d=k.k,t.forEach(function(t){t.identifier in y&&(y[t.identifier]=e(t))}),t}function n(){var e=nu.event.target;nu.select(e).on(b,r).on(x,o),w.push(e);for(var n=nu.event.changedTouches,i=0,a=n.length;a>i;++i)y[n[i].identifier]=null;var s=t(),c=Date.now();if(1===s.length){if(500>c-_){var l=s[0];u(p,l,y[l.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),E()}_=c}else if(s.length>1){var l=s[0],h=s[1],f=l[0]-h[0],d=l[1]-h[1];m=f*f+d*d}}function r(){var t,e,n,r,u=nu.touches(p);Rs.call(p);for(var o=0,s=u.length;s>o;++o,r=null)if(n=u[o],r=y[n.identifier]){if(e)break;t=n,e=r}if(r){var l=(l=n[0]-t[0])*l+(l=n[1]-t[1])*l,h=m&&Math.sqrt(l/m);t=[(t[0]+n[0])/2,(t[1]+n[1])/2],e=[(e[0]+r[0])/2,(e[1]+r[1])/2],i(h*d)}_=null,a(t,e),c(g)}function o(){if(nu.event.touches.length){for(var e=nu.event.changedTouches,n=0,r=e.length;r>n;++n)delete y[e[n].identifier];for(var i in y)return void t()}nu.selectAll(w).on(v,null),A.on(F,h).on(O,f),D(),l(g)}var d,p=this,g=I.of(p,arguments),y={},m=0,v=".zoom-"+nu.event.changedTouches[0].identifier,b="touchmove"+v,x="touchend"+v,w=[],A=nu.select(p),D=X(p);n(),s(g),A.on(F,null).on(O,n)}function d(){var t=I.of(this,arguments);v?clearTimeout(v):(Rs.call(this),g=e(y=m||nu.mouse(this)),s(t)),v=setTimeout(function(){v=null,l(t)},50),E(),i(Math.pow(2,.002*Uu())*k.k),a(y,g),c(t)}function p(){var t=nu.mouse(this),n=Math.log(k.k)/Math.LN2;u(this,t,e(t),nu.event.shiftKey?Math.ceil(n)-1:Math.floor(n)+1)}var g,y,m,v,_,b,x,w,A,k={x:0,y:0,k:1},D=[960,500],C=Vu,M=250,T=0,F="mousedown.zoom",L="mousemove.zoom",B="mouseup.zoom",O="touchstart.zoom",I=S(t,"zoomstart","zoom","zoomend");return Yu||(Yu="onwheel"in au?(Uu=function(){return-nu.event.deltaY*(nu.event.deltaMode?120:1)},"wheel"):"onmousewheel"in au?(Uu=function(){return nu.event.wheelDelta},"mousewheel"):(Uu=function(){return-nu.event.detail},"MozMousePixelScroll")),t.event=function(t){t.each(function(){var t=I.of(this,arguments),e=k;Is?nu.select(this).transition().each("start.zoom",function(){k=this.__chart__||{x:0,y:0,k:1},s(t)}).tween("zoom:zoom",function(){var n=D[0],r=D[1],i=y?y[0]:n/2,a=y?y[1]:r/2,u=nu.interpolateZoom([(i-k.x)/k.k,(a-k.y)/k.k,n/k.k],[(i-e.x)/e.k,(a-e.y)/e.k,n/e.k]);return function(e){var r=u(e),o=n/r[2];this.__chart__=k={x:i-r[0]*o,y:a-r[1]*o,k:o},c(t)}}).each("interrupt.zoom",function(){l(t)}).each("end.zoom",function(){l(t)}):(this.__chart__=k,s(t),c(t),l(t))})},t.translate=function(e){return arguments.length?(k={x:+e[0],y:+e[1],k:k.k},o(),t):[k.x,k.y]},t.scale=function(e){return arguments.length?(k={x:k.x,y:k.y,k:+e},o(),t):k.k},t.scaleExtent=function(e){return arguments.length?(C=null==e?Vu:[+e[0],+e[1]],t):C},t.center=function(e){return arguments.length?(m=e&&[+e[0],+e[1]],t):m},t.size=function(e){return arguments.length?(D=e&&[+e[0],+e[1]],t):D},t.duration=function(e){return arguments.length?(M=+e,t):M},t.x=function(e){return arguments.length?(x=e,b=e.copy(),k={x:0,y:0,k:1},t):x},t.y=function(e){return arguments.length?(A=e,w=e.copy(),k={x:0,y:0,k:1},t):A},nu.rebind(t,I,"on")};var Uu,Yu,Vu=[0,1/0];nu.color=ot,ot.prototype.toString=function(){return this.rgb()+""},nu.hsl=st;var $u=st.prototype=new ot;$u.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new st(this.h,this.s,this.l/t)},$u.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new st(this.h,this.s,t*this.l)},$u.rgb=function(){return ct(this.h,this.s,this.l)},nu.hcl=lt;var zu=lt.prototype=new ot;zu.brighter=function(t){return new lt(this.h,this.c,Math.min(100,this.l+Gu*(arguments.length?t:1)))},zu.darker=function(t){return new lt(this.h,this.c,Math.max(0,this.l-Gu*(arguments.length?t:1)))},zu.rgb=function(){return ht(this.h,this.c,this.l).rgb()},nu.lab=ft;var Gu=18,Hu=.95047,Wu=1,Zu=1.08883,Xu=ft.prototype=new ot;Xu.brighter=function(t){return new ft(Math.min(100,this.l+Gu*(arguments.length?t:1)),this.a,this.b)},Xu.darker=function(t){return new ft(Math.max(0,this.l-Gu*(arguments.length?t:1)),this.a,this.b)},Xu.rgb=function(){return dt(this.l,this.a,this.b)},nu.rgb=vt;var Ku=vt.prototype=new ot;Ku.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,n=this.g,r=this.b,i=30;return e||n||r?(e&&i>e&&(e=i),n&&i>n&&(n=i),r&&i>r&&(r=i),new vt(Math.min(255,e/t),Math.min(255,n/t),Math.min(255,r/t))):new vt(i,i,i)},Ku.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new vt(t*this.r,t*this.g,t*this.b)},Ku.hsl=function(){return At(this.r,this.g,this.b)},Ku.toString=function(){return"#"+xt(this.r)+xt(this.g)+xt(this.b)};var Ju=nu.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Ju.forEach(function(t,e){Ju.set(t,_t(e))}),nu.functor=St,nu.xhr=Ct(_),nu.dsv=function(t,e){function n(t,n,a){arguments.length<3&&(a=n,n=null);var u=Mt(t,e,null==n?r:i(n),a);return u.row=function(t){return arguments.length?u.response(null==(n=t)?r:i(t)):n},u}function r(t){return n.parse(t.responseText)}function i(t){return function(e){return n.parse(e.responseText,t)}}function a(e){return e.map(u).join(t)}function u(t){return o.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}var o=new RegExp('["'+t+"\n]"),s=t.charCodeAt(0);return n.parse=function(t,e){var r;return n.parseRows(t,function(t,n){if(r)return r(t,n-1);var i=new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}");r=e?function(t,n){return e(i(t),n)}:i})},n.parseRows=function(t,e){function n(){if(l>=c)return u;if(i)return i=!1,a;var e=l;if(34===t.charCodeAt(e)){for(var n=e;n++<c;)if(34===t.charCodeAt(n)){if(34!==t.charCodeAt(n+1))break;++n}l=n+2;var r=t.charCodeAt(n+1);return 13===r?(i=!0,10===t.charCodeAt(n+2)&&++l):10===r&&(i=!0),t.slice(e+1,n).replace(/""/g,'"')}for(;c>l;){var r=t.charCodeAt(l++),o=1;if(10===r)i=!0;else if(13===r)i=!0,10===t.charCodeAt(l)&&(++l,++o);else if(r!==s)continue;return t.slice(e,l-o)}return t.slice(e)}for(var r,i,a={},u={},o=[],c=t.length,l=0,h=0;(r=n())!==u;){for(var f=[];r!==a&&r!==u;)f.push(r),r=n();e&&null==(f=e(f,h++))||o.push(f)}return o},n.format=function(e){if(Array.isArray(e[0]))return n.formatRows(e);var r=new v,i=[];return e.forEach(function(t){for(var e in t)r.has(e)||i.push(r.add(e))}),[i.map(u).join(t)].concat(e.map(function(e){return i.map(function(t){return u(e[t])}).join(t)})).join("\n")},n.formatRows=function(t){return t.map(a).join("\n")},n},nu.csv=nu.dsv(",","text/csv"),nu.tsv=nu.dsv("	","text/tab-separated-values");var Qu,to,eo,no,ro,io=this[x(this,"requestAnimationFrame")]||function(t){setTimeout(t,17)};nu.timer=function(t,e,n){var r=arguments.length;2>r&&(e=0),3>r&&(n=Date.now());var i=n+e,a={c:t,t:i,f:!1,n:null};to?to.n=a:Qu=a,
to=a,eo||(no=clearTimeout(no),eo=1,io(Lt))},nu.timer.flush=function(){Bt(),Ot()},nu.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var ao=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(Nt);nu.formatPrefix=function(t,e){var n=0;return t&&(0>t&&(t*=-1),e&&(t=nu.round(t,It(t,e))),n=1+Math.floor(1e-12+Math.log(t)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),ao[8+n/3]};var uo=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,oo=nu.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(t,e){return(t=nu.round(t,It(t,e))).toFixed(Math.max(0,Math.min(20,It(t*(1+1e-15),e))))}}),so=nu.time={},co=Date;jt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){lo.setUTCDate.apply(this._,arguments)},setDay:function(){lo.setUTCDay.apply(this._,arguments)},setFullYear:function(){lo.setUTCFullYear.apply(this._,arguments)},setHours:function(){lo.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){lo.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){lo.setUTCMinutes.apply(this._,arguments)},setMonth:function(){lo.setUTCMonth.apply(this._,arguments)},setSeconds:function(){lo.setUTCSeconds.apply(this._,arguments)},setTime:function(){lo.setTime.apply(this._,arguments)}};var lo=Date.prototype;so.year=qt(function(t){return t=so.day(t),t.setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),so.years=so.year.range,so.years.utc=so.year.utc.range,so.day=qt(function(t){var e=new co(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e},function(t,e){t.setDate(t.getDate()+e)},function(t){return t.getDate()-1}),so.days=so.day.range,so.days.utc=so.day.utc.range,so.dayOfYear=function(t){var e=so.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(t,e){e=7-e;var n=so[t]=qt(function(t){return(t=so.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t},function(t,e){t.setDate(t.getDate()+7*Math.floor(e))},function(t){var n=so.year(t).getDay();return Math.floor((so.dayOfYear(t)+(n+e)%7)/7)-(n!==e)});so[t+"s"]=n.range,so[t+"s"].utc=n.utc.range,so[t+"OfYear"]=function(t){var n=so.year(t).getDay();return Math.floor((so.dayOfYear(t)+(n+e)%7)/7)}}),so.week=so.sunday,so.weeks=so.sunday.range,so.weeks.utc=so.sunday.utc.range,so.weekOfYear=so.sundayOfYear;var ho={"-":"",_:" ",0:"0"},fo=/^\s*\d+/,po=/^%/;nu.locale=function(t){return{numberFormat:Rt(t),timeFormat:Yt(t)}};var go=nu.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});nu.format=go.numberFormat,nu.geo={},ce.prototype={s:0,t:0,add:function(t){le(t,this.t,yo),le(yo.s,this.s,this),this.s?this.t+=yo.t:this.s=yo.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var yo=new ce;nu.geo.stream=function(t,e){t&&mo.hasOwnProperty(t.type)?mo[t.type](t,e):he(t,e)};var mo={Feature:function(t,e){he(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r<i;)he(n[r].geometry,e)}},vo={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){fe(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)fe(n[r],e,0)},Polygon:function(t,e){de(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)de(n[r],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,i=n.length;++r<i;)he(n[r],e)}};nu.geo.area=function(t){return _o=0,nu.geo.stream(t,xo),_o};var _o,bo=new ce,xo={sphere:function(){_o+=4*Lu},point:w,lineStart:w,lineEnd:w,polygonStart:function(){bo.reset(),xo.lineStart=pe},polygonEnd:function(){var t=2*bo;_o+=0>t?4*Lu+t:t,xo.lineStart=xo.lineEnd=xo.point=w}};nu.geo.bounds=function(){function t(t,e){_.push(b=[l=t,f=t]),h>e&&(h=e),e>d&&(d=e)}function e(e,n){var r=ge([e*Nu,n*Nu]);if(m){var i=me(m,r),a=[i[1],-i[0],0],u=me(a,i);be(u),u=xe(u);var s=e-p,c=s>0?1:-1,g=u[0]*Ru*c,y=pu(s)>180;if(y^(g>c*p&&c*e>g)){var v=u[1]*Ru;v>d&&(d=v)}else if(g=(g+360)%360-180,y^(g>c*p&&c*e>g)){var v=-u[1]*Ru;h>v&&(h=v)}else h>n&&(h=n),n>d&&(d=n);y?p>e?o(l,e)>o(l,f)&&(f=e):o(e,f)>o(l,f)&&(l=e):f>=l?(l>e&&(l=e),e>f&&(f=e)):e>p?o(l,e)>o(l,f)&&(f=e):o(e,f)>o(l,f)&&(l=e)}else t(e,n);m=r,p=e}function n(){x.point=e}function r(){b[0]=l,b[1]=f,x.point=t,m=null}function i(t,n){if(m){var r=t-p;v+=pu(r)>180?r+(r>0?360:-360):r}else g=t,y=n;xo.point(t,n),e(t,n)}function a(){xo.lineStart()}function u(){i(g,y),xo.lineEnd(),pu(v)>Tu&&(l=-(f=180)),b[0]=l,b[1]=f,m=null}function o(t,e){return(e-=t)<0?e+360:e}function s(t,e){return t[0]-e[0]}function c(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}var l,h,f,d,p,g,y,m,v,_,b,x={point:t,lineStart:n,lineEnd:r,polygonStart:function(){x.point=i,x.lineStart=a,x.lineEnd=u,v=0,xo.polygonStart()},polygonEnd:function(){xo.polygonEnd(),x.point=t,x.lineStart=n,x.lineEnd=r,0>bo?(l=-(f=180),h=-(d=90)):v>Tu?d=90:-Tu>v&&(h=-90),b[0]=l,b[1]=f}};return function(t){d=f=-(l=h=1/0),_=[],nu.geo.stream(t,x);var e=_.length;if(e){_.sort(s);for(var n,r=1,i=_[0],a=[i];e>r;++r)n=_[r],c(n[0],i)||c(n[1],i)?(o(i[0],n[1])>o(i[0],i[1])&&(i[1]=n[1]),o(n[0],i[1])>o(i[0],i[1])&&(i[0]=n[0])):a.push(i=n);for(var u,n,p=-(1/0),e=a.length-1,r=0,i=a[e];e>=r;i=n,++r)n=a[r],(u=o(i[1],n[0]))>p&&(p=u,l=n[0],f=i[1])}return _=b=null,l===1/0||h===1/0?[[0/0,0/0],[0/0,0/0]]:[[l,h],[f,d]]}}(),nu.geo.centroid=function(t){wo=Ao=ko=Eo=Do=So=Co=Mo=To=Fo=Lo=0,nu.geo.stream(t,Bo);var e=To,n=Fo,r=Lo,i=e*e+n*n+r*r;return Fu>i&&(e=So,n=Co,r=Mo,Tu>Ao&&(e=ko,n=Eo,r=Do),i=e*e+n*n+r*r,Fu>i)?[0/0,0/0]:[Math.atan2(n,e)*Ru,nt(r/Math.sqrt(i))*Ru]};var wo,Ao,ko,Eo,Do,So,Co,Mo,To,Fo,Lo,Bo={sphere:w,point:Ae,lineStart:Ee,lineEnd:De,polygonStart:function(){Bo.lineStart=Se},polygonEnd:function(){Bo.lineStart=Ee}},Oo=Be(Me,Re,je,[-Lu,-Lu/2]),Io=1e9;nu.geo.clipExtent=function(){var t,e,n,r,i,a,u={stream:function(t){return i&&(i.valid=!1),i=a(t),i.valid=!0,i},extent:function(o){return arguments.length?(a=Ve(t=+o[0][0],e=+o[0][1],n=+o[1][0],r=+o[1][1]),i&&(i.valid=!1,i=null),u):[[t,e],[n,r]]}};return u.extent([[0,0],[960,500]])},(nu.geo.conicEqualArea=function(){return $e(ze)}).raw=ze,nu.geo.albers=function(){return nu.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},nu.geo.albersUsa=function(){function t(t){var a=t[0],u=t[1];return e=null,n(a,u),e||(r(a,u),e)||i(a,u),e}var e,n,r,i,a=nu.geo.albers(),u=nu.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),o=nu.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s={point:function(t,n){e=[t,n]}};return t.invert=function(t){var e=a.scale(),n=a.translate(),r=(t[0]-n[0])/e,i=(t[1]-n[1])/e;return(i>=.12&&.234>i&&r>=-.425&&-.214>r?u:i>=.166&&.234>i&&r>=-.214&&-.115>r?o:a).invert(t)},t.stream=function(t){var e=a.stream(t),n=u.stream(t),r=o.stream(t);return{point:function(t,i){e.point(t,i),n.point(t,i),r.point(t,i)},sphere:function(){e.sphere(),n.sphere(),r.sphere()},lineStart:function(){e.lineStart(),n.lineStart(),r.lineStart()},lineEnd:function(){e.lineEnd(),n.lineEnd(),r.lineEnd()},polygonStart:function(){e.polygonStart(),n.polygonStart(),r.polygonStart()},polygonEnd:function(){e.polygonEnd(),n.polygonEnd(),r.polygonEnd()}}},t.precision=function(e){return arguments.length?(a.precision(e),u.precision(e),o.precision(e),t):a.precision()},t.scale=function(e){return arguments.length?(a.scale(e),u.scale(.35*e),o.scale(e),t.translate(a.translate())):a.scale()},t.translate=function(e){if(!arguments.length)return a.translate();var c=a.scale(),l=+e[0],h=+e[1];return n=a.translate(e).clipExtent([[l-.455*c,h-.238*c],[l+.455*c,h+.238*c]]).stream(s).point,r=u.translate([l-.307*c,h+.201*c]).clipExtent([[l-.425*c+Tu,h+.12*c+Tu],[l-.214*c-Tu,h+.234*c-Tu]]).stream(s).point,i=o.translate([l-.205*c,h+.212*c]).clipExtent([[l-.214*c+Tu,h+.166*c+Tu],[l-.115*c-Tu,h+.234*c-Tu]]).stream(s).point,t},t.scale(1070)};var No,Ro,Po,jo,qo,Uo,Yo={point:w,lineStart:w,lineEnd:w,polygonStart:function(){Ro=0,Yo.lineStart=Ge},polygonEnd:function(){Yo.lineStart=Yo.lineEnd=Yo.point=w,No+=pu(Ro/2)}},Vo={point:He,lineStart:w,lineEnd:w,polygonStart:w,polygonEnd:w},$o={point:Xe,lineStart:Ke,lineEnd:Je,polygonStart:function(){$o.lineStart=Qe},polygonEnd:function(){$o.point=Xe,$o.lineStart=Ke,$o.lineEnd=Je}};nu.geo.path=function(){function t(t){return t&&("function"==typeof o&&a.pointRadius(+o.apply(this,arguments)),u&&u.valid||(u=i(a)),nu.geo.stream(t,u)),a.result()}function e(){return u=null,t}var n,r,i,a,u,o=4.5;return t.area=function(t){return No=0,nu.geo.stream(t,i(Yo)),No},t.centroid=function(t){return ko=Eo=Do=So=Co=Mo=To=Fo=Lo=0,nu.geo.stream(t,i($o)),Lo?[To/Lo,Fo/Lo]:Mo?[So/Mo,Co/Mo]:Do?[ko/Do,Eo/Do]:[0/0,0/0]},t.bounds=function(t){return qo=Uo=-(Po=jo=1/0),nu.geo.stream(t,i(Vo)),[[Po,jo],[qo,Uo]]},t.projection=function(t){return arguments.length?(i=(n=t)?t.stream||nn(t):_,e()):n},t.context=function(t){return arguments.length?(a=null==(r=t)?new We:new tn(t),"function"!=typeof o&&a.pointRadius(o),e()):r},t.pointRadius=function(e){return arguments.length?(o="function"==typeof e?e:(a.pointRadius(+e),+e),t):o},t.projection(nu.geo.albersUsa()).context(null)},nu.geo.transform=function(t){return{stream:function(e){var n=new rn(e);for(var r in t)n[r]=t[r];return n}}},rn.prototype={point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},nu.geo.projection=un,nu.geo.projectionMutator=on,(nu.geo.equirectangular=function(){return un(cn)}).raw=cn.invert=cn,nu.geo.rotation=function(t){function e(e){return e=t(e[0]*Nu,e[1]*Nu),e[0]*=Ru,e[1]*=Ru,e}return t=hn(t[0]%360*Nu,t[1]*Nu,t.length>2?t[2]*Nu:0),e.invert=function(e){return e=t.invert(e[0]*Nu,e[1]*Nu),e[0]*=Ru,e[1]*=Ru,e},e},ln.invert=cn,nu.geo.circle=function(){function t(){var t="function"==typeof r?r.apply(this,arguments):r,e=hn(-t[0]*Nu,-t[1]*Nu,0).invert,i=[];return n(null,null,1,{point:function(t,n){i.push(t=e(t,n)),t[0]*=Ru,t[1]*=Ru}}),{type:"Polygon",coordinates:[i]}}var e,n,r=[0,0],i=6;return t.origin=function(e){return arguments.length?(r=e,t):r},t.angle=function(r){return arguments.length?(n=gn((e=+r)*Nu,i*Nu),t):e},t.precision=function(r){return arguments.length?(n=gn(e*Nu,(i=+r)*Nu),t):i},t.angle(90)},nu.geo.distance=function(t,e){var n,r=(e[0]-t[0])*Nu,i=t[1]*Nu,a=e[1]*Nu,u=Math.sin(r),o=Math.cos(r),s=Math.sin(i),c=Math.cos(i),l=Math.sin(a),h=Math.cos(a);return Math.atan2(Math.sqrt((n=h*u)*n+(n=c*l-s*h*o)*n),s*l+c*h*o)},nu.geo.graticule=function(){function t(){return{type:"MultiLineString",coordinates:e()}}function e(){return nu.range(Math.ceil(a/y)*y,i,y).map(f).concat(nu.range(Math.ceil(c/m)*m,s,m).map(d)).concat(nu.range(Math.ceil(r/p)*p,n,p).filter(function(t){return pu(t%y)>Tu}).map(l)).concat(nu.range(Math.ceil(o/g)*g,u,g).filter(function(t){return pu(t%m)>Tu}).map(h))}var n,r,i,a,u,o,s,c,l,h,f,d,p=10,g=p,y=90,m=360,v=2.5;return t.lines=function(){return e().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[f(a).concat(d(s).slice(1),f(i).reverse().slice(1),d(c).reverse().slice(1))]}},t.extent=function(e){return arguments.length?t.majorExtent(e).minorExtent(e):t.minorExtent()},t.majorExtent=function(e){return arguments.length?(a=+e[0][0],i=+e[1][0],c=+e[0][1],s=+e[1][1],a>i&&(e=a,a=i,i=e),c>s&&(e=c,c=s,s=e),t.precision(v)):[[a,c],[i,s]]},t.minorExtent=function(e){return arguments.length?(r=+e[0][0],n=+e[1][0],o=+e[0][1],u=+e[1][1],r>n&&(e=r,r=n,n=e),o>u&&(e=o,o=u,u=e),t.precision(v)):[[r,o],[n,u]]},t.step=function(e){return arguments.length?t.majorStep(e).minorStep(e):t.minorStep()},t.majorStep=function(e){return arguments.length?(y=+e[0],m=+e[1],t):[y,m]},t.minorStep=function(e){return arguments.length?(p=+e[0],g=+e[1],t):[p,g]},t.precision=function(e){return arguments.length?(v=+e,l=mn(o,u,90),h=vn(r,n,v),f=mn(c,s,90),d=vn(a,i,v),t):v},t.majorExtent([[-180,-90+Tu],[180,90-Tu]]).minorExtent([[-180,-80-Tu],[180,80+Tu]])},nu.geo.greatArc=function(){function t(){return{type:"LineString",coordinates:[e||r.apply(this,arguments),n||i.apply(this,arguments)]}}var e,n,r=_n,i=bn;return t.distance=function(){return nu.geo.distance(e||r.apply(this,arguments),n||i.apply(this,arguments))},t.source=function(n){return arguments.length?(r=n,e="function"==typeof n?null:n,t):r},t.target=function(e){return arguments.length?(i=e,n="function"==typeof e?null:e,t):i},t.precision=function(){return arguments.length?t:0},t},nu.geo.interpolate=function(t,e){return xn(t[0]*Nu,t[1]*Nu,e[0]*Nu,e[1]*Nu)},nu.geo.length=function(t){return zo=0,nu.geo.stream(t,Go),zo};var zo,Go={sphere:w,point:w,lineStart:wn,lineEnd:w,polygonStart:w,polygonEnd:w},Ho=An(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(nu.geo.azimuthalEqualArea=function(){return un(Ho)}).raw=Ho;var Wo=An(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},_);(nu.geo.azimuthalEquidistant=function(){return un(Wo)}).raw=Wo,(nu.geo.conicConformal=function(){return $e(kn)}).raw=kn,(nu.geo.conicEquidistant=function(){return $e(En)}).raw=En;var Zo=An(function(t){return 1/t},Math.atan);(nu.geo.gnomonic=function(){return un(Zo)}).raw=Zo,Dn.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Iu]},(nu.geo.mercator=function(){return Sn(Dn)}).raw=Dn;var Xo=An(function(){return 1},Math.asin);(nu.geo.orthographic=function(){return un(Xo)}).raw=Xo;var Ko=An(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(nu.geo.stereographic=function(){return un(Ko)}).raw=Ko,Cn.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Iu]},(nu.geo.transverseMercator=function(){var t=Sn(Cn),e=t.center,n=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])},t.rotate=function(t){return t?n([t[0],t[1],t.length>2?t[2]+90:90]):(t=n(),[t[0],t[1],t[2]-90])},n([0,0,90])}).raw=Cn,nu.geom={},nu.geom.hull=function(t){function e(t){if(t.length<3)return[];var e,i=St(n),a=St(r),u=t.length,o=[],s=[];for(e=0;u>e;e++)o.push([+i.call(this,t[e],e),+a.call(this,t[e],e),e]);for(o.sort(Ln),e=0;u>e;e++)s.push([o[e][0],-o[e][1]]);var c=Fn(o),l=Fn(s),h=l[0]===c[0],f=l[l.length-1]===c[c.length-1],d=[];for(e=c.length-1;e>=0;--e)d.push(t[o[c[e]][2]]);for(e=+h;e<l.length-f;++e)d.push(t[o[l[e]][2]]);return d}var n=Mn,r=Tn;return arguments.length?e(t):(e.x=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(r=t,e):r},e)},nu.geom.polygon=function(t){return _u(t,Jo),t};var Jo=nu.geom.polygon.prototype=[];Jo.area=function(){for(var t,e=-1,n=this.length,r=this[n-1],i=0;++e<n;)t=r,r=this[e],i+=t[1]*r[0]-t[0]*r[1];return.5*i},Jo.centroid=function(t){var e,n,r=-1,i=this.length,a=0,u=0,o=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++r<i;)e=o,o=this[r],n=e[0]*o[1]-o[0]*e[1],a+=(e[0]+o[0])*n,u+=(e[1]+o[1])*n;return[a*t,u*t]},Jo.clip=function(t){for(var e,n,r,i,a,u,o=In(t),s=-1,c=this.length-In(this),l=this[c-1];++s<c;){for(e=t.slice(),t.length=0,i=this[s],a=e[(r=e.length-o)-1],n=-1;++n<r;)u=e[n],Bn(u,l,i)?(Bn(a,l,i)||t.push(On(a,u,l,i)),t.push(u)):Bn(a,l,i)&&t.push(On(a,u,l,i)),a=u;o&&t.push(t[0]),l=i}return t};var Qo,ts,es,ns,rs,is=[],as=[];Vn.prototype.prepare=function(){for(var t,e=this.edges,n=e.length;n--;)t=e[n].edge,t.b&&t.a||e.splice(n,1);return e.sort(zn),e.length},er.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},nr.prototype={insert:function(t,e){var n,r,i;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;n=t}else this._?(t=ur(this._),e.P=null,e.N=t,t.P=t.L=e,n=t):(e.P=e.N=null,this._=e,n=null);for(e.L=e.R=null,e.U=n,e.C=!0,t=e;n&&n.C;)r=n.U,n===r.L?(i=r.R,i&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.R&&(ir(this,n),t=n,n=t.U),n.C=!1,r.C=!0,ar(this,r))):(i=r.L,i&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.L&&(ar(this,n),t=n,n=t.U),n.C=!1,r.C=!0,ir(this,r))),n=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,n,r,i=t.U,a=t.L,u=t.R;if(n=a?u?ur(u):a:u,i?i.L===t?i.L=n:i.R=n:this._=n,a&&u?(r=n.C,n.C=t.C,n.L=a,a.U=n,n!==u?(i=n.U,n.U=t.U,t=n.R,i.L=t,n.R=u,u.U=n):(n.U=i,i=n,t=n.R)):(r=t.C,t=n),t&&(t.U=i),!r){if(t&&t.C)return void(t.C=!1);do{if(t===this._)break;if(t===i.L){if(e=i.R,e.C&&(e.C=!1,i.C=!0,ir(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,ar(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,ir(this,i),t=this._;break}}else if(e=i.L,e.C&&(e.C=!1,i.C=!0,ar(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,ir(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,ar(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},nu.geom.voronoi=function(t){function e(t){var e=new Array(t.length),r=o[0][0],i=o[0][1],a=o[1][0],u=o[1][1];return or(n(t),o).cells.forEach(function(n,o){var s=n.edges,c=n.site,l=e[o]=s.length?s.map(function(t){var e=t.start();return[e.x,e.y]}):c.x>=r&&c.x<=a&&c.y>=i&&c.y<=u?[[r,u],[a,u],[a,i],[r,i]]:[];l.point=t[o]}),e}function n(t){return t.map(function(t,e){return{x:Math.round(a(t,e)/Tu)*Tu,y:Math.round(u(t,e)/Tu)*Tu,i:e}})}var r=Mn,i=Tn,a=r,u=i,o=us;return t?e(t):(e.links=function(t){return or(n(t)).edges.filter(function(t){return t.l&&t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},e.triangles=function(t){var e=[];return or(n(t)).cells.forEach(function(n,r){for(var i,a,u=n.site,o=n.edges.sort(zn),s=-1,c=o.length,l=o[c-1].edge,h=l.l===u?l.r:l.l;++s<c;)i=l,a=h,l=o[s].edge,h=l.l===u?l.r:l.l,r<a.i&&r<h.i&&cr(u,a,h)<0&&e.push([t[r],t[a.i],t[h.i]])}),e},e.x=function(t){return arguments.length?(a=St(r=t),e):r},e.y=function(t){return arguments.length?(u=St(i=t),e):i},e.clipExtent=function(t){return arguments.length?(o=null==t?us:t,e):o===us?null:o},e.size=function(t){return arguments.length?e.clipExtent(t&&[[0,0],t]):o===us?null:o&&o[1]},e)};var us=[[-1e6,-1e6],[1e6,1e6]];nu.geom.delaunay=function(t){return nu.geom.voronoi().triangles(t)},nu.geom.quadtree=function(t,e,n,r,i){function a(t){function a(t,e,n,r,i,a,u,o){if(!isNaN(n)&&!isNaN(r))if(t.leaf){var s=t.x,l=t.y;if(null!=s)if(pu(s-n)+pu(l-r)<.01)c(t,e,n,r,i,a,u,o);else{var h=t.point;t.x=t.y=t.point=null,c(t,h,s,l,i,a,u,o),c(t,e,n,r,i,a,u,o)}else t.x=n,t.y=r,t.point=e}else c(t,e,n,r,i,a,u,o)}function c(t,e,n,r,i,u,o,s){var c=.5*(i+o),l=.5*(u+s),h=n>=c,f=r>=l,d=f<<1|h;t.leaf=!1,t=t.nodes[d]||(t.nodes[d]=fr()),h?i=c:o=c,f?u=l:s=l,a(t,e,n,r,i,u,o,s)}var l,h,f,d,p,g,y,m,v,_=St(o),b=St(s);if(null!=e)g=e,y=n,m=r,v=i;else if(m=v=-(g=y=1/0),h=[],f=[],p=t.length,u)for(d=0;p>d;++d)l=t[d],l.x<g&&(g=l.x),l.y<y&&(y=l.y),l.x>m&&(m=l.x),l.y>v&&(v=l.y),h.push(l.x),f.push(l.y);else for(d=0;p>d;++d){var x=+_(l=t[d],d),w=+b(l,d);g>x&&(g=x),y>w&&(y=w),x>m&&(m=x),w>v&&(v=w),h.push(x),f.push(w)}var A=m-g,k=v-y;A>k?v=y+A:m=g+k;var E=fr();if(E.add=function(t){a(E,t,+_(t,++d),+b(t,d),g,y,m,v)},E.visit=function(t){dr(t,E,g,y,m,v)},E.find=function(t){return pr(E,t[0],t[1],g,y,m,v)},d=-1,null==e){for(;++d<p;)a(E,t[d],h[d],f[d],g,y,m,v);--d}else t.forEach(E.add);return h=f=t=l=null,E}var u,o=Mn,s=Tn;return(u=arguments.length)?(o=lr,s=hr,3===u&&(i=n,r=e,n=e=0),a(t)):(a.x=function(t){return arguments.length?(o=t,a):o},a.y=function(t){return arguments.length?(s=t,a):s},a.extent=function(t){return arguments.length?(null==t?e=n=r=i=null:(e=+t[0][0],n=+t[0][1],r=+t[1][0],i=+t[1][1]),a):null==e?null:[[e,n],[r,i]]},a.size=function(t){return arguments.length?(null==t?e=n=r=i=null:(e=n=0,r=+t[0],i=+t[1]),a):null==e?null:[r-e,i-n]},a)},nu.interpolateRgb=gr,nu.interpolateObject=yr,nu.interpolateNumber=mr,nu.interpolateString=vr;var os=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ss=new RegExp(os.source,"g");nu.interpolate=_r,nu.interpolators=[function(t,e){var n=typeof e;return("string"===n?Ju.has(e.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(e)?gr:vr:e instanceof ot?gr:Array.isArray(e)?br:"object"===n&&isNaN(e)?yr:mr)(t,e)}],nu.interpolateArray=br;var cs=function(){return _},ls=nu.map({linear:cs,poly:Sr,quad:function(){return kr},cubic:function(){return Er},sin:function(){return Cr},exp:function(){return Mr},circle:function(){return Tr},elastic:Fr,back:Lr,bounce:function(){return Br}}),hs=nu.map({"in":_,out:wr,"in-out":Ar,"out-in":function(t){return Ar(wr(t))}});nu.ease=function(t){var e=t.indexOf("-"),n=e>=0?t.slice(0,e):t,r=e>=0?t.slice(e+1):"in";return n=ls.get(n)||cs,r=hs.get(r)||_,xr(r(n.apply(null,ru.call(arguments,1))))},nu.interpolateHcl=Or,nu.interpolateHsl=Ir,nu.interpolateLab=Nr,nu.interpolateRound=Rr,nu.transform=function(t){var e=au.createElementNS(nu.ns.prefix.svg,"g");return(nu.transform=function(t){if(null!=t){e.setAttribute("transform",t);var n=e.transform.baseVal.consolidate()}return new Pr(n?n.matrix:fs)})(t)},Pr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var fs={a:1,b:0,c:0,d:1,e:0,f:0};nu.interpolateTransform=Yr,nu.layout={},nu.layout.bundle=function(){return function(t){for(var e=[],n=-1,r=t.length;++n<r;)e.push(zr(t[n]));return e}},nu.layout.chord=function(){function t(){var t,c,h,f,d,p={},g=[],y=nu.range(a),m=[];for(n=[],r=[],t=0,f=-1;++f<a;){for(c=0,d=-1;++d<a;)c+=i[f][d];g.push(c),m.push(nu.range(a)),t+=c}for(u&&y.sort(function(t,e){return u(g[t],g[e])}),o&&m.forEach(function(t,e){t.sort(function(t,n){return o(i[e][t],i[e][n])})}),t=(Bu-l*a)/t,c=0,f=-1;++f<a;){for(h=c,d=-1;++d<a;){var v=y[f],_=m[v][d],b=i[v][_],x=c,w=c+=b*t;p[v+"-"+_]={index:v,subindex:_,startAngle:x,endAngle:w,value:b}}r[v]={index:v,startAngle:h,endAngle:c,value:(c-h)/t},c+=l}for(f=-1;++f<a;)for(d=f-1;++d<a;){var A=p[f+"-"+d],k=p[d+"-"+f];(A.value||k.value)&&n.push(A.value<k.value?{source:k,target:A}:{source:A,target:k})}s&&e()}function e(){n.sort(function(t,e){return s((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}var n,r,i,a,u,o,s,c={},l=0;return c.matrix=function(t){return arguments.length?(a=(i=t)&&i.length,n=r=null,c):i},c.padding=function(t){return arguments.length?(l=t,n=r=null,c):l},c.sortGroups=function(t){return arguments.length?(u=t,n=r=null,c):u},c.sortSubgroups=function(t){return arguments.length?(o=t,n=null,c):o},c.sortChords=function(t){return arguments.length?(s=t,n&&e(),c):s},c.chords=function(){return n||t(),n},c.groups=function(){return r||t(),r},c},nu.layout.force=function(){function t(t){return function(e,n,r,i){if(e.point!==t){var a=e.cx-t.x,u=e.cy-t.y,o=i-n,s=a*a+u*u;if(s>o*o/y){if(p>s){var c=e.charge/s;t.px-=a*c,t.py-=u*c}return!0}if(e.point&&s&&p>s){var c=e.pointCharge/s;t.px-=a*c,t.py-=u*c}}return!e.charge}}function e(t){t.px=nu.event.x,t.py=nu.event.y,o.resume()}var n,r,i,a,u,o={},s=nu.dispatch("start","tick","end"),c=[1,1],l=.9,h=ds,f=ps,d=-30,p=gs,g=.1,y=.64,m=[],v=[];return o.tick=function(){if((r*=.99)<.005)return s.end({type:"end",alpha:r=0}),!0;var e,n,o,h,f,p,y,_,b,x=m.length,w=v.length;for(n=0;w>n;++n)o=v[n],h=o.source,f=o.target,_=f.x-h.x,b=f.y-h.y,(p=_*_+b*b)&&(p=r*a[n]*((p=Math.sqrt(p))-i[n])/p,_*=p,b*=p,f.x-=_*(y=h.weight/(f.weight+h.weight)),f.y-=b*y,h.x+=_*(y=1-y),h.y+=b*y);if((y=r*g)&&(_=c[0]/2,b=c[1]/2,n=-1,y))for(;++n<x;)o=m[n],o.x+=(_-o.x)*y,o.y+=(b-o.y)*y;if(d)for(Jr(e=nu.geom.quadtree(m),r,u),n=-1;++n<x;)(o=m[n]).fixed||e.visit(t(o));for(n=-1;++n<x;)o=m[n],o.fixed?(o.x=o.px,o.y=o.py):(o.x-=(o.px-(o.px=o.x))*l,o.y-=(o.py-(o.py=o.y))*l);s.tick({type:"tick",alpha:r})},o.nodes=function(t){return arguments.length?(m=t,o):m},o.links=function(t){return arguments.length?(v=t,o):v},o.size=function(t){return arguments.length?(c=t,o):c},o.linkDistance=function(t){return arguments.length?(h="function"==typeof t?t:+t,o):h},o.distance=o.linkDistance,o.linkStrength=function(t){return arguments.length?(f="function"==typeof t?t:+t,o):f},o.friction=function(t){return arguments.length?(l=+t,o):l},o.charge=function(t){return arguments.length?(d="function"==typeof t?t:+t,o):d},o.chargeDistance=function(t){return arguments.length?(p=t*t,o):Math.sqrt(p)},o.gravity=function(t){return arguments.length?(g=+t,o):g},o.theta=function(t){return arguments.length?(y=t*t,o):Math.sqrt(y)},o.alpha=function(t){return arguments.length?(t=+t,r?r=t>0?t:0:t>0&&(s.start({type:"start",alpha:r=t}),nu.timer(o.tick)),o):r},o.start=function(){function t(t,r){if(!n){for(n=new Array(s),o=0;s>o;++o)n[o]=[];for(o=0;l>o;++o){var i=v[o];n[i.source.index].push(i.target),n[i.target.index].push(i.source)}}for(var a,u=n[e],o=-1,c=u.length;++o<c;)if(!isNaN(a=u[o][t]))return a;return Math.random()*r}var e,n,r,s=m.length,l=v.length,p=c[0],g=c[1];for(e=0;s>e;++e)(r=m[e]).index=e,r.weight=0;for(e=0;l>e;++e)r=v[e],"number"==typeof r.source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(e=0;s>e;++e)r=m[e],isNaN(r.x)&&(r.x=t("x",p)),isNaN(r.y)&&(r.y=t("y",g)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(i=[],"function"==typeof h)for(e=0;l>e;++e)i[e]=+h.call(this,v[e],e);else for(e=0;l>e;++e)i[e]=h;if(a=[],"function"==typeof f)for(e=0;l>e;++e)a[e]=+f.call(this,v[e],e);else for(e=0;l>e;++e)a[e]=f;if(u=[],"function"==typeof d)for(e=0;s>e;++e)u[e]=+d.call(this,m[e],e);else for(e=0;s>e;++e)u[e]=d;return o.resume()},o.resume=function(){return o.alpha(.1)},o.stop=function(){return o.alpha(0)},o.drag=function(){return n||(n=nu.behavior.drag().origin(_).on("dragstart.force",Wr).on("drag.force",e).on("dragend.force",Zr)),arguments.length?void this.on("mouseover.force",Xr).on("mouseout.force",Kr).call(n):n},nu.rebind(o,s,"on")};var ds=20,ps=1,gs=1/0;nu.layout.hierarchy=function(){function t(i){var a,u=[i],o=[];for(i.depth=0;null!=(a=u.pop());)if(o.push(a),(c=n.call(t,a,a.depth))&&(s=c.length)){for(var s,c,l;--s>=0;)u.push(l=c[s]),l.parent=a,l.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(t,a,a.depth)||0),delete a.children;return ei(i,function(t){var n,i;e&&(n=t.children)&&n.sort(e),r&&(i=t.parent)&&(i.value+=t.value)}),o}var e=ii,n=ni,r=ri;return t.sort=function(n){return arguments.length?(e=n,t):e},t.children=function(e){return arguments.length?(n=e,t):n},t.value=function(e){return arguments.length?(r=e,t):r},t.revalue=function(e){return r&&(ti(e,function(t){t.children&&(t.value=0)}),ei(e,function(e){var n;e.children||(e.value=+r.call(t,e,e.depth)||0),(n=e.parent)&&(n.value+=e.value)})),e},t},nu.layout.partition=function(){function t(e,n,r,i){var a=e.children;if(e.x=n,e.y=e.depth*i,e.dx=r,e.dy=i,a&&(u=a.length)){var u,o,s,c=-1;for(r=e.value?r/e.value:0;++c<u;)t(o=a[c],n,s=o.value*r,i),n+=s}}function e(t){var n=t.children,r=0;if(n&&(i=n.length))for(var i,a=-1;++a<i;)r=Math.max(r,e(n[a]));return 1+r}function n(n,a){var u=r.call(this,n,a);return t(u[0],0,i[0],i[1]/e(u[0])),u}var r=nu.layout.hierarchy(),i=[1,1];return n.size=function(t){return arguments.length?(i=t,n):i},Qr(n,r)},nu.layout.pie=function(){function t(u){var o,s=u.length,c=u.map(function(n,r){return+e.call(t,n,r)}),l=+("function"==typeof r?r.apply(this,arguments):r),h=("function"==typeof i?i.apply(this,arguments):i)-l,f=Math.min(Math.abs(h)/s,+("function"==typeof a?a.apply(this,arguments):a)),d=f*(0>h?-1:1),p=(h-s*d)/nu.sum(c),g=nu.range(s),y=[];return null!=n&&g.sort(n===ys?function(t,e){return c[e]-c[t]}:function(t,e){return n(u[t],u[e])}),g.forEach(function(t){y[t]={data:u[t],value:o=c[t],startAngle:l,endAngle:l+=o*p+d,padAngle:f}}),y}var e=Number,n=ys,r=0,i=Bu,a=0;return t.value=function(n){return arguments.length?(e=n,t):e},t.sort=function(e){return arguments.length?(n=e,t):n},t.startAngle=function(e){return arguments.length?(r=e,t):r},t.endAngle=function(e){return arguments.length?(i=e,t):i},t.padAngle=function(e){return arguments.length?(a=e,t):a},t};var ys={};nu.layout.stack=function(){function t(o,s){if(!(f=o.length))return o;var c=o.map(function(n,r){return e.call(t,n,r)}),l=c.map(function(e){return e.map(function(e,n){return[a.call(t,e,n),u.call(t,e,n)]})}),h=n.call(t,l,s);c=nu.permute(c,h),l=nu.permute(l,h);var f,d,p,g,y=r.call(t,l,s),m=c[0].length;for(p=0;m>p;++p)for(i.call(t,c[0][p],g=y[p],l[0][p][1]),d=1;f>d;++d)i.call(t,c[d][p],g+=l[d-1][p][1],l[d][p][1]);return o}var e=_,n=ci,r=li,i=si,a=ui,u=oi;return t.values=function(n){return arguments.length?(e=n,t):e},t.order=function(e){return arguments.length?(n="function"==typeof e?e:ms.get(e)||ci,t):n},t.offset=function(e){return arguments.length?(r="function"==typeof e?e:vs.get(e)||li,t):r},t.x=function(e){return arguments.length?(a=e,t):a},t.y=function(e){return arguments.length?(u=e,t):u},t.out=function(e){return arguments.length?(i=e,t):i},t};var ms=nu.map({"inside-out":function(t){var e,n,r=t.length,i=t.map(hi),a=t.map(fi),u=nu.range(r).sort(function(t,e){return i[t]-i[e]}),o=0,s=0,c=[],l=[];for(e=0;r>e;++e)n=u[e],s>o?(o+=a[n],c.push(n)):(s+=a[n],l.push(n));return l.reverse().concat(c)},reverse:function(t){return nu.range(t.length).reverse()},"default":ci}),vs=nu.map({silhouette:function(t){var e,n,r,i=t.length,a=t[0].length,u=[],o=0,s=[];for(n=0;a>n;++n){for(e=0,r=0;i>e;e++)r+=t[e][n][1];r>o&&(o=r),u.push(r)}for(n=0;a>n;++n)s[n]=(o-u[n])/2;return s},wiggle:function(t){var e,n,r,i,a,u,o,s,c,l=t.length,h=t[0],f=h.length,d=[];for(d[0]=s=c=0,n=1;f>n;++n){for(e=0,i=0;l>e;++e)i+=t[e][n][1];for(e=0,a=0,o=h[n][0]-h[n-1][0];l>e;++e){for(r=0,u=(t[e][n][1]-t[e][n-1][1])/(2*o);e>r;++r)u+=(t[r][n][1]-t[r][n-1][1])/o;a+=u*t[e][n][1]}d[n]=s-=i?a/i*o:0,c>s&&(c=s)}for(n=0;f>n;++n)d[n]-=c;return d},expand:function(t){var e,n,r,i=t.length,a=t[0].length,u=1/i,o=[];for(n=0;a>n;++n){for(e=0,r=0;i>e;e++)r+=t[e][n][1];if(r)for(e=0;i>e;e++)t[e][n][1]/=r;else for(e=0;i>e;e++)t[e][n][1]=u}for(n=0;a>n;++n)o[n]=0;return o},zero:li});nu.layout.histogram=function(){function t(t,a){for(var u,o,s=[],c=t.map(n,this),l=r.call(this,c,a),h=i.call(this,l,c,a),a=-1,f=c.length,d=h.length-1,p=e?1:1/f;++a<d;)u=s[a]=[],u.dx=h[a+1]-(u.x=h[a]),u.y=0;if(d>0)for(a=-1;++a<f;)o=c[a],o>=l[0]&&o<=l[1]&&(u=s[nu.bisect(h,o,1,d)-1],u.y+=p,u.push(t[a]));return s}var e=!0,n=Number,r=yi,i=pi;return t.value=function(e){return arguments.length?(n=e,t):n},t.range=function(e){return arguments.length?(r=St(e),t):r},t.bins=function(e){return arguments.length?(i="number"==typeof e?function(t){return gi(t,e)}:St(e),t):i},t.frequency=function(n){return arguments.length?(e=!!n,t):e},t},nu.layout.pack=function(){function t(t,a){var u=n.call(this,t,a),o=u[0],s=i[0],c=i[1],l=null==e?Math.sqrt:"function"==typeof e?e:function(){return e};if(o.x=o.y=0,ei(o,function(t){t.r=+l(t.value)}),ei(o,xi),r){var h=r*(e?1:Math.max(2*o.r/s,2*o.r/c))/2;ei(o,function(t){t.r+=h;

}),ei(o,xi),ei(o,function(t){t.r-=h})}return ki(o,s/2,c/2,e?1:1/Math.max(2*o.r/s,2*o.r/c)),u}var e,n=nu.layout.hierarchy().sort(mi),r=0,i=[1,1];return t.size=function(e){return arguments.length?(i=e,t):i},t.radius=function(n){return arguments.length?(e=null==n||"function"==typeof n?n:+n,t):e},t.padding=function(e){return arguments.length?(r=+e,t):r},Qr(t,n)},nu.layout.tree=function(){function t(t,i){var l=u.call(this,t,i),h=l[0],f=e(h);if(ei(f,n),f.parent.m=-f.z,ti(f,r),c)ti(h,a);else{var d=h,p=h,g=h;ti(h,function(t){t.x<d.x&&(d=t),t.x>p.x&&(p=t),t.depth>g.depth&&(g=t)});var y=o(d,p)/2-d.x,m=s[0]/(p.x+o(p,d)/2+y),v=s[1]/(g.depth||1);ti(h,function(t){t.x=(t.x+y)*m,t.y=t.depth*v})}return l}function e(t){for(var e,n={A:null,children:[t]},r=[n];null!=(e=r.pop());)for(var i,a=e.children,u=0,o=a.length;o>u;++u)r.push((a[u]=i={_:a[u],parent:e,children:(i=a[u].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:u}).a=i);return n.children[0]}function n(t){var e=t.children,n=t.parent.children,r=t.i?n[t.i-1]:null;if(e.length){Ti(t);var a=(e[0].z+e[e.length-1].z)/2;r?(t.z=r.z+o(t._,r._),t.m=t.z-a):t.z=a}else r&&(t.z=r.z+o(t._,r._));t.parent.A=i(t,r,t.parent.A||n[0])}function r(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function i(t,e,n){if(e){for(var r,i=t,a=t,u=e,s=i.parent.children[0],c=i.m,l=a.m,h=u.m,f=s.m;u=Ci(u),i=Si(i),u&&i;)s=Si(s),a=Ci(a),a.a=t,r=u.z+h-i.z-c+o(u._,i._),r>0&&(Mi(Fi(u,t,n),t,r),c+=r,l+=r),h+=u.m,c+=i.m,f+=s.m,l+=a.m;u&&!Ci(a)&&(a.t=u,a.m+=h-l),i&&!Si(s)&&(s.t=i,s.m+=c-f,n=t)}return n}function a(t){t.x*=s[0],t.y=t.depth*s[1]}var u=nu.layout.hierarchy().sort(null).value(null),o=Di,s=[1,1],c=null;return t.separation=function(e){return arguments.length?(o=e,t):o},t.size=function(e){return arguments.length?(c=null==(s=e)?a:null,t):c?null:s},t.nodeSize=function(e){return arguments.length?(c=null==(s=e)?null:a,t):c?s:null},Qr(t,u)},nu.layout.cluster=function(){function t(t,a){var u,o=e.call(this,t,a),s=o[0],c=0;ei(s,function(t){var e=t.children;e&&e.length?(t.x=Bi(e),t.y=Li(e)):(t.x=u?c+=n(t,u):0,t.y=0,u=t)});var l=Oi(s),h=Ii(s),f=l.x-n(l,h)/2,d=h.x+n(h,l)/2;return ei(s,i?function(t){t.x=(t.x-s.x)*r[0],t.y=(s.y-t.y)*r[1]}:function(t){t.x=(t.x-f)/(d-f)*r[0],t.y=(1-(s.y?t.y/s.y:1))*r[1]}),o}var e=nu.layout.hierarchy().sort(null).value(null),n=Di,r=[1,1],i=!1;return t.separation=function(e){return arguments.length?(n=e,t):n},t.size=function(e){return arguments.length?(i=null==(r=e),t):i?null:r},t.nodeSize=function(e){return arguments.length?(i=null!=(r=e),t):i?r:null},Qr(t,e)},nu.layout.treemap=function(){function t(t,e){for(var n,r,i=-1,a=t.length;++i<a;)r=(n=t[i]).value*(0>e?0:e),n.area=isNaN(r)||0>=r?0:r}function e(n){var a=n.children;if(a&&a.length){var u,o,s,c=h(n),l=[],f=a.slice(),p=1/0,g="slice"===d?c.dx:"dice"===d?c.dy:"slice-dice"===d?1&n.depth?c.dy:c.dx:Math.min(c.dx,c.dy);for(t(f,c.dx*c.dy/n.value),l.area=0;(s=f.length)>0;)l.push(u=f[s-1]),l.area+=u.area,"squarify"!==d||(o=r(l,g))<=p?(f.pop(),p=o):(l.area-=l.pop().area,i(l,g,c,!1),g=Math.min(c.dx,c.dy),l.length=l.area=0,p=1/0);l.length&&(i(l,g,c,!0),l.length=l.area=0),a.forEach(e)}}function n(e){var r=e.children;if(r&&r.length){var a,u=h(e),o=r.slice(),s=[];for(t(o,u.dx*u.dy/e.value),s.area=0;a=o.pop();)s.push(a),s.area+=a.area,null!=a.z&&(i(s,a.z?u.dx:u.dy,u,!o.length),s.length=s.area=0);r.forEach(n)}}function r(t,e){for(var n,r=t.area,i=0,a=1/0,u=-1,o=t.length;++u<o;)(n=t[u].area)&&(a>n&&(a=n),n>i&&(i=n));return r*=r,e*=e,r?Math.max(e*i*p/r,r/(e*a*p)):1/0}function i(t,e,n,r){var i,a=-1,u=t.length,o=n.x,c=n.y,l=e?s(t.area/e):0;if(e==n.dx){for((r||l>n.dy)&&(l=n.dy);++a<u;)i=t[a],i.x=o,i.y=c,i.dy=l,o+=i.dx=Math.min(n.x+n.dx-o,l?s(i.area/l):0);i.z=!0,i.dx+=n.x+n.dx-o,n.y+=l,n.dy-=l}else{for((r||l>n.dx)&&(l=n.dx);++a<u;)i=t[a],i.x=o,i.y=c,i.dx=l,c+=i.dy=Math.min(n.y+n.dy-c,l?s(i.area/l):0);i.z=!1,i.dy+=n.y+n.dy-c,n.x+=l,n.dx-=l}}function a(r){var i=u||o(r),a=i[0];return a.x=0,a.y=0,a.dx=c[0],a.dy=c[1],u&&o.revalue(a),t([a],a.dx*a.dy/a.value),(u?n:e)(a),f&&(u=i),i}var u,o=nu.layout.hierarchy(),s=Math.round,c=[1,1],l=null,h=Ni,f=!1,d="squarify",p=.5*(1+Math.sqrt(5));return a.size=function(t){return arguments.length?(c=t,a):c},a.padding=function(t){function e(e){var n=t.call(a,e,e.depth);return null==n?Ni(e):Ri(e,"number"==typeof n?[n,n,n,n]:n)}function n(e){return Ri(e,t)}if(!arguments.length)return l;var r;return h=null==(l=t)?Ni:"function"==(r=typeof t)?e:"number"===r?(t=[t,t,t,t],n):n,a},a.round=function(t){return arguments.length?(s=t?Math.round:Number,a):s!=Number},a.sticky=function(t){return arguments.length?(f=t,u=null,a):f},a.ratio=function(t){return arguments.length?(p=t,a):p},a.mode=function(t){return arguments.length?(d=t+"",a):d},Qr(a,o)},nu.random={normal:function(t,e){var n=arguments.length;return 2>n&&(e=1),1>n&&(t=0),function(){var n,r,i;do n=2*Math.random()-1,r=2*Math.random()-1,i=n*n+r*r;while(!i||i>1);return t+e*n*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=nu.random.normal.apply(nu,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=nu.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,n=0;t>n;n++)e+=Math.random();return e}}},nu.scale={};var _s={floor:_,ceil:_};nu.scale.linear=function(){return $i([0,1],[0,1],_r,!1)};var bs={s:1,g:1,p:1,r:1,e:1};nu.scale.log=function(){return Ji(nu.scale.linear().domain([0,1]),10,!0,[1,10])};var xs=nu.format(".0e"),ws={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};nu.scale.pow=function(){return Qi(nu.scale.linear(),1,[0,1])},nu.scale.sqrt=function(){return nu.scale.pow().exponent(.5)},nu.scale.ordinal=function(){return ea([],{t:"range",a:[[]]})},nu.scale.category10=function(){return nu.scale.ordinal().range(As)},nu.scale.category20=function(){return nu.scale.ordinal().range(ks)},nu.scale.category20b=function(){return nu.scale.ordinal().range(Es)},nu.scale.category20c=function(){return nu.scale.ordinal().range(Ds)};var As=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(bt),ks=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(bt),Es=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(bt),Ds=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(bt);nu.scale.quantile=function(){return na([],[])},nu.scale.quantize=function(){return ra(0,1,[0,1])},nu.scale.threshold=function(){return ia([.5],[0,1])},nu.scale.identity=function(){return aa([0,1])},nu.svg={},nu.svg.arc=function(){function t(){var t=Math.max(0,+n.apply(this,arguments)),c=Math.max(0,+r.apply(this,arguments)),l=u.apply(this,arguments)-Iu,h=o.apply(this,arguments)-Iu,f=Math.abs(h-l),d=l>h?0:1;if(t>c&&(p=c,c=t,t=p),f>=Ou)return e(c,d)+(t?e(t,1-d):"")+"Z";var p,g,y,m,v,_,b,x,w,A,k,E,D=0,S=0,C=[];if((m=(+s.apply(this,arguments)||0)/2)&&(y=a===Ss?Math.sqrt(t*t+c*c):+a.apply(this,arguments),d||(S*=-1),c&&(S=nt(y/c*Math.sin(m))),t&&(D=nt(y/t*Math.sin(m)))),c){v=c*Math.cos(l+S),_=c*Math.sin(l+S),b=c*Math.cos(h-S),x=c*Math.sin(h-S);var M=Math.abs(h-l-2*S)<=Lu?0:1;if(S&&fa(v,_,b,x)===d^M){var T=(l+h)/2;v=c*Math.cos(T),_=c*Math.sin(T),b=x=null}}else v=_=0;if(t){w=t*Math.cos(h-D),A=t*Math.sin(h-D),k=t*Math.cos(l+D),E=t*Math.sin(l+D);var F=Math.abs(l-h+2*D)<=Lu?0:1;if(D&&fa(w,A,k,E)===1-d^F){var L=(l+h)/2;w=t*Math.cos(L),A=t*Math.sin(L),k=E=null}}else w=A=0;if((p=Math.min(Math.abs(c-t)/2,+i.apply(this,arguments)))>.001){g=c>t^d?0:1;var B=null==k?[w,A]:null==b?[v,_]:On([v,_],[k,E],[b,x],[w,A]),O=v-B[0],I=_-B[1],N=b-B[0],R=x-B[1],P=1/Math.sin(Math.acos((O*N+I*R)/(Math.sqrt(O*O+I*I)*Math.sqrt(N*N+R*R)))/2),j=Math.sqrt(B[0]*B[0]+B[1]*B[1]);if(null!=b){var q=Math.min(p,(c-j)/(P+1)),U=da(null==k?[w,A]:[k,E],[v,_],c,q,d),Y=da([b,x],[w,A],c,q,d);p===q?C.push("M",U[0],"A",q,",",q," 0 0,",g," ",U[1],"A",c,",",c," 0 ",1-d^fa(U[1][0],U[1][1],Y[1][0],Y[1][1]),",",d," ",Y[1],"A",q,",",q," 0 0,",g," ",Y[0]):C.push("M",U[0],"A",q,",",q," 0 1,",g," ",Y[0])}else C.push("M",v,",",_);if(null!=k){var V=Math.min(p,(t-j)/(P-1)),$=da([v,_],[k,E],t,-V,d),z=da([w,A],null==b?[v,_]:[b,x],t,-V,d);p===V?C.push("L",z[0],"A",V,",",V," 0 0,",g," ",z[1],"A",t,",",t," 0 ",d^fa(z[1][0],z[1][1],$[1][0],$[1][1]),",",1-d," ",$[1],"A",V,",",V," 0 0,",g," ",$[0]):C.push("L",z[0],"A",V,",",V," 0 0,",g," ",$[0])}else C.push("L",w,",",A)}else C.push("M",v,",",_),null!=b&&C.push("A",c,",",c," 0 ",M,",",d," ",b,",",x),C.push("L",w,",",A),null!=k&&C.push("A",t,",",t," 0 ",F,",",1-d," ",k,",",E);return C.push("Z"),C.join("")}function e(t,e){return"M0,"+t+"A"+t+","+t+" 0 1,"+e+" 0,"+-t+"A"+t+","+t+" 0 1,"+e+" 0,"+t}var n=oa,r=sa,i=ua,a=Ss,u=ca,o=la,s=ha;return t.innerRadius=function(e){return arguments.length?(n=St(e),t):n},t.outerRadius=function(e){return arguments.length?(r=St(e),t):r},t.cornerRadius=function(e){return arguments.length?(i=St(e),t):i},t.padRadius=function(e){return arguments.length?(a=e==Ss?Ss:St(e),t):a},t.startAngle=function(e){return arguments.length?(u=St(e),t):u},t.endAngle=function(e){return arguments.length?(o=St(e),t):o},t.padAngle=function(e){return arguments.length?(s=St(e),t):s},t.centroid=function(){var t=(+n.apply(this,arguments)+ +r.apply(this,arguments))/2,e=(+u.apply(this,arguments)+ +o.apply(this,arguments))/2-Iu;return[Math.cos(e)*t,Math.sin(e)*t]},t};var Ss="auto";nu.svg.line=function(){return pa(_)};var Cs=nu.map({linear:ga,"linear-closed":ya,step:ma,"step-before":va,"step-after":_a,basis:Ea,"basis-open":Da,"basis-closed":Sa,bundle:Ca,cardinal:wa,"cardinal-open":ba,"cardinal-closed":xa,monotone:Oa});Cs.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var Ms=[0,2/3,1/3,0],Ts=[0,1/3,2/3,0],Fs=[0,1/6,2/3,1/6];nu.svg.line.radial=function(){var t=pa(Ia);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},va.reverse=_a,_a.reverse=va,nu.svg.area=function(){return Na(_)},nu.svg.area.radial=function(){var t=Na(Ia);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},nu.svg.chord=function(){function t(t,o){var s=e(this,a,t,o),c=e(this,u,t,o);return"M"+s.p0+r(s.r,s.p1,s.a1-s.a0)+(n(s,c)?i(s.r,s.p1,s.r,s.p0):i(s.r,s.p1,c.r,c.p0)+r(c.r,c.p1,c.a1-c.a0)+i(c.r,c.p1,s.r,s.p0))+"Z"}function e(t,e,n,r){var i=e.call(t,n,r),a=o.call(t,i,r),u=s.call(t,i,r)-Iu,l=c.call(t,i,r)-Iu;return{r:a,a0:u,a1:l,p0:[a*Math.cos(u),a*Math.sin(u)],p1:[a*Math.cos(l),a*Math.sin(l)]}}function n(t,e){return t.a0==e.a0&&t.a1==e.a1}function r(t,e,n){return"A"+t+","+t+" 0 "+ +(n>Lu)+",1 "+e}function i(t,e,n,r){return"Q 0,0 "+r}var a=_n,u=bn,o=Ra,s=ca,c=la;return t.radius=function(e){return arguments.length?(o=St(e),t):o},t.source=function(e){return arguments.length?(a=St(e),t):a},t.target=function(e){return arguments.length?(u=St(e),t):u},t.startAngle=function(e){return arguments.length?(s=St(e),t):s},t.endAngle=function(e){return arguments.length?(c=St(e),t):c},t},nu.svg.diagonal=function(){function t(t,i){var a=e.call(this,t,i),u=n.call(this,t,i),o=(a.y+u.y)/2,s=[a,{x:a.x,y:o},{x:u.x,y:o},u];return s=s.map(r),"M"+s[0]+"C"+s[1]+" "+s[2]+" "+s[3]}var e=_n,n=bn,r=Pa;return t.source=function(n){return arguments.length?(e=St(n),t):e},t.target=function(e){return arguments.length?(n=St(e),t):n},t.projection=function(e){return arguments.length?(r=e,t):r},t},nu.svg.diagonal.radial=function(){var t=nu.svg.diagonal(),e=Pa,n=t.projection;return t.projection=function(t){return arguments.length?n(ja(e=t)):e},t},nu.svg.symbol=function(){function t(t,r){return(Ls.get(e.call(this,t,r))||Ya)(n.call(this,t,r))}var e=Ua,n=qa;return t.type=function(n){return arguments.length?(e=St(n),t):e},t.size=function(e){return arguments.length?(n=St(e),t):n},t};var Ls=nu.map({circle:Ya,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*Os)),n=e*Os;return"M0,"+-e+"L"+n+",0 0,"+e+" "+-n+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/Bs),n=e*Bs/2;return"M0,"+n+"L"+e+","+-n+" "+-e+","+-n+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/Bs),n=e*Bs/2;return"M0,"+-n+"L"+e+","+n+" "+-e+","+n+"Z"}});nu.svg.symbolTypes=Ls.keys();var Bs=Math.sqrt(3),Os=Math.tan(30*Nu);Au.transition=function(t){for(var e,n,r=Is||++js,i=Ha(t),a=[],u=Ns||{time:Date.now(),ease:Dr,delay:0,duration:250},o=-1,s=this.length;++o<s;){a.push(e=[]);for(var c=this[o],l=-1,h=c.length;++l<h;)(n=c[l])&&Wa(n,l,i,r,u),e.push(n)}return $a(a,i,r)},Au.interrupt=function(t){return this.each(null==t?Rs:Va(Ha(t)))};var Is,Ns,Rs=Va(Ha()),Ps=[],js=0;Ps.call=Au.call,Ps.empty=Au.empty,Ps.node=Au.node,Ps.size=Au.size,nu.transition=function(t,e){return t&&t.transition?Is?t.transition(e):t:nu.selection().transition(t)},nu.transition.prototype=Ps,Ps.select=function(t){var e,n,r,i=this.id,a=this.namespace,u=[];t=M(t);for(var o=-1,s=this.length;++o<s;){u.push(e=[]);for(var c=this[o],l=-1,h=c.length;++l<h;)(r=c[l])&&(n=t.call(r,r.__data__,l,o))?("__data__"in r&&(n.__data__=r.__data__),Wa(n,l,a,i,r[a][i]),e.push(n)):e.push(null)}return $a(u,a,i)},Ps.selectAll=function(t){var e,n,r,i,a,u=this.id,o=this.namespace,s=[];t=T(t);for(var c=-1,l=this.length;++c<l;)for(var h=this[c],f=-1,d=h.length;++f<d;)if(r=h[f]){a=r[o][u],n=t.call(r,r.__data__,f,c),s.push(e=[]);for(var p=-1,g=n.length;++p<g;)(i=n[p])&&Wa(i,p,o,u,a),e.push(i)}return $a(s,o,u)},Ps.filter=function(t){var e,n,r,i=[];"function"!=typeof t&&(t=Y(t));for(var a=0,u=this.length;u>a;a++){i.push(e=[]);for(var n=this[a],o=0,s=n.length;s>o;o++)(r=n[o])&&t.call(r,r.__data__,o,a)&&e.push(r)}return $a(i,this.namespace,this.id)},Ps.tween=function(t,e){var n=this.id,r=this.namespace;return arguments.length<2?this.node()[r][n].tween.get(t):$(this,null==e?function(e){e[r][n].tween.remove(t)}:function(i){i[r][n].tween.set(t,e)})},Ps.attr=function(t,e){function n(){this.removeAttribute(o)}function r(){this.removeAttributeNS(o.space,o.local)}function i(t){return null==t?n:(t+="",function(){var e,n=this.getAttribute(o);return n!==t&&(e=u(n,t),function(t){this.setAttribute(o,e(t))})})}function a(t){return null==t?r:(t+="",function(){var e,n=this.getAttributeNS(o.space,o.local);return n!==t&&(e=u(n,t),function(t){this.setAttributeNS(o.space,o.local,e(t))})})}if(arguments.length<2){for(e in t)this.attr(e,t[e]);return this}var u="transform"==t?Yr:_r,o=nu.ns.qualify(t);return za(this,"attr."+t,e,o.local?a:i)},Ps.attrTween=function(t,e){function n(t,n){var r=e.call(this,t,n,this.getAttribute(i));return r&&function(t){this.setAttribute(i,r(t))}}function r(t,n){var r=e.call(this,t,n,this.getAttributeNS(i.space,i.local));return r&&function(t){this.setAttributeNS(i.space,i.local,r(t))}}var i=nu.ns.qualify(t);return this.tween("attr."+t,i.local?r:n)},Ps.style=function(t,e,r){function i(){this.style.removeProperty(t)}function a(e){return null==e?i:(e+="",function(){var i,a=n(this).getComputedStyle(this,null).getPropertyValue(t);return a!==e&&(i=_r(a,e),function(e){this.style.setProperty(t,i(e),r)})})}var u=arguments.length;if(3>u){if("string"!=typeof t){2>u&&(e="");for(r in t)this.style(r,t[r],e);return this}r=""}return za(this,"style."+t,e,a)},Ps.styleTween=function(t,e,r){function i(i,a){var u=e.call(this,i,a,n(this).getComputedStyle(this,null).getPropertyValue(t));return u&&function(e){this.style.setProperty(t,u(e),r)}}return arguments.length<3&&(r=""),this.tween("style."+t,i)},Ps.text=function(t){return za(this,"text",t,Ga)},Ps.remove=function(){var t=this.namespace;return this.each("end.transition",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},Ps.ease=function(t){var e=this.id,n=this.namespace;return arguments.length<1?this.node()[n][e].ease:("function"!=typeof t&&(t=nu.ease.apply(nu,arguments)),$(this,function(r){r[n][e].ease=t}))},Ps.delay=function(t){var e=this.id,n=this.namespace;return arguments.length<1?this.node()[n][e].delay:$(this,"function"==typeof t?function(r,i,a){r[n][e].delay=+t.call(r,r.__data__,i,a)}:(t=+t,function(r){r[n][e].delay=t}))},Ps.duration=function(t){var e=this.id,n=this.namespace;return arguments.length<1?this.node()[n][e].duration:$(this,"function"==typeof t?function(r,i,a){r[n][e].duration=Math.max(1,t.call(r,r.__data__,i,a))}:(t=Math.max(1,t),function(r){r[n][e].duration=t}))},Ps.each=function(t,e){var n=this.id,r=this.namespace;if(arguments.length<2){var i=Ns,a=Is;try{Is=n,$(this,function(e,i,a){Ns=e[r][n],t.call(e,e.__data__,i,a)})}finally{Ns=i,Is=a}}else $(this,function(i){var a=i[r][n];(a.event||(a.event=nu.dispatch("start","end","interrupt"))).on(t,e)});return this},Ps.transition=function(){for(var t,e,n,r,i=this.id,a=++js,u=this.namespace,o=[],s=0,c=this.length;c>s;s++){o.push(t=[]);for(var e=this[s],l=0,h=e.length;h>l;l++)(n=e[l])&&(r=n[u][i],Wa(n,l,u,a,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),t.push(n)}return $a(o,u,a)},nu.svg.axis=function(){function t(t){t.each(function(){var t,c=nu.select(this),l=this.__chart__||n,h=this.__chart__=n.copy(),f=null==s?h.ticks?h.ticks.apply(h,o):h.domain():s,d=null==e?h.tickFormat?h.tickFormat.apply(h,o):_:e,p=c.selectAll(".tick").data(f,h),g=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Tu),y=nu.transition(p.exit()).style("opacity",Tu).remove(),m=nu.transition(p.order()).style("opacity",1),v=Math.max(i,0)+u,b=ji(h),x=c.selectAll(".domain").data([0]),w=(x.enter().append("path").attr("class","domain"),nu.transition(x));g.append("line"),g.append("text");var A,k,E,D,S=g.select("line"),C=m.select("line"),M=p.select("text").text(d),T=g.select("text"),F=m.select("text"),L="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(t=Za,A="x",E="y",k="x2",D="y2",M.attr("dy",0>L?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+b[0]+","+L*a+"V0H"+b[1]+"V"+L*a)):(t=Xa,A="y",E="x",k="y2",D="x2",M.attr("dy",".32em").style("text-anchor",0>L?"end":"start"),w.attr("d","M"+L*a+","+b[0]+"H0V"+b[1]+"H"+L*a)),S.attr(D,L*i),T.attr(E,L*v),C.attr(k,0).attr(D,L*i),F.attr(A,0).attr(E,L*v),h.rangeBand){var B=h,O=B.rangeBand()/2;l=h=function(t){return B(t)+O}}else l.rangeBand?l=h:y.call(t,h,l);g.call(t,l,h),m.call(t,h,h)})}var e,n=nu.scale.linear(),r=qs,i=6,a=6,u=3,o=[10],s=null;return t.scale=function(e){return arguments.length?(n=e,t):n},t.orient=function(e){return arguments.length?(r=e in Us?e+"":qs,t):r},t.ticks=function(){return arguments.length?(o=arguments,t):o},t.tickValues=function(e){return arguments.length?(s=e,t):s},t.tickFormat=function(n){return arguments.length?(e=n,t):e},t.tickSize=function(e){var n=arguments.length;return n?(i=+e,a=+arguments[n-1],t):i},t.innerTickSize=function(e){return arguments.length?(i=+e,t):i},t.outerTickSize=function(e){return arguments.length?(a=+e,t):a},t.tickPadding=function(e){return arguments.length?(u=+e,t):u},t.tickSubdivide=function(){return arguments.length&&t},t};var qs="bottom",Us={top:1,right:1,bottom:1,left:1};nu.svg.brush=function(){function t(n){n.each(function(){var n=nu.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",a).on("touchstart.brush",a),u=n.selectAll(".background").data([0]);u.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),n.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var o=n.selectAll(".resize").data(g,_);o.exit().remove(),o.enter().append("g").attr("class",function(t){return"resize "+t}).style("cursor",function(t){return Ys[t]}).append("rect").attr("x",function(t){return/[ew]$/.test(t)?-3:null}).attr("y",function(t){return/^[ns]/.test(t)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),o.style("display",t.empty()?"none":null);var s,h=nu.transition(n),f=nu.transition(u);c&&(s=ji(c),f.attr("x",s[0]).attr("width",s[1]-s[0]),r(h)),l&&(s=ji(l),f.attr("y",s[0]).attr("height",s[1]-s[0]),i(h)),e(h)})}function e(t){t.selectAll(".resize").attr("transform",function(t){return"translate("+h[+/e$/.test(t)]+","+f[+/^s/.test(t)]+")"})}function r(t){t.select(".extent").attr("x",h[0]),t.selectAll(".extent,.n>rect,.s>rect").attr("width",h[1]-h[0])}function i(t){t.select(".extent").attr("y",f[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",f[1]-f[0])}function a(){function a(){32==nu.event.keyCode&&(M||(_=null,F[0]-=h[1],F[1]-=f[1],M=2),E())}function g(){32==nu.event.keyCode&&2==M&&(F[0]+=h[1],F[1]+=f[1],M=0,E())}function y(){var t=nu.mouse(x),n=!1;b&&(t[0]+=b[0],t[1]+=b[1]),M||(nu.event.altKey?(_||(_=[(h[0]+h[1])/2,(f[0]+f[1])/2]),F[0]=h[+(t[0]<_[0])],F[1]=f[+(t[1]<_[1])]):_=null),S&&m(t,c,0)&&(r(k),n=!0),C&&m(t,l,1)&&(i(k),n=!0),n&&(e(k),A({type:"brush",mode:M?"move":"resize"}))}function m(t,e,n){var r,i,a=ji(e),s=a[0],c=a[1],l=F[n],g=n?f:h,y=g[1]-g[0];return M&&(s-=l,c-=y+l),r=(n?p:d)?Math.max(s,Math.min(c,t[n])):t[n],M?i=(r+=l)+y:(_&&(l=Math.max(s,Math.min(c,2*_[n]-r))),r>l?(i=r,r=l):i=l),g[0]!=r||g[1]!=i?(n?o=null:u=null,g[0]=r,g[1]=i,!0):void 0}function v(){y(),k.style("pointer-events","all").selectAll(".resize").style("display",t.empty()?"none":null),nu.select("body").style("cursor",null),L.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),T(),A({type:"brushend"})}var _,b,x=this,w=nu.select(nu.event.target),A=s.of(x,arguments),k=nu.select(x),D=w.datum(),S=!/^(n|s)$/.test(D)&&c,C=!/^(e|w)$/.test(D)&&l,M=w.classed("extent"),T=X(x),F=nu.mouse(x),L=nu.select(n(x)).on("keydown.brush",a).on("keyup.brush",g);if(nu.event.changedTouches?L.on("touchmove.brush",y).on("touchend.brush",v):L.on("mousemove.brush",y).on("mouseup.brush",v),k.interrupt().selectAll("*").interrupt(),M)F[0]=h[0]-F[0],F[1]=f[0]-F[1];else if(D){var B=+/w$/.test(D),O=+/^n/.test(D);b=[h[1-B]-F[0],f[1-O]-F[1]],F[0]=h[B],F[1]=f[O]}else nu.event.altKey&&(_=F.slice());k.style("pointer-events","none").selectAll(".resize").style("display",null),nu.select("body").style("cursor",w.style("cursor")),A({type:"brushstart"}),y()}var u,o,s=S(t,"brushstart","brush","brushend"),c=null,l=null,h=[0,0],f=[0,0],d=!0,p=!0,g=Vs[0];return t.event=function(t){t.each(function(){var t=s.of(this,arguments),e={x:h,y:f,i:u,j:o},n=this.__chart__||e;this.__chart__=e,Is?nu.select(this).transition().each("start.brush",function(){u=n.i,o=n.j,h=n.x,f=n.y,t({type:"brushstart"})}).tween("brush:brush",function(){var n=br(h,e.x),r=br(f,e.y);return u=o=null,function(i){h=e.x=n(i),f=e.y=r(i),t({type:"brush",mode:"resize"})}}).each("end.brush",function(){u=e.i,o=e.j,t({type:"brush",mode:"resize"}),t({type:"brushend"})}):(t({type:"brushstart"}),t({type:"brush",mode:"resize"}),t({type:"brushend"}))})},t.x=function(e){return arguments.length?(c=e,g=Vs[!c<<1|!l],t):c},t.y=function(e){return arguments.length?(l=e,g=Vs[!c<<1|!l],t):l},t.clamp=function(e){return arguments.length?(c&&l?(d=!!e[0],p=!!e[1]):c?d=!!e:l&&(p=!!e),t):c&&l?[d,p]:c?d:l?p:null},t.extent=function(e){var n,r,i,a,s;return arguments.length?(c&&(n=e[0],r=e[1],l&&(n=n[0],r=r[0]),u=[n,r],c.invert&&(n=c(n),r=c(r)),n>r&&(s=n,n=r,r=s),(n!=h[0]||r!=h[1])&&(h=[n,r])),l&&(i=e[0],a=e[1],c&&(i=i[1],a=a[1]),o=[i,a],l.invert&&(i=l(i),a=l(a)),i>a&&(s=i,i=a,a=s),(i!=f[0]||a!=f[1])&&(f=[i,a])),t):(c&&(u?(n=u[0],r=u[1]):(n=h[0],r=h[1],c.invert&&(n=c.invert(n),r=c.invert(r)),n>r&&(s=n,n=r,r=s))),l&&(o?(i=o[0],a=o[1]):(i=f[0],a=f[1],l.invert&&(i=l.invert(i),a=l.invert(a)),i>a&&(s=i,i=a,a=s))),c&&l?[[n,i],[r,a]]:c?[n,r]:l&&[i,a])},t.clear=function(){return t.empty()||(h=[0,0],f=[0,0],u=o=null),t},t.empty=function(){return!!c&&h[0]==h[1]||!!l&&f[0]==f[1]},nu.rebind(t,s,"on")};var Ys={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Vs=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],$s=so.format=go.timeFormat,zs=$s.utc,Gs=zs("%Y-%m-%dT%H:%M:%S.%LZ");$s.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Ka:Gs,Ka.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Ka.toString=Gs.toString,so.second=qt(function(t){return new co(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),so.seconds=so.second.range,so.seconds.utc=so.second.utc.range,so.minute=qt(function(t){return new co(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),so.minutes=so.minute.range,so.minutes.utc=so.minute.utc.range,so.hour=qt(function(t){var e=t.getTimezoneOffset()/60;return new co(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),so.hours=so.hour.range,so.hours.utc=so.hour.utc.range,so.month=qt(function(t){return t=so.day(t),t.setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),so.months=so.month.range,so.months.utc=so.month.utc.range;var Hs=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Ws=[[so.second,1],[so.second,5],[so.second,15],[so.second,30],[so.minute,1],[so.minute,5],[so.minute,15],[so.minute,30],[so.hour,1],[so.hour,3],[so.hour,6],[so.hour,12],[so.day,1],[so.day,2],[so.week,1],[so.month,1],[so.month,3],[so.year,1]],Zs=$s.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%I:%M",function(t){return t.getMinutes()}],["%I %p",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}],["%Y",Me]]),Xs={range:function(t,e,n){return nu.range(Math.ceil(t/n)*n,+e,n).map(Qa)},floor:_,ceil:_};Ws.year=so.year,so.scale=function(){return Ja(nu.scale.linear(),Ws,Zs)};var Ks=Ws.map(function(t){return[t[0].utc,t[1]]}),Js=zs.multi([[".%L",function(t){return t.getUTCMilliseconds()}],[":%S",function(t){return t.getUTCSeconds()}],["%I:%M",function(t){return t.getUTCMinutes()}],["%I %p",function(t){return t.getUTCHours()}],["%a %d",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],["%b %d",function(t){return 1!=t.getUTCDate()}],["%B",function(t){return t.getUTCMonth()}],["%Y",Me]]);Ks.year=so.year.utc,so.scale.utc=function(){return Ja(nu.scale.linear(),Ks,Js)},nu.text=Ct(function(t){return t.responseText}),nu.json=function(t,e){return Mt(t,"application/json",tu,e)},nu.html=function(t,e){return Mt(t,"text/html",eu,e)},nu.xml=Ct(function(t){return t.responseXML}),"function"==typeof define&&define.amd?define(nu):"object"==typeof e&&e.exports&&(e.exports=nu),this.d3=nu}()},{}],5:[function(t,e){e.exports={graphlib:t("./lib/graphlib"),dagre:t("./lib/dagre"),intersect:t("./lib/intersect"),render:t("./lib/render"),util:t("./lib/util"),version:t("./lib/version")}},{"./lib/dagre":12,"./lib/graphlib":13,"./lib/intersect":14,"./lib/render":29,"./lib/util":31,"./lib/version":32}],6:[function(t,e){function n(t,e,n,r){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");a.applyStyle(u,n[r+"Style"])}function r(t,e,n,r){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");a.applyStyle(u,n[r+"Style"])}function i(t,e,n,r){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),u=i.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");a.applyStyle(u,n[r+"Style"])}var a=t("./util");e.exports={"default":n,normal:n,vee:r,undirected:i}},{"./util":31}],7:[function(t,e){function n(t,e){var n=e.nodes().filter(function(t){return r.isSubgraph(e,t)}),a=t.selectAll("g.cluster").data(n,function(t){return t});return a.selectAll("*").remove(),a.enter().append("g").attr("class","cluster").attr("id",function(t){var n=e.node(t);return n.id}).style("opacity",0),r.applyTransition(a,e).style("opacity",1),a.each(function(t){var n=e.node(t),r=d3.select(this);d3.select(this).append("rect");var a=r.append("g").attr("class","label");i(a,n,n.clusterLabelPos)}),a.selectAll("rect").each(function(t){var n=e.node(t),i=d3.select(this);r.applyStyle(i,n.style)}),r.applyTransition(a.exit(),e).style("opacity",0).remove(),a}var r=t("./util"),i=t("./label/add-label");e.exports=n},{"./label/add-label":22,"./util":31}],8:[function(t,e){"use strict";function n(t,e){var n=t.selectAll("g.edgeLabel").data(e.edges(),function(t){return a.edgeToId(t)}).classed("update",!0);return n.selectAll("*").remove(),n.enter().append("g").classed("edgeLabel",!0).style("opacity",0),n.each(function(t){var n=e.edge(t),a=i(u.select(this),e.edge(t),0,0).classed("label",!0),o=a.node().getBBox();n.labelId&&a.attr("id",n.labelId),r.has(n,"width")||(n.width=o.width),r.has(n,"height")||(n.height=o.height)}),a.applyTransition(n.exit(),e).style("opacity",0).remove(),n}var r=t("./lodash"),i=t("./label/add-label"),a=t("./util"),u=t("./d3");e.exports=n},{"./d3":11,"./label/add-label":22,"./lodash":25,"./util":31}],9:[function(t,e){"use strict";function n(t,e,n){var i=t.selectAll("g.edgePath").data(e.edges(),function(t){return l.edgeToId(t)}).classed("update",!0);return u(i,e),o(i,e),l.applyTransition(i,e).style("opacity",1),i.each(function(t){var n=h.select(this),r=e.edge(t);r.elem=this,r.id&&n.attr("id",r.id),l.applyClass(n,r["class"],(n.classed("update")?"update ":"")+"edgePath")}),i.selectAll("path.path").each(function(t){var n=e.edge(t);n.arrowheadId=s.uniqueId("arrowhead");var i=h.select(this).attr("marker-end",function(){return"url(#"+n.arrowheadId+")"}).style("fill","none");l.applyTransition(i,e).attr("d",function(t){return r(e,t)}),l.applyStyle(i,n.style)}),i.selectAll("defs *").remove(),i.selectAll("defs").each(function(t){var r=e.edge(t),i=n[r.arrowhead];i(h.select(this),r.arrowheadId,r,"arrowhead")}),i}function r(t,e){var n=t.edge(e),r=t.node(e.v),a=t.node(e.w),u=n.points.slice(1,n.points.length-1);return u.unshift(c(r,u[0])),u.push(c(a,u[u.length-1])),i(n,u)}function i(t,e){var n=h.svg.line().x(function(t){return t.x}).y(function(t){return t.y});return s.has(t,"lineInterpolate")&&n.interpolate(t.lineInterpolate),s.has(t,"lineTension")&&n.tension(Number(t.lineTension)),n(e)}function a(t){var e=t.getBBox(),n=t.getTransformToElement(t.ownerSVGElement).translate(e.width/2,e.height/2);return{x:n.e,y:n.f}}function u(t,e){var n=t.enter().append("g").attr("class","edgePath").style("opacity",0);n.append("path").attr("class","path").attr("d",function(t){var n=e.edge(t),r=e.node(t.v).elem,u=s.range(n.points.length).map(function(){return a(r)});return i(n,u)}),n.append("defs")}function o(t,e){var n=t.exit();l.applyTransition(n,e).style("opacity",0).remove(),l.applyTransition(n.select("path.path"),e).attr("d",function(t){var n=e.node(t.v);if(n){var r=s.range(this.pathSegList.length).map(function(){return n});return i({},r)}return h.select(this).attr("d")})}var s=t("./lodash"),c=t("./intersect/intersect-node"),l=t("./util"),h=t("./d3");e.exports=n},{"./d3":11,"./intersect/intersect-node":18,"./lodash":25,"./util":31}],10:[function(t,e){"use strict";

function n(t,e,n){var o=e.nodes().filter(function(t){return!a.isSubgraph(e,t)}),s=t.selectAll("g.node").data(o,function(t){return t}).classed("update",!0);return s.selectAll("*").remove(),s.enter().append("g").attr("class","node").style("opacity",0),s.each(function(t){var o=e.node(t),s=u.select(this),c=s.append("g").attr("class","label"),l=i(c,o),h=n[o.shape],f=r.pick(l.node().getBBox(),"width","height");o.elem=this,o.id&&s.attr("id",o.id),o.labelId&&c.attr("id",o.labelId),a.applyClass(s,o["class"],(s.classed("update")?"update ":"")+"node"),r.has(o,"width")&&(f.width=o.width),r.has(o,"height")&&(f.height=o.height),f.width+=o.paddingLeft+o.paddingRight,f.height+=o.paddingTop+o.paddingBottom,c.attr("transform","translate("+(o.paddingLeft-o.paddingRight)/2+","+(o.paddingTop-o.paddingBottom)/2+")");var d=h(u.select(this),f,o);a.applyStyle(d,o.style);var p=d.node().getBBox();o.width=p.width,o.height=p.height}),a.applyTransition(s.exit(),e).style("opacity",0).remove(),s}var r=t("./lodash"),i=t("./label/add-label"),a=t("./util"),u=t("./d3");e.exports=n},{"./d3":11,"./label/add-label":22,"./lodash":25,"./util":31}],11:[function(t,e){e.exports=window.d3},{}],12:[function(t,e){var n;if(t)try{n=t("dagre")}catch(r){}n||(n=window.dagre),e.exports=n},{dagre:54}],13:[function(t,e){var n;if(t)try{n=t("graphlib")}catch(r){}n||(n=window.graphlib),e.exports=n},{graphlib:33}],14:[function(t,e){e.exports={node:t("./intersect-node"),circle:t("./intersect-circle"),ellipse:t("./intersect-ellipse"),polygon:t("./intersect-polygon"),rect:t("./intersect-rect")}},{"./intersect-circle":15,"./intersect-ellipse":16,"./intersect-node":18,"./intersect-polygon":19,"./intersect-rect":20}],15:[function(t,e){function n(t,e,n){return r(t,e,e,n)}var r=t("./intersect-ellipse");e.exports=n},{"./intersect-ellipse":16}],16:[function(t,e){function n(t,e,n,r){var i=t.x,a=t.y,u=i-r.x,o=a-r.y,s=Math.sqrt(e*e*o*o+n*n*u*u),c=Math.abs(e*n*u/s);r.x<i&&(c=-c);var l=Math.abs(e*n*o/s);return r.y<a&&(l=-l),{x:i+c,y:a+l}}e.exports=n},{}],17:[function(t,e){function n(t,e,n,i){var a,u,o,s,c,l,h,f,d,p,g,y,m,v,_;return a=e.y-t.y,o=t.x-e.x,c=e.x*t.y-t.x*e.y,d=a*n.x+o*n.y+c,p=a*i.x+o*i.y+c,0!==d&&0!==p&&r(d,p)||(u=i.y-n.y,s=n.x-i.x,l=i.x*n.y-n.x*i.y,h=u*t.x+s*t.yy+l,f=u*e.x+s*e.y+l,0!==h&&0!==f&&r(h,f)||(g=a*s-u*o,0===g))?void 0:(y=Math.abs(g/2),m=o*l-s*c,v=0>m?(m-y)/g:(m+y)/g,m=u*c-a*l,_=0>m?(m-y)/g:(m+y)/g,{x:v,y:_})}function r(t,e){return t*e>0}e.exports=n},{}],18:[function(t,e){function n(t,e){return t.intersect(e)}e.exports=n},{}],19:[function(t,e){function n(t,e,n){var i=t.x,a=t.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;e.forEach(function(t){o=Math.min(o,t.x),s=Math.min(s,t.y)});for(var c=i-t.width/2-o,l=a-t.height/2-s,h=0;h<e.length;h++){var f=e[h],d=e[h<e.length-1?h+1:0],p=r(t,n,{x:c+f.x,y:l+f.y},{x:c+d.x,y:l+d.y});p&&u.push(p)}return u.length?(u.length>1&&u.sort(function(t,e){var r=t.x-n.x,i=t.y-n.y,a=Math.sqrt(r*r+i*i),u=e.x-n.x,o=e.y-n.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",t),t)}var r=t("./intersect-line");e.exports=n},{"./intersect-line":17}],20:[function(t,e){function n(t,e){var n,r,i=t.x,a=t.y,u=e.x-i,o=e.y-a,s=t.width/2,c=t.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),n=0===o?0:c*u/o,r=c):(0>u&&(s=-s),n=s,r=0===u?0:s*o/u),{x:i+n,y:a+r}}e.exports=n},{}],21:[function(t,e){function n(t,e){var n=t.append("foreignObject").attr("width","100000"),i=n.append("xhtml:div"),a=e.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}r.applyStyle(i,e.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),n.attr("width",u).attr("height",o),n}var r=t("../util");e.exports=n},{"../util":31}],22:[function(t,e){function n(t,e,n){var u=e.label,o=t.append("g");"svg"===e.labelType?a(o,e):"string"!=typeof u||"html"===e.labelType?i(o,e):r(o,e);var s,c=o.node().getBBox();switch(n){case"top":s=-e.height/2;break;case"bottom":s=e.height/2-c.height;break;default:s=-c.height/2}return o.attr("transform","translate("+-c.width/2+","+s+")"),o}var r=t("./add-text-label"),i=t("./add-html-label"),a=t("./add-svg-label");e.exports=n},{"./add-html-label":21,"./add-svg-label":23,"./add-text-label":24}],23:[function(t,e){function n(t,e){var n=t;return n.node().appendChild(e.label),r.applyStyle(n,e.labelStyle),n}var r=t("../util");e.exports=n},{"../util":31}],24:[function(t,e){function n(t,e){for(var n=t.append("text"),a=r(e.label).split("\n"),u=0;u<a.length;u++)n.append("tspan").attr("xml:space","preserve").attr("dy","1em").attr("x","1").text(a[u]);return i.applyStyle(n,e.labelStyle),n}function r(t){for(var e,n="",r=!1,i=0;i<t.length;++i)if(e=t[i],r){switch(e){case"n":n+="\n";break;default:n+=e}r=!1}else"\\"===e?r=!0:n+=e;return n}var i=t("../util");e.exports=n},{"../util":31}],25:[function(t,e){var n;if(t)try{n=t("lodash")}catch(r){}n||(n=window._),e.exports=n},{lodash:53}],26:[function(t,e){"use strict";function n(t,e){function n(t){var n=e.node(t);return"translate("+n.x+","+n.y+")"}var a=t.filter(function(){return!i.select(this).classed("update")});a.attr("transform",n),r.applyTransition(t,e).style("opacity",1).attr("transform",n),r.applyTransition(a.selectAll("rect"),e).attr("width",function(t){return e.node(t).width}).attr("height",function(t){return e.node(t).height}).attr("x",function(t){var n=e.node(t);return-n.width/2}).attr("y",function(t){var n=e.node(t);return-n.height/2})}var r=t("./util"),i=t("./d3");e.exports=n},{"./d3":11,"./util":31}],27:[function(t,e){"use strict";function n(t,e){function n(t){var n=e.edge(t);return a.has(n,"x")?"translate("+n.x+","+n.y+")":""}var u=t.filter(function(){return!i.select(this).classed("update")});u.attr("transform",n),r.applyTransition(t,e).style("opacity",1).attr("transform",n)}var r=t("./util"),i=t("./d3"),a=t("./lodash");e.exports=n},{"./d3":11,"./lodash":25,"./util":31}],28:[function(t,e){"use strict";function n(t,e){function n(t){var n=e.node(t);return"translate("+n.x+","+n.y+")"}var a=t.filter(function(){return!i.select(this).classed("update")});a.attr("transform",n),r.applyTransition(t,e).style("opacity",1).attr("transform",n)}var r=t("./util"),i=t("./d3");e.exports=n},{"./d3":11,"./util":31}],29:[function(t,e){function n(){var e=t("./create-nodes"),n=t("./create-clusters"),u=t("./create-edge-labels"),s=t("./create-edge-paths"),c=t("./position-nodes"),l=t("./position-edge-labels"),h=t("./position-clusters"),f=t("./shapes"),d=t("./arrows"),p=function(t,p){r(p);var g=a(t,"output"),y=a(g,"clusters"),m=a(g,"edgePaths"),v=u(a(g,"edgeLabels"),p),_=e(a(g,"nodes"),p,f);o(p),c(_,p),l(v,p),s(m,p,d);var b=n(y,p);h(b,p),i(p)};return p.createNodes=function(t){return arguments.length?(e=t,p):e},p.createClusters=function(t){return arguments.length?(n=t,p):n},p.createEdgeLabels=function(t){return arguments.length?(u=t,p):u},p.createEdgePaths=function(t){return arguments.length?(s=t,p):s},p.shapes=function(t){return arguments.length?(f=t,p):f},p.arrows=function(t){return arguments.length?(d=t,p):d},p}function r(t){t.nodes().forEach(function(e){var n=t.node(e);u.has(n,"label")||t.children(e).length||(n.label=e),u.has(n,"paddingX")&&u.defaults(n,{paddingLeft:n.paddingX,paddingRight:n.paddingX}),u.has(n,"paddingY")&&u.defaults(n,{paddingTop:n.paddingY,paddingBottom:n.paddingY}),u.has(n,"padding")&&u.defaults(n,{paddingLeft:n.padding,paddingRight:n.padding,paddingTop:n.padding,paddingBottom:n.padding}),u.defaults(n,s),u.each(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(t){n[t]=Number(n[t])}),u.has(n,"width")&&(n._prevWidth=n.width),u.has(n,"height")&&(n._prevHeight=n.height)}),t.edges().forEach(function(e){var n=t.edge(e);u.has(n,"label")||(n.label=""),u.defaults(n,c)})}function i(t){u.each(t.nodes(),function(e){var n=t.node(e);u.has(n,"_prevWidth")?n.width=n._prevWidth:delete n.width,u.has(n,"_prevHeight")?n.height=n._prevHeight:delete n.height,delete n._prevWidth,delete n._prevHeight})}function a(t,e){var n=t.select("g."+e);return n.empty()&&(n=t.append("g").attr("class",e)),n}var u=t("./lodash"),o=t("./dagre").layout;e.exports=n;var s={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},c={arrowhead:"normal",lineInterpolate:"linear"}},{"./arrows":6,"./create-clusters":7,"./create-edge-labels":8,"./create-edge-paths":9,"./create-nodes":10,"./dagre":12,"./lodash":25,"./position-clusters":26,"./position-edge-labels":27,"./position-nodes":28,"./shapes":30}],30:[function(t,e){"use strict";function n(t,e,n){var r=t.insert("rect",":first-child").attr("rx",n.rx).attr("ry",n.ry).attr("x",-e.width/2).attr("y",-e.height/2).attr("width",e.width).attr("height",e.height);return n.intersect=function(t){return u(n,t)},r}function r(t,e,n){var r=e.width/2,i=e.height/2,a=t.insert("ellipse",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("rx",r).attr("ry",i);return n.intersect=function(t){return o(n,r,i,t)},a}function i(t,e,n){var r=Math.max(e.width,e.height)/2,i=t.insert("circle",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("r",r);return n.intersect=function(t){return s(n,r,t)},i}function a(t,e,n){var r=e.width*Math.SQRT2/2,i=e.height*Math.SQRT2/2,a=[{x:0,y:-i},{x:-r,y:0},{x:0,y:i},{x:r,y:0}],u=t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" "));return n.intersect=function(t){return c(n,a,t)},u}var u=t("./intersect/intersect-rect"),o=t("./intersect/intersect-ellipse"),s=t("./intersect/intersect-circle"),c=t("./intersect/intersect-polygon");e.exports={rect:n,ellipse:r,circle:i,diamond:a}},{"./intersect/intersect-circle":15,"./intersect/intersect-ellipse":16,"./intersect/intersect-polygon":19,"./intersect/intersect-rect":20}],31:[function(t,e){function n(t,e){return!!t.children(e).length}function r(t){return i(t.v)+":"+i(t.w)+":"+i(t.name)}function i(t){return t?String(t).replace(c,"\\:"):""}function a(t,e){e&&t.attr("style",e)}function u(t,e,n){e&&t.attr("class",e).attr("class",n+" "+t.attr("class"))}function o(t,e){var n=e.graph();if(s.isPlainObject(n)){var r=n.transition;if(s.isFunction(r))return r(t)}return t}var s=t("./lodash");e.exports={isSubgraph:n,edgeToId:r,applyStyle:a,applyClass:u,applyTransition:o};var c=/:/g},{"./lodash":25}],32:[function(t,e){e.exports="0.4.10"},{}],33:[function(t,e){var n=t("./lib");e.exports={Graph:n.Graph,json:t("./lib/json"),alg:t("./lib/alg"),version:n.version}},{"./lib":49,"./lib/alg":40,"./lib/json":50}],34:[function(t,e){function n(t){function e(a){r.has(i,a)||(i[a]=!0,n.push(a),r.each(t.successors(a),e),r.each(t.predecessors(a),e))}var n,i={},a=[];return r.each(t.nodes(),function(t){n=[],e(t),n.length&&a.push(n)}),a}var r=t("../lodash");e.exports=n},{"../lodash":51}],35:[function(t,e){function n(t,e,n){i.isArray(e)||(e=[e]);var a=[],u={};return i.each(e,function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);r(t,e,"post"===n,u,a)}),a}function r(t,e,n,a,u){i.has(a,e)||(a[e]=!0,n||u.push(e),i.each(t.neighbors(e),function(e){r(t,e,n,a,u)}),n&&u.push(e))}var i=t("../lodash");e.exports=n},{"../lodash":51}],36:[function(t,e){function n(t,e,n){return i.transform(t.nodes(),function(i,a){i[a]=r(t,a,e,n)},{})}var r=t("./dijkstra"),i=t("../lodash");e.exports=n},{"../lodash":51,"./dijkstra":37}],37:[function(t,e){function n(t,e,n,i){return r(t,String(e),n||u,i||function(e){return t.outEdges(e)})}function r(t,e,n,r){var i,u,o={},s=new a,c=function(t){var e=t.v!==i?t.v:t.w,r=o[e],a=n(t),c=u.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+a);c<r.distance&&(r.distance=c,r.predecessor=i,s.decrease(e,c))};for(t.nodes().forEach(function(t){var n=t===e?0:Number.POSITIVE_INFINITY;o[t]={distance:n},s.add(t,n)});s.size()>0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)r(i).forEach(c);return o}var i=t("../lodash"),a=t("../data/priority-queue");e.exports=n;var u=i.constant(1)},{"../data/priority-queue":47,"../lodash":51}],38:[function(t,e){function n(t){return r.filter(i(t),function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])})}var r=t("../lodash"),i=t("./tarjan");e.exports=n},{"../lodash":51,"./tarjan":45}],39:[function(t,e){function n(t,e,n){return r(t,e||a,n||function(e){return t.outEdges(e)})}function r(t,e,n){var r={},i=t.nodes();return i.forEach(function(t){r[t]={},r[t][t]={distance:0},i.forEach(function(e){t!==e&&(r[t][e]={distance:Number.POSITIVE_INFINITY})}),n(t).forEach(function(n){var i=n.v===t?n.w:n.v,a=e(n);r[t][i]={distance:a,predecessor:t}})}),i.forEach(function(t){var e=r[t];i.forEach(function(n){var a=r[n];i.forEach(function(n){var r=a[t],i=e[n],u=a[n],o=r.distance+i.distance;o<u.distance&&(u.distance=o,u.predecessor=i.predecessor)})})}),r}var i=t("../lodash");e.exports=n;var a=i.constant(1)},{"../lodash":51}],40:[function(t,e){e.exports={components:t("./components"),dijkstra:t("./dijkstra"),dijkstraAll:t("./dijkstra-all"),findCycles:t("./find-cycles"),floydWarshall:t("./floyd-warshall"),isAcyclic:t("./is-acyclic"),postorder:t("./postorder"),preorder:t("./preorder"),prim:t("./prim"),tarjan:t("./tarjan"),topsort:t("./topsort")}},{"./components":34,"./dijkstra":37,"./dijkstra-all":36,"./find-cycles":38,"./floyd-warshall":39,"./is-acyclic":41,"./postorder":42,"./preorder":43,"./prim":44,"./tarjan":45,"./topsort":46}],41:[function(t,e){function n(t){try{r(t)}catch(e){if(e instanceof r.CycleException)return!1;throw e}return!0}var r=t("./topsort");e.exports=n},{"./topsort":46}],42:[function(t,e){function n(t,e){return r(t,e,"post")}var r=t("./dfs");e.exports=n},{"./dfs":35}],43:[function(t,e){function n(t,e){return r(t,e,"pre")}var r=t("./dfs");e.exports=n},{"./dfs":35}],44:[function(t,e){function n(t,e){function n(t){var n=t.v===u?t.w:t.v,r=c.priority(n);if(void 0!==r){var i=e(t);r>i&&(s[n]=u,c.decrease(n,i))}}var u,o=new i,s={},c=new a;if(0===t.nodeCount())return o;r.each(t.nodes(),function(t){c.add(t,Number.POSITIVE_INFINITY),o.setNode(t)}),c.decrease(t.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),r.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(u).forEach(n)}return o}var r=t("../lodash"),i=t("../graph"),a=t("../data/priority-queue");e.exports=n},{"../data/priority-queue":47,"../graph":48,"../lodash":51}],45:[function(t,e){function n(t){function e(o){var s=a[o]={onStack:!0,lowlink:n,index:n++};if(i.push(o),t.successors(o).forEach(function(t){r.has(a,t)?a[t].onStack&&(s.lowlink=Math.min(s.lowlink,a[t].index)):(e(t),s.lowlink=Math.min(s.lowlink,a[t].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var n=0,i=[],a={},u=[];return t.nodes().forEach(function(t){r.has(a,t)||e(t)}),u}var r=t("../lodash");e.exports=n},{"../lodash":51}],46:[function(t,e){function n(t){function e(o){if(i.has(a,o))throw new r;i.has(n,o)||(a[o]=!0,n[o]=!0,i.each(t.predecessors(o),e),delete a[o],u.push(o))}var n={},a={},u=[];if(i.each(t.sinks(),e),i.size(n)!==t.nodeCount())throw new r;return u}function r(){}var i=t("../lodash");e.exports=n,n.CycleException=r},{"../lodash":51}],47:[function(t,e){function n(){this._arr=[],this._keyIndices={}}var r=t("../lodash");e.exports=n,n.prototype.size=function(){return this._arr.length},n.prototype.keys=function(){return this._arr.map(function(t){return t.key})},n.prototype.has=function(t){return r.has(this._keyIndices,t)},n.prototype.priority=function(t){var e=this._keyIndices[t];return void 0!==e?this._arr[e].priority:void 0},n.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},n.prototype.add=function(t,e){var n=this._keyIndices;if(t=String(t),!r.has(n,t)){var i=this._arr,a=i.length;return n[t]=a,i.push({key:t,priority:e}),this._decrease(a),!0}return!1},n.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key},n.prototype.decrease=function(t,e){var n=this._keyIndices[t];if(e>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[n].priority+" New: "+e);this._arr[n].priority=e,this._decrease(n)},n.prototype._heapify=function(t){var e=this._arr,n=2*t,r=n+1,i=t;n<e.length&&(i=e[n].priority<e[i].priority?n:i,r<e.length&&(i=e[r].priority<e[i].priority?r:i),i!==t&&(this._swap(t,i),this._heapify(i)))},n.prototype._decrease=function(t){for(var e,n=this._arr,r=n[t].priority;0!==t&&(e=t>>1,!(n[e].priority<r));)this._swap(t,e),t=e},n.prototype._swap=function(t,e){var n=this._arr,r=this._keyIndices,i=n[t],a=n[e];n[t]=a,n[e]=i,r[a.key]=t,r[i.key]=e}},{"../lodash":51}],48:[function(t,e){"use strict";function n(t){this._isDirected=s.has(t,"directed")?t.directed:!0,this._isMultigraph=s.has(t,"multigraph")?t.multigraph:!1,this._isCompound=s.has(t,"compound")?t.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function r(t,e){t[e]?t[e]++:t[e]=1}function i(t,e){--t[e]||delete t[e]}function a(t,e,n,r){var i=""+e,a=""+n;if(!t&&i>a){var u=i;i=a,a=u}return i+h+a+h+(s.isUndefined(r)?c:r)}function u(t,e,n,r){var i=""+e,a=""+n;if(!t&&i>a){var u=i;i=a,a=u}var o={v:i,w:a};return r&&(o.name=r),o}function o(t,e){return a(t,e.v,e.w,e.name)}var s=t("./lodash");e.exports=n;var c="\x00",l="\x00",h="?";n.prototype._nodeCount=0,n.prototype._edgeCount=0,n.prototype.isDirected=function(){return this._isDirected},n.prototype.isMultigraph=function(){return this._isMultigraph},n.prototype.isCompound=function(){return this._isCompound},n.prototype.setGraph=function(t){return this._label=t,this},n.prototype.graph=function(){return this._label},n.prototype.setDefaultNodeLabel=function(t){return s.isFunction(t)||(t=s.constant(t)),this._defaultNodeLabelFn=t,this},n.prototype.nodeCount=function(){return this._nodeCount},n.prototype.nodes=function(){return s.keys(this._nodes)},n.prototype.sources=function(){return s.filter(this.nodes(),function(t){return s.isEmpty(this._in[t])},this)},n.prototype.sinks=function(){return s.filter(this.nodes(),function(t){return s.isEmpty(this._out[t])},this)},n.prototype.setNodes=function(t,e){var n=arguments;return s.each(t,function(t){n.length>1?this.setNode(t,e):this.setNode(t)},this),this},n.prototype.setNode=function(t,e){return s.has(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=l,this._children[t]={},this._children[l][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},n.prototype.node=function(t){return this._nodes[t]},n.prototype.hasNode=function(t){return s.has(this._nodes,t)},n.prototype.removeNode=function(t){var e=this;if(s.has(this._nodes,t)){var n=function(t){e.removeEdge(e._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],s.each(this.children(t),function(t){this.setParent(t)},this),delete this._children[t]),s.each(s.keys(this._in[t]),n),delete this._in[t],delete this._preds[t],s.each(s.keys(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},n.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.isUndefined(e))e=l;else{e+="";for(var n=e;!s.isUndefined(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this},n.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},n.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if(e!==l)return e}},n.prototype.children=function(t){if(s.isUndefined(t)&&(t=l),this._isCompound){var e=this._children[t];if(e)return s.keys(e)}else{if(t===l)return this.nodes();if(this.hasNode(t))return[]}},n.prototype.predecessors=function(t){var e=this._preds[t];return e?s.keys(e):void 0},n.prototype.successors=function(t){var e=this._sucs[t];return e?s.keys(e):void 0},n.prototype.neighbors=function(t){var e=this.predecessors(t);return e?s.union(e,this.successors(t)):void 0},n.prototype.filterNodes=function(t){function e(t){var a=r.parent(t);return void 0===a||n.hasNode(a)?(i[t]=a,a):a in i?i[a]:e(a)}var n=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});n.setGraph(this.graph()),s.each(this._nodes,function(e,r){t(r)&&n.setNode(r,e)},this),s.each(this._edgeObjs,function(t){n.hasNode(t.v)&&n.hasNode(t.w)&&n.setEdge(t,this.edge(t))},this);var r=this,i={};return this._isCompound&&s.each(n.nodes(),function(t){n.setParent(t,e(t))}),n},n.prototype.setDefaultEdgeLabel=function(t){return s.isFunction(t)||(t=s.constant(t)),this._defaultEdgeLabelFn=t,this},n.prototype.edgeCount=function(){return this._edgeCount},n.prototype.edges=function(){return s.values(this._edgeObjs)},n.prototype.setPath=function(t,e){var n=this,r=arguments;return s.reduce(t,function(t,i){return r.length>1?n.setEdge(t,i,e):n.setEdge(t,i),i}),this},n.prototype.setEdge=function(){var t,e,n,i,o=!1,c=arguments[0];"object"==typeof c&&null!==c&&"v"in c?(t=c.v,e=c.w,n=c.name,2===arguments.length&&(i=arguments[1],o=!0)):(t=c,e=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),t=""+t,e=""+e,s.isUndefined(n)||(n=""+n);var l=a(this._isDirected,t,e,n);if(s.has(this._edgeLabels,l))return o&&(this._edgeLabels[l]=i),this;if(!s.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[l]=o?i:this._defaultEdgeLabelFn(t,e,n);var h=u(this._isDirected,t,e,n);return t=h.v,e=h.w,Object.freeze(h),this._edgeObjs[l]=h,r(this._preds[e],t),r(this._sucs[t],e),this._in[e][l]=h,this._out[t][l]=h,this._edgeCount++,this},n.prototype.edge=function(t,e,n){var r=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,t,e,n);return this._edgeLabels[r]},n.prototype.hasEdge=function(t,e,n){var r=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,t,e,n);return s.has(this._edgeLabels,r)},n.prototype.removeEdge=function(t,e,n){var r=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,t,e,n),u=this._edgeObjs[r];return u&&(t=u.v,e=u.w,delete this._edgeLabels[r],delete this._edgeObjs[r],i(this._preds[e],t),i(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},n.prototype.inEdges=function(t,e){var n=this._in[t];if(n){var r=s.values(n);return e?s.filter(r,function(t){return t.v===e}):r}},n.prototype.outEdges=function(t,e){var n=this._out[t];if(n){var r=s.values(n);return e?s.filter(r,function(t){return t.w===e}):r}},n.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);return n?n.concat(this.outEdges(t,e)):void 0}},{"./lodash":51}],49:[function(t,e){e.exports={Graph:t("./graph"),version:t("./version")}},{"./graph":48,"./version":52}],50:[function(t,e){function n(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:r(t),edges:i(t)};return u.isUndefined(t.graph())||(e.value=u.clone(t.graph())),e}function r(t){return u.map(t.nodes(),function(e){var n=t.node(e),r=t.parent(e),i={v:e};return u.isUndefined(n)||(i.value=n),u.isUndefined(r)||(i.parent=r),i})}function i(t){return u.map(t.edges(),function(e){var n=t.edge(e),r={v:e.v,w:e.w};return u.isUndefined(e.name)||(r.name=e.name),u.isUndefined(n)||(r.value=n),r})}function a(t){var e=new o(t.options).setGraph(t.value);return u.each(t.nodes,function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)}),u.each(t.edges,function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)}),e}var u=t("./lodash"),o=t("./graph");e.exports={write:n,read:a}},{"./graph":48,"./lodash":51}],51:[function(t,e){var n;if("function"==typeof t)try{n=t("lodash")}catch(r){}n||(n=window._),e.exports=n},{lodash:53}],52:[function(t,e){e.exports="1.0.7"},{}],53:[function(t,e,n){(function(t){(function(){function r(t,e){if(t!==e){var n=null===t,r=t===E,i=t===t,a=null===e,u=e===E,o=e===e;if(t>e&&!a||!i||n&&!u&&o||r&&o)return 1;if(e>t&&!n||!o||a&&!r&&i||u&&i)return-1}return 0}function i(t,e,n){for(var r=t.length,i=n?r:-1;n?i--:++i<r;)if(e(t[i],i,t))return i;return-1}function a(t,e,n){if(e!==e)return y(t,n);for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function u(t){return"function"==typeof t||!1}function o(t){return null==t?"":t+""}function s(t,e){for(var n=-1,r=t.length;++n<r&&e.indexOf(t.charAt(n))>-1;);return n}function c(t,e){for(var n=t.length;n--&&e.indexOf(t.charAt(n))>-1;);return n}function l(t,e){return r(t.criteria,e.criteria)||t.index-e.index}function h(t,e,n){for(var i=-1,a=t.criteria,u=e.criteria,o=a.length,s=n.length;++i<o;){var c=r(a[i],u[i]);if(c){if(i>=s)return c;var l=n[i];return c*("asc"===l||l===!0?1:-1)}}return t.index-e.index}function f(t){return $t[t]}function d(t){return zt[t]}function p(t,e,n){return e?t=Wt[t]:n&&(t=Zt[t]),"\\"+t}function g(t){return"\\"+Zt[t]}function y(t,e,n){for(var r=t.length,i=e+(n?0:-1);n?i--:++i<r;){var a=t[i];if(a!==a)return i}return-1}function m(t){return!!t&&"object"==typeof t}function v(t){return 160>=t&&t>=9&&13>=t||32==t||160==t||5760==t||6158==t||t>=8192&&(8202>=t||8232==t||8233==t||8239==t||8287==t||12288==t||65279==t)}function _(t,e){for(var n=-1,r=t.length,i=-1,a=[];++n<r;)t[n]===e&&(t[n]=$,a[++i]=n);return a}function b(t,e){for(var n,r=-1,i=t.length,a=-1,u=[];++r<i;){var o=t[r],s=e?e(o,r,t):o;r&&n===s||(n=s,u[++a]=o)}return u}function x(t){for(var e=-1,n=t.length;++e<n&&v(t.charCodeAt(e)););return e}function w(t){for(var e=t.length;e--&&v(t.charCodeAt(e)););return e}function A(t){return Gt[t]}function k(t){function e(t){if(m(t)&&!Mo(t)&&!(t instanceof K)){if(t instanceof v)return t;if(tu.call(t,"__chain__")&&tu.call(t,"__wrapped__"))return dr(t)}return new v(t)}function n(){}function v(t,e,n){this.__wrapped__=t,this.__actions__=n||[],this.__chain__=!!e}function K(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Su,this.__views__=[]}function et(){var t=new K(this.__wrapped__);return t.__actions__=te(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=te(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=te(this.__views__),t}function rt(){if(this.__filtered__){var t=new K(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function $t(){var t=this.__wrapped__.value(),e=this.__dir__,n=Mo(t),r=0>e,i=n?t.length:0,a=Gn(0,i,this.__views__),u=a.start,o=a.end,s=o-u,c=r?o:u-1,l=this.__iteratees__,h=l.length,f=0,d=wu(s,this.__takeCount__);if(!n||q>i||i==s&&d==s)return nn(r&&n?t.reverse():t,this.__actions__);var p=[];t:for(;s--&&d>f;){c+=e;for(var g=-1,y=t[c];++g<h;){var m=l[g],v=m.iteratee,_=m.type,b=v(y);if(_==Y)y=b;else if(!b){if(_==U)continue t;break t}}p[f++]=y}return p}function zt(){this.__data__={}}function Gt(t){return this.has(t)&&delete this.__data__[t]}function Ht(t){return"__proto__"==t?E:this.__data__[t]}function Wt(t){return"__proto__"!=t&&tu.call(this.__data__,t)}function Zt(t,e){return"__proto__"!=t&&(this.__data__[t]=e),this}function Xt(t){var e=t?t.length:0;for(this.data={hash:yu(null),set:new lu};e--;)this.push(t[e])}function Kt(t,e){var n=t.data,r="string"==typeof e||Oi(e)?n.set.has(e):n.hash[e];return r?0:-1}function Jt(t){var e=this.data;"string"==typeof t||Oi(t)?e.set.add(t):e.hash[t]=!0}function Qt(t,e){for(var n=-1,r=t.length,i=-1,a=e.length,u=qa(r+a);++n<r;)u[n]=t[n];for(;++i<a;)u[n++]=e[i];return u}function te(t,e){var n=-1,r=t.length;for(e||(e=qa(r));++n<r;)e[n]=t[n];return e}function ee(t,e){for(var n=-1,r=t.length;++n<r&&e(t[n],n,t)!==!1;);return t}function ie(t,e){for(var n=t.length;n--&&e(t[n],n,t)!==!1;);return t}function ae(t,e){for(var n=-1,r=t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function ue(t,e,n,r){for(var i=-1,a=t.length,u=r,o=u;++i<a;){var s=t[i],c=+e(s);n(c,u)&&(u=c,o=s)}return o}function oe(t,e){for(var n=-1,r=t.length,i=-1,a=[];++n<r;){var u=t[n];e(u,n,t)&&(a[++i]=u)}return a}function se(t,e){for(var n=-1,r=t.length,i=qa(r);++n<r;)i[n]=e(t[n],n,t);return i}function ce(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}function le(t,e,n,r){var i=-1,a=t.length;for(r&&a&&(n=t[++i]);++i<a;)n=e(n,t[i],i,t);return n}function he(t,e,n,r){var i=t.length;for(r&&i&&(n=t[--i]);i--;)n=e(n,t[i],i,t);return n}function fe(t,e){for(var n=-1,r=t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function de(t,e){for(var n=t.length,r=0;n--;)r+=+e(t[n])||0;return r}function pe(t,e){return t===E?e:t}function ge(t,e,n,r){return t!==E&&tu.call(r,n)?t:e}function ye(t,e,n){for(var r=-1,i=qo(e),a=i.length;++r<a;){var u=i[r],o=t[u],s=n(o,e[u],u,t,e);(s===s?s===o:o!==o)&&(o!==E||u in t)||(t[u]=s)}return t}function me(t,e){return null==e?t:_e(e,qo(e),t)}function ve(t,e){for(var n=-1,r=null==t,i=!r&&Kn(t),a=i?t.length:0,u=e.length,o=qa(u);++n<u;){var s=e[n];o[n]=i?Jn(s,a)?t[s]:E:r?E:t[s]}return o}function _e(t,e,n){n||(n={});for(var r=-1,i=e.length;++r<i;){var a=e[r];n[a]=t[a]}return n}function be(t,e,n){var r=typeof t;return"function"==r?e===E?t:un(t,e,n):null==t?Sa:"object"==r?je(t):e===E?Ba(t):qe(t,e)}function xe(t,e,n,r,i,a,u){var o;if(n&&(o=i?n(t,r,i):n(t)),o!==E)return o;if(!Oi(t))return t;var s=Mo(t);if(s){if(o=Hn(t),!e)return te(t,o)}else{var c=nu.call(t),l=c==X;if(c!=Q&&c!=z&&(!l||i))return Vt[c]?Zn(t,c,e):i?t:{};if(o=Wn(l?{}:t),!e)return me(o,t)}a||(a=[]),u||(u=[]);for(var h=a.length;h--;)if(a[h]==t)return u[h];return a.push(t),u.push(o),(s?ee:Fe)(t,function(r,i){o[i]=xe(r,e,n,i,t,a,u)}),o}function we(t,e,n){if("function"!=typeof t)throw new Za(V);return hu(function(){t.apply(E,n)},e)}function Ae(t,e){var n=t?t.length:0,r=[];if(!n)return r;var i=-1,u=Vn(),o=u==a,s=o&&e.length>=q?gn(e):null,c=e.length;s&&(u=Kt,o=!1,e=s);t:for(;++i<n;){var l=t[i];if(o&&l===l){for(var h=c;h--;)if(e[h]===l)continue t;r.push(l)}else u(e,l,0)<0&&r.push(l)}return r}function ke(t,e){var n=!0;return Iu(t,function(t,r,i){return n=!!e(t,r,i)}),n}function Ee(t,e,n,r){var i=r,a=i;return Iu(t,function(t,u,o){var s=+e(t,u,o);(n(s,i)||s===r&&s===a)&&(i=s,a=t)}),a}function De(t,e,n,r){var i=t.length;for(n=null==n?0:+n||0,0>n&&(n=-n>i?0:i+n),r=r===E||r>i?i:+r||0,0>r&&(r+=i),i=n>r?0:r>>>0,n>>>=0;i>n;)t[n++]=e;return t}function Se(t,e){var n=[];return Iu(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}function Ce(t,e,n,r){var i;return n(t,function(t,n,a){return e(t,n,a)?(i=r?n:t,!1):void 0}),i}function Me(t,e,n,r){r||(r=[]);for(var i=-1,a=t.length;++i<a;){var u=t[i];m(u)&&Kn(u)&&(n||Mo(u)||Ei(u))?e?Me(u,e,n,r):ce(r,u):n||(r[r.length]=u)}return r}function Te(t,e){return Ru(t,e,ta)}function Fe(t,e){return Ru(t,e,qo)}function Le(t,e){return Pu(t,e,qo)}function Be(t,e){for(var n=-1,r=e.length,i=-1,a=[];++n<r;){var u=e[n];Bi(t[u])&&(a[++i]=u)}return a}function Oe(t,e,n){if(null!=t){n!==E&&n in hr(t)&&(e=[n]);for(var r=0,i=e.length;null!=t&&i>r;)t=t[e[r++]];return r&&r==i?t:E}}function Ie(t,e,n,r,i,a){return t===e?!0:null==t||null==e||!Oi(t)&&!m(e)?t!==t&&e!==e:Ne(t,e,Ie,n,r,i,a)}function Ne(t,e,n,r,i,a,u){var o=Mo(t),s=Mo(e),c=G,l=G;o||(c=nu.call(t),c==z?c=Q:c!=Q&&(o=Vi(t))),s||(l=nu.call(e),l==z?l=Q:l!=Q&&(s=Vi(e)));var h=c==Q,f=l==Q,d=c==l;if(d&&!o&&!h)return jn(t,e,c);if(!i){var p=h&&tu.call(t,"__wrapped__"),g=f&&tu.call(e,"__wrapped__");if(p||g)return n(p?t.value():t,g?e.value():e,r,i,a,u)}if(!d)return!1;a||(a=[]),u||(u=[]);for(var y=a.length;y--;)if(a[y]==t)return u[y]==e;a.push(t),u.push(e);

var m=(o?Pn:qn)(t,e,n,r,i,a,u);return a.pop(),u.pop(),m}function Re(t,e,n){var r=e.length,i=r,a=!n;if(null==t)return!i;for(t=hr(t);r--;){var u=e[r];if(a&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++r<i;){u=e[r];var o=u[0],s=t[o],c=u[1];if(a&&u[2]){if(s===E&&!(o in t))return!1}else{var l=n?n(s,c,o):E;if(!(l===E?Ie(c,s,n,!0):l))return!1}}return!0}function Pe(t,e){var n=-1,r=Kn(t)?qa(t.length):[];return Iu(t,function(t,i,a){r[++n]=e(t,i,a)}),r}function je(t){var e=$n(t);if(1==e.length&&e[0][2]){var n=e[0][0],r=e[0][1];return function(t){return null==t?!1:t[n]===r&&(r!==E||n in hr(t))}}return function(t){return Re(t,e)}}function qe(t,e){var n=Mo(t),r=tr(t)&&rr(e),i=t+"";return t=fr(t),function(a){if(null==a)return!1;var u=i;if(a=hr(a),!(!n&&r||u in a)){if(a=1==t.length?a:Oe(a,We(t,0,-1)),null==a)return!1;u=Dr(t),a=hr(a)}return a[u]===e?e!==E||u in a:Ie(e,a[u],E,!0)}}function Ue(t,e,n,r,i){if(!Oi(t))return t;var a=Kn(e)&&(Mo(e)||Vi(e)),u=a?E:qo(e);return ee(u||e,function(o,s){if(u&&(s=o,o=e[s]),m(o))r||(r=[]),i||(i=[]),Ye(t,e,s,Ue,n,r,i);else{var c=t[s],l=n?n(c,o,s,t,e):E,h=l===E;h&&(l=o),l===E&&(!a||s in t)||!h&&(l===l?l===c:c!==c)||(t[s]=l)}}),t}function Ye(t,e,n,r,i,a,u){for(var o=a.length,s=e[n];o--;)if(a[o]==s)return void(t[n]=u[o]);var c=t[n],l=i?i(c,s,n,t,e):E,h=l===E;h&&(l=s,Kn(s)&&(Mo(s)||Vi(s))?l=Mo(c)?c:Kn(c)?te(c):[]:qi(s)||Ei(s)?l=Ei(c)?Wi(c):qi(c)?c:{}:h=!1),a.push(s),u.push(l),h?t[n]=r(l,s,i,a,u):(l===l?l!==c:c===c)&&(t[n]=l)}function Ve(t){return function(e){return null==e?E:e[t]}}function $e(t){var e=t+"";return t=fr(t),function(n){return Oe(n,t,e)}}function ze(t,e){for(var n=t?e.length:0;n--;){var r=e[n];if(r!=i&&Jn(r)){var i=r;fu.call(t,r,1)}}return t}function Ge(t,e){return t+mu(Eu()*(e-t+1))}function He(t,e,n,r,i){return i(t,function(t,i,a){n=r?(r=!1,t):e(n,t,i,a)}),n}function We(t,e,n){var r=-1,i=t.length;e=null==e?0:+e||0,0>e&&(e=-e>i?0:i+e),n=n===E||n>i?i:+n||0,0>n&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var a=qa(i);++r<i;)a[r]=t[r+e];return a}function Ze(t,e){var n;return Iu(t,function(t,r,i){return n=e(t,r,i),!n}),!!n}function Xe(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}function Ke(t,e,n){var r=Un(),i=-1;e=se(e,function(t){return r(t)});var a=Pe(t,function(t){var n=se(e,function(e){return e(t)});return{criteria:n,index:++i,value:t}});return Xe(a,function(t,e){return h(t,e,n)})}function Je(t,e){var n=0;return Iu(t,function(t,r,i){n+=+e(t,r,i)||0}),n}function Qe(t,e){var n=-1,r=Vn(),i=t.length,u=r==a,o=u&&i>=q,s=o?gn():null,c=[];s?(r=Kt,u=!1):(o=!1,s=e?[]:c);t:for(;++n<i;){var l=t[n],h=e?e(l,n,t):l;if(u&&l===l){for(var f=s.length;f--;)if(s[f]===h)continue t;e&&s.push(h),c.push(l)}else r(s,h,0)<0&&((e||o)&&s.push(h),c.push(l))}return c}function tn(t,e){for(var n=-1,r=e.length,i=qa(r);++n<r;)i[n]=t[e[n]];return i}function en(t,e,n,r){for(var i=t.length,a=r?i:-1;(r?a--:++a<i)&&e(t[a],a,t););return n?We(t,r?0:a,r?a+1:i):We(t,r?a+1:0,r?i:a)}function nn(t,e){var n=t;n instanceof K&&(n=n.value());for(var r=-1,i=e.length;++r<i;){var a=e[r];n=a.func.apply(a.thisArg,ce([n],a.args))}return n}function rn(t,e,n){var r=0,i=t?t.length:r;if("number"==typeof e&&e===e&&Tu>=i){for(;i>r;){var a=r+i>>>1,u=t[a];(n?e>=u:e>u)&&null!==u?r=a+1:i=a}return i}return an(t,e,Sa,n)}function an(t,e,n,r){e=n(e);for(var i=0,a=t?t.length:0,u=e!==e,o=null===e,s=e===E;a>i;){var c=mu((i+a)/2),l=n(t[c]),h=l!==E,f=l===l;if(u)var d=f||r;else d=o?f&&h&&(r||null!=l):s?f&&(r||h):null==l?!1:r?e>=l:e>l;d?i=c+1:a=c}return wu(a,Mu)}function un(t,e,n){if("function"!=typeof t)return Sa;if(e===E)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 3:return function(n,r,i){return t.call(e,n,r,i)};case 4:return function(n,r,i,a){return t.call(e,n,r,i,a)};case 5:return function(n,r,i,a,u){return t.call(e,n,r,i,a,u)}}return function(){return t.apply(e,arguments)}}function on(t){var e=new au(t.byteLength),n=new du(e);return n.set(new du(t)),e}function sn(t,e,n){for(var r=n.length,i=-1,a=xu(t.length-r,0),u=-1,o=e.length,s=qa(o+a);++u<o;)s[u]=e[u];for(;++i<r;)s[n[i]]=t[i];for(;a--;)s[u++]=t[i++];return s}function cn(t,e,n){for(var r=-1,i=n.length,a=-1,u=xu(t.length-i,0),o=-1,s=e.length,c=qa(u+s);++a<u;)c[a]=t[a];for(var l=a;++o<s;)c[l+o]=e[o];for(;++r<i;)c[l+n[r]]=t[a++];return c}function ln(t,e){return function(n,r,i){var a=e?e():{};if(r=Un(r,i,3),Mo(n))for(var u=-1,o=n.length;++u<o;){var s=n[u];t(a,s,r(s,u,n),n)}else Iu(n,function(e,n,i){t(a,e,r(e,n,i),i)});return a}}function hn(t){return mi(function(e,n){var r=-1,i=null==e?0:n.length,a=i>2?n[i-2]:E,u=i>2?n[2]:E,o=i>1?n[i-1]:E;for("function"==typeof a?(a=un(a,o,5),i-=2):(a="function"==typeof o?o:E,i-=a?1:0),u&&Qn(n[0],n[1],u)&&(a=3>i?E:a,i=1);++r<i;){var s=n[r];s&&t(e,s,a)}return e})}function fn(t,e){return function(n,r){var i=n?Uu(n):0;if(!nr(i))return t(n,r);for(var a=e?i:-1,u=hr(n);(e?a--:++a<i)&&r(u[a],a,u)!==!1;);return n}}function dn(t){return function(e,n,r){for(var i=hr(e),a=r(e),u=a.length,o=t?u:-1;t?o--:++o<u;){var s=a[o];if(n(i[s],s,i)===!1)break}return e}}function pn(t,e){function n(){var i=this&&this!==ne&&this instanceof n?r:t;return i.apply(e,arguments)}var r=mn(t);return n}function gn(t){return yu&&lu?new Xt(t):null}function yn(t){return function(e){for(var n=-1,r=ka(la(e)),i=r.length,a="";++n<i;)a=t(a,r[n],n);return a}}function mn(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var n=Ou(t.prototype),r=t.apply(n,e);return Oi(r)?r:n}}function vn(t){function e(n,r,i){i&&Qn(n,r,i)&&(r=E);var a=Rn(n,t,E,E,E,E,E,r);return a.placeholder=e.placeholder,a}return e}function _n(t,e){return mi(function(n){var r=n[0];return null==r?r:(n.push(e),t.apply(E,n))})}function bn(t,e){return function(n,r,i){if(i&&Qn(n,r,i)&&(r=E),r=Un(r,i,3),1==r.length){n=Mo(n)?n:lr(n);var a=ue(n,r,t,e);if(!n.length||a!==e)return a}return Ee(n,r,t,e)}}function xn(t,e){return function(n,r,a){if(r=Un(r,a,3),Mo(n)){var u=i(n,r,e);return u>-1?n[u]:E}return Ce(n,r,t)}}function wn(t){return function(e,n,r){return e&&e.length?(n=Un(n,r,3),i(e,n,t)):-1}}function An(t){return function(e,n,r){return n=Un(n,r,3),Ce(e,n,t,!0)}}function kn(t){return function(){for(var e,n=arguments.length,r=t?n:-1,i=0,a=qa(n);t?r--:++r<n;){var u=a[i++]=arguments[r];if("function"!=typeof u)throw new Za(V);!e&&v.prototype.thru&&"wrapper"==Yn(u)&&(e=new v([],!0))}for(r=e?-1:n;++r<n;){u=a[r];var o=Yn(u),s="wrapper"==o?qu(u):E;e=s&&er(s[0])&&s[1]==(O|T|L|I)&&!s[4].length&&1==s[9]?e[Yn(s[0])].apply(e,s[3]):1==u.length&&er(u)?e[o]():e.thru(u)}return function(){var t=arguments,r=t[0];if(e&&1==t.length&&Mo(r)&&r.length>=q)return e.plant(r).value();for(var i=0,u=n?a[i].apply(this,t):r;++i<n;)u=a[i].call(this,u);return u}}}function En(t,e){return function(n,r,i){return"function"==typeof r&&i===E&&Mo(n)?t(n,r):e(n,un(r,i,3))}}function Dn(t){return function(e,n,r){return("function"!=typeof n||r!==E)&&(n=un(n,r,3)),t(e,n,ta)}}function Sn(t){return function(e,n,r){return("function"!=typeof n||r!==E)&&(n=un(n,r,3)),t(e,n)}}function Cn(t){return function(e,n,r){var i={};return n=Un(n,r,3),Fe(e,function(e,r,a){var u=n(e,r,a);r=t?u:r,e=t?e:u,i[r]=e}),i}}function Mn(t){return function(e,n,r){return e=o(e),(t?e:"")+Bn(e,n,r)+(t?"":e)}}function Tn(t){var e=mi(function(n,r){var i=_(r,e.placeholder);return Rn(n,t,E,r,i)});return e}function Fn(t,e){return function(n,r,i,a){var u=arguments.length<3;return"function"==typeof r&&a===E&&Mo(n)?t(n,r,i,u):He(n,Un(r,a,4),i,u,e)}}function Ln(t,e,n,r,i,a,u,o,s,c){function l(){for(var v=arguments.length,b=v,x=qa(v);b--;)x[b]=arguments[b];if(r&&(x=sn(x,r,i)),a&&(x=cn(x,a,u)),p||y){var w=l.placeholder,A=_(x,w);if(v-=A.length,c>v){var k=o?te(o):E,D=xu(c-v,0),M=p?A:E,T=p?E:A,F=p?x:E,O=p?E:x;e|=p?L:B,e&=~(p?B:L),g||(e&=~(S|C));var I=[t,e,n,F,M,O,T,k,s,D],N=Ln.apply(E,I);return er(t)&&Yu(N,I),N.placeholder=w,N}}var R=f?n:this,P=d?R[t]:t;return o&&(x=sr(x,o)),h&&s<x.length&&(x.length=s),this&&this!==ne&&this instanceof l&&(P=m||mn(t)),P.apply(R,x)}var h=e&O,f=e&S,d=e&C,p=e&T,g=e&M,y=e&F,m=d?E:mn(t);return l}function Bn(t,e,n){var r=t.length;if(e=+e,r>=e||!_u(e))return"";var i=e-r;return n=null==n?" ":n+"",ya(n,gu(i/n.length)).slice(0,i)}function On(t,e,n,r){function i(){for(var e=-1,o=arguments.length,s=-1,c=r.length,l=qa(c+o);++s<c;)l[s]=r[s];for(;o--;)l[s++]=arguments[++e];var h=this&&this!==ne&&this instanceof i?u:t;return h.apply(a?n:this,l)}var a=e&S,u=mn(t);return i}function In(t){var e=$a[t];return function(t,n){return n=n===E?0:+n||0,n?(n=su(10,n),e(t*n)/n):e(t)}}function Nn(t){return function(e,n,r,i){var a=Un(r);return null==r&&a===be?rn(e,n,t):an(e,n,a(r,i,1),t)}}function Rn(t,e,n,r,i,a,u,o){var s=e&C;if(!s&&"function"!=typeof t)throw new Za(V);var c=r?r.length:0;if(c||(e&=~(L|B),r=i=E),c-=i?i.length:0,e&B){var l=r,h=i;r=i=E}var f=s?E:qu(t),d=[t,e,n,r,i,l,h,a,u,o];if(f&&(ir(d,f),e=d[1],o=d[9]),d[9]=null==o?s?0:t.length:xu(o-c,0)||0,e==S)var p=pn(d[0],d[2]);else p=e!=L&&e!=(S|L)||d[4].length?Ln.apply(E,d):On.apply(E,d);var g=f?ju:Yu;return g(p,d)}function Pn(t,e,n,r,i,a,u){var o=-1,s=t.length,c=e.length;if(s!=c&&!(i&&c>s))return!1;for(;++o<s;){var l=t[o],h=e[o],f=r?r(i?h:l,i?l:h,o):E;if(f!==E){if(f)continue;return!1}if(i){if(!fe(e,function(t){return l===t||n(l,t,r,i,a,u)}))return!1}else if(l!==h&&!n(l,h,r,i,a,u))return!1}return!0}function jn(t,e,n){switch(n){case H:case W:return+t==+e;case Z:return t.name==e.name&&t.message==e.message;case J:return t!=+t?e!=+e:t==+e;case tt:case nt:return t==e+""}return!1}function qn(t,e,n,r,i,a,u){var o=qo(t),s=o.length,c=qo(e),l=c.length;if(s!=l&&!i)return!1;for(var h=s;h--;){var f=o[h];if(!(i?f in e:tu.call(e,f)))return!1}for(var d=i;++h<s;){f=o[h];var p=t[f],g=e[f],y=r?r(i?g:p,i?p:g,f):E;if(!(y===E?n(p,g,r,i,a,u):y))return!1;d||(d="constructor"==f)}if(!d){var m=t.constructor,v=e.constructor;if(m!=v&&"constructor"in t&&"constructor"in e&&!("function"==typeof m&&m instanceof m&&"function"==typeof v&&v instanceof v))return!1}return!0}function Un(t,n,r){var i=e.callback||Ea;return i=i===Ea?be:i,r?i(t,n,r):i}function Yn(t){for(var e=t.name,n=Bu[e],r=n?n.length:0;r--;){var i=n[r],a=i.func;if(null==a||a==t)return i.name}return e}function Vn(t,n,r){var i=e.indexOf||kr;return i=i===kr?a:i,t?i(t,n,r):i}function $n(t){for(var e=ea(t),n=e.length;n--;)e[n][2]=rr(e[n][1]);return e}function zn(t,e){var n=null==t?E:t[e];return Ri(n)?n:E}function Gn(t,e,n){for(var r=-1,i=n.length;++r<i;){var a=n[r],u=a.size;switch(a.type){case"drop":t+=u;break;case"dropRight":e-=u;break;case"take":e=wu(e,t+u);break;case"takeRight":t=xu(t,e-u)}}return{start:t,end:e}}function Hn(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&tu.call(t,"index")&&(n.index=t.index,n.input=t.input),n}function Wn(t){var e=t.constructor;return"function"==typeof e&&e instanceof e||(e=Ga),new e}function Zn(t,e,n){var r=t.constructor;switch(e){case it:return on(t);case H:case W:return new r(+t);case at:case ut:case ot:case st:case ct:case lt:case ht:case ft:case dt:var i=t.buffer;return new r(n?on(i):i,t.byteOffset,t.length);case J:case nt:return new r(t);case tt:var a=new r(t.source,Lt.exec(t));a.lastIndex=t.lastIndex}return a}function Xn(t,e,n){null==t||tr(e,t)||(e=fr(e),t=1==e.length?t:Oe(t,We(e,0,-1)),e=Dr(e));var r=null==t?t:t[e];return null==r?E:r.apply(t,n)}function Kn(t){return null!=t&&nr(Uu(t))}function Jn(t,e){return t="number"==typeof t||It.test(t)?+t:-1,e=null==e?Fu:e,t>-1&&t%1==0&&e>t}function Qn(t,e,n){if(!Oi(n))return!1;var r=typeof e;if("number"==r?Kn(n)&&Jn(e,n.length):"string"==r&&e in n){var i=n[e];return t===t?t===i:i!==i}return!1}function tr(t,e){var n=typeof t;if("string"==n&&Et.test(t)||"number"==n)return!0;if(Mo(t))return!1;var r=!kt.test(t);return r||null!=e&&t in hr(e)}function er(t){var n=Yn(t);if(!(n in K.prototype))return!1;var r=e[n];if(t===r)return!0;var i=qu(r);return!!i&&t===i[0]}function nr(t){return"number"==typeof t&&t>-1&&t%1==0&&Fu>=t}function rr(t){return t===t&&!Oi(t)}function ir(t,e){var n=t[1],r=e[1],i=n|r,a=O>i,u=r==O&&n==T||r==O&&n==I&&t[7].length<=e[8]||r==(O|I)&&n==T;if(!a&&!u)return t;r&S&&(t[2]=e[2],i|=n&S?0:M);var o=e[3];if(o){var s=t[3];t[3]=s?sn(s,o,e[4]):te(o),t[4]=s?_(t[3],$):te(e[4])}return o=e[5],o&&(s=t[5],t[5]=s?cn(s,o,e[6]):te(o),t[6]=s?_(t[5],$):te(e[6])),o=e[7],o&&(t[7]=te(o)),r&O&&(t[8]=null==t[8]?e[8]:wu(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=i,t}function ar(t,e){return t===E?e:To(t,e,ar)}function ur(t,e){t=hr(t);for(var n=-1,r=e.length,i={};++n<r;){var a=e[n];a in t&&(i[a]=t[a])}return i}function or(t,e){var n={};return Te(t,function(t,r,i){e(t,r,i)&&(n[r]=t)}),n}function sr(t,e){for(var n=t.length,r=wu(e.length,n),i=te(t);r--;){var a=e[r];t[r]=Jn(a,n)?i[a]:E}return t}function cr(t){for(var e=ta(t),n=e.length,r=n&&t.length,i=!!r&&nr(r)&&(Mo(t)||Ei(t)),a=-1,u=[];++a<n;){var o=e[a];(i&&Jn(o,r)||tu.call(t,o))&&u.push(o)}return u}function lr(t){return null==t?[]:Kn(t)?Oi(t)?t:Ga(t):aa(t)}function hr(t){return Oi(t)?t:Ga(t)}function fr(t){if(Mo(t))return t;var e=[];return o(t).replace(Dt,function(t,n,r,i){e.push(r?i.replace(Tt,"$1"):n||t)}),e}function dr(t){return t instanceof K?t.clone():new v(t.__wrapped__,t.__chain__,te(t.__actions__))}function pr(t,e,n){e=(n?Qn(t,e,n):null==e)?1:xu(mu(e)||1,1);for(var r=0,i=t?t.length:0,a=-1,u=qa(gu(i/e));i>r;)u[++a]=We(t,r,r+=e);return u}function gr(t){for(var e=-1,n=t?t.length:0,r=-1,i=[];++e<n;){var a=t[e];a&&(i[++r]=a)}return i}function yr(t,e,n){var r=t?t.length:0;return r?((n?Qn(t,e,n):null==e)&&(e=1),We(t,0>e?0:e)):[]}function mr(t,e,n){var r=t?t.length:0;return r?((n?Qn(t,e,n):null==e)&&(e=1),e=r-(+e||0),We(t,0,0>e?0:e)):[]}function vr(t,e,n){return t&&t.length?en(t,Un(e,n,3),!0,!0):[]}function _r(t,e,n){return t&&t.length?en(t,Un(e,n,3),!0):[]}function br(t,e,n,r){var i=t?t.length:0;return i?(n&&"number"!=typeof n&&Qn(t,e,n)&&(n=0,r=i),De(t,e,n,r)):[]}function xr(t){return t?t[0]:E}function wr(t,e,n){var r=t?t.length:0;return n&&Qn(t,e,n)&&(e=!1),r?Me(t,e):[]}function Ar(t){var e=t?t.length:0;return e?Me(t,!0):[]}function kr(t,e,n){var r=t?t.length:0;if(!r)return-1;if("number"==typeof n)n=0>n?xu(r+n,0):n;else if(n){var i=rn(t,e);return r>i&&(e===e?e===t[i]:t[i]!==t[i])?i:-1}return a(t,e,n||0)}function Er(t){return mr(t,1)}function Dr(t){var e=t?t.length:0;return e?t[e-1]:E}function Sr(t,e,n){var r=t?t.length:0;if(!r)return-1;var i=r;if("number"==typeof n)i=(0>n?xu(r+n,0):wu(n||0,r-1))+1;else if(n){i=rn(t,e,!0)-1;var a=t[i];return(e===e?e===a:a!==a)?i:-1}if(e!==e)return y(t,i,!0);for(;i--;)if(t[i]===e)return i;return-1}function Cr(){var t=arguments,e=t[0];if(!e||!e.length)return e;for(var n=0,r=Vn(),i=t.length;++n<i;)for(var a=0,u=t[n];(a=r(e,u,a))>-1;)fu.call(e,a,1);return e}function Mr(t,e,n){var r=[];if(!t||!t.length)return r;var i=-1,a=[],u=t.length;for(e=Un(e,n,3);++i<u;){var o=t[i];e(o,i,t)&&(r.push(o),a.push(i))}return ze(t,a),r}function Tr(t){return yr(t,1)}function Fr(t,e,n){var r=t?t.length:0;return r?(n&&"number"!=typeof n&&Qn(t,e,n)&&(e=0,n=r),We(t,e,n)):[]}function Lr(t,e,n){var r=t?t.length:0;return r?((n?Qn(t,e,n):null==e)&&(e=1),We(t,0,0>e?0:e)):[]}function Br(t,e,n){var r=t?t.length:0;return r?((n?Qn(t,e,n):null==e)&&(e=1),e=r-(+e||0),We(t,0>e?0:e)):[]}function Or(t,e,n){return t&&t.length?en(t,Un(e,n,3),!1,!0):[]}function Ir(t,e,n){return t&&t.length?en(t,Un(e,n,3)):[]}function Nr(t,e,n,r){var i=t?t.length:0;if(!i)return[];null!=e&&"boolean"!=typeof e&&(r=n,n=Qn(t,e,r)?E:e,e=!1);var u=Un();return(null!=n||u!==be)&&(n=u(n,r,3)),e&&Vn()==a?b(t,n):Qe(t,n)}function Rr(t){if(!t||!t.length)return[];var e=-1,n=0;t=oe(t,function(t){return Kn(t)?(n=xu(t.length,n),!0):void 0});for(var r=qa(n);++e<n;)r[e]=se(t,Ve(e));return r}function Pr(t,e,n){var r=t?t.length:0;if(!r)return[];var i=Rr(t);return null==e?i:(e=un(e,n,4),se(i,function(t){return le(t,e,E,!0)}))}function jr(){for(var t=-1,e=arguments.length;++t<e;){var n=arguments[t];if(Kn(n))var r=r?ce(Ae(r,n),Ae(n,r)):n}return r?Qe(r):[]}function qr(t,e){var n=-1,r=t?t.length:0,i={};for(!r||e||Mo(t[0])||(e=[]);++n<r;){var a=t[n];e?i[a]=e[n]:a&&(i[a[0]]=a[1])}return i}function Ur(t){var n=e(t);return n.__chain__=!0,n}function Yr(t,e,n){return e.call(n,t),t}function Vr(t,e,n){return e.call(n,t)}function $r(){return Ur(this)}function zr(){return new v(this.value(),this.__chain__)}function Gr(t){for(var e,r=this;r instanceof n;){var i=dr(r);e?a.__wrapped__=i:e=i;var a=i;r=r.__wrapped__}return a.__wrapped__=t,e}function Hr(){var t=this.__wrapped__,e=function(t){return n&&n.__dir__<0?t:t.reverse()};if(t instanceof K){var n=t;return this.__actions__.length&&(n=new K(this)),n=n.reverse(),n.__actions__.push({func:Vr,args:[e],thisArg:E}),new v(n,this.__chain__)}return this.thru(e)}function Wr(){return this.value()+""}function Zr(){return nn(this.__wrapped__,this.__actions__)}function Xr(t,e,n){var r=Mo(t)?ae:ke;return n&&Qn(t,e,n)&&(e=E),("function"!=typeof e||n!==E)&&(e=Un(e,n,3)),r(t,e)}function Kr(t,e,n){var r=Mo(t)?oe:Se;return e=Un(e,n,3),r(t,e)}function Jr(t,e){return ro(t,je(e))}function Qr(t,e,n,r){var i=t?Uu(t):0;return nr(i)||(t=aa(t),i=t.length),n="number"!=typeof n||r&&Qn(e,n,r)?0:0>n?xu(i+n,0):n||0,"string"==typeof t||!Mo(t)&&Yi(t)?i>=n&&t.indexOf(e,n)>-1:!!i&&Vn(t,e,n)>-1}function ti(t,e,n){var r=Mo(t)?se:Pe;return e=Un(e,n,3),r(t,e)}function ei(t,e){return ti(t,Ba(e))}function ni(t,e,n){var r=Mo(t)?oe:Se;return e=Un(e,n,3),r(t,function(t,n,r){return!e(t,n,r)})}function ri(t,e,n){if(n?Qn(t,e,n):null==e){t=lr(t);var r=t.length;return r>0?t[Ge(0,r-1)]:E}var i=-1,a=Hi(t),r=a.length,u=r-1;for(e=wu(0>e?0:+e||0,r);++i<e;){var o=Ge(i,u),s=a[o];a[o]=a[i],a[i]=s}return a.length=e,a}function ii(t){return ri(t,Su)}function ai(t){var e=t?Uu(t):0;return nr(e)?e:qo(t).length}function ui(t,e,n){var r=Mo(t)?fe:Ze;return n&&Qn(t,e,n)&&(e=E),("function"!=typeof e||n!==E)&&(e=Un(e,n,3)),r(t,e)}function oi(t,e,n){if(null==t)return[];n&&Qn(t,e,n)&&(e=E);var r=-1;e=Un(e,n,3);var i=Pe(t,function(t,n,i){return{criteria:e(t,n,i),index:++r,value:t}});return Xe(i,l)}function si(t,e,n,r){return null==t?[]:(r&&Qn(e,n,r)&&(n=E),Mo(e)||(e=null==e?[]:[e]),Mo(n)||(n=null==n?[]:[n]),Ke(t,e,n))}function ci(t,e){return Kr(t,je(e))}function li(t,e){if("function"!=typeof e){if("function"!=typeof t)throw new Za(V);var n=t;t=e,e=n}return t=_u(t=+t)?t:0,function(){return--t<1?e.apply(this,arguments):void 0}}function hi(t,e,n){return n&&Qn(t,e,n)&&(e=E),e=t&&null==e?t.length:xu(+e||0,0),Rn(t,O,E,E,E,E,e)}function fi(t,e){var n;if("function"!=typeof e){if("function"!=typeof t)throw new Za(V);var r=t;t=e,e=r}return function(){return--t>0&&(n=e.apply(this,arguments)),1>=t&&(e=E),n}}function di(t,e,n){function r(){d&&uu(d),c&&uu(c),g=0,c=d=p=E}function i(e,n){n&&uu(n),c=d=p=E,e&&(g=go(),l=t.apply(f,s),d||c||(s=f=E))}function a(){var t=e-(go()-h);0>=t||t>e?i(p,c):d=hu(a,t)}function u(){i(m,d)}function o(){if(s=arguments,h=go(),f=this,p=m&&(d||!v),y===!1)var n=v&&!d;else{c||v||(g=h);var r=y-(h-g),i=0>=r||r>y;i?(c&&(c=uu(c)),g=h,l=t.apply(f,s)):c||(c=hu(u,r))}return i&&d?d=uu(d):d||e===y||(d=hu(a,e)),n&&(i=!0,l=t.apply(f,s)),!i||d||c||(s=f=E),l}var s,c,l,h,f,d,p,g=0,y=!1,m=!0;if("function"!=typeof t)throw new Za(V);if(e=0>e?0:+e||0,n===!0){var v=!0;m=!1}else Oi(n)&&(v=!!n.leading,y="maxWait"in n&&xu(+n.maxWait||0,e),m="trailing"in n?!!n.trailing:m);return o.cancel=r,o}function pi(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new Za(V);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var u=t.apply(this,r);return n.cache=a.set(i,u),u};return n.cache=new pi.Cache,n}function gi(t){if("function"!=typeof t)throw new Za(V);return function(){return!t.apply(this,arguments)}}function yi(t){return fi(2,t)}function mi(t,e){if("function"!=typeof t)throw new Za(V);return e=xu(e===E?t.length-1:+e||0,0),function(){for(var n=arguments,r=-1,i=xu(n.length-e,0),a=qa(i);++r<i;)a[r]=n[e+r];switch(e){case 0:return t.call(this,a);case 1:return t.call(this,n[0],a);case 2:return t.call(this,n[0],n[1],a)}var u=qa(e+1);for(r=-1;++r<e;)u[r]=n[r];return u[e]=a,t.apply(this,u)}}function vi(t){if("function"!=typeof t)throw new Za(V);return function(e){return t.apply(this,e)}}function _i(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new Za(V);return n===!1?r=!1:Oi(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),di(t,e,{leading:r,maxWait:+e,trailing:i})}function bi(t,e){return e=null==e?Sa:e,Rn(e,L,E,[t],[])}function xi(t,e,n,r){return e&&"boolean"!=typeof e&&Qn(t,e,n)?e=!1:"function"==typeof e&&(r=n,n=e,e=!1),"function"==typeof n?xe(t,e,un(n,r,1)):xe(t,e)}function wi(t,e,n){return"function"==typeof e?xe(t,!0,un(e,n,1)):xe(t,!0)}function Ai(t,e){return t>e}function ki(t,e){return t>=e}function Ei(t){return m(t)&&Kn(t)&&tu.call(t,"callee")&&!cu.call(t,"callee")}function Di(t){return t===!0||t===!1||m(t)&&nu.call(t)==H}function Si(t){return m(t)&&nu.call(t)==W}function Ci(t){return!!t&&1===t.nodeType&&m(t)&&!qi(t)}function Mi(t){return null==t?!0:Kn(t)&&(Mo(t)||Yi(t)||Ei(t)||m(t)&&Bi(t.splice))?!t.length:!qo(t).length}function Ti(t,e,n,r){n="function"==typeof n?un(n,r,3):E;var i=n?n(t,e):E;return i===E?Ie(t,e,n):!!i}function Fi(t){return m(t)&&"string"==typeof t.message&&nu.call(t)==Z}function Li(t){return"number"==typeof t&&_u(t)}function Bi(t){return Oi(t)&&nu.call(t)==X}function Oi(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Ii(t,e,n,r){return n="function"==typeof n?un(n,r,3):E,Re(t,$n(e),n)}function Ni(t){return ji(t)&&t!=+t}function Ri(t){return null==t?!1:Bi(t)?iu.test(Qa.call(t)):m(t)&&Ot.test(t)}function Pi(t){return null===t}function ji(t){return"number"==typeof t||m(t)&&nu.call(t)==J}function qi(t){var e;if(!m(t)||nu.call(t)!=Q||Ei(t)||!tu.call(t,"constructor")&&(e=t.constructor,"function"==typeof e&&!(e instanceof e)))return!1;var n;return Te(t,function(t,e){n=e}),n===E||tu.call(t,n)}function Ui(t){return Oi(t)&&nu.call(t)==tt}function Yi(t){return"string"==typeof t||m(t)&&nu.call(t)==nt}function Vi(t){return m(t)&&nr(t.length)&&!!Yt[nu.call(t)]}function $i(t){return t===E}function zi(t,e){return e>t}function Gi(t,e){return e>=t}function Hi(t){var e=t?Uu(t):0;return nr(e)?e?te(t):[]:aa(t)}function Wi(t){return _e(t,ta(t))}function Zi(t,e,n){var r=Ou(t);return n&&Qn(t,e,n)&&(e=E),e?me(r,e):r}function Xi(t){return Be(t,ta(t))}function Ki(t,e,n){var r=null==t?E:Oe(t,fr(e),e+"");return r===E?n:r}function Ji(t,e){if(null==t)return!1;var n=tu.call(t,e);if(!n&&!tr(e)){if(e=fr(e),t=1==e.length?t:Oe(t,We(e,0,-1)),null==t)return!1;e=Dr(e),n=tu.call(t,e)}return n||nr(t.length)&&Jn(e,t.length)&&(Mo(t)||Ei(t))}function Qi(t,e,n){n&&Qn(t,e,n)&&(e=E);for(var r=-1,i=qo(t),a=i.length,u={};++r<a;){var o=i[r],s=t[o];e?tu.call(u,s)?u[s].push(o):u[s]=[o]:u[s]=o}return u}function ta(t){if(null==t)return[];Oi(t)||(t=Ga(t));var e=t.length;e=e&&nr(e)&&(Mo(t)||Ei(t))&&e||0;for(var n=t.constructor,r=-1,i="function"==typeof n&&n.prototype===t,a=qa(e),u=e>0;++r<e;)a[r]=r+"";for(var o in t)u&&Jn(o,e)||"constructor"==o&&(i||!tu.call(t,o))||a.push(o);return a}function ea(t){t=hr(t);for(var e=-1,n=qo(t),r=n.length,i=qa(r);++e<r;){var a=n[e];i[e]=[a,t[a]]}return i}function na(t,e,n){var r=null==t?E:t[e];return r===E&&(null==t||tr(e,t)||(e=fr(e),t=1==e.length?t:Oe(t,We(e,0,-1)),r=null==t?E:t[Dr(e)]),r=r===E?n:r),Bi(r)?r.call(t):r}function ra(t,e,n){if(null==t)return t;var r=e+"";e=null!=t[r]||tr(e,t)?[r]:fr(e);for(var i=-1,a=e.length,u=a-1,o=t;null!=o&&++i<a;){var s=e[i];Oi(o)&&(i==u?o[s]=n:null==o[s]&&(o[s]=Jn(e[i+1])?[]:{})),o=o[s]}return t}function ia(t,e,n,r){var i=Mo(t)||Vi(t);if(e=Un(e,r,4),null==n)if(i||Oi(t)){var a=t.constructor;n=i?Mo(t)?new a:[]:Ou(Bi(a)?a.prototype:E)}else n={};return(i?ee:Fe)(t,function(t,r,i){return e(n,t,r,i)}),n}function aa(t){return tn(t,qo(t))}function ua(t){return tn(t,ta(t))}function oa(t,e,n){return e=+e||0,n===E?(n=e,e=0):n=+n||0,t>=wu(e,n)&&t<xu(e,n)}function sa(t,e,n){n&&Qn(t,e,n)&&(e=n=E);var r=null==t,i=null==e;if(null==n&&(i&&"boolean"==typeof t?(n=t,t=1):"boolean"==typeof e&&(n=e,i=!0)),r&&i&&(e=1,i=!1),t=+t||0,i?(e=t,t=0):e=+e||0,n||t%1||e%1){var a=Eu();return wu(t+a*(e-t+ou("1e-"+((a+"").length-1))),e)}return Ge(t,e)}function ca(t){return t=o(t),t&&t.charAt(0).toUpperCase()+t.slice(1)}function la(t){return t=o(t),t&&t.replace(Nt,f).replace(Mt,"")}function ha(t,e,n){t=o(t),e+="";var r=t.length;return n=n===E?r:wu(0>n?0:+n||0,r),n-=e.length,n>=0&&t.indexOf(e,n)==n}function fa(t){return t=o(t),t&&bt.test(t)?t.replace(vt,d):t}function da(t){return t=o(t),t&&Ct.test(t)?t.replace(St,p):t||"(?:)"}function pa(t,e,n){t=o(t),e=+e;var r=t.length;if(r>=e||!_u(e))return t;var i=(e-r)/2,a=mu(i),u=gu(i);return n=Bn("",u,n),n.slice(0,a)+t+n}function ga(t,e,n){return(n?Qn(t,e,n):null==e)?e=0:e&&(e=+e),t=_a(t),ku(t,e||(Bt.test(t)?16:10))}function ya(t,e){var n="";if(t=o(t),e=+e,1>e||!t||!_u(e))return n;do e%2&&(n+=t),e=mu(e/2),t+=t;while(e);return n}function ma(t,e,n){return t=o(t),n=null==n?0:wu(0>n?0:+n||0,t.length),t.lastIndexOf(e,n)==n}function va(t,n,r){var i=e.templateSettings;r&&Qn(t,n,r)&&(n=r=E),t=o(t),n=ye(me({},r||n),i,ge);var a,u,s=ye(me({},n.imports),i.imports,ge),c=qo(s),l=tn(s,c),h=0,f=n.interpolate||Rt,d="__p += '",p=Ha((n.escape||Rt).source+"|"+f.source+"|"+(f===At?Ft:Rt).source+"|"+(n.evaluate||Rt).source+"|$","g"),y="//# sourceURL="+("sourceURL"in n?n.sourceURL:"lodash.templateSources["+ ++Ut+"]")+"\n";t.replace(p,function(e,n,r,i,o,s){return r||(r=i),d+=t.slice(h,s).replace(Pt,g),n&&(a=!0,d+="' +\n__e("+n+") +\n'"),o&&(u=!0,d+="';\n"+o+";\n__p += '"),r&&(d+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),h=s+e.length,e}),d+="';\n";var m=n.variable;m||(d="with (obj) {\n"+d+"\n}\n"),d=(u?d.replace(pt,""):d).replace(gt,"$1").replace(yt,"$1;"),d="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var v=Ko(function(){return Va(c,y+"return "+d).apply(E,l)});if(v.source=d,Fi(v))throw v;return v}function _a(t,e,n){var r=t;return(t=o(t))?(n?Qn(r,e,n):null==e)?t.slice(x(t),w(t)+1):(e+="",t.slice(s(t,e),c(t,e)+1)):t}function ba(t,e,n){var r=t;return t=o(t),t?t.slice((n?Qn(r,e,n):null==e)?x(t):s(t,e+"")):t}function xa(t,e,n){var r=t;return t=o(t),t?(n?Qn(r,e,n):null==e)?t.slice(0,w(t)+1):t.slice(0,c(t,e+"")+1):t}function wa(t,e,n){n&&Qn(t,e,n)&&(e=E);var r=N,i=R;if(null!=e)if(Oi(e)){var a="separator"in e?e.separator:a;r="length"in e?+e.length||0:r,i="omission"in e?o(e.omission):i}else r=+e||0;if(t=o(t),r>=t.length)return t;var u=r-i.length;if(1>u)return i;var s=t.slice(0,u);if(null==a)return s+i;if(Ui(a)){if(t.slice(u).search(a)){var c,l,h=t.slice(0,u);for(a.global||(a=Ha(a.source,(Lt.exec(a)||"")+"g")),a.lastIndex=0;c=a.exec(h);)l=c.index;s=s.slice(0,null==l?u:l)}}else if(t.indexOf(a,u)!=u){var f=s.lastIndexOf(a);f>-1&&(s=s.slice(0,f))}return s+i}function Aa(t){return t=o(t),t&&_t.test(t)?t.replace(mt,A):t}function ka(t,e,n){return n&&Qn(t,e,n)&&(e=E),t=o(t),t.match(e||jt)||[]}function Ea(t,e,n){return n&&Qn(t,e,n)&&(e=E),m(t)?Ca(t):be(t,e)}function Da(t){return function(){return t}}function Sa(t){return t}function Ca(t){return je(xe(t,!0))}function Ma(t,e){return qe(t,xe(e,!0))}function Ta(t,e,n){if(null==n){var r=Oi(e),i=r?qo(e):E,a=i&&i.length?Be(e,i):E;(a?a.length:r)||(a=!1,n=e,e=t,t=this)}a||(a=Be(e,qo(e)));var u=!0,o=-1,s=Bi(t),c=a.length;n===!1?u=!1:Oi(n)&&"chain"in n&&(u=n.chain);for(;++o<c;){var l=a[o],h=e[l];t[l]=h,s&&(t.prototype[l]=function(e){return function(){var n=this.__chain__;if(u||n){var r=t(this.__wrapped__),i=r.__actions__=te(this.__actions__);return i.push({func:e,args:arguments,thisArg:t}),r.__chain__=n,r}return e.apply(t,ce([this.value()],arguments))}}(h))}return t}function Fa(){return ne._=ru,this}function La(){}function Ba(t){return tr(t)?Ve(t):$e(t)}function Oa(t){return function(e){return Oe(t,fr(e),e+"")}}function Ia(t,e,n){n&&Qn(t,e,n)&&(e=n=E),t=+t||0,n=null==n?1:+n||0,null==e?(e=t,t=0):e=+e||0;for(var r=-1,i=xu(gu((e-t)/(n||1)),0),a=qa(i);++r<i;)a[r]=t,t+=n;return a}function Na(t,e,n){if(t=mu(t),1>t||!_u(t))return[];var r=-1,i=qa(wu(t,Cu));for(e=un(e,n,1);++r<t;)Cu>r?i[r]=e(r):e(r);return i}function Ra(t){var e=++eu;return o(t)+e}function Pa(t,e){return(+t||0)+(+e||0)}function ja(t,e,n){return n&&Qn(t,e,n)&&(e=E),e=Un(e,n,3),1==e.length?de(Mo(t)?t:lr(t),e):Je(t,e)}t=t?re.defaults(ne.Object(),t,re.pick(ne,qt)):ne;{var qa=t.Array,Ua=t.Date,Ya=t.Error,Va=t.Function,$a=t.Math,za=t.Number,Ga=t.Object,Ha=t.RegExp,Wa=t.String,Za=t.TypeError,Xa=qa.prototype,Ka=Ga.prototype,Ja=Wa.prototype,Qa=Va.prototype.toString,tu=Ka.hasOwnProperty,eu=0,nu=Ka.toString,ru=ne._,iu=Ha("^"+Qa.call(tu).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),au=t.ArrayBuffer,uu=t.clearTimeout,ou=t.parseFloat,su=$a.pow,cu=Ka.propertyIsEnumerable,lu=zn(t,"Set"),hu=t.setTimeout,fu=Xa.splice,du=t.Uint8Array,pu=zn(t,"WeakMap"),gu=$a.ceil,yu=zn(Ga,"create"),mu=$a.floor,vu=zn(qa,"isArray"),_u=t.isFinite,bu=zn(Ga,"keys"),xu=$a.max,wu=$a.min,Au=zn(Ua,"now"),ku=t.parseInt,Eu=$a.random,Du=za.NEGATIVE_INFINITY,Su=za.POSITIVE_INFINITY,Cu=4294967295,Mu=Cu-1,Tu=Cu>>>1,Fu=9007199254740991,Lu=pu&&new pu,Bu={};e.support={}}e.templateSettings={escape:xt,evaluate:wt,interpolate:At,variable:"",imports:{_:e}};var Ou=function(){function t(){}return function(e){if(Oi(e)){t.prototype=e;var n=new t;t.prototype=E}return n||{}}}(),Iu=fn(Fe),Nu=fn(Le,!0),Ru=dn(),Pu=dn(!0),ju=Lu?function(t,e){return Lu.set(t,e),t}:Sa,qu=Lu?function(t){return Lu.get(t)}:La,Uu=Ve("length"),Yu=function(){var t=0,e=0;return function(n,r){var i=go(),a=j-(i-e);if(e=i,a>0){if(++t>=P)return n}else t=0;return ju(n,r)}}(),Vu=mi(function(t,e){return m(t)&&Kn(t)?Ae(t,Me(e,!1,!0)):[]}),$u=wn(),zu=wn(!0),Gu=mi(function(t){for(var e=t.length,n=e,r=qa(h),i=Vn(),u=i==a,o=[];n--;){var s=t[n]=Kn(s=t[n])?s:[];r[n]=u&&s.length>=120?gn(n&&s):null}var c=t[0],l=-1,h=c?c.length:0,f=r[0];t:for(;++l<h;)if(s=c[l],(f?Kt(f,s):i(o,s,0))<0){for(var n=e;--n;){var d=r[n];if((d?Kt(d,s):i(t[n],s,0))<0)continue t}f&&f.push(s),o.push(s)}return o}),Hu=mi(function(t,e){e=Me(e);var n=ve(t,e);return ze(t,e.sort(r)),n}),Wu=Nn(),Zu=Nn(!0),Xu=mi(function(t){return Qe(Me(t,!1,!0))}),Ku=mi(function(t,e){return Kn(t)?Ae(t,e):[]}),Ju=mi(Rr),Qu=mi(function(t){var e=t.length,n=e>2?t[e-2]:E,r=e>1?t[e-1]:E;return e>2&&"function"==typeof n?e-=2:(n=e>1&&"function"==typeof r?(--e,r):E,r=E),t.length=e,Pr(t,n,r)}),to=mi(function(t){return t=Me(t),this.thru(function(e){return Qt(Mo(e)?e:[hr(e)],t)})}),eo=mi(function(t,e){return ve(t,Me(e))}),no=ln(function(t,e,n){tu.call(t,n)?++t[n]:t[n]=1}),ro=xn(Iu),io=xn(Nu,!0),ao=En(ee,Iu),uo=En(ie,Nu),oo=ln(function(t,e,n){tu.call(t,n)?t[n].push(e):t[n]=[e]}),so=ln(function(t,e,n){t[n]=e}),co=mi(function(t,e,n){var r=-1,i="function"==typeof e,a=tr(e),u=Kn(t)?qa(t.length):[];return Iu(t,function(t){var o=i?e:a&&null!=t?t[e]:E;u[++r]=o?o.apply(t,n):Xn(t,e,n)}),u}),lo=ln(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),ho=Fn(le,Iu),fo=Fn(he,Nu),po=mi(function(t,e){if(null==t)return[];var n=e[2];return n&&Qn(e[0],e[1],n)&&(e.length=1),Ke(t,Me(e),[])}),go=Au||function(){return(new Ua).getTime()},yo=mi(function(t,e,n){var r=S;if(n.length){var i=_(n,yo.placeholder);r|=L}return Rn(t,r,e,n,i)}),mo=mi(function(t,e){e=e.length?Me(e):Xi(t);for(var n=-1,r=e.length;++n<r;){var i=e[n];t[i]=Rn(t[i],S,t)}return t}),vo=mi(function(t,e,n){var r=S|C;if(n.length){var i=_(n,vo.placeholder);r|=L}return Rn(e,r,t,n,i)}),_o=vn(T),bo=vn(F),xo=mi(function(t,e){return we(t,1,e)}),wo=mi(function(t,e,n){return we(t,e,n)}),Ao=kn(),ko=kn(!0),Eo=mi(function(t,e){if(e=Me(e),"function"!=typeof t||!ae(e,u))throw new Za(V);var n=e.length;return mi(function(r){for(var i=wu(r.length,n);i--;)r[i]=e[i](r[i]);

return t.apply(this,r)})}),Do=Tn(L),So=Tn(B),Co=mi(function(t,e){return Rn(t,I,E,E,E,Me(e))}),Mo=vu||function(t){return m(t)&&nr(t.length)&&nu.call(t)==G},To=hn(Ue),Fo=hn(function(t,e,n){return n?ye(t,e,n):me(t,e)}),Lo=_n(Fo,pe),Bo=_n(To,ar),Oo=An(Fe),Io=An(Le),No=Dn(Ru),Ro=Dn(Pu),Po=Sn(Fe),jo=Sn(Le),qo=bu?function(t){var e=null==t?E:t.constructor;return"function"==typeof e&&e.prototype===t||"function"!=typeof t&&Kn(t)?cr(t):Oi(t)?bu(t):[]}:cr,Uo=Cn(!0),Yo=Cn(),Vo=mi(function(t,e){if(null==t)return{};if("function"!=typeof e[0]){var e=se(Me(e),Wa);return ur(t,Ae(ta(t),e))}var n=un(e[0],e[1],3);return or(t,function(t,e,r){return!n(t,e,r)})}),$o=mi(function(t,e){return null==t?{}:"function"==typeof e[0]?or(t,un(e[0],e[1],3)):ur(t,Me(e))}),zo=yn(function(t,e,n){return e=e.toLowerCase(),t+(n?e.charAt(0).toUpperCase()+e.slice(1):e)}),Go=yn(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),Ho=Mn(),Wo=Mn(!0),Zo=yn(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Xo=yn(function(t,e,n){return t+(n?" ":"")+(e.charAt(0).toUpperCase()+e.slice(1))}),Ko=mi(function(t,e){try{return t.apply(E,e)}catch(n){return Fi(n)?n:new Ya(n)}}),Jo=mi(function(t,e){return function(n){return Xn(n,t,e)}}),Qo=mi(function(t,e){return function(n){return Xn(t,n,e)}}),ts=In("ceil"),es=In("floor"),ns=bn(Ai,Du),rs=bn(zi,Su),is=In("round");return e.prototype=n.prototype,v.prototype=Ou(n.prototype),v.prototype.constructor=v,K.prototype=Ou(n.prototype),K.prototype.constructor=K,zt.prototype["delete"]=Gt,zt.prototype.get=Ht,zt.prototype.has=Wt,zt.prototype.set=Zt,Xt.prototype.push=Jt,pi.Cache=zt,e.after=li,e.ary=hi,e.assign=Fo,e.at=eo,e.before=fi,e.bind=yo,e.bindAll=mo,e.bindKey=vo,e.callback=Ea,e.chain=Ur,e.chunk=pr,e.compact=gr,e.constant=Da,e.countBy=no,e.create=Zi,e.curry=_o,e.curryRight=bo,e.debounce=di,e.defaults=Lo,e.defaultsDeep=Bo,e.defer=xo,e.delay=wo,e.difference=Vu,e.drop=yr,e.dropRight=mr,e.dropRightWhile=vr,e.dropWhile=_r,e.fill=br,e.filter=Kr,e.flatten=wr,e.flattenDeep=Ar,e.flow=Ao,e.flowRight=ko,e.forEach=ao,e.forEachRight=uo,e.forIn=No,e.forInRight=Ro,e.forOwn=Po,e.forOwnRight=jo,e.functions=Xi,e.groupBy=oo,e.indexBy=so,e.initial=Er,e.intersection=Gu,e.invert=Qi,e.invoke=co,e.keys=qo,e.keysIn=ta,e.map=ti,e.mapKeys=Uo,e.mapValues=Yo,e.matches=Ca,e.matchesProperty=Ma,e.memoize=pi,e.merge=To,e.method=Jo,e.methodOf=Qo,e.mixin=Ta,e.modArgs=Eo,e.negate=gi,e.omit=Vo,e.once=yi,e.pairs=ea,e.partial=Do,e.partialRight=So,e.partition=lo,e.pick=$o,e.pluck=ei,e.property=Ba,e.propertyOf=Oa,e.pull=Cr,e.pullAt=Hu,e.range=Ia,e.rearg=Co,e.reject=ni,e.remove=Mr,e.rest=Tr,e.restParam=mi,e.set=ra,e.shuffle=ii,e.slice=Fr,e.sortBy=oi,e.sortByAll=po,e.sortByOrder=si,e.spread=vi,e.take=Lr,e.takeRight=Br,e.takeRightWhile=Or,e.takeWhile=Ir,e.tap=Yr,e.throttle=_i,e.thru=Vr,e.times=Na,e.toArray=Hi,e.toPlainObject=Wi,e.transform=ia,e.union=Xu,e.uniq=Nr,e.unzip=Rr,e.unzipWith=Pr,e.values=aa,e.valuesIn=ua,e.where=ci,e.without=Ku,e.wrap=bi,e.xor=jr,e.zip=Ju,e.zipObject=qr,e.zipWith=Qu,e.backflow=ko,e.collect=ti,e.compose=ko,e.each=ao,e.eachRight=uo,e.extend=Fo,e.iteratee=Ea,e.methods=Xi,e.object=qr,e.select=Kr,e.tail=Tr,e.unique=Nr,Ta(e,e),e.add=Pa,e.attempt=Ko,e.camelCase=zo,e.capitalize=ca,e.ceil=ts,e.clone=xi,e.cloneDeep=wi,e.deburr=la,e.endsWith=ha,e.escape=fa,e.escapeRegExp=da,e.every=Xr,e.find=ro,e.findIndex=$u,e.findKey=Oo,e.findLast=io,e.findLastIndex=zu,e.findLastKey=Io,e.findWhere=Jr,e.first=xr,e.floor=es,e.get=Ki,e.gt=Ai,e.gte=ki,e.has=Ji,e.identity=Sa,e.includes=Qr,e.indexOf=kr,e.inRange=oa,e.isArguments=Ei,e.isArray=Mo,e.isBoolean=Di,e.isDate=Si,e.isElement=Ci,e.isEmpty=Mi,e.isEqual=Ti,e.isError=Fi,e.isFinite=Li,e.isFunction=Bi,e.isMatch=Ii,e.isNaN=Ni,e.isNative=Ri,e.isNull=Pi,e.isNumber=ji,e.isObject=Oi,e.isPlainObject=qi,e.isRegExp=Ui,e.isString=Yi,e.isTypedArray=Vi,e.isUndefined=$i,e.kebabCase=Go,e.last=Dr,e.lastIndexOf=Sr,e.lt=zi,e.lte=Gi,e.max=ns,e.min=rs,e.noConflict=Fa,e.noop=La,e.now=go,e.pad=pa,e.padLeft=Ho,e.padRight=Wo,e.parseInt=ga,e.random=sa,e.reduce=ho,e.reduceRight=fo,e.repeat=ya,e.result=na,e.round=is,e.runInContext=k,e.size=ai,e.snakeCase=Zo,e.some=ui,e.sortedIndex=Wu,e.sortedLastIndex=Zu,e.startCase=Xo,e.startsWith=ma,e.sum=ja,e.template=va,e.trim=_a,e.trimLeft=ba,e.trimRight=xa,e.trunc=wa,e.unescape=Aa,e.uniqueId=Ra,e.words=ka,e.all=Xr,e.any=ui,e.contains=Qr,e.eq=Ti,e.detect=ro,e.foldl=ho,e.foldr=fo,e.head=xr,e.include=Qr,e.inject=ho,Ta(e,function(){var t={};return Fe(e,function(n,r){e.prototype[r]||(t[r]=n)}),t}(),!1),e.sample=ri,e.prototype.sample=function(t){return this.__chain__||null!=t?this.thru(function(e){return ri(e,t)}):ri(this.value())},e.VERSION=D,ee(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){e[t].placeholder=e}),ee(["drop","take"],function(t,e){K.prototype[t]=function(n){var r=this.__filtered__;if(r&&!e)return new K(this);n=null==n?1:xu(mu(n)||0,0);var i=this.clone();return r?i.__takeCount__=wu(i.__takeCount__,n):i.__views__.push({size:n,type:t+(i.__dir__<0?"Right":"")}),i},K.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),ee(["filter","map","takeWhile"],function(t,e){var n=e+1,r=n!=Y;K.prototype[t]=function(t,e){var i=this.clone();return i.__iteratees__.push({iteratee:Un(t,e,1),type:n}),i.__filtered__=i.__filtered__||r,i}}),ee(["first","last"],function(t,e){var n="take"+(e?"Right":"");K.prototype[t]=function(){return this[n](1).value()[0]}}),ee(["initial","rest"],function(t,e){var n="drop"+(e?"":"Right");K.prototype[t]=function(){return this.__filtered__?new K(this):this[n](1)}}),ee(["pluck","where"],function(t,e){var n=e?"filter":"map",r=e?je:Ba;K.prototype[t]=function(t){return this[n](r(t))}}),K.prototype.compact=function(){return this.filter(Sa)},K.prototype.reject=function(t,e){return t=Un(t,e,1),this.filter(function(e){return!t(e)})},K.prototype.slice=function(t,e){t=null==t?0:+t||0;var n=this;return n.__filtered__&&(t>0||0>e)?new K(n):(0>t?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==E&&(e=+e||0,n=0>e?n.dropRight(-e):n.take(e-t)),n)},K.prototype.takeRightWhile=function(t,e){return this.reverse().takeWhile(t,e).reverse()},K.prototype.toArray=function(){return this.take(Su)},Fe(K.prototype,function(t,n){var r=/^(?:filter|map|reject)|While$/.test(n),i=/^(?:first|last)$/.test(n),a=e[i?"take"+("last"==n?"Right":""):n];a&&(e.prototype[n]=function(){var e=i?[1]:arguments,n=this.__chain__,u=this.__wrapped__,o=!!this.__actions__.length,s=u instanceof K,c=e[0],l=s||Mo(u);l&&r&&"function"==typeof c&&1!=c.length&&(s=l=!1);var h=function(t){return i&&n?a(t,1)[0]:a.apply(E,ce([t],e))},f={func:Vr,args:[h],thisArg:E},d=s&&!o;if(i&&!n)return d?(u=u.clone(),u.__actions__.push(f),t.call(u)):a.call(E,this.value())[0];if(!i&&l){u=d?u:new K(this);var p=t.apply(u,e);return p.__actions__.push(f),new v(p,n)}return this.thru(h)})}),ee(["join","pop","push","replace","shift","sort","splice","split","unshift"],function(t){var n=(/^(?:replace|split)$/.test(t)?Ja:Xa)[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",i=/^(?:join|pop|replace|shift)$/.test(t);e.prototype[t]=function(){var t=arguments;return i&&!this.__chain__?n.apply(this.value(),t):this[r](function(e){return n.apply(e,t)})}}),Fe(K.prototype,function(t,n){var r=e[n];if(r){var i=r.name,a=Bu[i]||(Bu[i]=[]);a.push({name:n,func:r})}}),Bu[Ln(E,C).name]=[{name:"wrapper",func:E}],K.prototype.clone=et,K.prototype.reverse=rt,K.prototype.value=$t,e.prototype.chain=$r,e.prototype.commit=zr,e.prototype.concat=to,e.prototype.plant=Gr,e.prototype.reverse=Hr,e.prototype.toString=Wr,e.prototype.run=e.prototype.toJSON=e.prototype.valueOf=e.prototype.value=Zr,e.prototype.collect=e.prototype.map,e.prototype.head=e.prototype.first,e.prototype.select=e.prototype.filter,e.prototype.tail=e.prototype.rest,e}var E,D="3.10.1",S=1,C=2,M=4,T=8,F=16,L=32,B=64,O=128,I=256,N=30,R="...",P=150,j=16,q=200,U=1,Y=2,V="Expected a function",$="__lodash_placeholder__",z="[object Arguments]",G="[object Array]",H="[object Boolean]",W="[object Date]",Z="[object Error]",X="[object Function]",K="[object Map]",J="[object Number]",Q="[object Object]",tt="[object RegExp]",et="[object Set]",nt="[object String]",rt="[object WeakMap]",it="[object ArrayBuffer]",at="[object Float32Array]",ut="[object Float64Array]",ot="[object Int8Array]",st="[object Int16Array]",ct="[object Int32Array]",lt="[object Uint8Array]",ht="[object Uint8ClampedArray]",ft="[object Uint16Array]",dt="[object Uint32Array]",pt=/\b__p \+= '';/g,gt=/\b(__p \+=) '' \+/g,yt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,mt=/&(?:amp|lt|gt|quot|#39|#96);/g,vt=/[&<>"'`]/g,_t=RegExp(mt.source),bt=RegExp(vt.source),xt=/<%-([\s\S]+?)%>/g,wt=/<%([\s\S]+?)%>/g,At=/<%=([\s\S]+?)%>/g,kt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,Et=/^\w*$/,Dt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,St=/^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,Ct=RegExp(St.source),Mt=/[\u0300-\u036f\ufe20-\ufe23]/g,Tt=/\\(\\)?/g,Ft=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Lt=/\w*$/,Bt=/^0[xX]/,Ot=/^\[object .+?Constructor\]$/,It=/^\d+$/,Nt=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,Rt=/($^)/,Pt=/['\n\r\u2028\u2029\\]/g,jt=function(){var t="[A-Z\\xc0-\\xd6\\xd8-\\xde]",e="[a-z\\xdf-\\xf6\\xf8-\\xff]+";return RegExp(t+"+(?="+t+e+")|"+t+"?"+e+"|"+t+"+|[0-9]+","g")}(),qt=["Array","ArrayBuffer","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Math","Number","Object","RegExp","Set","String","_","clearTimeout","isFinite","parseFloat","parseInt","setTimeout","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap"],Ut=-1,Yt={};Yt[at]=Yt[ut]=Yt[ot]=Yt[st]=Yt[ct]=Yt[lt]=Yt[ht]=Yt[ft]=Yt[dt]=!0,Yt[z]=Yt[G]=Yt[it]=Yt[H]=Yt[W]=Yt[Z]=Yt[X]=Yt[K]=Yt[J]=Yt[Q]=Yt[tt]=Yt[et]=Yt[nt]=Yt[rt]=!1;var Vt={};Vt[z]=Vt[G]=Vt[it]=Vt[H]=Vt[W]=Vt[at]=Vt[ut]=Vt[ot]=Vt[st]=Vt[ct]=Vt[J]=Vt[Q]=Vt[tt]=Vt[nt]=Vt[lt]=Vt[ht]=Vt[ft]=Vt[dt]=!0,Vt[Z]=Vt[X]=Vt[K]=Vt[et]=Vt[rt]=!1;var $t={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"},zt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},Gt={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"},Ht={"function":!0,object:!0},Wt={0:"x30",1:"x31",2:"x32",3:"x33",4:"x34",5:"x35",6:"x36",7:"x37",8:"x38",9:"x39",A:"x41",B:"x42",C:"x43",D:"x44",E:"x45",F:"x46",a:"x61",b:"x62",c:"x63",d:"x64",e:"x65",f:"x66",n:"x6e",r:"x72",t:"x74",u:"x75",v:"x76",x:"x78"},Zt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Xt=Ht[typeof n]&&n&&!n.nodeType&&n,Kt=Ht[typeof e]&&e&&!e.nodeType&&e,Jt=Xt&&Kt&&"object"==typeof t&&t&&t.Object&&t,Qt=Ht[typeof self]&&self&&self.Object&&self,te=Ht[typeof window]&&window&&window.Object&&window,ee=Kt&&Kt.exports===Xt&&Xt,ne=Jt||te!==(this&&this.window)&&te||Qt||this,re=k();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(ne._=re,define(function(){return re})):Xt&&Kt?ee?(Kt.exports=re)._=re:Xt._=re:ne._=re}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],54:[function(t,e){e.exports={graphlib:t("./lib/graphlib"),layout:t("./lib/layout"),debug:t("./lib/debug"),util:{time:t("./lib/util").time,notime:t("./lib/util").notime},version:t("./lib/version")}},{"./lib/debug":59,"./lib/graphlib":60,"./lib/layout":62,"./lib/util":82,"./lib/version":83}],55:[function(t,e){"use strict";function n(t){function e(t){return function(e){return t.edge(e).weight}}var n="greedy"===t.graph().acyclicer?u(t,e(t)):r(t);a.each(n,function(e){var n=t.edge(e);t.removeEdge(e),n.forwardName=e.name,n.reversed=!0,t.setEdge(e.w,e.v,n,a.uniqueId("rev"))})}function r(t){function e(u){a.has(i,u)||(i[u]=!0,r[u]=!0,a.each(t.outEdges(u),function(t){a.has(r,t.w)?n.push(t):e(t.w)}),delete r[u])}var n=[],r={},i={};return a.each(t.nodes(),e),n}function i(t){a.each(t.edges(),function(e){var n=t.edge(e);if(n.reversed){t.removeEdge(e);var r=n.forwardName;delete n.reversed,delete n.forwardName,t.setEdge(e.w,e.v,n,r)}})}var a=t("./lodash"),u=t("./greedy-fas");e.exports={run:n,undo:i}},{"./greedy-fas":61,"./lodash":63}],56:[function(t,e){function n(t){function e(n){var a=t.children(n),u=t.node(n);if(a.length&&i.each(a,e),i.has(u,"minRank")){u.borderLeft=[],u.borderRight=[];for(var o=u.minRank,s=u.maxRank+1;s>o;++o)r(t,"borderLeft","_bl",n,u,o),r(t,"borderRight","_br",n,u,o)}}i.each(t.children(),e)}function r(t,e,n,r,i,u){var o={width:0,height:0,rank:u,borderType:e},s=i[e][u-1],c=a.addDummyNode(t,"border",o,n);i[e][u]=c,t.setParent(c,r),s&&t.setEdge(s,c,{weight:1})}var i=t("./lodash"),a=t("./util");e.exports=n},{"./lodash":63,"./util":82}],57:[function(t,e){"use strict";function n(t){var e=t.graph().rankdir.toLowerCase();("lr"===e||"rl"===e)&&i(t)}function r(t){var e=t.graph().rankdir.toLowerCase();("bt"===e||"rl"===e)&&u(t),("lr"===e||"rl"===e)&&(s(t),i(t))}function i(t){l.each(t.nodes(),function(e){a(t.node(e))}),l.each(t.edges(),function(e){a(t.edge(e))})}function a(t){var e=t.width;t.width=t.height,t.height=e}function u(t){l.each(t.nodes(),function(e){o(t.node(e))}),l.each(t.edges(),function(e){var n=t.edge(e);l.each(n.points,o),l.has(n,"y")&&o(n)})}function o(t){t.y=-t.y}function s(t){l.each(t.nodes(),function(e){c(t.node(e))}),l.each(t.edges(),function(e){var n=t.edge(e);l.each(n.points,c),l.has(n,"x")&&c(n)})}function c(t){var e=t.x;t.x=t.y,t.y=e}var l=t("./lodash");e.exports={adjust:n,undo:r}},{"./lodash":63}],58:[function(t,e){function n(){var t={};t._next=t._prev=t,this._sentinel=t}function r(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function i(t,e){return"_next"!==t&&"_prev"!==t?e:void 0}e.exports=n,n.prototype.dequeue=function(){var t=this._sentinel,e=t._prev;return e!==t?(r(e),e):void 0},n.prototype.enqueue=function(t){var e=this._sentinel;t._prev&&t._next&&r(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e},n.prototype.toString=function(){for(var t=[],e=this._sentinel,n=e._prev;n!==e;)t.push(JSON.stringify(n,i)),n=n._prev;return"["+t.join(", ")+"]"}},{}],59:[function(t,e){function n(t){var e=i.buildLayerMatrix(t),n=new a({compound:!0,multigraph:!0}).setGraph({});return r.each(t.nodes(),function(e){n.setNode(e,{label:e}),n.setParent(e,"layer"+t.node(e).rank)}),r.each(t.edges(),function(t){n.setEdge(t.v,t.w,{},t.name)}),r.each(e,function(t,e){var i="layer"+e;n.setNode(i,{rank:"same"}),r.reduce(t,function(t,e){return n.setEdge(t,e,{style:"invis"}),e})}),n}var r=t("./lodash"),i=t("./util"),a=t("./graphlib").Graph;e.exports={debugOrdering:n}},{"./graphlib":60,"./lodash":63,"./util":82}],60:[function(t,e){var n;if("function"==typeof t)try{n=t("graphlib")}catch(r){}n||(n=window.graphlib),e.exports=n},{graphlib:84}],61:[function(t,e){function n(t,e){if(t.nodeCount()<=1)return[];var n=a(t,e||l),i=r(n.graph,n.buckets,n.zeroIdx);return o.flatten(o.map(i,function(e){return t.outEdges(e.v,e.w)}),!0)}function r(t,e,n){for(var r,a=[],u=e[e.length-1],o=e[0];t.nodeCount();){for(;r=o.dequeue();)i(t,e,n,r);for(;r=u.dequeue();)i(t,e,n,r);if(t.nodeCount())for(var s=e.length-2;s>0;--s)if(r=e[s].dequeue()){a=a.concat(i(t,e,n,r,!0));break}}return a}function i(t,e,n,r,i){var a=i?[]:void 0;return o.each(t.inEdges(r.v),function(r){var o=t.edge(r),s=t.node(r.v);i&&a.push({v:r.v,w:r.w}),s.out-=o,u(e,n,s)}),o.each(t.outEdges(r.v),function(r){var i=t.edge(r),a=r.w,o=t.node(a);o["in"]-=i,u(e,n,o)}),t.removeNode(r.v),a}function a(t,e){var n=new s,r=0,i=0;o.each(t.nodes(),function(t){n.setNode(t,{v:t,"in":0,out:0})}),o.each(t.edges(),function(t){var a=n.edge(t.v,t.w)||0,u=e(t),o=a+u;n.setEdge(t.v,t.w,o),i=Math.max(i,n.node(t.v).out+=u),r=Math.max(r,n.node(t.w)["in"]+=u)});var a=o.range(i+r+3).map(function(){return new c}),l=r+1;return o.each(n.nodes(),function(t){u(a,l,n.node(t))}),{graph:n,buckets:a,zeroIdx:l}}function u(t,e,n){n.out?n["in"]?t[n.out-n["in"]+e].enqueue(n):t[t.length-1].enqueue(n):t[0].enqueue(n)}var o=t("./lodash"),s=t("./graphlib").Graph,c=t("./data/list");e.exports=n;var l=o.constant(1)},{"./data/list":58,"./graphlib":60,"./lodash":63}],62:[function(t,e){"use strict";function n(t,e){var n=e&&e.debugTiming?L.time:L.notime;n("layout",function(){var e=n("  buildLayoutGraph",function(){return a(t)});n("  runLayout",function(){r(e,n)}),n("  updateInputGraph",function(){i(t,e)})})}function r(t,e){e("    makeSpaceForEdgeLabels",function(){u(t)}),e("    removeSelfEdges",function(){g(t)}),e("    acyclic",function(){x.run(t)}),e("    nestingGraph.run",function(){S.run(t)}),e("    rank",function(){A(L.asNonCompoundGraph(t))}),e("    injectEdgeLabelProxies",function(){o(t)}),e("    removeEmptyRanks",function(){D(t)}),e("    nestingGraph.cleanup",function(){S.cleanup(t)}),e("    normalizeRanks",function(){k(t)}),e("    assignRankMinMax",function(){s(t)}),e("    removeEdgeLabelProxies",function(){c(t)}),e("    normalize.run",function(){w.run(t)}),e("    parentDummyChains",function(){E(t)}),e("    addBorderSegments",function(){C(t)}),e("    order",function(){T(t)}),e("    insertSelfEdges",function(){y(t)}),e("    adjustCoordinateSystem",function(){M.adjust(t)}),e("    position",function(){F(t)}),e("    positionSelfEdges",function(){m(t)}),e("    removeBorderNodes",function(){p(t)}),e("    normalize.undo",function(){w.undo(t)}),e("    fixupEdgeLabelCoords",function(){f(t)}),e("    undoCoordinateSystem",function(){M.undo(t)}),e("    translateGraph",function(){l(t)}),e("    assignNodeIntersects",function(){h(t)}),e("    reversePoints",function(){d(t)}),e("    acyclic.undo",function(){x.undo(t)})}function i(t,e){b.each(t.nodes(),function(n){var r=t.node(n),i=e.node(n);r&&(r.x=i.x,r.y=i.y,e.children(n).length&&(r.width=i.width,r.height=i.height))}),b.each(t.edges(),function(n){var r=t.edge(n),i=e.edge(n);r.points=i.points,b.has(i,"x")&&(r.x=i.x,r.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}function a(t){var e=new B({multigraph:!0,compound:!0}),n=_(t.graph());return e.setGraph(b.merge({},I,v(n,O),b.pick(n,N))),b.each(t.nodes(),function(n){var r=_(t.node(n));e.setNode(n,b.defaults(v(r,R),P)),e.setParent(n,t.parent(n))}),b.each(t.edges(),function(n){var r=_(t.edge(n));e.setEdge(n,b.merge({},q,v(r,j),b.pick(r,U)))}),e}function u(t){var e=t.graph();e.ranksep/=2,b.each(t.edges(),function(n){var r=t.edge(n);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===e.rankdir||"BT"===e.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function o(t){b.each(t.edges(),function(e){var n=t.edge(e);if(n.width&&n.height){var r=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-r.rank)/2+r.rank,e:e};L.addDummyNode(t,"edge-proxy",a,"_ep")}})}function s(t){var e=0;b.each(t.nodes(),function(n){var r=t.node(n);r.borderTop&&(r.minRank=t.node(r.borderTop).rank,r.maxRank=t.node(r.borderBottom).rank,e=b.max(e,r.maxRank))}),t.graph().maxRank=e}function c(t){b.each(t.nodes(),function(e){var n=t.node(e);"edge-proxy"===n.dummy&&(t.edge(n.e).labelRank=n.rank,t.removeNode(e))})}function l(t){function e(t){var e=t.x,u=t.y,o=t.width,s=t.height;n=Math.min(n,e-o/2),r=Math.max(r,e+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var n=Number.POSITIVE_INFINITY,r=0,i=Number.POSITIVE_INFINITY,a=0,u=t.graph(),o=u.marginx||0,s=u.marginy||0;b.each(t.nodes(),function(n){e(t.node(n))}),b.each(t.edges(),function(n){var r=t.edge(n);b.has(r,"x")&&e(r)}),n-=o,i-=s,b.each(t.nodes(),function(e){var r=t.node(e);r.x-=n,r.y-=i}),b.each(t.edges(),function(e){var r=t.edge(e);b.each(r.points,function(t){t.x-=n,t.y-=i}),b.has(r,"x")&&(r.x-=n),b.has(r,"y")&&(r.y-=i)}),u.width=r-n+o,u.height=a-i+s}function h(t){b.each(t.edges(),function(e){var n,r,i=t.edge(e),a=t.node(e.v),u=t.node(e.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=u,r=a),i.points.unshift(L.intersectRect(a,n)),i.points.push(L.intersectRect(u,r))})}function f(t){b.each(t.edges(),function(e){var n=t.edge(e);if(b.has(n,"x"))switch(("l"===n.labelpos||"r"===n.labelpos)&&(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}})}function d(t){b.each(t.edges(),function(e){var n=t.edge(e);n.reversed&&n.points.reverse()})}function p(t){b.each(t.nodes(),function(e){if(t.children(e).length){var n=t.node(e),r=t.node(n.borderTop),i=t.node(n.borderBottom),a=t.node(b.last(n.borderLeft)),u=t.node(b.last(n.borderRight));n.width=Math.abs(u.x-a.x),n.height=Math.abs(i.y-r.y),n.x=a.x+n.width/2,n.y=r.y+n.height/2}}),b.each(t.nodes(),function(e){"border"===t.node(e).dummy&&t.removeNode(e)})}function g(t){b.each(t.edges(),function(e){if(e.v===e.w){var n=t.node(e.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:e,label:t.edge(e)}),t.removeEdge(e)}})}function y(t){var e=L.buildLayerMatrix(t);b.each(e,function(e){var n=0;b.each(e,function(e,r){var i=t.node(e);i.order=r+n,b.each(i.selfEdges,function(e){L.addDummyNode(t,"selfedge",{width:e.label.width,height:e.label.height,rank:i.rank,order:r+ ++n,e:e.e,label:e.label},"_se")}),delete i.selfEdges})})}function m(t){b.each(t.nodes(),function(e){var n=t.node(e);if("selfedge"===n.dummy){var r=t.node(n.e.v),i=r.x+r.width/2,a=r.y,u=n.x-i,o=r.height/2;t.setEdge(n.e,n.label),t.removeNode(e),n.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],n.label.x=n.x,n.label.y=n.y}})}function v(t,e){return b.mapValues(b.pick(t,e),Number)}function _(t){var e={};return b.each(t,function(t,n){e[n.toLowerCase()]=t}),e}var b=t("./lodash"),x=t("./acyclic"),w=t("./normalize"),A=t("./rank"),k=t("./util").normalizeRanks,E=t("./parent-dummy-chains"),D=t("./util").removeEmptyRanks,S=t("./nesting-graph"),C=t("./add-border-segments"),M=t("./coordinate-system"),T=t("./order"),F=t("./position"),L=t("./util"),B=t("./graphlib").Graph;e.exports=n;var O=["nodesep","edgesep","ranksep","marginx","marginy"],I={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},N=["acyclicer","ranker","rankdir","align"],R=["width","height"],P={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],q={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":55,"./add-border-segments":56,"./coordinate-system":57,"./graphlib":60,"./lodash":63,"./nesting-graph":64,"./normalize":65,"./order":70,"./parent-dummy-chains":75,"./position":77,"./rank":79,"./util":82}],63:[function(t,e){e.exports=t(51)},{"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/lodash.js":51,lodash:104}],64:[function(t,e){function n(t){var e=s.addDummyNode(t,"root",{},"_root"),n=i(t),u=o.max(n)-1,c=2*u+1;t.graph().nestingRoot=e,o.each(t.edges(),function(e){t.edge(e).minlen*=c});var l=a(t)+1;o.each(t.children(),function(i){r(t,e,c,l,u,n,i)}),t.graph().nodeRankFactor=c}function r(t,e,n,i,a,u,c){var l=t.children(c);if(!l.length)return void(c!==e&&t.setEdge(e,c,{weight:0,minlen:n}));var h=s.addBorderNode(t,"_bt"),f=s.addBorderNode(t,"_bb"),d=t.node(c);t.setParent(h,c),d.borderTop=h,t.setParent(f,c),d.borderBottom=f,o.each(l,function(o){r(t,e,n,i,a,u,o);var s=t.node(o),l=s.borderTop?s.borderTop:o,d=s.borderBottom?s.borderBottom:o,p=s.borderTop?i:2*i,g=l!==d?1:a-u[c]+1;t.setEdge(h,l,{weight:p,minlen:g,nestingEdge:!0}),t.setEdge(d,f,{weight:p,minlen:g,nestingEdge:!0})}),t.parent(c)||t.setEdge(e,h,{weight:0,minlen:a+u[c]})}function i(t){function e(r,i){var a=t.children(r);a&&a.length&&o.each(a,function(t){e(t,i+1)}),n[r]=i}var n={};return o.each(t.children(),function(t){e(t,1)}),n}function a(t){return o.reduce(t.edges(),function(e,n){return e+t.edge(n).weight},0)}function u(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,o.each(t.edges(),function(e){var n=t.edge(e);n.nestingEdge&&t.removeEdge(e)})}var o=t("./lodash"),s=t("./util");e.exports={run:n,cleanup:u}},{"./lodash":63,"./util":82}],65:[function(t,e){"use strict";function n(t){t.graph().dummyChains=[],a.each(t.edges(),function(e){r(t,e)})}function r(t,e){var n=e.v,r=t.node(n).rank,i=e.w,a=t.node(i).rank,o=e.name,s=t.edge(e),c=s.labelRank;if(a!==r+1){t.removeEdge(e);var l,h,f;for(f=0,++r;a>r;++f,++r)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:e,rank:r},l=u.addDummyNode(t,"edge",h,"_d"),r===c&&(h.width=s.width,h.height=s.height,h.dummy="edge-label",h.labelpos=s.labelpos),t.setEdge(n,l,{weight:s.weight},o),0===f&&t.graph().dummyChains.push(l),n=l;t.setEdge(n,i,{weight:s.weight},o)}}function i(t){a.each(t.graph().dummyChains,function(e){var n,r=t.node(e),i=r.edgeLabel;for(t.setEdge(r.edgeObj,i);r.dummy;)n=t.successors(e)[0],t.removeNode(e),i.points.push({x:r.x,y:r.y}),"edge-label"===r.dummy&&(i.x=r.x,i.y=r.y,i.width=r.width,i.height=r.height),e=n,r=t.node(e)})}var a=t("./lodash"),u=t("./util");e.exports={run:n,undo:i}},{"./lodash":63,"./util":82}],66:[function(t,e){function n(t,e,n){var i,a={};r.each(n,function(n){for(var r,u,o=t.parent(n);o;){if(r=t.parent(o),r?(u=a[r],a[r]=o):(u=i,i=o),u&&u!==o)return void e.setEdge(u,o);o=r}})}var r=t("../lodash");e.exports=n},{"../lodash":63}],67:[function(t,e){function n(t,e){return r.map(e,function(e){var n=t.inEdges(e);if(n.length){var i=r.reduce(n,function(e,n){var r=t.edge(n),i=t.node(n.v);return{sum:e.sum+r.weight*i.order,weight:e.weight+r.weight}},{sum:0,weight:0});return{v:e,barycenter:i.sum/i.weight,weight:i.weight}}return{v:e}})}var r=t("../lodash");e.exports=n},{"../lodash":63}],68:[function(t,e){function n(t,e,n){var u=r(t),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(e){return t.node(e)});return i.each(t.nodes(),function(r){var a=t.node(r),s=t.parent(r);(a.rank===e||a.minRank<=e&&e<=a.maxRank)&&(o.setNode(r),o.setParent(r,s||u),i.each(t[n](r),function(e){var n=e.v===r?e.w:e.v,a=o.edge(n,r),u=i.isUndefined(a)?0:a.weight;o.setEdge(n,r,{weight:t.edge(e).weight+u})}),i.has(a,"minRank")&&o.setNode(r,{borderLeft:a.borderLeft[e],borderRight:a.borderRight[e]}))}),o}function r(t){for(var e;t.hasNode(e=i.uniqueId("_root")););return e}var i=t("../lodash"),a=t("../graphlib").Graph;e.exports=n},{"../graphlib":60,"../lodash":63}],69:[function(t,e){"use strict";function n(t,e){for(var n=0,i=1;i<e.length;++i)n+=r(t,e[i-1],e[i]);return n}function r(t,e,n){for(var r=i.zipObject(n,i.map(n,function(t,e){return e})),a=i.flatten(i.map(e,function(e){return i.chain(t.outEdges(e)).map(function(e){return{pos:r[e.w],weight:t.edge(e).weight}}).sortBy("pos").value()}),!0),u=1;u<n.length;)u<<=1;var o=2*u-1;u-=1;var s=i.map(new Array(o),function(){return 0}),c=0;return i.each(a.forEach(function(t){var e=t.pos+u;s[e]+=t.weight;for(var n=0;e>0;)e%2&&(n+=s[e+1]),e=e-1>>1,s[e]+=t.weight;c+=t.weight*n})),c}var i=t("../lodash");e.exports=n},{"../lodash":63}],70:[function(t,e){"use strict";function n(t){var e=d.maxRank(t),n=r(t,u.range(1,e+1),"inEdges"),c=r(t,u.range(e-1,-1,-1),"outEdges"),l=o(t);a(t,l);for(var h,f=Number.POSITIVE_INFINITY,p=0,g=0;4>g;++p,++g){i(p%2?n:c,p%4>=2),l=d.buildLayerMatrix(t);var y=s(t,l);f>y&&(g=0,h=u.cloneDeep(l),f=y)}a(t,h)}function r(t,e,n){return u.map(e,function(e){return l(t,e,n)})}function i(t,e){var n=new f;u.each(t,function(t){var r=t.graph().root,i=c(t,r,n,e);u.each(i.vs,function(e,n){t.node(e).order=n}),h(t,n,i.vs)})}function a(t,e){u.each(e,function(e){u.each(e,function(e,n){t.node(e).order=n})})}var u=t("../lodash"),o=t("./init-order"),s=t("./cross-count"),c=t("./sort-subgraph"),l=t("./build-layer-graph"),h=t("./add-subgraph-constraints"),f=t("../graphlib").Graph,d=t("../util");e.exports=n},{"../graphlib":60,"../lodash":63,"../util":82,"./add-subgraph-constraints":66,"./build-layer-graph":68,"./cross-count":69,"./init-order":71,"./sort-subgraph":73}],71:[function(t,e){"use strict";function n(t){function e(i){if(!r.has(n,i)){n[i]=!0;var a=t.node(i);u[a.rank].push(i),r.each(t.successors(i),e)}}var n={},i=r.filter(t.nodes(),function(e){return!t.children(e).length}),a=r.max(r.map(i,function(e){return t.node(e).rank})),u=r.map(r.range(a+1),function(){return[]}),o=r.sortBy(i,function(e){return t.node(e).rank});return r.each(o,e),u}var r=t("../lodash");e.exports=n},{"../lodash":63}],72:[function(t,e){"use strict";function n(t,e){var n={};a.each(t,function(t,e){var r=n[t.v]={indegree:0,"in":[],out:[],vs:[t.v],i:e};a.isUndefined(t.barycenter)||(r.barycenter=t.barycenter,r.weight=t.weight)}),a.each(e.edges(),function(t){var e=n[t.v],r=n[t.w];a.isUndefined(e)||a.isUndefined(r)||(r.indegree++,e.out.push(n[t.w]))});var i=a.filter(n,function(t){return!t.indegree});return r(i)}function r(t){function e(t){return function(e){e.merged||(a.isUndefined(e.barycenter)||a.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&i(t,e)}}function n(e){return function(n){n["in"].push(e),0===--n.indegree&&t.push(n)}}for(var r=[];t.length;){var u=t.pop();r.push(u),a.each(u["in"].reverse(),e(u)),a.each(u.out,n(u))}return a.chain(r).filter(function(t){return!t.merged}).map(function(t){return a.pick(t,["vs","i","barycenter","weight"])}).value()}function i(t,e){var n=0,r=0;t.weight&&(n+=t.barycenter*t.weight,r+=t.weight),e.weight&&(n+=e.barycenter*e.weight,r+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=n/r,t.weight=r,t.i=Math.min(e.i,t.i),e.merged=!0}var a=t("../lodash");e.exports=n},{"../lodash":63}],73:[function(t,e){function n(t,e,c,l){var h=t.children(e),f=t.node(e),d=f?f.borderLeft:void 0,p=f?f.borderRight:void 0,g={};d&&(h=a.filter(h,function(t){return t!==d&&t!==p}));var y=u(t,h);a.each(y,function(e){if(t.children(e.v).length){var r=n(t,e.v,c,l);g[e.v]=r,a.has(r,"barycenter")&&i(e,r)}});var m=o(y,c);r(m,g);var v=s(m,l);if(d&&(v.vs=a.flatten([d,v.vs,p],!0),t.predecessors(d).length)){var _=t.node(t.predecessors(d)[0]),b=t.node(t.predecessors(p)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+_.order+b.order)/(v.weight+2),v.weight+=2}return v}function r(t,e){a.each(t,function(t){t.vs=a.flatten(t.vs.map(function(t){return e[t]?e[t].vs:t}),!0)})}function i(t,e){a.isUndefined(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}var a=t("../lodash"),u=t("./barycenter"),o=t("./resolve-conflicts"),s=t("./sort");e.exports=n},{"../lodash":63,"./barycenter":67,"./resolve-conflicts":72,"./sort":74}],74:[function(t,e){function n(t,e){var n=u.partition(t,function(t){return a.has(t,"barycenter")}),o=n.lhs,s=a.sortBy(n.rhs,function(t){return-t.i}),c=[],l=0,h=0,f=0;o.sort(i(!!e)),f=r(c,s,f),a.each(o,function(t){f+=t.vs.length,c.push(t.vs),l+=t.barycenter*t.weight,h+=t.weight,f=r(c,s,f)});var d={vs:a.flatten(c,!0)};return h&&(d.barycenter=l/h,d.weight=h),d}function r(t,e,n){for(var r;e.length&&(r=a.last(e)).i<=n;)e.pop(),t.push(r.vs),n++;return n}function i(t){return function(e,n){return e.barycenter<n.barycenter?-1:e.barycenter>n.barycenter?1:t?n.i-e.i:e.i-n.i}}var a=t("../lodash"),u=t("../util");e.exports=n},{"../lodash":63,"../util":82}],75:[function(t,e){function n(t){var e=i(t);a.each(t.graph().dummyChains,function(n){for(var i=t.node(n),a=i.edgeObj,u=r(t,e,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;n!==a.w;){if(i=t.node(n),h){for(;(l=o[c])!==s&&t.node(l).maxRank<i.rank;)c++;l===s&&(h=!1)}if(!h){for(;c<o.length-1&&t.node(l=o[c+1]).minRank<=i.rank;)c++;l=o[c]}t.setParent(n,l),n=t.successors(n)[0]}})}function r(t,e,n,r){var i,a,u=[],o=[],s=Math.min(e[n].low,e[r].low),c=Math.max(e[n].lim,e[r].lim);i=n;do i=t.parent(i),u.push(i);while(i&&(e[i].low>s||c>e[i].lim));for(a=i,i=r;(i=t.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(t){function e(i){var u=r;a.each(t.children(i),e),n[i]={low:u,lim:r++}}var n={},r=0;return a.each(t.children(),e),n}var a=t("./lodash");e.exports=n},{"./lodash":63}],76:[function(t,e){"use strict";function n(t,e){function n(e,n){var u=0,o=0,s=e.length,c=y.last(n);

return y.each(n,function(e,l){var h=i(t,e),f=h?t.node(h).order:s;(h||e===c)&&(y.each(n.slice(o,l+1),function(e){y.each(t.predecessors(e),function(n){var i=t.node(n),o=i.order;!(u>o||o>f)||i.dummy&&t.node(e).dummy||a(r,n,e)})}),o=l+1,u=f)}),n}var r={};return y.reduce(e,n),r}function r(t,e){function n(e,n,r,u,o){var s;y.each(y.range(n,r),function(n){s=e[n],t.node(s).dummy&&y.each(t.predecessors(s),function(e){var n=t.node(e);n.dummy&&(n.order<u||n.order>o)&&a(i,e,s)})})}function r(e,r){var i,a=-1,u=0;return y.each(r,function(o,s){if("border"===t.node(o).dummy){var c=t.predecessors(o);c.length&&(i=t.node(c[0]).order,n(r,u,s,a,i),u=s,a=i)}n(r,u,r.length,i,e.length)}),r}var i={};return y.reduce(e,r),i}function i(t,e){return t.node(e).dummy?y.find(t.predecessors(e),function(e){return t.node(e).dummy}):void 0}function a(t,e,n){if(e>n){var r=e;e=n,n=r}var i=t[e];i||(t[e]=i={}),i[n]=!0}function u(t,e,n){if(e>n){var r=e;e=n,n=r}return y.has(t[e],n)}function o(t,e,n,r){var i={},a={},o={};return y.each(e,function(t){y.each(t,function(t,e){i[t]=t,a[t]=t,o[t]=e})}),y.each(e,function(t){var e=-1;y.each(t,function(t){var s=r(t);if(s.length){s=y.sortBy(s,function(t){return o[t]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var f=s[l];a[t]===t&&e<o[f]&&!u(n,t,f)&&(a[f]=t,a[t]=i[t]=i[f],e=o[f])}}})}),{root:i,align:a}}function s(t,e,n,r,i){function a(t){y.has(l,t)||(l[t]=!0,o[t]=y.reduce(s.inEdges(t),function(t,e){return a(e.v),Math.max(t,o[e.v]+s.edge(e))},0))}function u(e){if(2!==l[e]){l[e]++;var n=t.node(e),r=y.reduce(s.outEdges(e),function(t,e){return u(e.w),Math.min(t,o[e.w]-s.edge(e))},Number.POSITIVE_INFINITY);r!==Number.POSITIVE_INFINITY&&n.borderType!==h&&(o[e]=Math.max(o[e],r))}}var o={},s=c(t,e,n,i),l={};y.each(s.nodes(),a);var h=i?"borderLeft":"borderRight";return y.each(s.nodes(),u),y.each(r,function(t){o[t]=o[n[t]]}),o}function c(t,e,n,r){var i=new m,a=t.graph(),u=p(a.nodesep,a.edgesep,r);return y.each(e,function(e){var r;y.each(e,function(e){var a=n[e];if(i.setNode(a),r){var o=n[r],s=i.edge(o,a);i.setEdge(o,a,Math.max(u(t,e,r),s||0))}r=e})}),i}function l(t,e){return y.min(e,function(e){var n=y.min(e,function(e,n){return e-g(t,n)/2}),r=y.max(e,function(e,n){return e+g(t,n)/2});return r-n})}function h(t,e){var n=y.min(e),r=y.max(e);y.each(["u","d"],function(i){y.each(["l","r"],function(a){var u,o=i+a,s=t[o];s!==e&&(u="l"===a?n-y.min(s):r-y.max(s),u&&(t[o]=y.mapValues(s,function(t){return t+u})))})})}function f(t,e){return y.mapValues(t.ul,function(n,r){if(e)return t[e.toLowerCase()][r];var i=y.sortBy(y.pluck(t,r));return(i[1]+i[2])/2})}function d(t){var e,i=v.buildLayerMatrix(t),a=y.merge(n(t,i),r(t,i)),u={};y.each(["u","d"],function(n){e="u"===n?i:y.values(i).reverse(),y.each(["l","r"],function(r){"r"===r&&(e=y.map(e,function(t){return y.values(t).reverse()}));var i=y.bind("u"===n?t.predecessors:t.successors,t),c=o(t,e,a,i),l=s(t,e,c.root,c.align,"r"===r);"r"===r&&(l=y.mapValues(l,function(t){return-t})),u[n+r]=l})});var c=l(t,u);return h(u,c),f(u,t.graph().align)}function p(t,e,n){return function(r,i,a){var u,o=r.node(i),s=r.node(a),c=0;if(c+=o.width/2,y.has(o,"labelpos"))switch(o.labelpos.toLowerCase()){case"l":u=-o.width/2;break;case"r":u=o.width/2}if(u&&(c+=n?u:-u),u=0,c+=(o.dummy?e:t)/2,c+=(s.dummy?e:t)/2,c+=s.width/2,y.has(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":u=s.width/2;break;case"r":u=-s.width/2}return u&&(c+=n?u:-u),u=0,c}}function g(t,e){return t.node(e).width}var y=t("../lodash"),m=t("../graphlib").Graph,v=t("../util");e.exports={positionX:d,findType1Conflicts:n,findType2Conflicts:r,addConflict:a,hasConflict:u,verticalAlignment:o,horizontalCompaction:s,alignCoordinates:h,findSmallestWidthAlignment:l,balance:f}},{"../graphlib":60,"../lodash":63,"../util":82}],77:[function(t,e){"use strict";function n(t){t=a.asNonCompoundGraph(t),r(t),i.each(u(t),function(e,n){t.node(n).x=e})}function r(t){var e=a.buildLayerMatrix(t),n=t.graph().ranksep,r=0;i.each(e,function(e){var a=i.max(i.map(e,function(e){return t.node(e).height}));i.each(e,function(e){t.node(e).y=r+a/2}),r+=a+n})}var i=t("../lodash"),a=t("../util"),u=t("./bk").positionX;e.exports=n},{"../lodash":63,"../util":82,"./bk":76}],78:[function(t,e){"use strict";function n(t){var e=new o({directed:!1}),n=t.nodes()[0],u=t.nodeCount();e.setNode(n,{});for(var c,l;r(e,t)<u;)c=i(e,t),l=e.hasNode(c.v)?s(t,c):-s(t,c),a(e,t,l);return e}function r(t,e){function n(r){u.each(e.nodeEdges(r),function(i){var a=i.v,u=r===a?i.w:a;t.hasNode(u)||s(e,i)||(t.setNode(u,{}),t.setEdge(r,u,{}),n(u))})}return u.each(t.nodes(),n),t.nodeCount()}function i(t,e){return u.min(e.edges(),function(n){return t.hasNode(n.v)!==t.hasNode(n.w)?s(e,n):void 0})}function a(t,e,n){u.each(t.nodes(),function(t){e.node(t).rank+=n})}var u=t("../lodash"),o=t("../graphlib").Graph,s=t("./util").slack;e.exports=n},{"../graphlib":60,"../lodash":63,"./util":81}],79:[function(t,e){"use strict";function n(t){switch(t.graph().ranker){case"network-simplex":i(t);break;case"tight-tree":r(t);break;case"longest-path":c(t);break;default:i(t)}}function r(t){u(t),o(t)}function i(t){s(t)}var a=t("./util"),u=a.longestPath,o=t("./feasible-tree"),s=t("./network-simplex");e.exports=n;var c=u},{"./feasible-tree":78,"./network-simplex":80,"./util":81}],80:[function(t,e){"use strict";function n(t){t=b(t),m(t);var e=g(t);u(e),r(e,t);for(var n,i;n=s(e);)i=c(e,t,n),l(e,t,n,i)}function r(t,e){var n=_(t,t.nodes());n=n.slice(0,n.length-1),p.each(n,function(n){i(t,e,n)})}function i(t,e,n){var r=t.node(n),i=r.parent;t.edge(n,i).cutvalue=a(t,e,n)}function a(t,e,n){var r=t.node(n),i=r.parent,a=!0,u=e.edge(n,i),o=0;return u||(a=!1,u=e.edge(i,n)),o=u.weight,p.each(e.nodeEdges(n),function(r){var u=r.v===n,s=u?r.w:r.v;if(s!==i){var c=u===a,l=e.edge(r).weight;if(o+=c?l:-l,f(t,n,s)){var h=t.edge(n,s).cutvalue;o+=c?-h:h}}}),o}function u(t,e){arguments.length<2&&(e=t.nodes()[0]),o(t,{},1,e)}function o(t,e,n,r,i){var a=n,u=t.node(r);return e[r]=!0,p.each(t.neighbors(r),function(i){p.has(e,i)||(n=o(t,e,n,i,r))}),u.low=a,u.lim=n++,i?u.parent=i:delete u.parent,n}function s(t){return p.find(t.edges(),function(e){return t.edge(e).cutvalue<0})}function c(t,e,n){var r=n.v,i=n.w;e.hasEdge(r,i)||(r=n.w,i=n.v);var a=t.node(r),u=t.node(i),o=a,s=!1;a.lim>u.lim&&(o=u,s=!0);var c=p.filter(e.edges(),function(e){return s===d(t,t.node(e.v),o)&&s!==d(t,t.node(e.w),o)});return p.min(c,function(t){return y(e,t)})}function l(t,e,n,i){var a=n.v,o=n.w;t.removeEdge(a,o),t.setEdge(i.v,i.w,{}),u(t),r(t,e),h(t,e)}function h(t,e){var n=p.find(t.nodes(),function(t){return!e.node(t).parent}),r=v(t,n);r=r.slice(1),p.each(r,function(n){var r=t.node(n).parent,i=e.edge(n,r),a=!1;i||(i=e.edge(r,n),a=!0),e.node(n).rank=e.node(r).rank+(a?i.minlen:-i.minlen)})}function f(t,e,n){return t.hasEdge(e,n)}function d(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}var p=t("../lodash"),g=t("./feasible-tree"),y=t("./util").slack,m=t("./util").longestPath,v=t("../graphlib").alg.preorder,_=t("../graphlib").alg.postorder,b=t("../util").simplify;e.exports=n,n.initLowLimValues=u,n.initCutValues=r,n.calcCutValue=a,n.leaveEdge=s,n.enterEdge=c,n.exchangeEdges=l},{"../graphlib":60,"../lodash":63,"../util":82,"./feasible-tree":78,"./util":81}],81:[function(t,e){"use strict";function n(t){function e(r){var a=t.node(r);if(i.has(n,r))return a.rank;n[r]=!0;var u=i.min(i.map(t.outEdges(r),function(n){return e(n.w)-t.edge(n).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var n={};i.each(t.sources(),e)}function r(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var i=t("../lodash");e.exports={longestPath:n,slack:r}},{"../lodash":63}],82:[function(t,e){"use strict";function n(t,e,n,r){var i;do i=y.uniqueId(r);while(t.hasNode(i));return n.dummy=e,t.setNode(i,n),i}function r(t){var e=(new m).setGraph(t.graph());return y.each(t.nodes(),function(n){e.setNode(n,t.node(n))}),y.each(t.edges(),function(n){var r=e.edge(n.v,n.w)||{weight:0,minlen:1},i=t.edge(n);e.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),e}function i(t){var e=new m({multigraph:t.isMultigraph()}).setGraph(t.graph());return y.each(t.nodes(),function(n){t.children(n).length||e.setNode(n,t.node(n))}),y.each(t.edges(),function(n){e.setEdge(n,t.edge(n))}),e}function a(t){var e=y.map(t.nodes(),function(e){var n={};return y.each(t.outEdges(e),function(e){n[e.w]=(n[e.w]||0)+t.edge(e).weight}),n});return y.zipObject(t.nodes(),e)}function u(t){var e=y.map(t.nodes(),function(e){var n={};return y.each(t.inEdges(e),function(e){n[e.v]=(n[e.v]||0)+t.edge(e).weight}),n});return y.zipObject(t.nodes(),e)}function o(t,e){var n=t.x,r=t.y,i=e.x-n,a=e.y-r,u=t.width/2,o=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:n+s,y:r+c}}function s(t){var e=y.map(y.range(f(t)+1),function(){return[]});return y.each(t.nodes(),function(n){var r=t.node(n),i=r.rank;y.isUndefined(i)||(e[i][r.order]=n)}),e}function c(t){var e=y.min(y.map(t.nodes(),function(e){return t.node(e).rank}));y.each(t.nodes(),function(n){var r=t.node(n);y.has(r,"rank")&&(r.rank-=e)})}function l(t){var e=y.min(y.map(t.nodes(),function(e){return t.node(e).rank})),n=[];y.each(t.nodes(),function(r){var i=t.node(r).rank-e;n[i]||(n[i]=[]),n[i].push(r)});var r=0,i=t.graph().nodeRankFactor;y.each(n,function(e,n){y.isUndefined(e)&&n%i!==0?--r:r&&y.each(e,function(e){t.node(e).rank+=r})})}function h(t,e,r,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=r,a.order=i),n(t,"border",a,e)}function f(t){return y.max(y.map(t.nodes(),function(e){var n=t.node(e).rank;return y.isUndefined(n)?void 0:n}))}function d(t,e){var n={lhs:[],rhs:[]};return y.each(t,function(t){e(t)?n.lhs.push(t):n.rhs.push(t)}),n}function p(t,e){var n=y.now();try{return e()}finally{console.log(t+" time: "+(y.now()-n)+"ms")}}function g(t,e){return e()}var y=t("./lodash"),m=t("./graphlib").Graph;e.exports={addDummyNode:n,simplify:r,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:f,partition:d,time:p,notime:g}},{"./graphlib":60,"./lodash":63}],83:[function(t,e){e.exports="0.7.4"},{}],84:[function(t,e){e.exports=t(33)},{"./lib":100,"./lib/alg":91,"./lib/json":101,"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/index.js":33}],85:[function(t,e){e.exports=t(34)},{"../lodash":102,"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/components.js":34}],86:[function(t,e){e.exports=t(35)},{"../lodash":102,"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/dfs.js":35}],87:[function(t,e){e.exports=t(36)},{"../lodash":102,"./dijkstra":88,"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/dijkstra-all.js":36}],88:[function(t,e){e.exports=t(37)},{"../data/priority-queue":98,"../lodash":102,"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/dijkstra.js":37}],89:[function(t,e){e.exports=t(38)},{"../lodash":102,"./tarjan":96,"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/find-cycles.js":38}],90:[function(t,e){e.exports=t(39)},{"../lodash":102,"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/floyd-warshall.js":39}],91:[function(t,e){e.exports=t(40)},{"./components":85,"./dijkstra":88,"./dijkstra-all":87,"./find-cycles":89,"./floyd-warshall":90,"./is-acyclic":92,"./postorder":93,"./preorder":94,"./prim":95,"./tarjan":96,"./topsort":97,"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/index.js":40}],92:[function(t,e){e.exports=t(41)},{"./topsort":97,"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/is-acyclic.js":41}],93:[function(t,e){e.exports=t(42)},{"./dfs":86,"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/postorder.js":42}],94:[function(t,e){e.exports=t(43)},{"./dfs":86,"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/preorder.js":43}],95:[function(t,e){e.exports=t(44)},{"../data/priority-queue":98,"../graph":99,"../lodash":102,"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/prim.js":44}],96:[function(t,e){e.exports=t(45)},{"../lodash":102,"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/tarjan.js":45}],97:[function(t,e){e.exports=t(46)},{"../lodash":102,"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/topsort.js":46}],98:[function(t,e){e.exports=t(47)},{"../lodash":102,"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/data/priority-queue.js":47}],99:[function(t,e){e.exports=t(48)},{"./lodash":102,"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/graph.js":48}],100:[function(t,e){e.exports=t(49)},{"./graph":99,"./version":103,"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/index.js":49}],101:[function(t,e){e.exports=t(50)},{"./graph":99,"./lodash":102,"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/json.js":50}],102:[function(t,e){e.exports=t(51)},{"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/lodash.js":51,lodash:104}],103:[function(t,e){e.exports=t(52)},{"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/version.js":52}],104:[function(t,e){e.exports=t(53)},{"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/lodash/index.js":53}],105:[function(t,e,n){(function(t){!function(r){var i="object"==typeof n&&n,a="object"==typeof e&&e&&e.exports==i&&e,u="object"==typeof t&&t;(u.global===u||u.window===u)&&(r=u);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"Á":"Aacute","á":"aacute","Ă":"Abreve","ă":"abreve","∾":"ac","∿":"acd","∾̳":"acE","Â":"Acirc","â":"acirc","´":"acute","А":"Acy","а":"acy","Æ":"AElig","æ":"aelig","⁡":"af","??":"Afr","??":"afr","À":"Agrave","à":"agrave","ℵ":"aleph","Α":"Alpha","α":"alpha","Ā":"Amacr","ā":"amacr","⨿":"amalg","&":"amp","⩕":"andand","⩓":"And","∧":"and","⩜":"andd","⩘":"andslope","⩚":"andv","∠":"ang","⦤":"ange","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","∡":"angmsd","∟":"angrt","⊾":"angrtvb","⦝":"angrtvbd","∢":"angsph","Å":"angst","⍼":"angzarr","Ą":"Aogon","ą":"aogon","??":"Aopf","??":"aopf","⩯":"apacir","≈":"ap","⩰":"apE","≊":"ape","≋":"apid","'":"apos","å":"aring","??":"Ascr","??":"ascr","≔":"colone","*":"ast","≍":"CupCap","Ã":"Atilde","ã":"atilde","Ä":"Auml","ä":"auml","∳":"awconint","⨑":"awint","≌":"bcong","϶":"bepsi","‵":"bprime","∽":"bsim","⋍":"bsime","∖":"setmn","⫧":"Barv","⊽":"barvee","⌅":"barwed","⌆":"Barwed","⎵":"bbrk","⎶":"bbrktbrk","Б":"Bcy","б":"bcy","„":"bdquo","∵":"becaus","⦰":"bemptyv","ℬ":"Bscr","Β":"Beta","β":"beta","ℶ":"beth","≬":"twixt","??":"Bfr","??":"bfr","⋂":"xcap","◯":"xcirc","⋃":"xcup","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨆":"xsqcup","★":"starf","▽":"xdtri","△":"xutri","⨄":"xuplus","⋁":"Vee","⋀":"Wedge","⤍":"rbarr","⧫":"lozf","▪":"squf","▴":"utrif","▾":"dtrif","◂":"ltrif","▸":"rtrif","␣":"blank","▒":"blk12","░":"blk14","▓":"blk34","█":"block","=⃥":"bne","≡⃥":"bnequiv","⫭":"bNot","⌐":"bnot","??":"Bopf","??":"bopf","⊥":"bot","⋈":"bowtie","⧉":"boxbox","┐":"boxdl","╕":"boxdL","╖":"boxDl","╗":"boxDL","┌":"boxdr","╒":"boxdR","╓":"boxDr","╔":"boxDR","─":"boxh","═":"boxH","┬":"boxhd","╤":"boxHd","╥":"boxhD","╦":"boxHD","┴":"boxhu","╧":"boxHu","╨":"boxhU","╩":"boxHU","⊟":"minusb","⊞":"plusb","⊠":"timesb","┘":"boxul","╛":"boxuL","╜":"boxUl","╝":"boxUL","└":"boxur","╘":"boxuR","╙":"boxUr","╚":"boxUR","│":"boxv","║":"boxV","┼":"boxvh","╪":"boxvH","╫":"boxVh","╬":"boxVH","┤":"boxvl","╡":"boxvL","╢":"boxVl","╣":"boxVL","├":"boxvr","╞":"boxvR","╟":"boxVr","╠":"boxVR","˘":"breve","¦":"brvbar","??":"bscr","⁏":"bsemi","⧅":"bsolb","\\":"bsol","⟈":"bsolhsub","•":"bull","≎":"bump","⪮":"bumpE","≏":"bumpe","Ć":"Cacute","ć":"cacute","⩄":"capand","⩉":"capbrcup","⩋":"capcap","∩":"cap","⋒":"Cap","⩇":"capcup","⩀":"capdot","ⅅ":"DD","∩︀":"caps","⁁":"caret","ˇ":"caron","ℭ":"Cfr","⩍":"ccaps","Č":"Ccaron","č":"ccaron","Ç":"Ccedil","ç":"ccedil","Ĉ":"Ccirc","ĉ":"ccirc","∰":"Cconint","⩌":"ccups","⩐":"ccupssm","Ċ":"Cdot","ċ":"cdot","¸":"cedil","⦲":"cemptyv","¢":"cent","·":"middot","??":"cfr","Ч":"CHcy","ч":"chcy","✓":"check","Χ":"Chi","χ":"chi","ˆ":"circ","≗":"cire","↺":"olarr","↻":"orarr","⊛":"oast","⊚":"ocir","⊝":"odash","⊙":"odot","®":"reg","Ⓢ":"oS","⊖":"ominus","⊕":"oplus","⊗":"otimes","○":"cir","⧃":"cirE","⨐":"cirfnint","⫯":"cirmid","⧂":"cirscir","∲":"cwconint","”":"rdquo","’":"rsquo","♣":"clubs",":":"colon","∷":"Colon","⩴":"Colone",",":"comma","@":"commat","∁":"comp","∘":"compfn","ℂ":"Copf","≅":"cong","⩭":"congdot","≡":"equiv","∮":"oint","∯":"Conint","??":"copf","∐":"coprod","©":"copy","℗":"copysr","↵":"crarr","✗":"cross","⨯":"Cross","??":"Cscr","??":"cscr","⫏":"csub","⫑":"csube","⫐":"csup","⫒":"csupe","⋯":"ctdot","⤸":"cudarrl","⤵":"cudarrr","⋞":"cuepr","⋟":"cuesc","↶":"cularr","⤽":"cularrp","⩈":"cupbrcap","⩆":"cupcap","∪":"cup","⋓":"Cup","⩊":"cupcup","⊍":"cupdot","⩅":"cupor","∪︀":"cups","↷":"curarr","⤼":"curarrm","⋎":"cuvee","⋏":"cuwed","¤":"curren","∱":"cwint","⌭":"cylcty","†":"dagger","‡":"Dagger","ℸ":"daleth","↓":"darr","↡":"Darr","⇓":"dArr","‐":"dash","⫤":"Dashv","⊣":"dashv","⤏":"rBarr","˝":"dblac","Ď":"Dcaron","ď":"dcaron","Д":"Dcy","д":"dcy","⇊":"ddarr","ⅆ":"dd","⤑":"DDotrahd","⩷":"eDDot","°":"deg","∇":"Del","Δ":"Delta","δ":"delta","⦱":"demptyv","⥿":"dfisht","??":"Dfr","??":"dfr","⥥":"dHar","⇃":"dharl","⇂":"dharr","˙":"dot","`":"grave","˜":"tilde","⋄":"diam","♦":"diams","¨":"die","ϝ":"gammad","⋲":"disin","÷":"div","⋇":"divonx","Ђ":"DJcy","ђ":"djcy","⌞":"dlcorn","⌍":"dlcrop",$:"dollar","??":"Dopf","??":"dopf","⃜":"DotDot","≐":"doteq","≑":"eDot","∸":"minusd","∔":"plusdo","⊡":"sdotb","⇐":"lArr","⇔":"iff","⟸":"xlArr","⟺":"xhArr","⟹":"xrArr","⇒":"rArr","⊨":"vDash","⇑":"uArr","⇕":"vArr","∥":"par","⤓":"DownArrowBar","⇵":"duarr","̑":"DownBreve","⥐":"DownLeftRightVector","⥞":"DownLeftTeeVector","⥖":"DownLeftVectorBar","↽":"lhard","⥟":"DownRightTeeVector","⥗":"DownRightVectorBar","⇁":"rhard","↧":"mapstodown","⊤":"top","⤐":"RBarr","⌟":"drcorn","⌌":"drcrop","??":"Dscr","??":"dscr","Ѕ":"DScy","ѕ":"dscy","⧶":"dsol","Đ":"Dstrok","đ":"dstrok","⋱":"dtdot","▿":"dtri","⥯":"duhar","⦦":"dwangle","Џ":"DZcy","џ":"dzcy","⟿":"dzigrarr","É":"Eacute","é":"eacute","⩮":"easter","Ě":"Ecaron","ě":"ecaron","Ê":"Ecirc","ê":"ecirc","≖":"ecir","≕":"ecolon","Э":"Ecy","э":"ecy","Ė":"Edot","ė":"edot","ⅇ":"ee","≒":"efDot","??":"Efr","??":"efr","⪚":"eg","È":"Egrave","è":"egrave","⪖":"egs","⪘":"egsdot","⪙":"el","∈":"in","⏧":"elinters","ℓ":"ell","⪕":"els","⪗":"elsdot","Ē":"Emacr","ē":"emacr","∅":"empty","◻":"EmptySmallSquare","▫":"EmptyVerySmallSquare"," ":"emsp13"," ":"emsp14"," ":"emsp","Ŋ":"ENG","ŋ":"eng"," ":"ensp","Ę":"Eogon","ę":"eogon","??":"Eopf","??":"eopf","⋕":"epar","⧣":"eparsl","⩱":"eplus","ε":"epsi","Ε":"Epsilon","ϵ":"epsiv","≂":"esim","⩵":"Equal","=":"equals","≟":"equest","⇌":"rlhar","⩸":"equivDD","⧥":"eqvparsl","⥱":"erarr","≓":"erDot","ℯ":"escr","ℰ":"Escr","⩳":"Esim","Η":"Eta","η":"eta","Ð":"ETH","ð":"eth","Ë":"Euml","ë":"euml","€":"euro","!":"excl","∃":"exist","Ф":"Fcy","ф":"fcy","♀":"female","ffi":"ffilig","ff":"fflig","ffl":"ffllig","??":"Ffr","??":"ffr","fi":"filig","◼":"FilledSmallSquare",fj:"fjlig","♭":"flat","fl":"fllig","▱":"fltns","ƒ":"fnof","??":"Fopf","??":"fopf","∀":"forall","⋔":"fork","⫙":"forkv","ℱ":"Fscr","⨍":"fpartint","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","⅔":"frac23","⅖":"frac25","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","⁄":"frasl","⌢":"frown","??":"fscr","ǵ":"gacute","Γ":"Gamma","γ":"gamma","Ϝ":"Gammad","⪆":"gap","Ğ":"Gbreve","ğ":"gbreve","Ģ":"Gcedil","Ĝ":"Gcirc","ĝ":"gcirc","Г":"Gcy","г":"gcy","Ġ":"Gdot","ġ":"gdot","≥":"ge","≧":"gE","⪌":"gEl","⋛":"gel","⩾":"ges","⪩":"gescc","⪀":"gesdot","⪂":"gesdoto","⪄":"gesdotol","⋛︀":"gesl","⪔":"gesles","??":"Gfr","??":"gfr","≫":"gg","⋙":"Gg","ℷ":"gimel","Ѓ":"GJcy","ѓ":"gjcy","⪥":"gla","≷":"gl","⪒":"glE","⪤":"glj","⪊":"gnap","⪈":"gne","≩":"gnE","⋧":"gnsim","??":"Gopf","??":"gopf","⪢":"GreaterGreater","≳":"gsim","??":"Gscr","ℊ":"gscr","⪎":"gsime","⪐":"gsiml","⪧":"gtcc","⩺":"gtcir",">":"gt","⋗":"gtdot","⦕":"gtlPar","⩼":"gtquest","⥸":"gtrarr","≩︀":"gvnE"," ":"hairsp","ℋ":"Hscr","Ъ":"HARDcy","ъ":"hardcy","⥈":"harrcir","↔":"harr","↭":"harrw","^":"Hat","ℏ":"hbar","Ĥ":"Hcirc","ĥ":"hcirc","♥":"hearts","…":"mldr","⊹":"hercon","??":"hfr","ℌ":"Hfr","⤥":"searhk","⤦":"swarhk","⇿":"hoarr","∻":"homtht","↩":"larrhk","↪":"rarrhk","??":"hopf","ℍ":"Hopf","―":"horbar","??":"hscr","Ħ":"Hstrok","ħ":"hstrok","⁃":"hybull","Í":"Iacute","í":"iacute","⁣":"ic","Î":"Icirc","î":"icirc","И":"Icy","и":"icy","İ":"Idot","Е":"IEcy","е":"iecy","¡":"iexcl","??":"ifr","ℑ":"Im","Ì":"Igrave","ì":"igrave","ⅈ":"ii","⨌":"qint","∭":"tint","⧜":"iinfin","℩":"iiota","IJ":"IJlig","ij":"ijlig","Ī":"Imacr","ī":"imacr","ℐ":"Iscr","ı":"imath","⊷":"imof","Ƶ":"imped","℅":"incare","∞":"infin","⧝":"infintie","⊺":"intcal","∫":"int","∬":"Int","ℤ":"Zopf","⨗":"intlarhk","⨼":"iprod","⁢":"it","Ё":"IOcy","ё":"iocy","Į":"Iogon","į":"iogon","??":"Iopf","??":"iopf","Ι":"Iota","ι":"iota","¿":"iquest","??":"iscr","⋵":"isindot","⋹":"isinE","⋴":"isins","⋳":"isinsv","Ĩ":"Itilde","ĩ":"itilde","І":"Iukcy","і":"iukcy","Ï":"Iuml","ï":"iuml","Ĵ":"Jcirc","ĵ":"jcirc","Й":"Jcy","й":"jcy","??":"Jfr","??":"jfr","ȷ":"jmath","??":"Jopf","??":"jopf","??":"Jscr","??":"jscr","Ј":"Jsercy","ј":"jsercy","Є":"Jukcy","є":"jukcy","Κ":"Kappa","κ":"kappa","ϰ":"kappav","Ķ":"Kcedil","ķ":"kcedil","К":"Kcy","к":"kcy","??":"Kfr","??":"kfr","ĸ":"kgreen","Х":"KHcy","х":"khcy","Ќ":"KJcy","ќ":"kjcy","??":"Kopf","??":"kopf","??":"Kscr","??":"kscr","⇚":"lAarr","Ĺ":"Lacute","ĺ":"lacute","⦴":"laemptyv","ℒ":"Lscr","Λ":"Lambda","λ":"lambda","⟨":"lang","⟪":"Lang","⦑":"langd","⪅":"lap","«":"laquo","⇤":"larrb","⤟":"larrbfs","←":"larr","↞":"Larr","⤝":"larrfs","↫":"larrlp","⤹":"larrpl","⥳":"larrsim","↢":"larrtl","⤙":"latail","⤛":"lAtail","⪫":"lat","⪭":"late","⪭︀":"lates","⤌":"lbarr","⤎":"lBarr","❲":"lbbrk","{":"lcub","[":"lsqb","⦋":"lbrke","⦏":"lbrksld","⦍":"lbrkslu","Ľ":"Lcaron","ľ":"lcaron","Ļ":"Lcedil","ļ":"lcedil","⌈":"lceil","Л":"Lcy","л":"lcy","⤶":"ldca","“":"ldquo","⥧":"ldrdhar","⥋":"ldrushar","↲":"ldsh","≤":"le","≦":"lE","⇆":"lrarr","⟦":"lobrk","⥡":"LeftDownTeeVector","⥙":"LeftDownVectorBar","⌊":"lfloor","↼":"lharu","⇇":"llarr","⇋":"lrhar","⥎":"LeftRightVector","↤":"mapstoleft","⥚":"LeftTeeVector","⋋":"lthree","⧏":"LeftTriangleBar","⊲":"vltri","⊴":"ltrie","⥑":"LeftUpDownVector","⥠":"LeftUpTeeVector","⥘":"LeftUpVectorBar","↿":"uharl","⥒":"LeftVectorBar","⪋":"lEg","⋚":"leg","⩽":"les","⪨":"lescc","⩿":"lesdot","⪁":"lesdoto","⪃":"lesdotor","⋚︀":"lesg","⪓":"lesges","⋖":"ltdot","≶":"lg","⪡":"LessLess","≲":"lsim","⥼":"lfisht","??":"Lfr","??":"lfr","⪑":"lgE","⥢":"lHar","⥪":"lharul","▄":"lhblk","Љ":"LJcy","љ":"ljcy","≪":"ll","⋘":"Ll","⥫":"llhard","◺":"lltri","Ŀ":"Lmidot","ŀ":"lmidot","⎰":"lmoust","⪉":"lnap","⪇":"lne","≨":"lnE","⋦":"lnsim","⟬":"loang","⇽":"loarr","⟵":"xlarr","⟷":"xharr","⟼":"xmap","⟶":"xrarr","↬":"rarrlp","⦅":"lopar","??":"Lopf","??":"lopf","⨭":"loplus","⨴":"lotimes","∗":"lowast",_:"lowbar","↙":"swarr","↘":"searr","◊":"loz","(":"lpar","⦓":"lparlt","⥭":"lrhard","‎":"lrm","⊿":"lrtri","‹":"lsaquo","??":"lscr","↰":"lsh","⪍":"lsime","⪏":"lsimg","‘":"lsquo","‚":"sbquo","Ł":"Lstrok","ł":"lstrok","⪦":"ltcc","⩹":"ltcir","<":"lt","⋉":"ltimes","⥶":"ltlarr","⩻":"ltquest","◃":"ltri","⦖":"ltrPar","⥊":"lurdshar","⥦":"luruhar","≨︀":"lvnE","¯":"macr","♂":"male","✠":"malt","⤅":"Map","↦":"map","↥":"mapstoup","▮":"marker","⨩":"mcomma","М":"Mcy","м":"mcy","—":"mdash","∺":"mDDot"," ":"MediumSpace","ℳ":"Mscr","??":"Mfr","??":"mfr","℧":"mho","µ":"micro","⫰":"midcir","∣":"mid","−":"minus","⨪":"minusdu","∓":"mp","⫛":"mlcp","⊧":"models","??":"Mopf","??":"mopf","??":"mscr","Μ":"Mu","μ":"mu","⊸":"mumap","Ń":"Nacute","ń":"nacute","∠⃒":"nang","≉":"nap","⩰̸":"napE","≋̸":"napid","ʼn":"napos","♮":"natur","ℕ":"Nopf"," ":"nbsp","≎̸":"nbump","≏̸":"nbumpe","⩃":"ncap","Ň":"Ncaron","ň":"ncaron","Ņ":"Ncedil","ņ":"ncedil","≇":"ncong","⩭̸":"ncongdot","⩂":"ncup","Н":"Ncy","н":"ncy","–":"ndash","⤤":"nearhk","↗":"nearr","⇗":"neArr","≠":"ne","≐̸":"nedot","​":"ZeroWidthSpace","≢":"nequiv","⤨":"toea","≂̸":"nesim","\n":"NewLine","∄":"nexist","??":"Nfr","??":"nfr","≧̸":"ngE","≱":"nge","⩾̸":"nges","⋙̸":"nGg","≵":"ngsim","≫⃒":"nGt","≯":"ngt","≫̸":"nGtv","↮":"nharr","⇎":"nhArr","⫲":"nhpar","∋":"ni","⋼":"nis","⋺":"nisd","Њ":"NJcy","њ":"njcy","↚":"nlarr","⇍":"nlArr","‥":"nldr","≦̸":"nlE","≰":"nle","⩽̸":"nles","≮":"nlt","⋘̸":"nLl","≴":"nlsim","≪⃒":"nLt","⋪":"nltri","⋬":"nltrie","≪̸":"nLtv","∤":"nmid","⁠":"NoBreak","??":"nopf","⫬":"Not","¬":"not","≭":"NotCupCap","∦":"npar","∉":"notin","≹":"ntgl","⋵̸":"notindot","⋹̸":"notinE","⋷":"notinvb","⋶":"notinvc","⧏̸":"NotLeftTriangleBar","≸":"ntlg","⪢̸":"NotNestedGreaterGreater","⪡̸":"NotNestedLessLess","∌":"notni","⋾":"notnivb","⋽":"notnivc","⊀":"npr","⪯̸":"npre","⋠":"nprcue","⧐̸":"NotRightTriangleBar","⋫":"nrtri","⋭":"nrtrie","⊏̸":"NotSquareSubset","⋢":"nsqsube","⊐̸":"NotSquareSuperset","⋣":"nsqsupe","⊂⃒":"vnsub","⊈":"nsube","⊁":"nsc","⪰̸":"nsce","⋡":"nsccue","≿̸":"NotSucceedsTilde","⊃⃒":"vnsup","⊉":"nsupe","≁":"nsim","≄":"nsime","⫽⃥":"nparsl","∂̸":"npart","⨔":"npolint","⤳̸":"nrarrc","↛":"nrarr","⇏":"nrArr","↝̸":"nrarrw","??":"Nscr","??":"nscr","⊄":"nsub","⫅̸":"nsubE","⊅":"nsup","⫆̸":"nsupE","Ñ":"Ntilde","ñ":"ntilde","Ν":"Nu","ν":"nu","#":"num","№":"numero"," ":"numsp","≍⃒":"nvap","⊬":"nvdash","⊭":"nvDash","⊮":"nVdash","⊯":"nVDash","≥⃒":"nvge",">⃒":"nvgt","⤄":"nvHarr","⧞":"nvinfin","⤂":"nvlArr","≤⃒":"nvle","<⃒":"nvlt","⊴⃒":"nvltrie","⤃":"nvrArr","⊵⃒":"nvrtrie","∼⃒":"nvsim","⤣":"nwarhk","↖":"nwarr","⇖":"nwArr","⤧":"nwnear","Ó":"Oacute","ó":"oacute","Ô":"Ocirc","ô":"ocirc","О":"Ocy","о":"ocy","Ő":"Odblac","ő":"odblac","⨸":"odiv","⦼":"odsold","Œ":"OElig","œ":"oelig","⦿":"ofcir","??":"Ofr","??":"ofr","˛":"ogon","Ò":"Ograve","ò":"ograve","⧁":"ogt","⦵":"ohbar","Ω":"ohm","⦾":"olcir","⦻":"olcross","‾":"oline","⧀":"olt","Ō":"Omacr","ō":"omacr","ω":"omega","Ο":"Omicron","ο":"omicron","⦶":"omid","??":"Oopf","??":"oopf","⦷":"opar","⦹":"operp","⩔":"Or","∨":"or","⩝":"ord","ℴ":"oscr","ª":"ordf","º":"ordm","⊶":"origof","⩖":"oror","⩗":"orslope","⩛":"orv","??":"Oscr","Ø":"Oslash","ø":"oslash","⊘":"osol","Õ":"Otilde","õ":"otilde","⨶":"otimesas","⨷":"Otimes","Ö":"Ouml","ö":"ouml","⌽":"ovbar","⏞":"OverBrace","⎴":"tbrk","⏜":"OverParenthesis","¶":"para","⫳":"parsim","⫽":"parsl","∂":"part","П":"Pcy","п":"pcy","%":"percnt",".":"period","‰":"permil","‱":"pertenk","??":"Pfr","??":"pfr","Φ":"Phi","φ":"phi","ϕ":"phiv","☎":"phone","Π":"Pi","π":"pi","ϖ":"piv","ℎ":"planckh","⨣":"plusacir","⨢":"pluscir","+":"plus","⨥":"plusdu","⩲":"pluse","±":"pm","⨦":"plussim","⨧":"plustwo","⨕":"pointint","??":"popf","ℙ":"Popf","£":"pound","⪷":"prap","⪻":"Pr","≺":"pr","≼":"prcue","⪯":"pre","≾":"prsim","⪹":"prnap","⪵":"prnE","⋨":"prnsim","⪳":"prE","′":"prime","″":"Prime","∏":"prod","⌮":"profalar","⌒":"profline","⌓":"profsurf","∝":"prop","⊰":"prurel","??":"Pscr","??":"pscr","Ψ":"Psi","ψ":"psi"," ":"puncsp","??":"Qfr","??":"qfr","??":"qopf","ℚ":"Qopf","⁗":"qprime","??":"Qscr","??":"qscr","⨖":"quatint","?":"quest",'"':"quot","⇛":"rAarr","∽̱":"race","Ŕ":"Racute","ŕ":"racute","√":"Sqrt","⦳":"raemptyv","⟩":"rang","⟫":"Rang","⦒":"rangd","⦥":"range","»":"raquo","⥵":"rarrap","⇥":"rarrb","⤠":"rarrbfs","⤳":"rarrc","→":"rarr","↠":"Rarr","⤞":"rarrfs","⥅":"rarrpl","⥴":"rarrsim","⤖":"Rarrtl","↣":"rarrtl","↝":"rarrw","⤚":"ratail","⤜":"rAtail","∶":"ratio","❳":"rbbrk","}":"rcub","]":"rsqb","⦌":"rbrke","⦎":"rbrksld","⦐":"rbrkslu","Ř":"Rcaron","ř":"rcaron","Ŗ":"Rcedil","ŗ":"rcedil","⌉":"rceil","Р":"Rcy","р":"rcy","⤷":"rdca","⥩":"rdldhar","↳":"rdsh","ℜ":"Re","ℛ":"Rscr","ℝ":"Ropf","▭":"rect","⥽":"rfisht","⌋":"rfloor","??":"rfr","⥤":"rHar","⇀":"rharu","⥬":"rharul","Ρ":"Rho","ρ":"rho","ϱ":"rhov","⇄":"rlarr","⟧":"robrk","⥝":"RightDownTeeVector","⥕":"RightDownVectorBar","⇉":"rrarr","⊢":"vdash","⥛":"RightTeeVector","⋌":"rthree","⧐":"RightTriangleBar","⊳":"vrtri","⊵":"rtrie","⥏":"RightUpDownVector","⥜":"RightUpTeeVector","⥔":"RightUpVectorBar","↾":"uharr","⥓":"RightVectorBar","˚":"ring","‏":"rlm","⎱":"rmoust","⫮":"rnmid","⟭":"roang","⇾":"roarr","⦆":"ropar","??":"ropf","⨮":"roplus","⨵":"rotimes","⥰":"RoundImplies",")":"rpar","⦔":"rpargt","⨒":"rppolint","›":"rsaquo","??":"rscr","↱":"rsh","⋊":"rtimes","▹":"rtri","⧎":"rtriltri","⧴":"RuleDelayed","⥨":"ruluhar","℞":"rx","Ś":"Sacute","ś":"sacute","⪸":"scap","Š":"Scaron","š":"scaron",
"⪼":"Sc","≻":"sc","≽":"sccue","⪰":"sce","⪴":"scE","Ş":"Scedil","ş":"scedil","Ŝ":"Scirc","ŝ":"scirc","⪺":"scnap","⪶":"scnE","⋩":"scnsim","⨓":"scpolint","≿":"scsim","С":"Scy","с":"scy","⋅":"sdot","⩦":"sdote","⇘":"seArr","§":"sect",";":"semi","⤩":"tosa","✶":"sext","??":"Sfr","??":"sfr","♯":"sharp","Щ":"SHCHcy","щ":"shchcy","Ш":"SHcy","ш":"shcy","↑":"uarr","­":"shy","Σ":"Sigma","σ":"sigma","ς":"sigmaf","∼":"sim","⩪":"simdot","≃":"sime","⪞":"simg","⪠":"simgE","⪝":"siml","⪟":"simlE","≆":"simne","⨤":"simplus","⥲":"simrarr","⨳":"smashp","⧤":"smeparsl","⌣":"smile","⪪":"smt","⪬":"smte","⪬︀":"smtes","Ь":"SOFTcy","ь":"softcy","⌿":"solbar","⧄":"solb","/":"sol","??":"Sopf","??":"sopf","♠":"spades","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊏":"sqsub","⊑":"sqsube","⊐":"sqsup","⊒":"sqsupe","□":"squ","??":"Sscr","??":"sscr","⋆":"Star","☆":"star","⊂":"sub","⋐":"Sub","⪽":"subdot","⫅":"subE","⊆":"sube","⫃":"subedot","⫁":"submult","⫋":"subnE","⊊":"subne","⪿":"subplus","⥹":"subrarr","⫇":"subsim","⫕":"subsub","⫓":"subsup","∑":"sum","♪":"sung","¹":"sup1","²":"sup2","³":"sup3","⊃":"sup","⋑":"Sup","⪾":"supdot","⫘":"supdsub","⫆":"supE","⊇":"supe","⫄":"supedot","⟉":"suphsol","⫗":"suphsub","⥻":"suplarr","⫂":"supmult","⫌":"supnE","⊋":"supne","⫀":"supplus","⫈":"supsim","⫔":"supsub","⫖":"supsup","⇙":"swArr","⤪":"swnwar","ß":"szlig","	":"Tab","⌖":"target","Τ":"Tau","τ":"tau","Ť":"Tcaron","ť":"tcaron","Ţ":"Tcedil","ţ":"tcedil","Т":"Tcy","т":"tcy","⃛":"tdot","⌕":"telrec","??":"Tfr","??":"tfr","∴":"there4","Θ":"Theta","θ":"theta","ϑ":"thetav","  ":"ThickSpace"," ":"thinsp","Þ":"THORN","þ":"thorn","⨱":"timesbar","×":"times","⨰":"timesd","⌶":"topbot","⫱":"topcir","??":"Topf","??":"topf","⫚":"topfork","‴":"tprime","™":"trade","▵":"utri","≜":"trie","◬":"tridot","⨺":"triminus","⨹":"triplus","⧍":"trisb","⨻":"tritime","⏢":"trpezium","??":"Tscr","??":"tscr","Ц":"TScy","ц":"tscy","Ћ":"TSHcy","ћ":"tshcy","Ŧ":"Tstrok","ŧ":"tstrok","Ú":"Uacute","ú":"uacute","↟":"Uarr","⥉":"Uarrocir","Ў":"Ubrcy","ў":"ubrcy","Ŭ":"Ubreve","ŭ":"ubreve","Û":"Ucirc","û":"ucirc","У":"Ucy","у":"ucy","⇅":"udarr","Ű":"Udblac","ű":"udblac","⥮":"udhar","⥾":"ufisht","??":"Ufr","??":"ufr","Ù":"Ugrave","ù":"ugrave","⥣":"uHar","▀":"uhblk","⌜":"ulcorn","⌏":"ulcrop","◸":"ultri","Ū":"Umacr","ū":"umacr","⏟":"UnderBrace","⏝":"UnderParenthesis","⊎":"uplus","Ų":"Uogon","ų":"uogon","??":"Uopf","??":"uopf","⤒":"UpArrowBar","↕":"varr","υ":"upsi","ϒ":"Upsi","Υ":"Upsilon","⇈":"uuarr","⌝":"urcorn","⌎":"urcrop","Ů":"Uring","ů":"uring","◹":"urtri","??":"Uscr","??":"uscr","⋰":"utdot","Ũ":"Utilde","ũ":"utilde","Ü":"Uuml","ü":"uuml","⦧":"uwangle","⦜":"vangrt","⊊︀":"vsubne","⫋︀":"vsubnE","⊋︀":"vsupne","⫌︀":"vsupnE","⫨":"vBar","⫫":"Vbar","⫩":"vBarv","В":"Vcy","в":"vcy","⊩":"Vdash","⊫":"VDash","⫦":"Vdashl","⊻":"veebar","≚":"veeeq","⋮":"vellip","|":"vert","‖":"Vert","❘":"VerticalSeparator","≀":"wr","??":"Vfr","??":"vfr","??":"Vopf","??":"vopf","??":"Vscr","??":"vscr","⊪":"Vvdash","⦚":"vzigzag","Ŵ":"Wcirc","ŵ":"wcirc","⩟":"wedbar","≙":"wedgeq","℘":"wp","??":"Wfr","??":"wfr","??":"Wopf","??":"wopf","??":"Wscr","??":"wscr","??":"Xfr","??":"xfr","Ξ":"Xi","ξ":"xi","⋻":"xnis","??":"Xopf","??":"xopf","??":"Xscr","??":"xscr","Ý":"Yacute","ý":"yacute","Я":"YAcy","я":"yacy","Ŷ":"Ycirc","ŷ":"ycirc","Ы":"Ycy","ы":"ycy","¥":"yen","??":"Yfr","??":"yfr","Ї":"YIcy","ї":"yicy","??":"Yopf","??":"yopf","??":"Yscr","??":"yscr","Ю":"YUcy","ю":"yucy","ÿ":"yuml","Ÿ":"Yuml","Ź":"Zacute","ź":"zacute","Ž":"Zcaron","ž":"zcaron","З":"Zcy","з":"zcy","Ż":"Zdot","ż":"zdot","ℨ":"Zfr","Ζ":"Zeta","ζ":"zeta","??":"zfr","Ж":"ZHcy","ж":"zhcy","⇝":"zigrarr","??":"zopf","??":"Zscr","??":"zscr","‍":"zwj","‌":"zwnj"},f=/["&'<>`]/g,d={'"':"&quot;","&":"&amp;","'":"&#x27;","<":"&lt;",">":"&gt;","`":"&#x60;"},p=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,m={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"??",afr:"??",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"??",aopf:"??",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"??",ascr:"??",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"??",bfr:"??",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"??",bopf:"??",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"??",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"??",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"??",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"??",cscr:"??",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"??",dfr:"??",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"??",dopf:"??",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"??",dscr:"??",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"??",efr:"??",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"??",eopf:"??",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"??",ffr:"??",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"??",fopf:"??",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"??",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"??",gfr:"??",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"??",gopf:"??",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"??",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"??",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"??",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"??",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"??",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"??",iopf:"??",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"??",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"??",jfr:"??",jmath:"ȷ",Jopf:"??",jopf:"??",Jscr:"??",jscr:"??",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"??",kfr:"??",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"??",kopf:"??",Kscr:"??",kscr:"??",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"??",lfr:"??",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"??",lopf:"??",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"??",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"??",mfr:"??",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"??",mopf:"??",mp:"∓",mscr:"??",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"??",nfr:"??",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"??",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"??",nscr:"??",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"??",ofr:"??",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"??",oopf:"??",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"??",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"??",pfr:"??",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"??",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"??",pscr:"??",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"??",qfr:"??",qint:"⨌",qopf:"??",Qopf:"ℚ",qprime:"⁗",Qscr:"??",qscr:"??",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"??",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"??",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"??",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"??",sfr:"??",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"??",sopf:"??",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"??",sscr:"??",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"	",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"??",tfr:"??",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"??",topf:"??",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"??",tscr:"??",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"??",ufr:"??",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"??",uopf:"??",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"??",uscr:"??",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"??",vfr:"??",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"??",vopf:"??",vprop:"∝",vrtri:"⊳",Vscr:"??",vscr:"??",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"??",wfr:"??",Wopf:"??",wopf:"??",wp:"℘",wr:"≀",wreath:"≀",Wscr:"??",wscr:"??",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"??",xfr:"??",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"??",xopf:"??",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"??",xscr:"??",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"??",yfr:"??",YIcy:"Ї",yicy:"ї",Yopf:"??",yopf:"??",Yscr:"??",yscr:"??",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"??",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"??",Zopf:"ℤ",Zscr:"??",zscr:"??",zwj:"‍",zwnj:"‌"},v={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"},_={0:"?",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},b=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],x=String.fromCharCode,w={},A=w.hasOwnProperty,k=function(t,e){return A.call(t,e)},E=function(t,e){for(var n=-1,r=t.length;++n<r;)if(t[n]==e)return!0;return!1},D=function(t,e){if(!t)return e;var n,r={};for(n in e)r[n]=k(t,n)?t[n]:e[n];return r},S=function(t,e){var n="";return t>=55296&&57343>=t||t>1114111?(e&&M("character reference outside the permissible Unicode range"),"?"):k(_,t)?(e&&M("disallowed character reference"),_[t]):(e&&E(b,t)&&M("disallowed character reference"),t>65535&&(t-=65536,
n+=x(t>>>10&1023|55296),t=56320|1023&t),n+=x(t))},C=function(t){return"&#x"+t.charCodeAt(0).toString(16).toUpperCase()+";"},M=function(t){throw Error("Parse error: "+t)},T=function(t,e){e=D(e,T.options);var n=e.strict;n&&g.test(t)&&M("forbidden code point");var r=e.encodeEverything,i=e.useNamedReferences,a=e.allowUnsafeSymbols;return r?(t=t.replace(s,function(t){return i&&k(h,t)?"&"+h[t]+";":C(t)}),i&&(t=t.replace(/&gt;\u20D2/g,"&nvgt;").replace(/&lt;\u20D2/g,"&nvlt;").replace(/&#x66;&#x6A;/g,"&fjlig;")),i&&(t=t.replace(l,function(t){return"&"+h[t]+";"}))):i?(a||(t=t.replace(f,function(t){return"&"+h[t]+";"})),t=t.replace(/&gt;\u20D2/g,"&nvgt;").replace(/&lt;\u20D2/g,"&nvlt;"),t=t.replace(l,function(t){return"&"+h[t]+";"})):a||(t=t.replace(f,C)),t.replace(o,function(t){var e=t.charCodeAt(0),n=t.charCodeAt(1),r=1024*(e-55296)+n-56320+65536;return"&#x"+r.toString(16).toUpperCase()+";"}).replace(c,C)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1};var F=function(t,e){e=D(e,F.options);var n=e.strict;return n&&p.test(t)&&M("malformed character reference"),t.replace(y,function(t,r,i,a,u,o,s,c){var l,h,f,d,p;return r?(l=r,h=i,n&&!h&&M("character reference was not terminated by a semicolon"),S(l,n)):a?(f=a,h=u,n&&!h&&M("character reference was not terminated by a semicolon"),l=parseInt(f,16),S(l,n)):o?(d=o,k(m,d)?m[d]:(n&&M("named character reference was not terminated by a semicolon"),t)):(d=s,p=c,p&&e.isAttributeValue?(n&&"="==p&&M("`&` did not start a character reference"),t):(n&&M("named character reference was not terminated by a semicolon"),v[d]+(p||"")))})};F.options={isAttributeValue:!1,strict:!1};var L=function(t){return t.replace(f,function(t){return d[t]})},B={version:"0.5.0",encode:T,decode:F,escape:L,unescape:F};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return B});else if(i&&!i.nodeType)if(a)a.exports=B;else for(var O in B)k(B,O)&&(i[O]=B[O]);else r.he=B}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],106:[function(t,e,n){(function(t){(function(){function r(t,e){return t.set(e[0],e[1]),t}function i(t,e){return t.add(e),t}function a(t,e,n){var r=n.length;switch(r){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function u(t,e,n,r){for(var i=-1,a=t?t.length:0;++i<a;){var u=t[i];e(r,u,n(u),t)}return r}function o(t,e){for(var n=-1,r=t?t.length:0;++n<r&&e(t[n],n,t)!==!1;);return t}function s(t,e){for(var n=t?t.length:0;n--&&e(t[n],n,t)!==!1;);return t}function c(t,e){for(var n=-1,r=t?t.length:0;++n<r;)if(!e(t[n],n,t))return!1;return!0}function l(t,e){for(var n=-1,r=t?t.length:0,i=0,a=[];++n<r;){var u=t[n];e(u,n,t)&&(a[i++]=u)}return a}function h(t,e){var n=t?t.length:0;return!!n&&b(t,e,0)>-1}function f(t,e,n){for(var r=-1,i=t?t.length:0;++r<i;)if(n(e,t[r]))return!0;return!1}function d(t,e){for(var n=-1,r=t?t.length:0,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}function p(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}function g(t,e,n,r){var i=-1,a=t?t.length:0;for(r&&a&&(n=t[++i]);++i<a;)n=e(n,t[i],i,t);return n}function y(t,e,n,r){var i=t?t.length:0;for(r&&i&&(n=t[--i]);i--;)n=e(n,t[i],i,t);return n}function m(t,e){for(var n=-1,r=t?t.length:0;++n<r;)if(e(t[n],n,t))return!0;return!1}function v(t,e,n){var r;return n(t,function(t,n,i){return e(t,n,i)?(r=n,!1):void 0}),r}function _(t,e,n,r){for(var i=t.length,a=n+(r?1:-1);r?a--:++a<i;)if(e(t[a],a,t))return a;return-1}function b(t,e,n){if(e!==e)return j(t,n);for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function x(t,e,n,r){for(var i=n-1,a=t.length;++i<a;)if(r(t[i],e))return i;return-1}function w(t,e){var n=t?t.length:0;return n?E(t,e)/n:kt}function A(t,e,n,r,i){return i(t,function(t,i,a){n=r?(r=!1,t):e(n,t,i,a)}),n}function k(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}function E(t,e){for(var n,r=-1,i=t.length;++r<i;){var a=e(t[r]);a!==X&&(n=n===X?a:n+a)}return n}function D(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}function S(t,e){return d(e,function(e){return[e,t[e]]})}function C(t){return function(e){return t(e)}}function M(t,e){return d(e,function(e){return t[e]})}function T(t,e){return t.has(e)}function F(t,e){for(var n=-1,r=t.length;++n<r&&b(e,t[n],0)>-1;);return n}function L(t,e){for(var n=t.length;n--&&b(e,t[n],0)>-1;);return n}function B(t){return t&&t.Object===Object?t:null}function O(t,e){for(var n=t.length,r=0;n--;)t[n]===e&&r++;return r}function I(t){return Sn[t]}function N(t){return Cn[t]}function R(t){return"\\"+Tn[t]}function P(t,e){return null==t?X:t[e]}function j(t,e,n){for(var r=t.length,i=e+(n?1:-1);n?i--:++i<r;){var a=t[i];if(a!==a)return i}return-1}function q(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(n){}return e}function U(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}function Y(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}function V(t,e){for(var n=-1,r=t.length,i=0,a=[];++n<r;){var u=t[n];(u===e||u===et)&&(t[n]=et,a[i++]=n)}return a}function $(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}function z(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=[t,t]}),n}function G(t){if(!t||!xn.test(t))return t.length;for(var e=_n.lastIndex=0;_n.test(t);)e++;return e}function H(t){return t.match(_n)}function W(t){return Mn[t]}function Z(t){function e(t){if(vo(t)&&!yh(t)&&!(t instanceof Be)){if(t instanceof B)return t;if(Mc.call(t,"__wrapped__"))return ha(t)}return new B(t)}function n(){}function B(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=X}function Be(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Et,this.__views__=[]}function Oe(){var t=new Be(this.__wrapped__);return t.__actions__=ni(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=ni(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=ni(this.__views__),t}function Ie(){if(this.__filtered__){var t=new Be(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function Ne(){var t=this.__wrapped__.value(),e=this.__dir__,n=yh(t),r=0>e,i=n?t.length:0,a=Yi(0,i,this.__views__),u=a.start,o=a.end,s=o-u,c=r?o:u-1,l=this.__iteratees__,h=l.length,f=0,d=Qc(s,this.__takeCount__);if(!n||J>i||i==s&&d==s)return Rr(t,this.__actions__);var p=[];t:for(;s--&&d>f;){c+=e;for(var g=-1,y=t[c];++g<h;){var m=l[g],v=m.iteratee,_=m.type,b=v(y);if(_==_t)y=b;else if(!b){if(_==vt)continue t;break t}}p[f++]=y}return p}function Re(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function Pe(){this.__data__=ll?ll(null):{}}function je(t){return this.has(t)&&delete this.__data__[t]}function qe(t){var e=this.__data__;if(ll){var n=e[t];return n===tt?X:n}return Mc.call(e,t)?e[t]:X}function Ue(t){var e=this.__data__;return ll?e[t]!==X:Mc.call(e,t)}function Ye(t,e){var n=this.__data__;return n[t]=ll&&e===X?tt:e,this}function Ve(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function $e(){this.__data__=[]}function ze(t){var e=this.__data__,n=pn(e,t);if(0>n)return!1;var r=e.length-1;return n==r?e.pop():$c.call(e,n,1),!0}function Ge(t){var e=this.__data__,n=pn(e,t);return 0>n?X:e[n][1]}function He(t){return pn(this.__data__,t)>-1}function We(t,e){var n=this.__data__,r=pn(n,t);return 0>r?n.push([t,e]):n[r][1]=e,this}function Ze(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function Xe(){this.__data__={hash:new Re,map:new(ul||Ve),string:new Re}}function Ke(t){return Ni(this,t)["delete"](t)}function Je(t){return Ni(this,t).get(t)}function Qe(t){return Ni(this,t).has(t)}function tn(t,e){return Ni(this,t).set(t,e),this}function en(t){var e=-1,n=t?t.length:0;for(this.__data__=new Ze;++e<n;)this.add(t[e])}function nn(t){return this.__data__.set(t,tt),this}function rn(t){return this.__data__.has(t)}function an(t){this.__data__=new Ve(t)}function un(){this.__data__=new Ve}function on(t){return this.__data__["delete"](t)}function sn(t){return this.__data__.get(t)}function cn(t){return this.__data__.has(t)}function ln(t,e){var n=this.__data__;return n instanceof Ve&&n.__data__.length==J&&(n=this.__data__=new Ze(n.__data__)),n.set(t,e),this}function hn(t,e,n,r){return t===X||to(t,kc[n])&&!Mc.call(r,n)?e:t}function fn(t,e,n){(n!==X&&!to(t[e],n)||"number"==typeof e&&n===X&&!(e in t))&&(t[e]=n)}function dn(t,e,n){var r=t[e];Mc.call(t,e)&&to(r,n)&&(n!==X||e in t)||(t[e]=n)}function pn(t,e){for(var n=t.length;n--;)if(to(t[n][0],e))return n;return-1}function gn(t,e,n,r){return wl(t,function(t,i,a){e(r,t,n(t),a)}),r}function yn(t,e){return t&&ri(e,rs(e),t)}function _n(t,e){for(var n=-1,r=null==t,i=e.length,a=Array(i);++n<i;)a[n]=r?X:ts(t,e[n]);return a}function Sn(t,e,n){return t===t&&(n!==X&&(t=n>=t?t:n),e!==X&&(t=t>=e?t:e)),t}function Cn(t,e,n,r,i,a,u){var s;if(r&&(s=a?r(t,i,a,u):r(t)),s!==X)return s;if(!mo(t))return t;var c=yh(t);if(c){if(s=$i(t),!e)return ni(t,s)}else{var l=Ui(t),h=l==Bt||l==Ot;if(mh(t))return $r(t,e);if(l==Rt||l==Ct||h&&!a){if(q(t))return a?t:{};if(s=zi(h?{}:t),!e)return ii(t,yn(s,t))}else{if(!Dn[l])return a?t:{};s=Gi(t,l,Cn,e)}}u||(u=new an);var f=u.get(t);if(f)return f;if(u.set(t,s),!c)var d=n?Fi(t):rs(t);return o(d||t,function(i,a){d&&(a=i,i=t[a]),dn(s,a,Cn(i,e,n,r,a,t,u))}),s}function Mn(t){var e=rs(t),n=e.length;return function(r){if(null==r)return!n;for(var i=n;i--;){var a=e[i],u=t[a],o=r[a];if(o===X&&!(a in Object(r))||!u(o))return!1}return!0}}function Tn(t){return mo(t)?Yc(t):{}}function Bn(t,e,n){if("function"!=typeof t)throw new wc(Q);return zc(function(){t.apply(X,n)},e)}function On(t,e,n,r){var i=-1,a=h,u=!0,o=t.length,s=[],c=e.length;if(!o)return s;n&&(e=d(e,C(n))),r?(a=f,u=!1):e.length>=J&&(a=T,u=!1,e=new en(e));t:for(;++i<o;){var l=t[i],p=n?n(l):l;if(l=r||0!==l?l:0,u&&p===p){for(var g=c;g--;)if(e[g]===p)continue t;s.push(l)}else a(e,p,r)||s.push(l)}return s}function Nn(t,e){var n=!0;return wl(t,function(t,r,i){return n=!!e(t,r,i)}),n}function Rn(t,e,n){for(var r=-1,i=t.length;++r<i;){var a=t[r],u=e(a);if(null!=u&&(o===X?u===u&&!Lo(u):n(u,o)))var o=u,s=a}return s}function Pn(t,e,n,r){var i=t.length;for(n=jo(n),0>n&&(n=-n>i?0:i+n),r=r===X||r>i?i:jo(r),0>r&&(r+=i),r=n>r?0:qo(r);r>n;)t[n++]=e;return t}function Un(t,e){var n=[];return wl(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}function Yn(t,e,n,r,i){var a=-1,u=t.length;for(n||(n=Wi),i||(i=[]);++a<u;){var o=t[a];e>0&&n(o)?e>1?Yn(o,e-1,n,r,i):p(i,o):r||(i[i.length]=o)}return i}function Vn(t,e){return t&&kl(t,e,rs)}function $n(t,e){return t&&El(t,e,rs)}function zn(t,e){return l(e,function(e){return po(t[e])})}function Gn(t,e){e=Ji(e,t)?[e]:Yr(e);for(var n=0,r=e.length;null!=t&&r>n;)t=t[ca(e[n++])];return n&&n==r?t:X}function Hn(t,e,n){var r=e(t);return yh(t)?r:p(r,n(t))}function Wn(t,e){return t>e}function Zn(t,e){return null!=t&&(Mc.call(t,e)||"object"==typeof t&&e in t&&null===ji(t))}function Xn(t,e){return null!=t&&e in Object(t)}function Kn(t,e,n){return t>=Qc(e,n)&&t<Jc(e,n)}function Jn(t,e,n){for(var r=n?f:h,i=t[0].length,a=t.length,u=a,o=Array(a),s=1/0,c=[];u--;){var l=t[u];u&&e&&(l=d(l,C(e))),s=Qc(l.length,s),o[u]=!n&&(e||i>=120&&l.length>=120)?new en(u&&l):X}l=t[0];var p=-1,g=o[0];t:for(;++p<i&&c.length<s;){var y=l[p],m=e?e(y):y;if(y=n||0!==y?y:0,!(g?T(g,m):r(c,m,n))){for(u=a;--u;){var v=o[u];if(!(v?T(v,m):r(t[u],m,n)))continue t}g&&g.push(m),c.push(y)}}return c}function Qn(t,e,n,r){return Vn(t,function(t,i,a){e(r,n(t),i,a)}),r}function tr(t,e,n){Ji(e,t)||(e=Yr(e),t=oa(t,e),e=Ta(e));var r=null==t?t:t[ca(e)];return null==r?X:a(r,t,n)}function er(t,e,n,r,i){return t===e?!0:null==t||null==e||!mo(t)&&!vo(e)?t!==t&&e!==e:nr(t,e,er,n,r,i)}function nr(t,e,n,r,i,a){var u=yh(t),o=yh(e),s=Mt,c=Mt;u||(s=Ui(t),s=s==Ct?Rt:s),o||(c=Ui(e),c=c==Ct?Rt:c);var l=s==Rt&&!q(t),h=c==Rt&&!q(e),f=s==c;if(f&&!l)return a||(a=new an),u||Bo(t)?Ci(t,e,n,r,i,a):Mi(t,e,s,n,r,i,a);if(!(i&dt)){var d=l&&Mc.call(t,"__wrapped__"),p=h&&Mc.call(e,"__wrapped__");if(d||p){var g=d?t.value():t,y=p?e.value():e;return a||(a=new an),n(g,y,r,i,a)}}return f?(a||(a=new an),Ti(t,e,n,r,i,a)):!1}function rr(t,e,n,r){var i=n.length,a=i,u=!r;if(null==t)return!a;for(t=Object(t);i--;){var o=n[i];if(u&&o[2]?o[1]!==t[o[0]]:!(o[0]in t))return!1}for(;++i<a;){o=n[i];var s=o[0],c=t[s],l=o[1];if(u&&o[2]){if(c===X&&!(s in t))return!1}else{var h=new an;if(r)var f=r(c,l,s,t,e,h);if(!(f===X?er(l,c,r,ft|dt,h):f))return!1}}return!0}function ir(t){if(!mo(t)||ea(t))return!1;var e=po(t)||q(t)?Oc:Se;return e.test(la(t))}function ar(t){return"function"==typeof t?t:null==t?Gs:"object"==typeof t?yh(t)?hr(t[0],t[1]):lr(t):tc(t)}function ur(t){return Kc(Object(t))}function or(t){t=null==t?t:Object(t);var e=[];for(var n in t)e.push(n);return e}function sr(t,e){return e>t}function cr(t,e){var n=-1,r=ro(t)?Array(t.length):[];return wl(t,function(t,i,a){r[++n]=e(t,i,a)}),r}function lr(t){var e=Ri(t);return 1==e.length&&e[0][2]?ia(e[0][0],e[0][1]):function(n){return n===t||rr(n,t,e)}}function hr(t,e){return Ji(t)&&ra(e)?ia(ca(t),e):function(n){var r=ts(n,t);return r===X&&r===e?ns(n,t):er(e,r,X,ft|dt)}}function fr(t,e,n,r,i){if(t!==e){if(!yh(e)&&!Bo(e))var a=is(e);o(a||e,function(u,o){if(a&&(o=u,u=e[o]),mo(u))i||(i=new an),dr(t,e,o,n,fr,r,i);else{var s=r?r(t[o],u,o+"",t,e,i):X;s===X&&(s=u),fn(t,o,s)}})}}function dr(t,e,n,r,i,a,u){var o=t[n],s=e[n],c=u.get(s);if(c)return void fn(t,n,c);var l=a?a(o,s,n+"",t,e,u):X,h=l===X;h&&(l=s,yh(s)||Bo(s)?yh(o)?l=o:io(o)?l=ni(o):(h=!1,l=Cn(s,!0)):So(s)||eo(s)?eo(o)?l=Yo(o):!mo(o)||r&&po(o)?(h=!1,l=Cn(s,!0)):l=o:h=!1),u.set(s,l),h&&i(l,s,r,a,u),u["delete"](s),fn(t,n,l)}function pr(t,e){var n=t.length;if(n)return e+=0>e?n:0,Xi(e,n)?t[e]:X}function gr(t,e,n){var r=-1;e=d(e.length?e:[Gs],C(Ii()));var i=cr(t,function(t){var n=d(e,function(e){return e(t)});return{criteria:n,index:++r,value:t}});return k(i,function(t,e){return Qr(t,e,n)})}function yr(t,e){return t=Object(t),g(e,function(e,n){return n in t&&(e[n]=t[n]),e},{})}function mr(t,e){for(var n=-1,r=Li(t),i=r.length,a={};++n<i;){var u=r[n],o=t[u];e(o,u)&&(a[u]=o)}return a}function vr(t){return function(e){return null==e?X:e[t]}}function _r(t){return function(e){return Gn(e,t)}}function br(t,e,n,r){var i=r?x:b,a=-1,u=e.length,o=t;for(t===e&&(e=ni(e)),n&&(o=d(t,C(n)));++a<u;)for(var s=0,c=e[a],l=n?n(c):c;(s=i(o,l,s,r))>-1;)o!==t&&$c.call(o,s,1),$c.call(t,s,1);return t}function xr(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==a){var a=i;if(Xi(i))$c.call(t,i,1);else if(Ji(i,t))delete t[ca(i)];else{var u=Yr(i),o=oa(t,u);null!=o&&delete o[ca(Ta(u))]}}}return t}function wr(t,e){return t+Hc(el()*(e-t+1))}function Ar(t,e,n,r){for(var i=-1,a=Jc(Gc((e-t)/(n||1)),0),u=Array(a);a--;)u[r?a:++i]=t,t+=n;return u}function kr(t,e){var n="";if(!t||1>e||e>wt)return n;do e%2&&(n+=t),e=Hc(e/2),e&&(t+=t);while(e);return n}function Er(t,e,n,r){e=Ji(e,t)?[e]:Yr(e);for(var i=-1,a=e.length,u=a-1,o=t;null!=o&&++i<a;){var s=ca(e[i]);if(mo(o)){var c=n;if(i!=u){var l=o[s];c=r?r(l,s,o):X,c===X&&(c=null==l?Xi(e[i+1])?[]:{}:l)}dn(o,s,c)}o=o[s]}return t}function Dr(t,e,n){var r=-1,i=t.length;0>e&&(e=-e>i?0:i+e),n=n>i?i:n,0>n&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var a=Array(i);++r<i;)a[r]=t[r+e];return a}function Sr(t,e){var n;return wl(t,function(t,r,i){return n=e(t,r,i),!n}),!!n}function Cr(t,e,n){var r=0,i=t?t.length:r;if("number"==typeof e&&e===e&&St>=i){for(;i>r;){var a=r+i>>>1,u=t[a];null!==u&&!Lo(u)&&(n?e>=u:e>u)?r=a+1:i=a}return i}return Mr(t,e,Gs,n)}function Mr(t,e,n,r){e=n(e);for(var i=0,a=t?t.length:0,u=e!==e,o=null===e,s=Lo(e),c=e===X;a>i;){var l=Hc((i+a)/2),h=n(t[l]),f=h!==X,d=null===h,p=h===h,g=Lo(h);if(u)var y=r||p;else y=c?p&&(r||f):o?p&&f&&(r||!d):s?p&&f&&!d&&(r||!g):d||g?!1:r?e>=h:e>h;y?i=l+1:a=l}return Qc(a,Dt)}function Tr(t,e){for(var n=-1,r=t.length,i=0,a=[];++n<r;){var u=t[n],o=e?e(u):u;if(!n||!to(o,s)){var s=o;a[i++]=0===u?0:u}}return a}function Fr(t){return"number"==typeof t?t:Lo(t)?kt:+t}function Lr(t){if("string"==typeof t)return t;if(Lo(t))return xl?xl.call(t):"";var e=t+"";return"0"==e&&1/t==-xt?"-0":e}function Br(t,e,n){var r=-1,i=h,a=t.length,u=!0,o=[],s=o;if(n)u=!1,i=f;else if(a>=J){var c=e?null:Sl(t);if(c)return $(c);u=!1,i=T,s=new en}else s=e?[]:o;t:for(;++r<a;){var l=t[r],d=e?e(l):l;if(l=n||0!==l?l:0,u&&d===d){for(var p=s.length;p--;)if(s[p]===d)continue t;e&&s.push(d),o.push(l)}else i(s,d,n)||(s!==o&&s.push(d),o.push(l))}return o}function Or(t,e){e=Ji(e,t)?[e]:Yr(e),t=oa(t,e);var n=ca(Ta(e));return!(null!=t&&Zn(t,n))||delete t[n]}function Ir(t,e,n,r){return Er(t,e,n(Gn(t,e)),r)}function Nr(t,e,n,r){for(var i=t.length,a=r?i:-1;(r?a--:++a<i)&&e(t[a],a,t););return n?Dr(t,r?0:a,r?a+1:i):Dr(t,r?a+1:0,r?i:a)}function Rr(t,e){var n=t;return n instanceof Be&&(n=n.value()),g(e,function(t,e){return e.func.apply(e.thisArg,p([t],e.args))},n)}function Pr(t,e,n){for(var r=-1,i=t.length;++r<i;)var a=a?p(On(a,t[r],e,n),On(t[r],a,e,n)):t[r];return a&&a.length?Br(a,e,n):[]}function jr(t,e,n){for(var r=-1,i=t.length,a=e.length,u={};++r<i;){var o=a>r?e[r]:X;n(u,t[r],o)}return u}function qr(t){return io(t)?t:[]}function Ur(t){return"function"==typeof t?t:Gs}function Yr(t){return yh(t)?t:Bl(t)}function Vr(t,e,n){var r=t.length;return n=n===X?r:n,!e&&n>=r?t:Dr(t,e,n)}function $r(t,e){if(e)return t.slice();var n=new t.constructor(t.length);return t.copy(n),n}function zr(t){var e=new t.constructor(t.byteLength);return new Pc(e).set(new Pc(t)),e}function Gr(t,e){var n=e?zr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}function Hr(t,e,n){var i=e?n(Y(t),!0):Y(t);return g(i,r,new t.constructor)}function Wr(t){var e=new t.constructor(t.source,Ae.exec(t));return e.lastIndex=t.lastIndex,e}function Zr(t,e,n){var r=e?n($(t),!0):$(t);return g(r,i,new t.constructor)}function Xr(t){return bl?Object(bl.call(t)):{}}function Kr(t,e){var n=e?zr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Jr(t,e){if(t!==e){var n=t!==X,r=null===t,i=t===t,a=Lo(t),u=e!==X,o=null===e,s=e===e,c=Lo(e);if(!o&&!c&&!a&&t>e||a&&u&&s&&!o&&!c||r&&u&&s||!n&&s||!i)return 1;if(!r&&!a&&!c&&e>t||c&&n&&i&&!r&&!a||o&&n&&i||!u&&i||!s)return-1}return 0}function Qr(t,e,n){for(var r=-1,i=t.criteria,a=e.criteria,u=i.length,o=n.length;++r<u;){var s=Jr(i[r],a[r]);if(s){if(r>=o)return s;var c=n[r];return s*("desc"==c?-1:1)}}return t.index-e.index}function ti(t,e,n,r){for(var i=-1,a=t.length,u=n.length,o=-1,s=e.length,c=Jc(a-u,0),l=Array(s+c),h=!r;++o<s;)l[o]=e[o];for(;++i<u;)(h||a>i)&&(l[n[i]]=t[i]);for(;c--;)l[o++]=t[i++];return l}function ei(t,e,n,r){for(var i=-1,a=t.length,u=-1,o=n.length,s=-1,c=e.length,l=Jc(a-o,0),h=Array(l+c),f=!r;++i<l;)h[i]=t[i];for(var d=i;++s<c;)h[d+s]=e[s];for(;++u<o;)(f||a>i)&&(h[d+n[u]]=t[i++]);return h}function ni(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}function ri(t,e,n,r){n||(n={});for(var i=-1,a=e.length;++i<a;){var u=e[i],o=r?r(n[u],t[u],u,n,t):t[u];dn(n,u,o)}return n}function ii(t,e){return ri(t,qi(t),e)}function ai(t,e){return function(n,r){var i=yh(n)?u:gn,a=e?e():{};return i(n,t,Ii(r),a)}}function ui(t){return $u(function(e,n){var r=-1,i=n.length,a=i>1?n[i-1]:X,u=i>2?n[2]:X;for(a=t.length>3&&"function"==typeof a?(i--,a):X,u&&Ki(n[0],n[1],u)&&(a=3>i?X:a,i=1),e=Object(e);++r<i;){var o=n[r];o&&t(e,o,r,a)}return e})}function oi(t,e){return function(n,r){if(null==n)return n;if(!ro(n))return t(n,r);for(var i=n.length,a=e?i:-1,u=Object(n);(e?a--:++a<i)&&r(u[a],a,u)!==!1;);return n}}function si(t){return function(e,n,r){for(var i=-1,a=Object(e),u=r(e),o=u.length;o--;){var s=u[t?o:++i];if(n(a[s],s,a)===!1)break}return e}}function ci(t,e,n){function r(){var e=this&&this!==jn&&this instanceof r?a:t;return e.apply(i?n:this,arguments)}var i=e&nt,a=fi(t);return r}function li(t){return function(e){e=$o(e);var n=xn.test(e)?H(e):X,r=n?n[0]:e.charAt(0),i=n?Vr(n,1).join(""):e.slice(1);return r[t]()+i}}function hi(t){return function(e){return g(Ys(ws(e).replace(mn,"")),t,"")}}function fi(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var n=Tn(t.prototype),r=t.apply(n,e);return mo(r)?r:n}}function di(t,e,n){function r(){for(var u=arguments.length,o=Array(u),s=u,c=Oi(r);s--;)o[s]=arguments[s];var l=3>u&&o[0]!==c&&o[u-1]!==c?[]:V(o,c);if(u-=l.length,n>u)return ki(t,e,yi,r.placeholder,X,o,l,X,X,n-u);var h=this&&this!==jn&&this instanceof r?i:t;return a(h,this,o)}var i=fi(t);return r}function pi(t){return function(e,n,r){var i=Object(e);if(n=Ii(n,3),!ro(e))var a=rs(e);var u=t(a||e,function(t,e){return a&&(e=t,t=i[e]),n(t,e,i)},r);return u>-1?e[a?a[u]:u]:X}}function gi(t){return $u(function(e){e=Yn(e,1);var n=e.length,r=n,i=B.prototype.thru;for(t&&e.reverse();r--;){var a=e[r];if("function"!=typeof a)throw new wc(Q);if(i&&!u&&"wrapper"==Bi(a))var u=new B([],!0)}for(r=u?r:n;++r<n;){a=e[r];var o=Bi(a),s="wrapper"==o?Cl(a):X;u=s&&ta(s[0])&&s[1]==(ct|at|ot|lt)&&!s[4].length&&1==s[9]?u[Bi(s[0])].apply(u,s[3]):1==a.length&&ta(a)?u[o]():u.thru(a)}return function(){var t=arguments,r=t[0];if(u&&1==t.length&&yh(r)&&r.length>=J)return u.plant(r).value();for(var i=0,a=n?e[i].apply(this,t):r;++i<n;)a=e[i].call(this,a);return a}})}function yi(t,e,n,r,i,a,u,o,s,c){function l(){for(var m=arguments.length,v=Array(m),_=m;_--;)v[_]=arguments[_];if(p)var b=Oi(l),x=O(v,b);if(r&&(v=ti(v,r,i,p)),a&&(v=ei(v,a,u,p)),m-=x,p&&c>m){var w=V(v,b);return ki(t,e,yi,l.placeholder,n,v,w,o,s,c-m)}var A=f?n:this,k=d?A[t]:t;return m=v.length,o?v=sa(v,o):g&&m>1&&v.reverse(),h&&m>s&&(v.length=s),this&&this!==jn&&this instanceof l&&(k=y||fi(k)),k.apply(A,v)}var h=e&ct,f=e&nt,d=e&rt,p=e&(at|ut),g=e&ht,y=d?X:fi(t);return l}function mi(t,e){return function(n,r){return Qn(n,t,e(r),{})}}function vi(t){return function(e,n){var r;if(e===X&&n===X)return 0;if(e!==X&&(r=e),n!==X){if(r===X)return n;"string"==typeof e||"string"==typeof n?(e=Lr(e),n=Lr(n)):(e=Fr(e),n=Fr(n)),r=t(e,n)}return r}}function _i(t){return $u(function(e){return e=1==e.length&&yh(e[0])?d(e[0],C(Ii())):d(Yn(e,1,Zi),C(Ii())),$u(function(n){var r=this;return t(e,function(t){return a(t,r,n)})})})}function bi(t,e){e=e===X?" ":Lr(e);var n=e.length;if(2>n)return n?kr(e,t):e;var r=kr(e,Gc(t/G(e)));return xn.test(e)?Vr(H(r),0,t).join(""):r.slice(0,t)}function xi(t,e,n,r){function i(){for(var e=-1,s=arguments.length,c=-1,l=r.length,h=Array(l+s),f=this&&this!==jn&&this instanceof i?o:t;++c<l;)h[c]=r[c];for(;s--;)h[c++]=arguments[++e];return a(f,u?n:this,h)}var u=e&nt,o=fi(t);return i}function wi(t){return function(e,n,r){return r&&"number"!=typeof r&&Ki(e,n,r)&&(n=r=X),e=Uo(e),e=e===e?e:0,n===X?(n=e,e=0):n=Uo(n)||0,r=r===X?n>e?1:-1:Uo(r)||0,Ar(e,n,r,t)}}function Ai(t){return function(e,n){return("string"!=typeof e||"string"!=typeof n)&&(e=Uo(e),n=Uo(n)),t(e,n)}}function ki(t,e,n,r,i,a,u,o,s,c){var l=e&at,h=l?u:X,f=l?X:u,d=l?a:X,p=l?X:a;e|=l?ot:st,e&=~(l?st:ot),e&it||(e&=~(nt|rt));var g=[t,e,i,d,h,p,f,o,s,c],y=n.apply(X,g);return ta(t)&&Ll(y,g),y.placeholder=r,y}function Ei(t){var e=bc[t];return function(t,n){if(t=Uo(t),n=Qc(jo(n),292)){var r=($o(t)+"e").split("e"),i=e(r[0]+"e"+(+r[1]+n));return r=($o(i)+"e").split("e"),+(r[0]+"e"+(+r[1]-n))}return e(t)}}function Di(t){return function(e){var n=Ui(e);return n==It?Y(e):n==qt?z(e):S(e,t(e))}}function Si(t,e,n,r,i,a,u,o){var s=e&rt;if(!s&&"function"!=typeof t)throw new wc(Q);var c=r?r.length:0;if(c||(e&=~(ot|st),r=i=X),u=u===X?u:Jc(jo(u),0),o=o===X?o:jo(o),c-=i?i.length:0,e&st){var l=r,h=i;r=i=X}var f=s?X:Cl(t),d=[t,e,n,r,i,l,h,a,u,o];if(f&&aa(d,f),t=d[0],e=d[1],n=d[2],r=d[3],i=d[4],o=d[9]=null==d[9]?s?0:t.length:Jc(d[9]-c,0),!o&&e&(at|ut)&&(e&=~(at|ut)),e&&e!=nt)p=e==at||e==ut?di(t,e,o):e!=ot&&e!=(nt|ot)||i.length?yi.apply(X,d):xi(t,e,n,r);else var p=ci(t,e,n);var g=f?Dl:Ll;return g(p,d)}function Ci(t,e,n,r,i,a){var u=i&dt,o=t.length,s=e.length;if(o!=s&&!(u&&s>o))return!1;var c=a.get(t);if(c)return c==e;var l=-1,h=!0,f=i&ft?new en:X;for(a.set(t,e);++l<o;){var d=t[l],p=e[l];if(r)var g=u?r(p,d,l,e,t,a):r(d,p,l,t,e,a);if(g!==X){if(g)continue;h=!1;break}if(f){if(!m(e,function(t,e){return f.has(e)||d!==t&&!n(d,t,r,i,a)?void 0:f.add(e)})){h=!1;break}}else if(d!==p&&!n(d,p,r,i,a)){h=!1;break}}return a["delete"](t),h}function Mi(t,e,n,r,i,a,u){switch(n){case Gt:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case zt:return t.byteLength==e.byteLength&&r(new Pc(t),new Pc(e))?!0:!1;case Tt:case Ft:return+t==+e;case Lt:return t.name==e.name&&t.message==e.message;case Nt:return t!=+t?e!=+e:t==+e;case jt:case Ut:return t==e+"";case It:var o=Y;case qt:var s=a&dt;if(o||(o=$),t.size!=e.size&&!s)return!1;var c=u.get(t);return c?c==e:(a|=ft,u.set(t,e),Ci(o(t),o(e),r,i,a,u));case Yt:if(bl)return bl.call(t)==bl.call(e)}return!1}function Ti(t,e,n,r,i,a){var u=i&dt,o=rs(t),s=o.length,c=rs(e),l=c.length;if(s!=l&&!u)return!1;for(var h=s;h--;){var f=o[h];if(!(u?f in e:Zn(e,f)))return!1}var d=a.get(t);if(d)return d==e;var p=!0;a.set(t,e);for(var g=u;++h<s;){f=o[h];var y=t[f],m=e[f];if(r)var v=u?r(m,y,f,e,t,a):r(y,m,f,t,e,a);if(!(v===X?y===m||n(y,m,r,i,a):v)){p=!1;break}g||(g="constructor"==f)}if(p&&!g){var _=t.constructor,b=e.constructor;_!=b&&"constructor"in t&&"constructor"in e&&!("function"==typeof _&&_ instanceof _&&"function"==typeof b&&b instanceof b)&&(p=!1)}return a["delete"](t),p}function Fi(t){return Hn(t,rs,qi)}function Li(t){return Hn(t,is,Tl)}function Bi(t){for(var e=t.name+"",n=dl[e],r=Mc.call(dl,e)?n.length:0;r--;){var i=n[r],a=i.func;if(null==a||a==t)return i.name}return e}function Oi(t){var n=Mc.call(e,"placeholder")?e:t;return n.placeholder}function Ii(){var t=e.iteratee||Hs;return t=t===Hs?ar:t,arguments.length?t(arguments[0],arguments[1]):t}function Ni(t,e){var n=t.__data__;return Qi(e)?n["string"==typeof e?"string":"hash"]:n.map}function Ri(t){for(var e=rs(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,ra(i)]}return e}function Pi(t,e){var n=P(t,e);return ir(n)?n:X}function ji(t){return Wc(Object(t))}function qi(t){return qc(Object(t))}function Ui(t){return Lc.call(t)}function Yi(t,e,n){for(var r=-1,i=n.length;++r<i;){var a=n[r],u=a.size;switch(a.type){case"drop":t+=u;break;case"dropRight":e-=u;break;case"take":e=Qc(e,t+u);break;case"takeRight":t=Jc(t,e-u)}}return{start:t,end:e}}function Vi(t,e,n){e=Ji(e,t)?[e]:Yr(e);for(var r,i=-1,a=e.length;++i<a;){var u=ca(e[i]);if(!(r=null!=t&&n(t,u)))break;t=t[u]}if(r)return r;var a=t?t.length:0;return!!a&&yo(a)&&Xi(u,a)&&(yh(t)||Fo(t)||eo(t))}function $i(t){var e=t.length,n=t.constructor(e);return e&&"string"==typeof t[0]&&Mc.call(t,"index")&&(n.index=t.index,n.input=t.input),n}function zi(t){return"function"!=typeof t.constructor||na(t)?{}:Tn(ji(t))}function Gi(t,e,n,r){var i=t.constructor;switch(e){case zt:return zr(t);case Tt:case Ft:return new i(+t);case Gt:return Gr(t,r);case Ht:case Wt:case Zt:case Xt:case Kt:case Jt:case Qt:case te:case ee:return Kr(t,r);case It:return Hr(t,r,n);case Nt:case Ut:return new i(t);case jt:return Wr(t);case qt:return Zr(t,r,n);case Yt:return Xr(t)}}function Hi(t){var e=t?t.length:X;return yo(e)&&(yh(t)||Fo(t)||eo(t))?D(e,String):null}function Wi(t){return yh(t)||eo(t)}function Zi(t){return yh(t)&&!(2==t.length&&!po(t[0]))}function Xi(t,e){return e=null==e?wt:e,!!e&&("number"==typeof t||Me.test(t))&&t>-1&&t%1==0&&e>t}function Ki(t,e,n){if(!mo(n))return!1;var r=typeof e;return("number"==r?ro(n)&&Xi(e,n.length):"string"==r&&e in n)?to(n[e],t):!1}function Ji(t,e){if(yh(t))return!1;var n=typeof t;return"number"==n||"symbol"==n||"boolean"==n||null==t||Lo(t)?!0:de.test(t)||!fe.test(t)||null!=e&&t in Object(e)}function Qi(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}function ta(t){var n=Bi(t),r=e[n];if("function"!=typeof r||!(n in Be.prototype))return!1;if(t===r)return!0;var i=Cl(r);return!!i&&t===i[0]}function ea(t){return!!Sc&&Sc in t}function na(t){var e=t&&t.constructor,n="function"==typeof e&&e.prototype||kc;return t===n}function ra(t){return t===t&&!mo(t)}function ia(t,e){return function(n){return null==n?!1:n[t]===e&&(e!==X||t in Object(n))}}function aa(t,e){var n=t[1],r=e[1],i=n|r,a=(nt|rt|ct)>i,u=r==ct&&n==at||r==ct&&n==lt&&t[7].length<=e[8]||r==(ct|lt)&&e[7].length<=e[8]&&n==at;if(!a&&!u)return t;r&nt&&(t[2]=e[2],i|=n&nt?0:it);var o=e[3];if(o){var s=t[3];t[3]=s?ti(s,o,e[4]):o,t[4]=s?V(t[3],et):e[4]}return o=e[5],o&&(s=t[5],t[5]=s?ei(s,o,e[6]):o,t[6]=s?V(t[5],et):e[6]),o=e[7],o&&(t[7]=o),r&ct&&(t[8]=null==t[8]?e[8]:Qc(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=i,t}function ua(t,e,n,r,i,a){return mo(t)&&mo(e)&&fr(t,e,X,ua,a.set(e,t)),t}function oa(t,e){return 1==e.length?t:Gn(t,Dr(e,0,-1))}function sa(t,e){for(var n=t.length,r=Qc(e.length,n),i=ni(t);r--;){var a=e[r];t[r]=Xi(a,n)?i[a]:X}return t}function ca(t){if("string"==typeof t||Lo(t))return t;var e=t+"";return"0"==e&&1/t==-xt?"-0":e}function la(t){if(null!=t){try{return Cc.call(t)}catch(e){}try{return t+""}catch(e){}}return""}function ha(t){if(t instanceof Be)return t.clone();var e=new B(t.__wrapped__,t.__chain__);return e.__actions__=ni(t.__actions__),e.__index__=t.__index__,e.__values__=t.__values__,e}function fa(t,e,n){e=(n?Ki(t,e,n):e===X)?1:Jc(jo(e),0);var r=t?t.length:0;if(!r||1>e)return[];for(var i=0,a=0,u=Array(Gc(r/e));r>i;)u[a++]=Dr(t,i,i+=e);return u}function da(t){for(var e=-1,n=t?t.length:0,r=0,i=[];++e<n;){var a=t[e];a&&(i[r++]=a)}return i}function pa(){for(var t=arguments.length,e=Array(t?t-1:0),n=arguments[0],r=t;r--;)e[r-1]=arguments[r];return t?p(yh(n)?ni(n):[n],Yn(e,1)):[]}function ga(t,e,n){var r=t?t.length:0;return r?(e=n||e===X?1:jo(e),Dr(t,0>e?0:e,r)):[]}function ya(t,e,n){var r=t?t.length:0;return r?(e=n||e===X?1:jo(e),e=r-e,Dr(t,0,0>e?0:e)):[]}function ma(t,e){return t&&t.length?Nr(t,Ii(e,3),!0,!0):[]}function va(t,e){return t&&t.length?Nr(t,Ii(e,3),!0):[]}function _a(t,e,n,r){var i=t?t.length:0;return i?(n&&"number"!=typeof n&&Ki(t,e,n)&&(n=0,r=i),Pn(t,e,n,r)):[]}function ba(t,e,n){var r=t?t.length:0;if(!r)return-1;var i=null==n?0:jo(n);return 0>i&&(i=Jc(r+i,0)),_(t,Ii(e,3),i)}function xa(t,e,n){var r=t?t.length:0;if(!r)return-1;var i=r-1;return n!==X&&(i=jo(n),i=0>n?Jc(r+i,0):Qc(i,r-1)),_(t,Ii(e,3),i,!0)}function wa(t){var e=t?t.length:0;return e?Yn(t,1):[]}function Aa(t){var e=t?t.length:0;return e?Yn(t,xt):[]}function ka(t,e){var n=t?t.length:0;return n?(e=e===X?1:jo(e),Yn(t,e)):[]}function Ea(t){for(var e=-1,n=t?t.length:0,r={};++e<n;){var i=t[e];r[i[0]]=i[1]}return r}function Da(t){return t&&t.length?t[0]:X}function Sa(t,e,n){var r=t?t.length:0;if(!r)return-1;var i=null==n?0:jo(n);return 0>i&&(i=Jc(r+i,0)),b(t,e,i)}function Ca(t){return ya(t,1)}function Ma(t,e){return t?Xc.call(t,e):""}function Ta(t){var e=t?t.length:0;return e?t[e-1]:X}function Fa(t,e,n){var r=t?t.length:0;if(!r)return-1;var i=r;if(n!==X&&(i=jo(n),i=(0>i?Jc(r+i,0):Qc(i,r-1))+1),e!==e)return j(t,i-1,!0);for(;i--;)if(t[i]===e)return i;return-1}function La(t,e){return t&&t.length?pr(t,jo(e)):X}function Ba(t,e){return t&&t.length&&e&&e.length?br(t,e):t}function Oa(t,e,n){return t&&t.length&&e&&e.length?br(t,e,Ii(n)):t}function Ia(t,e,n){return t&&t.length&&e&&e.length?br(t,e,X,n):t}function Na(t,e){var n=[];if(!t||!t.length)return n;var r=-1,i=[],a=t.length;for(e=Ii(e,3);++r<a;){var u=t[r];e(u,r,t)&&(n.push(u),i.push(r))}return xr(t,i),n}function Ra(t){return t?rl.call(t):t}function Pa(t,e,n){var r=t?t.length:0;return r?(n&&"number"!=typeof n&&Ki(t,e,n)?(e=0,n=r):(e=null==e?0:jo(e),n=n===X?r:jo(n)),Dr(t,e,n)):[]}function ja(t,e){return Cr(t,e)}function qa(t,e,n){return Mr(t,e,Ii(n));

}function Ua(t,e){var n=t?t.length:0;if(n){var r=Cr(t,e);if(n>r&&to(t[r],e))return r}return-1}function Ya(t,e){return Cr(t,e,!0)}function Va(t,e,n){return Mr(t,e,Ii(n),!0)}function $a(t,e){var n=t?t.length:0;if(n){var r=Cr(t,e,!0)-1;if(to(t[r],e))return r}return-1}function za(t){return t&&t.length?Tr(t):[]}function Ga(t,e){return t&&t.length?Tr(t,Ii(e)):[]}function Ha(t){return ga(t,1)}function Wa(t,e,n){return t&&t.length?(e=n||e===X?1:jo(e),Dr(t,0,0>e?0:e)):[]}function Za(t,e,n){var r=t?t.length:0;return r?(e=n||e===X?1:jo(e),e=r-e,Dr(t,0>e?0:e,r)):[]}function Xa(t,e){return t&&t.length?Nr(t,Ii(e,3),!1,!0):[]}function Ka(t,e){return t&&t.length?Nr(t,Ii(e,3)):[]}function Ja(t){return t&&t.length?Br(t):[]}function Qa(t,e){return t&&t.length?Br(t,Ii(e)):[]}function tu(t,e){return t&&t.length?Br(t,X,e):[]}function eu(t){if(!t||!t.length)return[];var e=0;return t=l(t,function(t){return io(t)?(e=Jc(t.length,e),!0):void 0}),D(e,function(e){return d(t,vr(e))})}function nu(t,e){if(!t||!t.length)return[];var n=eu(t);return null==e?n:d(n,function(t){return a(e,X,t)})}function ru(t,e){return jr(t||[],e||[],dn)}function iu(t,e){return jr(t||[],e||[],Er)}function au(t){var n=e(t);return n.__chain__=!0,n}function uu(t,e){return e(t),t}function ou(t,e){return e(t)}function su(){return au(this)}function cu(){return new B(this.value(),this.__chain__)}function lu(){this.__values__===X&&(this.__values__=Ro(this.value()));var t=this.__index__>=this.__values__.length,e=t?X:this.__values__[this.__index__++];return{done:t,value:e}}function hu(){return this}function fu(t){for(var e,r=this;r instanceof n;){var i=ha(r);i.__index__=0,i.__values__=X,e?a.__wrapped__=i:e=i;var a=i;r=r.__wrapped__}return a.__wrapped__=t,e}function du(){var t=this.__wrapped__;if(t instanceof Be){var e=t;return this.__actions__.length&&(e=new Be(this)),e=e.reverse(),e.__actions__.push({func:ou,args:[Ra],thisArg:X}),new B(e,this.__chain__)}return this.thru(Ra)}function pu(){return Rr(this.__wrapped__,this.__actions__)}function gu(t,e,n){var r=yh(t)?c:Nn;return n&&Ki(t,e,n)&&(e=X),r(t,Ii(e,3))}function yu(t,e){var n=yh(t)?l:Un;return n(t,Ii(e,3))}function mu(t,e){return Yn(Au(t,e),1)}function vu(t,e){return Yn(Au(t,e),xt)}function _u(t,e,n){return n=n===X?1:jo(n),Yn(Au(t,e),n)}function bu(t,e){var n=yh(t)?o:wl;return n(t,Ii(e,3))}function xu(t,e){var n=yh(t)?s:Al;return n(t,Ii(e,3))}function wu(t,e,n,r){t=ro(t)?t:ys(t),n=n&&!r?jo(n):0;var i=t.length;return 0>n&&(n=Jc(i+n,0)),Fo(t)?i>=n&&t.indexOf(e,n)>-1:!!i&&b(t,e,n)>-1}function Au(t,e){var n=yh(t)?d:cr;return n(t,Ii(e,3))}function ku(t,e,n,r){return null==t?[]:(yh(e)||(e=null==e?[]:[e]),n=r?X:n,yh(n)||(n=null==n?[]:[n]),gr(t,e,n))}function Eu(t,e,n){var r=yh(t)?g:A,i=arguments.length<3;return r(t,Ii(e,4),n,i,wl)}function Du(t,e,n){var r=yh(t)?y:A,i=arguments.length<3;return r(t,Ii(e,4),n,i,Al)}function Su(t,e){var n=yh(t)?l:Un;return e=Ii(e,3),n(t,function(t,n,r){return!e(t,n,r)})}function Cu(t){var e=ro(t)?t:ys(t),n=e.length;return n>0?e[wr(0,n-1)]:X}function Mu(t,e,n){var r=-1,i=Ro(t),a=i.length,u=a-1;for(e=(n?Ki(t,e,n):e===X)?1:Sn(jo(e),0,a);++r<e;){var o=wr(r,u),s=i[o];i[o]=i[r],i[r]=s}return i.length=e,i}function Tu(t){return Mu(t,Et)}function Fu(t){if(null==t)return 0;if(ro(t)){var e=t.length;return e&&Fo(t)?G(t):e}if(vo(t)){var n=Ui(t);if(n==It||n==qt)return t.size}return rs(t).length}function Lu(t,e,n){var r=yh(t)?m:Sr;return n&&Ki(t,e,n)&&(e=X),r(t,Ii(e,3))}function Bu(){return vc.now()}function Ou(t,e){if("function"!=typeof e)throw new wc(Q);return t=jo(t),function(){return--t<1?e.apply(this,arguments):void 0}}function Iu(t,e,n){return e=n?X:e,e=t&&null==e?t.length:e,Si(t,ct,X,X,X,X,e)}function Nu(t,e){var n;if("function"!=typeof e)throw new wc(Q);return t=jo(t),function(){return--t>0&&(n=e.apply(this,arguments)),1>=t&&(e=X),n}}function Ru(t,e,n){e=n?X:e;var r=Si(t,at,X,X,X,X,X,e);return r.placeholder=Ru.placeholder,r}function Pu(t,e,n){e=n?X:e;var r=Si(t,ut,X,X,X,X,X,e);return r.placeholder=Pu.placeholder,r}function ju(t,e,n){function r(e){var n=f,r=d;return f=d=X,v=e,g=t.apply(r,n)}function i(t){return v=t,y=zc(o,e),_?r(t):g}function a(t){var n=t-m,r=t-v,i=e-n;return b?Qc(i,p-r):i}function u(t){var n=t-m,r=t-v;return m===X||n>=e||0>n||b&&r>=p}function o(){var t=Bu();return u(t)?s(t):void(y=zc(o,a(t)))}function s(t){return y=X,x&&f?r(t):(f=d=X,g)}function c(){v=0,f=m=d=y=X}function l(){return y===X?g:s(Bu())}function h(){var t=Bu(),n=u(t);if(f=arguments,d=this,m=t,n){if(y===X)return i(m);if(b)return y=zc(o,e),r(m)}return y===X&&(y=zc(o,e)),g}var f,d,p,g,y,m,v=0,_=!1,b=!1,x=!0;if("function"!=typeof t)throw new wc(Q);return e=Uo(e)||0,mo(n)&&(_=!!n.leading,b="maxWait"in n,p=b?Jc(Uo(n.maxWait)||0,e):p,x="trailing"in n?!!n.trailing:x),h.cancel=c,h.flush=l,h}function qu(t){return Si(t,ht)}function Uu(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new wc(Q);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var u=t.apply(this,r);return n.cache=a.set(i,u),u};return n.cache=new(Uu.Cache||Ze),n}function Yu(t){if("function"!=typeof t)throw new wc(Q);return function(){return!t.apply(this,arguments)}}function Vu(t){return Nu(2,t)}function $u(t,e){if("function"!=typeof t)throw new wc(Q);return e=Jc(e===X?t.length-1:jo(e),0),function(){for(var n=arguments,r=-1,i=Jc(n.length-e,0),u=Array(i);++r<i;)u[r]=n[e+r];switch(e){case 0:return t.call(this,u);case 1:return t.call(this,n[0],u);case 2:return t.call(this,n[0],n[1],u)}var o=Array(e+1);for(r=-1;++r<e;)o[r]=n[r];return o[e]=u,a(t,this,o)}}function zu(t,e){if("function"!=typeof t)throw new wc(Q);return e=e===X?0:Jc(jo(e),0),$u(function(n){var r=n[e],i=Vr(n,0,e);return r&&p(i,r),a(t,this,i)})}function Gu(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new wc(Q);return mo(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),ju(t,e,{leading:r,maxWait:e,trailing:i})}function Hu(t){return Iu(t,1)}function Wu(t,e){return e=null==e?Gs:e,hh(e,t)}function Zu(){if(!arguments.length)return[];var t=arguments[0];return yh(t)?t:[t]}function Xu(t){return Cn(t,!1,!0)}function Ku(t,e){return Cn(t,!1,!0,e)}function Ju(t){return Cn(t,!0,!0)}function Qu(t,e){return Cn(t,!0,!0,e)}function to(t,e){return t===e||t!==t&&e!==e}function eo(t){return io(t)&&Mc.call(t,"callee")&&(!Vc.call(t,"callee")||Lc.call(t)==Ct)}function no(t){return vo(t)&&Lc.call(t)==zt}function ro(t){return null!=t&&yo(Ml(t))&&!po(t)}function io(t){return vo(t)&&ro(t)}function ao(t){return t===!0||t===!1||vo(t)&&Lc.call(t)==Tt}function uo(t){return vo(t)&&Lc.call(t)==Ft}function oo(t){return!!t&&1===t.nodeType&&vo(t)&&!So(t)}function so(t){if(ro(t)&&(yh(t)||Fo(t)||po(t.splice)||eo(t)||mh(t)))return!t.length;if(vo(t)){var e=Ui(t);if(e==It||e==qt)return!t.size}for(var n in t)if(Mc.call(t,n))return!1;return!(fl&&rs(t).length)}function co(t,e){return er(t,e)}function lo(t,e,n){n="function"==typeof n?n:X;var r=n?n(t,e):X;return r===X?er(t,e,n):!!r}function ho(t){return vo(t)?Lc.call(t)==Lt||"string"==typeof t.message&&"string"==typeof t.name:!1}function fo(t){return"number"==typeof t&&Zc(t)}function po(t){var e=mo(t)?Lc.call(t):"";return e==Bt||e==Ot}function go(t){return"number"==typeof t&&t==jo(t)}function yo(t){return"number"==typeof t&&t>-1&&t%1==0&&wt>=t}function mo(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function vo(t){return!!t&&"object"==typeof t}function _o(t){return vo(t)&&Ui(t)==It}function bo(t,e){return t===e||rr(t,e,Ri(e))}function xo(t,e,n){return n="function"==typeof n?n:X,rr(t,e,Ri(e),n)}function wo(t){return Do(t)&&t!=+t}function Ao(t){if(Fl(t))throw new _c("This method is not supported with `core-js`. Try https://github.com/es-shims.");return ir(t)}function ko(t){return null===t}function Eo(t){return null==t}function Do(t){return"number"==typeof t||vo(t)&&Lc.call(t)==Nt}function So(t){if(!vo(t)||Lc.call(t)!=Rt||q(t))return!1;var e=ji(t);if(null===e)return!0;var n=Mc.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&Cc.call(n)==Fc}function Co(t){return mo(t)&&Lc.call(t)==jt}function Mo(t){return go(t)&&t>=-wt&&wt>=t}function To(t){return vo(t)&&Ui(t)==qt}function Fo(t){return"string"==typeof t||!yh(t)&&vo(t)&&Lc.call(t)==Ut}function Lo(t){return"symbol"==typeof t||vo(t)&&Lc.call(t)==Yt}function Bo(t){return vo(t)&&yo(t.length)&&!!En[Lc.call(t)]}function Oo(t){return t===X}function Io(t){return vo(t)&&Ui(t)==Vt}function No(t){return vo(t)&&Lc.call(t)==$t}function Ro(t){if(!t)return[];if(ro(t))return Fo(t)?H(t):ni(t);if(Uc&&t[Uc])return U(t[Uc]());var e=Ui(t),n=e==It?Y:e==qt?$:ys;return n(t)}function Po(t){if(!t)return 0===t?t:0;if(t=Uo(t),t===xt||t===-xt){var e=0>t?-1:1;return e*At}return t===t?t:0}function jo(t){var e=Po(t),n=e%1;return e===e?n?e-n:e:0}function qo(t){return t?Sn(jo(t),0,Et):0}function Uo(t){if("number"==typeof t)return t;if(Lo(t))return kt;if(mo(t)){var e=po(t.valueOf)?t.valueOf():t;t=mo(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(me,"");var n=De.test(t);return n||Ce.test(t)?Ln(t.slice(2),n?2:8):Ee.test(t)?kt:+t}function Yo(t){return ri(t,is(t))}function Vo(t){return Sn(jo(t),-wt,wt)}function $o(t){return null==t?"":Lr(t)}function zo(t,e){var n=Tn(t);return e?yn(n,e):n}function Go(t,e){return v(t,Ii(e,3),Vn)}function Ho(t,e){return v(t,Ii(e,3),$n)}function Wo(t,e){return null==t?t:kl(t,Ii(e,3),is)}function Zo(t,e){return null==t?t:El(t,Ii(e,3),is)}function Xo(t,e){return t&&Vn(t,Ii(e,3))}function Ko(t,e){return t&&$n(t,Ii(e,3))}function Jo(t){return null==t?[]:zn(t,rs(t))}function Qo(t){return null==t?[]:zn(t,is(t))}function ts(t,e,n){var r=null==t?X:Gn(t,e);return r===X?n:r}function es(t,e){return null!=t&&Vi(t,e,Zn)}function ns(t,e){return null!=t&&Vi(t,e,Xn)}function rs(t){var e=na(t);if(!e&&!ro(t))return ur(t);var n=Hi(t),r=!!n,i=n||[],a=i.length;for(var u in t)!Zn(t,u)||r&&("length"==u||Xi(u,a))||e&&"constructor"==u||i.push(u);return i}function is(t){for(var e=-1,n=na(t),r=or(t),i=r.length,a=Hi(t),u=!!a,o=a||[],s=o.length;++e<i;){var c=r[e];u&&("length"==c||Xi(c,s))||"constructor"==c&&(n||!Mc.call(t,c))||o.push(c)}return o}function as(t,e){var n={};return e=Ii(e,3),Vn(t,function(t,r,i){n[e(t,r,i)]=t}),n}function us(t,e){var n={};return e=Ii(e,3),Vn(t,function(t,r,i){n[r]=e(t,r,i)}),n}function os(t,e){return e=Ii(e),mr(t,function(t,n){return!e(t,n)})}function ss(t,e){return null==t?{}:mr(t,Ii(e))}function cs(t,e,n){e=Ji(e,t)?[e]:Yr(e);var r=-1,i=e.length;for(i||(t=X,i=1);++r<i;){var a=null==t?X:t[ca(e[r])];a===X&&(r=i,a=n),t=po(a)?a.call(t):a}return t}function ls(t,e,n){return null==t?t:Er(t,e,n)}function hs(t,e,n,r){return r="function"==typeof r?r:X,null==t?t:Er(t,e,n,r)}function fs(t,e,n){var r=yh(t)||Bo(t);if(e=Ii(e,4),null==n)if(r||mo(t)){var i=t.constructor;n=r?yh(t)?new i:[]:po(i)?Tn(ji(t)):{}}else n={};return(r?o:Vn)(t,function(t,r,i){return e(n,t,r,i)}),n}function ds(t,e){return null==t?!0:Or(t,e)}function ps(t,e,n){return null==t?t:Ir(t,e,Ur(n))}function gs(t,e,n,r){return r="function"==typeof r?r:X,null==t?t:Ir(t,e,Ur(n),r)}function ys(t){return t?M(t,rs(t)):[]}function ms(t){return null==t?[]:M(t,is(t))}function vs(t,e,n){return n===X&&(n=e,e=X),n!==X&&(n=Uo(n),n=n===n?n:0),e!==X&&(e=Uo(e),e=e===e?e:0),Sn(Uo(t),e,n)}function _s(t,e,n){return e=Uo(e)||0,n===X?(n=e,e=0):n=Uo(n)||0,t=Uo(t),Kn(t,e,n)}function bs(t,e,n){if(n&&"boolean"!=typeof n&&Ki(t,e,n)&&(e=n=X),n===X&&("boolean"==typeof e?(n=e,e=X):"boolean"==typeof t&&(n=t,t=X)),t===X&&e===X?(t=0,e=1):(t=Uo(t)||0,e===X?(e=t,t=0):e=Uo(e)||0),t>e){var r=t;t=e,e=r}if(n||t%1||e%1){var i=el();return Qc(t+i*(e-t+Fn("1e-"+((i+"").length-1))),e)}return wr(t,e)}function xs(t){return Vh($o(t).toLowerCase())}function ws(t){return t=$o(t),t&&t.replace(Te,I).replace(vn,"")}function As(t,e,n){t=$o(t),e=Lr(e);var r=t.length;return n=n===X?r:Sn(jo(n),0,r),n-=e.length,n>=0&&t.indexOf(e,n)==n}function ks(t){return t=$o(t),t&&se.test(t)?t.replace(ue,N):t}function Es(t){return t=$o(t),t&&ye.test(t)?t.replace(ge,"\\$&"):t}function Ds(t,e,n){t=$o(t),e=jo(e);var r=e?G(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return bi(Hc(i),n)+t+bi(Gc(i),n)}function Ss(t,e,n){t=$o(t),e=jo(e);var r=e?G(t):0;return e&&e>r?t+bi(e-r,n):t}function Cs(t,e,n){t=$o(t),e=jo(e);var r=e?G(t):0;return e&&e>r?bi(e-r,n)+t:t}function Ms(t,e,n){return n||null==e?e=0:e&&(e=+e),t=$o(t).replace(me,""),tl(t,e||(ke.test(t)?16:10))}function Ts(t,e,n){return e=(n?Ki(t,e,n):e===X)?1:jo(e),kr($o(t),e)}function Fs(){var t=arguments,e=$o(t[0]);return t.length<3?e:nl.call(e,t[1],t[2])}function Ls(t,e,n){return n&&"number"!=typeof n&&Ki(t,e,n)&&(e=n=X),(n=n===X?Et:n>>>0)?(t=$o(t),t&&("string"==typeof e||null!=e&&!Co(e))&&(e=Lr(e),""==e&&xn.test(t))?Vr(H(t),0,n):il.call(t,e,n)):[]}function Bs(t,e,n){return t=$o(t),n=Sn(jo(n),0,t.length),t.lastIndexOf(Lr(e),n)==n}function Os(t,n,r){var i=e.templateSettings;r&&Ki(t,n,r)&&(n=X),t=$o(t),n=wh({},n,i,hn);var a,u,o=wh({},n.imports,i.imports,hn),s=rs(o),c=M(o,s),l=0,h=n.interpolate||Fe,f="__p += '",d=xc((n.escape||Fe).source+"|"+h.source+"|"+(h===he?we:Fe).source+"|"+(n.evaluate||Fe).source+"|$","g"),p="//# sourceURL="+("sourceURL"in n?n.sourceURL:"lodash.templateSources["+ ++kn+"]")+"\n";t.replace(d,function(e,n,r,i,o,s){return r||(r=i),f+=t.slice(l,s).replace(Le,R),n&&(a=!0,f+="' +\n__e("+n+") +\n'"),o&&(u=!0,f+="';\n"+o+";\n__p += '"),r&&(f+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),l=s+e.length,e}),f+="';\n";var g=n.variable;g||(f="with (obj) {\n"+f+"\n}\n"),f=(u?f.replace(ne,""):f).replace(re,"$1").replace(ie,"$1;"),f="function("+(g||"obj")+") {\n"+(g?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var y=$h(function(){return Function(s,p+"return "+f).apply(X,c)});if(y.source=f,ho(y))throw y;return y}function Is(t){return $o(t).toLowerCase()}function Ns(t){return $o(t).toUpperCase()}function Rs(t,e,n){if(t=$o(t),t&&(n||e===X))return t.replace(me,"");if(!t||!(e=Lr(e)))return t;var r=H(t),i=H(e),a=F(r,i),u=L(r,i)+1;return Vr(r,a,u).join("")}function Ps(t,e,n){if(t=$o(t),t&&(n||e===X))return t.replace(_e,"");if(!t||!(e=Lr(e)))return t;var r=H(t),i=L(r,H(e))+1;return Vr(r,0,i).join("")}function js(t,e,n){if(t=$o(t),t&&(n||e===X))return t.replace(ve,"");if(!t||!(e=Lr(e)))return t;var r=H(t),i=F(r,H(e));return Vr(r,i).join("")}function qs(t,e){var n=pt,r=gt;if(mo(e)){var i="separator"in e?e.separator:i;n="length"in e?jo(e.length):n,r="omission"in e?Lr(e.omission):r}t=$o(t);var a=t.length;if(xn.test(t)){var u=H(t);a=u.length}if(n>=a)return t;var o=n-G(r);if(1>o)return r;var s=u?Vr(u,0,o).join(""):t.slice(0,o);if(i===X)return s+r;if(u&&(o+=s.length-o),Co(i)){if(t.slice(o).search(i)){var c,l=s;for(i.global||(i=xc(i.source,$o(Ae.exec(i))+"g")),i.lastIndex=0;c=i.exec(l);)var h=c.index;s=s.slice(0,h===X?o:h)}}else if(t.indexOf(Lr(i),o)!=o){var f=s.lastIndexOf(i);f>-1&&(s=s.slice(0,f))}return s+r}function Us(t){return t=$o(t),t&&oe.test(t)?t.replace(ae,W):t}function Ys(t,e,n){return t=$o(t),e=n?X:e,e===X&&(e=wn.test(t)?bn:be),t.match(e)||[]}function Vs(t){var e=t?t.length:0,n=Ii();return t=e?d(t,function(t){if("function"!=typeof t[1])throw new wc(Q);return[n(t[0]),t[1]]}):[],$u(function(n){for(var r=-1;++r<e;){var i=t[r];if(a(i[0],this,n))return a(i[1],this,n)}})}function $s(t){return Mn(Cn(t,!0))}function zs(t){return function(){return t}}function Gs(t){return t}function Hs(t){return ar("function"==typeof t?t:Cn(t,!0))}function Ws(t){return lr(Cn(t,!0))}function Zs(t,e){return hr(t,Cn(e,!0))}function Xs(t,e,n){var r=rs(e),i=zn(e,r);null!=n||mo(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=zn(e,rs(e)));var a=!(mo(n)&&"chain"in n&&!n.chain),u=po(t);return o(i,function(n){var r=e[n];t[n]=r,u&&(t.prototype[n]=function(){var e=this.__chain__;if(a||e){var n=t(this.__wrapped__),i=n.__actions__=ni(this.__actions__);return i.push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,p([this.value()],arguments))})}),t}function Ks(){return jn._===this&&(jn._=Bc),this}function Js(){}function Qs(t){return t=jo(t),$u(function(e){return pr(e,t)})}function tc(t){return Ji(t)?vr(ca(t)):_r(t)}function ec(t){return function(e){return null==t?X:Gn(t,e)}}function nc(){return[]}function rc(){return!1}function ic(){return{}}function ac(){return""}function uc(){return!0}function oc(t,e){if(t=jo(t),1>t||t>wt)return[];var n=Et,r=Qc(t,Et);e=Ii(e),t-=Et;for(var i=D(r,e);++n<t;)e(n);return i}function sc(t){return yh(t)?d(t,ca):Lo(t)?[t]:ni(Bl(t))}function cc(t){var e=++Tc;return $o(t)+e}function lc(t){return t&&t.length?Rn(t,Gs,Wn):X}function hc(t,e){return t&&t.length?Rn(t,Ii(e),Wn):X}function fc(t){return w(t,Gs)}function dc(t,e){return w(t,Ii(e))}function pc(t){return t&&t.length?Rn(t,Gs,sr):X}function gc(t,e){return t&&t.length?Rn(t,Ii(e),sr):X}function yc(t){return t&&t.length?E(t,Gs):0}function mc(t,e){return t&&t.length?E(t,Ii(e)):0}t=t?qn.defaults({},t,qn.pick(jn,An)):jn;var vc=t.Date,_c=t.Error,bc=t.Math,xc=t.RegExp,wc=t.TypeError,Ac=t.Array.prototype,kc=t.Object.prototype,Ec=t.String.prototype,Dc=t["__core-js_shared__"],Sc=function(){var t=/[^.]+$/.exec(Dc&&Dc.keys&&Dc.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),Cc=t.Function.prototype.toString,Mc=kc.hasOwnProperty,Tc=0,Fc=Cc.call(Object),Lc=kc.toString,Bc=jn._,Oc=xc("^"+Cc.call(Mc).replace(ge,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ic=In?t.Buffer:X,Nc=t.Reflect,Rc=t.Symbol,Pc=t.Uint8Array,jc=Nc?Nc.enumerate:X,qc=Object.getOwnPropertySymbols,Uc="symbol"==typeof(Uc=Rc&&Rc.iterator)?Uc:X,Yc=Object.create,Vc=kc.propertyIsEnumerable,$c=Ac.splice,zc=function(e,n){return t.setTimeout.call(jn,e,n)},Gc=bc.ceil,Hc=bc.floor,Wc=Object.getPrototypeOf,Zc=t.isFinite,Xc=Ac.join,Kc=Object.keys,Jc=bc.max,Qc=bc.min,tl=t.parseInt,el=bc.random,nl=Ec.replace,rl=Ac.reverse,il=Ec.split,al=Pi(t,"DataView"),ul=Pi(t,"Map"),ol=Pi(t,"Promise"),sl=Pi(t,"Set"),cl=Pi(t,"WeakMap"),ll=Pi(Object,"create"),hl=cl&&new cl,fl=!Vc.call({valueOf:1},"valueOf"),dl={},pl=la(al),gl=la(ul),yl=la(ol),ml=la(sl),vl=la(cl),_l=Rc?Rc.prototype:X,bl=_l?_l.valueOf:X,xl=_l?_l.toString:X;e.templateSettings={escape:ce,evaluate:le,interpolate:he,variable:"",imports:{_:e}},e.prototype=n.prototype,e.prototype.constructor=e,B.prototype=Tn(n.prototype),B.prototype.constructor=B,Be.prototype=Tn(n.prototype),Be.prototype.constructor=Be,Re.prototype.clear=Pe,Re.prototype["delete"]=je,Re.prototype.get=qe,Re.prototype.has=Ue,Re.prototype.set=Ye,Ve.prototype.clear=$e,Ve.prototype["delete"]=ze,Ve.prototype.get=Ge,Ve.prototype.has=He,Ve.prototype.set=We,Ze.prototype.clear=Xe,Ze.prototype["delete"]=Ke,Ze.prototype.get=Je,Ze.prototype.has=Qe,Ze.prototype.set=tn,en.prototype.add=en.prototype.push=nn,en.prototype.has=rn,an.prototype.clear=un,an.prototype["delete"]=on,an.prototype.get=sn,an.prototype.has=cn,an.prototype.set=ln;var wl=oi(Vn),Al=oi($n,!0),kl=si(),El=si(!0);jc&&!Vc.call({valueOf:1},"valueOf")&&(or=function(t){return U(jc(t))});var Dl=hl?function(t,e){return hl.set(t,e),t}:Gs,Sl=sl&&1/$(new sl([,-0]))[1]==xt?function(t){return new sl(t)}:Js,Cl=hl?function(t){return hl.get(t)}:Js,Ml=vr("length");qc||(qi=nc);var Tl=qc?function(t){for(var e=[];t;)p(e,qi(t)),t=ji(t);return e}:qi;(al&&Ui(new al(new ArrayBuffer(1)))!=Gt||ul&&Ui(new ul)!=It||ol&&Ui(ol.resolve())!=Pt||sl&&Ui(new sl)!=qt||cl&&Ui(new cl)!=Vt)&&(Ui=function(t){var e=Lc.call(t),n=e==Rt?t.constructor:X,r=n?la(n):X;if(r)switch(r){case pl:return Gt;case gl:return It;case yl:return Pt;case ml:return qt;case vl:return Vt}return e});var Fl=Dc?po:rc,Ll=function(){var t=0,e=0;return function(n,r){var i=Bu(),a=mt-(i-e);if(e=i,a>0){if(++t>=yt)return n}else t=0;return Dl(n,r)}}(),Bl=Uu(function(t){var e=[];return $o(t).replace(pe,function(t,n,r,i){e.push(r?i.replace(xe,"$1"):n||t)}),e}),Ol=$u(function(t,e){return io(t)?On(t,Yn(e,1,io,!0)):[]}),Il=$u(function(t,e){var n=Ta(e);return io(n)&&(n=X),io(t)?On(t,Yn(e,1,io,!0),Ii(n)):[]}),Nl=$u(function(t,e){var n=Ta(e);return io(n)&&(n=X),io(t)?On(t,Yn(e,1,io,!0),X,n):[]}),Rl=$u(function(t){var e=d(t,qr);return e.length&&e[0]===t[0]?Jn(e):[]}),Pl=$u(function(t){var e=Ta(t),n=d(t,qr);return e===Ta(n)?e=X:n.pop(),n.length&&n[0]===t[0]?Jn(n,Ii(e)):[]}),jl=$u(function(t){var e=Ta(t),n=d(t,qr);return e===Ta(n)?e=X:n.pop(),n.length&&n[0]===t[0]?Jn(n,X,e):[]}),ql=$u(Ba),Ul=$u(function(t,e){e=Yn(e,1);var n=t?t.length:0,r=_n(t,e);return xr(t,d(e,function(t){return Xi(t,n)?+t:t}).sort(Jr)),r}),Yl=$u(function(t){return Br(Yn(t,1,io,!0))}),Vl=$u(function(t){var e=Ta(t);return io(e)&&(e=X),Br(Yn(t,1,io,!0),Ii(e))}),$l=$u(function(t){var e=Ta(t);return io(e)&&(e=X),Br(Yn(t,1,io,!0),X,e)}),zl=$u(function(t,e){return io(t)?On(t,e):[]}),Gl=$u(function(t){return Pr(l(t,io))}),Hl=$u(function(t){var e=Ta(t);return io(e)&&(e=X),Pr(l(t,io),Ii(e))}),Wl=$u(function(t){var e=Ta(t);return io(e)&&(e=X),Pr(l(t,io),X,e)}),Zl=$u(eu),Xl=$u(function(t){var e=t.length,n=e>1?t[e-1]:X;return n="function"==typeof n?(t.pop(),n):X,nu(t,n)}),Kl=$u(function(t){t=Yn(t,1);var e=t.length,n=e?t[0]:0,r=this.__wrapped__,i=function(e){return _n(e,t)};return!(e>1||this.__actions__.length)&&r instanceof Be&&Xi(n)?(r=r.slice(n,+n+(e?1:0)),r.__actions__.push({func:ou,args:[i],thisArg:X}),new B(r,this.__chain__).thru(function(t){return e&&!t.length&&t.push(X),t})):this.thru(i)}),Jl=ai(function(t,e,n){Mc.call(t,n)?++t[n]:t[n]=1}),Ql=pi(ba),th=pi(xa),eh=ai(function(t,e,n){Mc.call(t,n)?t[n].push(e):t[n]=[e]}),nh=$u(function(t,e,n){var r=-1,i="function"==typeof e,u=Ji(e),o=ro(t)?Array(t.length):[];return wl(t,function(t){var s=i?e:u&&null!=t?t[e]:X;o[++r]=s?a(s,t,n):tr(t,e,n)}),o}),rh=ai(function(t,e,n){t[n]=e}),ih=ai(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),ah=$u(function(t,e){if(null==t)return[];var n=e.length;return n>1&&Ki(t,e[0],e[1])?e=[]:n>2&&Ki(e[0],e[1],e[2])&&(e=[e[0]]),e=1==e.length&&yh(e[0])?e[0]:Yn(e,1,Zi),gr(t,e,[])}),uh=$u(function(t,e,n){var r=nt;if(n.length){var i=V(n,Oi(uh));r|=ot}return Si(t,r,e,n,i)}),oh=$u(function(t,e,n){var r=nt|rt;if(n.length){var i=V(n,Oi(oh));r|=ot}return Si(e,r,t,n,i)}),sh=$u(function(t,e){return Bn(t,1,e)}),ch=$u(function(t,e,n){return Bn(t,Uo(e)||0,n)});Uu.Cache=Ze;var lh=$u(function(t,e){e=1==e.length&&yh(e[0])?d(e[0],C(Ii())):d(Yn(e,1,Zi),C(Ii()));var n=e.length;return $u(function(r){for(var i=-1,u=Qc(r.length,n);++i<u;)r[i]=e[i].call(this,r[i]);return a(t,this,r)})}),hh=$u(function(t,e){var n=V(e,Oi(hh));return Si(t,ot,X,e,n)}),fh=$u(function(t,e){var n=V(e,Oi(fh));return Si(t,st,X,e,n)}),dh=$u(function(t,e){return Si(t,lt,X,X,X,Yn(e,1))}),ph=Ai(Wn),gh=Ai(function(t,e){return t>=e}),yh=Array.isArray,mh=Ic?function(t){return t instanceof Ic}:rc,vh=Ai(sr),_h=Ai(function(t,e){return e>=t}),bh=ui(function(t,e){if(fl||na(e)||ro(e))return void ri(e,rs(e),t);for(var n in e)Mc.call(e,n)&&dn(t,n,e[n])}),xh=ui(function(t,e){if(fl||na(e)||ro(e))return void ri(e,is(e),t);for(var n in e)dn(t,n,e[n])}),wh=ui(function(t,e,n,r){ri(e,is(e),t,r)}),Ah=ui(function(t,e,n,r){ri(e,rs(e),t,r)}),kh=$u(function(t,e){return _n(t,Yn(e,1))}),Eh=$u(function(t){return t.push(X,hn),a(wh,X,t)}),Dh=$u(function(t){return t.push(X,ua),a(Fh,X,t)}),Sh=mi(function(t,e,n){t[e]=n},zs(Gs)),Ch=mi(function(t,e,n){Mc.call(t,e)?t[e].push(n):t[e]=[n]},Ii),Mh=$u(tr),Th=ui(function(t,e,n){fr(t,e,n)}),Fh=ui(function(t,e,n,r){fr(t,e,n,r)}),Lh=$u(function(t,e){return null==t?{}:(e=d(Yn(e,1),ca),yr(t,On(Li(t),e)))}),Bh=$u(function(t,e){return null==t?{}:yr(t,d(Yn(e,1),ca))}),Oh=Di(rs),Ih=Di(is),Nh=hi(function(t,e,n){return e=e.toLowerCase(),t+(n?xs(e):e)}),Rh=hi(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),Ph=hi(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),jh=li("toLowerCase"),qh=hi(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Uh=hi(function(t,e,n){return t+(n?" ":"")+Vh(e)}),Yh=hi(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),Vh=li("toUpperCase"),$h=$u(function(t,e){try{return a(t,X,e)}catch(n){return ho(n)?n:new _c(n)}}),zh=$u(function(t,e){return o(Yn(e,1),function(e){e=ca(e),t[e]=uh(t[e],t)}),t}),Gh=gi(),Hh=gi(!0),Wh=$u(function(t,e){return function(n){return tr(n,t,e)}}),Zh=$u(function(t,e){return function(n){return tr(t,n,e)}}),Xh=_i(d),Kh=_i(c),Jh=_i(m),Qh=wi(),tf=wi(!0),ef=vi(function(t,e){return t+e}),nf=Ei("ceil"),rf=vi(function(t,e){return t/e}),af=Ei("floor"),uf=vi(function(t,e){return t*e}),of=Ei("round"),sf=vi(function(t,e){return t-e});return e.after=Ou,e.ary=Iu,e.assign=bh,e.assignIn=xh,e.assignInWith=wh,e.assignWith=Ah,e.at=kh,e.before=Nu,e.bind=uh,e.bindAll=zh,e.bindKey=oh,e.castArray=Zu,e.chain=au,e.chunk=fa,e.compact=da,e.concat=pa,e.cond=Vs,e.conforms=$s,e.constant=zs,e.countBy=Jl,e.create=zo,e.curry=Ru,e.curryRight=Pu,e.debounce=ju,e.defaults=Eh,e.defaultsDeep=Dh,e.defer=sh,e.delay=ch,e.difference=Ol,e.differenceBy=Il,e.differenceWith=Nl,e.drop=ga,e.dropRight=ya,e.dropRightWhile=ma,e.dropWhile=va,e.fill=_a,e.filter=yu,e.flatMap=mu,e.flatMapDeep=vu,e.flatMapDepth=_u,e.flatten=wa,e.flattenDeep=Aa,e.flattenDepth=ka,e.flip=qu,e.flow=Gh,e.flowRight=Hh,e.fromPairs=Ea,e.functions=Jo,e.functionsIn=Qo,e.groupBy=eh,e.initial=Ca,e.intersection=Rl,e.intersectionBy=Pl,e.intersectionWith=jl,e.invert=Sh,e.invertBy=Ch,e.invokeMap=nh,e.iteratee=Hs,e.keyBy=rh,e.keys=rs,e.keysIn=is,e.map=Au,e.mapKeys=as,e.mapValues=us,e.matches=Ws,e.matchesProperty=Zs,e.memoize=Uu,e.merge=Th,e.mergeWith=Fh,e.method=Wh,e.methodOf=Zh,e.mixin=Xs,e.negate=Yu,e.nthArg=Qs,e.omit=Lh,e.omitBy=os,e.once=Vu,e.orderBy=ku,e.over=Xh,e.overArgs=lh,e.overEvery=Kh,e.overSome=Jh,e.partial=hh,e.partialRight=fh,e.partition=ih,e.pick=Bh,e.pickBy=ss,e.property=tc,e.propertyOf=ec,e.pull=ql,e.pullAll=Ba,e.pullAllBy=Oa,e.pullAllWith=Ia,e.pullAt=Ul,e.range=Qh,e.rangeRight=tf,e.rearg=dh,e.reject=Su,e.remove=Na,e.rest=$u,e.reverse=Ra,e.sampleSize=Mu,e.set=ls,e.setWith=hs,e.shuffle=Tu,e.slice=Pa,e.sortBy=ah,e.sortedUniq=za,e.sortedUniqBy=Ga,e.split=Ls,e.spread=zu,e.tail=Ha,e.take=Wa,e.takeRight=Za,e.takeRightWhile=Xa,e.takeWhile=Ka,e.tap=uu,e.throttle=Gu,e.thru=ou,e.toArray=Ro,e.toPairs=Oh,e.toPairsIn=Ih,e.toPath=sc,e.toPlainObject=Yo,e.transform=fs,e.unary=Hu,e.union=Yl,e.unionBy=Vl,e.unionWith=$l,e.uniq=Ja,e.uniqBy=Qa,e.uniqWith=tu,e.unset=ds,e.unzip=eu,e.unzipWith=nu,e.update=ps,e.updateWith=gs,e.values=ys,e.valuesIn=ms,e.without=zl,e.words=Ys,e.wrap=Wu,e.xor=Gl,e.xorBy=Hl,e.xorWith=Wl,e.zip=Zl,e.zipObject=ru,e.zipObjectDeep=iu,e.zipWith=Xl,e.entries=Oh,e.entriesIn=Ih,e.extend=xh,e.extendWith=wh,Xs(e,e),e.add=ef,e.attempt=$h,e.camelCase=Nh,e.capitalize=xs,e.ceil=nf,e.clamp=vs,e.clone=Xu,e.cloneDeep=Ju,e.cloneDeepWith=Qu,e.cloneWith=Ku,e.deburr=ws,e.divide=rf,e.endsWith=As,e.eq=to,e.escape=ks,e.escapeRegExp=Es,e.every=gu,e.find=Ql,e.findIndex=ba,e.findKey=Go,e.findLast=th,e.findLastIndex=xa,e.findLastKey=Ho,e.floor=af,e.forEach=bu,e.forEachRight=xu,e.forIn=Wo,e.forInRight=Zo,e.forOwn=Xo,e.forOwnRight=Ko,e.get=ts,e.gt=ph,e.gte=gh,e.has=es,e.hasIn=ns,e.head=Da,e.identity=Gs,e.includes=wu,e.indexOf=Sa,e.inRange=_s,e.invoke=Mh,e.isArguments=eo,e.isArray=yh,e.isArrayBuffer=no,e.isArrayLike=ro,e.isArrayLikeObject=io,e.isBoolean=ao,e.isBuffer=mh,e.isDate=uo,e.isElement=oo,e.isEmpty=so,e.isEqual=co,e.isEqualWith=lo,e.isError=ho,e.isFinite=fo,e.isFunction=po,e.isInteger=go,e.isLength=yo,e.isMap=_o,e.isMatch=bo,e.isMatchWith=xo,e.isNaN=wo,e.isNative=Ao,e.isNil=Eo,e.isNull=ko,e.isNumber=Do,e.isObject=mo,e.isObjectLike=vo,e.isPlainObject=So,e.isRegExp=Co,e.isSafeInteger=Mo,e.isSet=To,e.isString=Fo,e.isSymbol=Lo,e.isTypedArray=Bo,e.isUndefined=Oo,e.isWeakMap=Io,e.isWeakSet=No,e.join=Ma,e.kebabCase=Rh,e.last=Ta,e.lastIndexOf=Fa,e.lowerCase=Ph,e.lowerFirst=jh,e.lt=vh,e.lte=_h,e.max=lc,e.maxBy=hc,e.mean=fc,e.meanBy=dc,e.min=pc,e.minBy=gc,e.stubArray=nc,e.stubFalse=rc,e.stubObject=ic,e.stubString=ac,e.stubTrue=uc,e.multiply=uf,e.nth=La,e.noConflict=Ks,e.noop=Js,e.now=Bu,e.pad=Ds,e.padEnd=Ss,e.padStart=Cs,e.parseInt=Ms,e.random=bs,e.reduce=Eu,e.reduceRight=Du,e.repeat=Ts,e.replace=Fs,e.result=cs,e.round=of,e.runInContext=Z,e.sample=Cu,e.size=Fu,e.snakeCase=qh,e.some=Lu,e.sortedIndex=ja,e.sortedIndexBy=qa,e.sortedIndexOf=Ua,e.sortedLastIndex=Ya,e.sortedLastIndexBy=Va,e.sortedLastIndexOf=$a,e.startCase=Uh,e.startsWith=Bs,e.subtract=sf,e.sum=yc,e.sumBy=mc,e.template=Os,e.times=oc,e.toFinite=Po,e.toInteger=jo,e.toLength=qo,e.toLower=Is,e.toNumber=Uo,e.toSafeInteger=Vo,e.toString=$o,e.toUpper=Ns,e.trim=Rs,e.trimEnd=Ps,e.trimStart=js,e.truncate=qs,e.unescape=Us,e.uniqueId=cc,e.upperCase=Yh,e.upperFirst=Vh,e.each=bu,e.eachRight=xu,e.first=Da,Xs(e,function(){var t={};return Vn(e,function(n,r){Mc.call(e.prototype,r)||(t[r]=n)}),t}(),{chain:!1}),e.VERSION=K,o(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){e[t].placeholder=e}),o(["drop","take"],function(t,e){Be.prototype[t]=function(n){var r=this.__filtered__;if(r&&!e)return new Be(this);n=n===X?1:Jc(jo(n),0);var i=this.clone();return r?i.__takeCount__=Qc(n,i.__takeCount__):i.__views__.push({size:Qc(n,Et),type:t+(i.__dir__<0?"Right":"")}),i},Be.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),o(["filter","map","takeWhile"],function(t,e){var n=e+1,r=n==vt||n==bt;Be.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:Ii(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}}),o(["head","last"],function(t,e){var n="take"+(e?"Right":"");Be.prototype[t]=function(){return this[n](1).value()[0]}}),o(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");Be.prototype[t]=function(){return this.__filtered__?new Be(this):this[n](1)}}),Be.prototype.compact=function(){return this.filter(Gs)},Be.prototype.find=function(t){return this.filter(t).head()},Be.prototype.findLast=function(t){return this.reverse().find(t)},Be.prototype.invokeMap=$u(function(t,e){return"function"==typeof t?new Be(this):this.map(function(n){return tr(n,t,e)})}),Be.prototype.reject=function(t){return t=Ii(t,3),this.filter(function(e){return!t(e)})},Be.prototype.slice=function(t,e){t=jo(t);var n=this;return n.__filtered__&&(t>0||0>e)?new Be(n):(0>t?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==X&&(e=jo(e),n=0>e?n.dropRight(-e):n.take(e-t)),n)},Be.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Be.prototype.toArray=function(){return this.take(Et)},Vn(Be.prototype,function(t,n){var r=/^(?:filter|find|map|reject)|While$/.test(n),i=/^(?:head|last)$/.test(n),a=e[i?"take"+("last"==n?"Right":""):n],u=i||/^find/.test(n);a&&(e.prototype[n]=function(){var n=this.__wrapped__,o=i?[1]:arguments,s=n instanceof Be,c=o[0],l=s||yh(n),h=function(t){var n=a.apply(e,p([t],o));return i&&f?n[0]:n};l&&r&&"function"==typeof c&&1!=c.length&&(s=l=!1);var f=this.__chain__,d=!!this.__actions__.length,g=u&&!f,y=s&&!d;if(!u&&l){n=y?n:new Be(this);var m=t.apply(n,o);return m.__actions__.push({func:ou,args:[h],thisArg:X}),new B(m,f)}return g&&y?t.apply(this,o):(m=this.thru(h),g?i?m.value()[0]:m.value():m)})}),o(["pop","push","shift","sort","splice","unshift"],function(t){var n=Ac[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",i=/^(?:pop|shift)$/.test(t);e.prototype[t]=function(){var t=arguments;if(i&&!this.__chain__){var e=this.value();return n.apply(yh(e)?e:[],t)}return this[r](function(e){return n.apply(yh(e)?e:[],t)})}}),Vn(Be.prototype,function(t,n){var r=e[n];if(r){var i=r.name+"",a=dl[i]||(dl[i]=[]);a.push({name:n,func:r})}}),dl[yi(X,rt).name]=[{name:"wrapper",func:X}],Be.prototype.clone=Oe,Be.prototype.reverse=Ie,Be.prototype.value=Ne,e.prototype.at=Kl,e.prototype.chain=su,e.prototype.commit=cu,e.prototype.next=lu,e.prototype.plant=fu,e.prototype.reverse=du,e.prototype.toJSON=e.prototype.valueOf=e.prototype.value=pu,Uc&&(e.prototype[Uc]=hu),e}var X,K="4.13.1",J=200,Q="Expected a function",tt="__lodash_hash_undefined__",et="__lodash_placeholder__",nt=1,rt=2,it=4,at=8,ut=16,ot=32,st=64,ct=128,lt=256,ht=512,ft=1,dt=2,pt=30,gt="...",yt=150,mt=16,vt=1,_t=2,bt=3,xt=1/0,wt=9007199254740991,At=1.7976931348623157e308,kt=0/0,Et=4294967295,Dt=Et-1,St=Et>>>1,Ct="[object Arguments]",Mt="[object Array]",Tt="[object Boolean]",Ft="[object Date]",Lt="[object Error]",Bt="[object Function]",Ot="[object GeneratorFunction]",It="[object Map]",Nt="[object Number]",Rt="[object Object]",Pt="[object Promise]",jt="[object RegExp]",qt="[object Set]",Ut="[object String]",Yt="[object Symbol]",Vt="[object WeakMap]",$t="[object WeakSet]",zt="[object ArrayBuffer]",Gt="[object DataView]",Ht="[object Float32Array]",Wt="[object Float64Array]",Zt="[object Int8Array]",Xt="[object Int16Array]",Kt="[object Int32Array]",Jt="[object Uint8Array]",Qt="[object Uint8ClampedArray]",te="[object Uint16Array]",ee="[object Uint32Array]",ne=/\b__p \+= '';/g,re=/\b(__p \+=) '' \+/g,ie=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ae=/&(?:amp|lt|gt|quot|#39|#96);/g,ue=/[&<>"'`]/g,oe=RegExp(ae.source),se=RegExp(ue.source),ce=/<%-([\s\S]+?)%>/g,le=/<%([\s\S]+?)%>/g,he=/<%=([\s\S]+?)%>/g,fe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,de=/^\w*$/,pe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(\.|\[\])(?:\4|$))/g,ge=/[\\^$.*+?()[\]{}|]/g,ye=RegExp(ge.source),me=/^\s+|\s+$/g,ve=/^\s+/,_e=/\s+$/,be=/[a-zA-Z0-9]+/g,xe=/\\(\\)?/g,we=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ae=/\w*$/,ke=/^0x/i,Ee=/^[-+]0x[0-9a-f]+$/i,De=/^0b[01]+$/i,Se=/^\[object .+?Constructor\]$/,Ce=/^0o[0-7]+$/i,Me=/^(?:0|[1-9]\d*)$/,Te=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,Fe=/($^)/,Le=/['\n\r\u2028\u2029\\]/g,Be="\\ud800-\\udfff",Oe="\\u0300-\\u036f\\ufe20-\\ufe23",Ie="\\u20d0-\\u20f0",Ne="\\u2700-\\u27bf",Re="a-z\\xdf-\\xf6\\xf8-\\xff",Pe="\\xac\\xb1\\xd7\\xf7",je="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",qe="\\u2000-\\u206f",Ue=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ye="A-Z\\xc0-\\xd6\\xd8-\\xde",Ve="\\ufe0e\\ufe0f",$e=Pe+je+qe+Ue,ze="['’]",Ge="["+Be+"]",He="["+$e+"]",We="["+Oe+Ie+"]",Ze="\\d+",Xe="["+Ne+"]",Ke="["+Re+"]",Je="[^"+Be+$e+Ze+Ne+Re+Ye+"]",Qe="\\ud83c[\\udffb-\\udfff]",tn="(?:"+We+"|"+Qe+")",en="[^"+Be+"]",nn="(?:\\ud83c[\\udde6-\\uddff]){2}",rn="[\\ud800-\\udbff][\\udc00-\\udfff]",an="["+Ye+"]",un="\\u200d",on="(?:"+Ke+"|"+Je+")",sn="(?:"+an+"|"+Je+")",cn="(?:"+ze+"(?:d|ll|m|re|s|t|ve))?",ln="(?:"+ze+"(?:D|LL|M|RE|S|T|VE))?",hn=tn+"?",fn="["+Ve+"]?",dn="(?:"+un+"(?:"+[en,nn,rn].join("|")+")"+fn+hn+")*",pn=fn+hn+dn,gn="(?:"+[Xe,nn,rn].join("|")+")"+pn,yn="(?:"+[en+We+"?",We,nn,rn,Ge].join("|")+")",mn=RegExp(ze,"g"),vn=RegExp(We,"g"),_n=RegExp(Qe+"(?="+Qe+")|"+yn+pn,"g"),bn=RegExp([an+"?"+Ke+"+"+cn+"(?="+[He,an,"$"].join("|")+")",sn+"+"+ln+"(?="+[He,an+on,"$"].join("|")+")",an+"?"+on+"+"+cn,an+"+"+ln,Ze,gn].join("|"),"g"),xn=RegExp("["+un+Be+Oe+Ie+Ve+"]"),wn=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,An=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","Reflect","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","isFinite","parseInt","setTimeout"],kn=-1,En={};

En[Ht]=En[Wt]=En[Zt]=En[Xt]=En[Kt]=En[Jt]=En[Qt]=En[te]=En[ee]=!0,En[Ct]=En[Mt]=En[zt]=En[Tt]=En[Gt]=En[Ft]=En[Lt]=En[Bt]=En[It]=En[Nt]=En[Rt]=En[jt]=En[qt]=En[Ut]=En[Vt]=!1;var Dn={};Dn[Ct]=Dn[Mt]=Dn[zt]=Dn[Gt]=Dn[Tt]=Dn[Ft]=Dn[Ht]=Dn[Wt]=Dn[Zt]=Dn[Xt]=Dn[Kt]=Dn[It]=Dn[Nt]=Dn[Rt]=Dn[jt]=Dn[qt]=Dn[Ut]=Dn[Yt]=Dn[Jt]=Dn[Qt]=Dn[te]=Dn[ee]=!0,Dn[Lt]=Dn[Bt]=Dn[Vt]=!1;var Sn={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"},Cn={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},Mn={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"},Tn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Fn=parseFloat,Ln=parseInt,Bn="object"==typeof n&&n,On=Bn&&"object"==typeof e&&e,In=On&&On.exports===Bn,Nn=B("object"==typeof t&&t),Rn=B("object"==typeof self&&self),Pn=B("object"==typeof this&&this),jn=Nn||Rn||Pn||Function("return this")(),qn=Z();(Rn||{})._=qn,"function"==typeof define&&"object"==typeof define.amd&&define.amd?define(function(){return qn}):On?((On.exports=qn)._=qn,Bn._=qn):jn._=qn}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],107:[function(t,e,n){!function(t,r){"object"==typeof n&&"undefined"!=typeof e?e.exports=r():"function"==typeof define&&define.amd?define(r):t.moment=r()}(this,function(){"use strict";function n(){return sr.apply(null,arguments)}function r(t){sr=t}function i(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function u(t,e){var n,r=[];for(n=0;n<t.length;++n)r.push(e(t[n],n));return r}function o(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function s(t,e){for(var n in e)o(e,n)&&(t[n]=e[n]);return o(e,"toString")&&(t.toString=e.toString),o(e,"valueOf")&&(t.valueOf=e.valueOf),t}function c(t,e,n,r){return Rt(t,e,n,r,!0).utc()}function l(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null}}function h(t){return null==t._pf&&(t._pf=l()),t._pf}function f(t){if(null==t._isValid){var e=h(t),n=cr.call(e.parsedDateParts,function(t){return null!=t});t._isValid=!isNaN(t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&n),t._strict&&(t._isValid=t._isValid&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour)}return t._isValid}function d(t){var e=c(0/0);return null!=t?s(h(e),t):h(e).userInvalidated=!0,e}function p(t){return void 0===t}function g(t,e){var n,r,i;if(p(e._isAMomentObject)||(t._isAMomentObject=e._isAMomentObject),p(e._i)||(t._i=e._i),p(e._f)||(t._f=e._f),p(e._l)||(t._l=e._l),p(e._strict)||(t._strict=e._strict),p(e._tzm)||(t._tzm=e._tzm),p(e._isUTC)||(t._isUTC=e._isUTC),p(e._offset)||(t._offset=e._offset),p(e._pf)||(t._pf=h(e)),p(e._locale)||(t._locale=e._locale),lr.length>0)for(n in lr)r=lr[n],i=e[r],p(i)||(t[r]=i);return t}function y(t){g(this,t),this._d=new Date(null!=t._d?t._d.getTime():0/0),hr===!1&&(hr=!0,n.updateOffset(this),hr=!1)}function m(t){return t instanceof y||null!=t&&null!=t._isAMomentObject}function v(t){return 0>t?Math.ceil(t):Math.floor(t)}function _(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=v(e)),n}function b(t,e,n){var r,i=Math.min(t.length,e.length),a=Math.abs(t.length-e.length),u=0;for(r=0;i>r;r++)(n&&t[r]!==e[r]||!n&&_(t[r])!==_(e[r]))&&u++;return u+a}function x(t){n.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function w(t,e){var r=!0;return s(function(){return null!=n.deprecationHandler&&n.deprecationHandler(null,t),r&&(x(t+"\nArguments: "+Array.prototype.slice.call(arguments).join(", ")+"\n"+(new Error).stack),r=!1),e.apply(this,arguments)},e)}function A(t,e){null!=n.deprecationHandler&&n.deprecationHandler(t,e),fr[t]||(x(e),fr[t]=!0)}function k(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function E(t){return"[object Object]"===Object.prototype.toString.call(t)}function D(t){var e,n;for(n in t)e=t[n],k(e)?this[n]=e:this["_"+n]=e;this._config=t,this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function S(t,e){var n,r=s({},t);for(n in e)o(e,n)&&(E(t[n])&&E(e[n])?(r[n]={},s(r[n],t[n]),s(r[n],e[n])):null!=e[n]?r[n]=e[n]:delete r[n]);return r}function C(t){null!=t&&this.set(t)}function M(t){return t?t.toLowerCase().replace("_","-"):t}function T(t){for(var e,n,r,i,a=0;a<t.length;){for(i=M(t[a]).split("-"),e=i.length,n=M(t[a+1]),n=n?n.split("-"):null;e>0;){if(r=F(i.slice(0,e).join("-")))return r;if(n&&n.length>=e&&b(i,n,!0)>=e-1)break;e--}a++}return null}function F(n){var r=null;if(!yr[n]&&"undefined"!=typeof e&&e&&e.exports)try{r=pr._abbr,t("./locale/"+n),L(r)}catch(i){}return yr[n]}function L(t,e){var n;return t&&(n=p(e)?I(t):B(t,e),n&&(pr=n)),pr._abbr}function B(t,e){return null!==e?(e.abbr=t,null!=yr[t]?(A("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale"),e=S(yr[t]._config,e)):null!=e.parentLocale&&(null!=yr[e.parentLocale]?e=S(yr[e.parentLocale]._config,e):A("parentLocaleUndefined","specified parentLocale is not defined yet")),yr[t]=new C(e),L(t),yr[t]):(delete yr[t],null)}function O(t,e){if(null!=e){var n;null!=yr[t]&&(e=S(yr[t]._config,e)),n=new C(e),n.parentLocale=yr[t],yr[t]=n,L(t)}else null!=yr[t]&&(null!=yr[t].parentLocale?yr[t]=yr[t].parentLocale:null!=yr[t]&&delete yr[t]);return yr[t]}function I(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return pr;if(!i(t)){if(e=F(t))return e;t=[t]}return T(t)}function N(){return dr(yr)}function R(t,e){var n=t.toLowerCase();mr[n]=mr[n+"s"]=mr[e]=t}function P(t){return"string"==typeof t?mr[t]||mr[t.toLowerCase()]:void 0}function j(t){var e,n,r={};for(n in t)o(t,n)&&(e=P(n),e&&(r[e]=t[n]));return r}function q(t,e){return function(r){return null!=r?(Y(this,t,r),n.updateOffset(this,e),this):U(this,t)}}function U(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():0/0}function Y(t,e,n){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](n)}function V(t,e){var n;if("object"==typeof t)for(n in t)this.set(n,t[n]);else if(t=P(t),k(this[t]))return this[t](e);return this}function $(t,e,n){var r=""+Math.abs(t),i=e-r.length,a=t>=0;return(a?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+r}function z(t,e,n,r){var i=r;"string"==typeof r&&(i=function(){return this[r]()}),t&&(xr[t]=i),e&&(xr[e[0]]=function(){return $(i.apply(this,arguments),e[1],e[2])}),n&&(xr[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function G(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function H(t){var e,n,r=t.match(vr);for(e=0,n=r.length;n>e;e++)r[e]=xr[r[e]]?xr[r[e]]:G(r[e]);return function(e){var i,a="";for(i=0;n>i;i++)a+=r[i]instanceof Function?r[i].call(e,t):r[i];return a}}function W(t,e){return t.isValid()?(e=Z(e,t.localeData()),br[e]=br[e]||H(e),br[e](t)):t.localeData().invalidDate()}function Z(t,e){function n(t){return e.longDateFormat(t)||t}var r=5;for(_r.lastIndex=0;r>=0&&_r.test(t);)t=t.replace(_r,n),_r.lastIndex=0,r-=1;return t}function X(t,e,n){jr[t]=k(e)?e:function(t){return t&&n?n:e}}function K(t,e){return o(jr,t)?jr[t](e._strict,e._locale):new RegExp(J(t))}function J(t){return Q(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,r,i){return e||n||r||i}))}function Q(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function tt(t,e){var n,r=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(r=function(t,n){n[e]=_(t)}),n=0;n<t.length;n++)qr[t[n]]=r}function et(t,e){tt(t,function(t,n,r,i){r._w=r._w||{},e(t,r._w,r,i)})}function nt(t,e,n){null!=e&&o(qr,t)&&qr[t](e,n._a,n,t)}function rt(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}function it(t,e){return i(this._months)?this._months[t.month()]:this._months[Xr.test(e)?"format":"standalone"][t.month()]}function at(t,e){return i(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[Xr.test(e)?"format":"standalone"][t.month()]}function ut(t,e,n){var r,i,a,u=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],r=0;12>r;++r)a=c([2e3,r]),this._shortMonthsParse[r]=this.monthsShort(a,"").toLocaleLowerCase(),this._longMonthsParse[r]=this.months(a,"").toLocaleLowerCase();return n?"MMM"===e?(i=gr.call(this._shortMonthsParse,u),-1!==i?i:null):(i=gr.call(this._longMonthsParse,u),-1!==i?i:null):"MMM"===e?(i=gr.call(this._shortMonthsParse,u),-1!==i?i:(i=gr.call(this._longMonthsParse,u),-1!==i?i:null)):(i=gr.call(this._longMonthsParse,u),-1!==i?i:(i=gr.call(this._shortMonthsParse,u),-1!==i?i:null))}function ot(t,e,n){var r,i,a;if(this._monthsParseExact)return ut.call(this,t,e,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),r=0;12>r;r++){if(i=c([2e3,r]),n&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[r]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[r]||(a="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[r]=new RegExp(a.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[r].test(t))return r;if(n&&"MMM"===e&&this._shortMonthsParse[r].test(t))return r;if(!n&&this._monthsParse[r].test(t))return r}}function st(t,e){var n;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=_(e);else if(e=t.localeData().monthsParse(e),"number"!=typeof e)return t;return n=Math.min(t.date(),rt(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,n),t}function ct(t){return null!=t?(st(this,t),n.updateOffset(this,!0),this):U(this,"Month")}function lt(){return rt(this.year(),this.month())}function ht(t){return this._monthsParseExact?(o(this,"_monthsRegex")||dt.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex}function ft(t){return this._monthsParseExact?(o(this,"_monthsRegex")||dt.call(this),t?this._monthsStrictRegex:this._monthsRegex):this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex}function dt(){function t(t,e){return e.length-t.length}var e,n,r=[],i=[],a=[];for(e=0;12>e;e++)n=c([2e3,e]),r.push(this.monthsShort(n,"")),i.push(this.months(n,"")),a.push(this.months(n,"")),a.push(this.monthsShort(n,""));for(r.sort(t),i.sort(t),a.sort(t),e=0;12>e;e++)r[e]=Q(r[e]),i[e]=Q(i[e]),a[e]=Q(a[e]);this._monthsRegex=new RegExp("^("+a.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+r.join("|")+")","i")}function pt(t){var e,n=t._a;return n&&-2===h(t).overflow&&(e=n[Yr]<0||n[Yr]>11?Yr:n[Vr]<1||n[Vr]>rt(n[Ur],n[Yr])?Vr:n[$r]<0||n[$r]>24||24===n[$r]&&(0!==n[zr]||0!==n[Gr]||0!==n[Hr])?$r:n[zr]<0||n[zr]>59?zr:n[Gr]<0||n[Gr]>59?Gr:n[Hr]<0||n[Hr]>999?Hr:-1,h(t)._overflowDayOfYear&&(Ur>e||e>Vr)&&(e=Vr),h(t)._overflowWeeks&&-1===e&&(e=Wr),h(t)._overflowWeekday&&-1===e&&(e=Zr),h(t).overflow=e),t}function gt(t){var e,n,r,i,a,u,o=t._i,s=ei.exec(o)||ni.exec(o);if(s){for(h(t).iso=!0,e=0,n=ii.length;n>e;e++)if(ii[e][1].exec(s[1])){i=ii[e][0],r=ii[e][2]!==!1;break}if(null==i)return void(t._isValid=!1);if(s[3]){for(e=0,n=ai.length;n>e;e++)if(ai[e][1].exec(s[3])){a=(s[2]||" ")+ai[e][0];break}if(null==a)return void(t._isValid=!1)}if(!r&&null!=a)return void(t._isValid=!1);if(s[4]){if(!ri.exec(s[4]))return void(t._isValid=!1);u="Z"}t._f=i+(a||"")+(u||""),Tt(t)}else t._isValid=!1}function yt(t){var e=ui.exec(t._i);return null!==e?void(t._d=new Date(+e[1])):(gt(t),void(t._isValid===!1&&(delete t._isValid,n.createFromInputFallback(t))))}function mt(t,e,n,r,i,a,u){var o=new Date(t,e,n,r,i,a,u);return 100>t&&t>=0&&isFinite(o.getFullYear())&&o.setFullYear(t),o}function vt(t){var e=new Date(Date.UTC.apply(null,arguments));return 100>t&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function _t(t){return bt(t)?366:365}function bt(t){return t%4===0&&t%100!==0||t%400===0}function xt(){return bt(this.year())}function wt(t,e,n){var r=7+e-n,i=(7+vt(t,0,r).getUTCDay()-e)%7;return-i+r-1}function At(t,e,n,r,i){var a,u,o=(7+n-r)%7,s=wt(t,r,i),c=1+7*(e-1)+o+s;return 0>=c?(a=t-1,u=_t(a)+c):c>_t(t)?(a=t+1,u=c-_t(t)):(a=t,u=c),{year:a,dayOfYear:u}}function kt(t,e,n){var r,i,a=wt(t.year(),e,n),u=Math.floor((t.dayOfYear()-a-1)/7)+1;return 1>u?(i=t.year()-1,r=u+Et(i,e,n)):u>Et(t.year(),e,n)?(r=u-Et(t.year(),e,n),i=t.year()+1):(i=t.year(),r=u),{week:r,year:i}}function Et(t,e,n){var r=wt(t,e,n),i=wt(t+1,e,n);return(_t(t)-r+i)/7}function Dt(t,e,n){return null!=t?t:null!=e?e:n}function St(t){var e=new Date(n.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function Ct(t){var e,n,r,i,a=[];if(!t._d){for(r=St(t),t._w&&null==t._a[Vr]&&null==t._a[Yr]&&Mt(t),t._dayOfYear&&(i=Dt(t._a[Ur],r[Ur]),t._dayOfYear>_t(i)&&(h(t)._overflowDayOfYear=!0),n=vt(i,0,t._dayOfYear),t._a[Yr]=n.getUTCMonth(),t._a[Vr]=n.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=a[e]=r[e];for(;7>e;e++)t._a[e]=a[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[$r]&&0===t._a[zr]&&0===t._a[Gr]&&0===t._a[Hr]&&(t._nextDay=!0,t._a[$r]=0),t._d=(t._useUTC?vt:mt).apply(null,a),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[$r]=24)}}function Mt(t){var e,n,r,i,a,u,o,s;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(a=1,u=4,n=Dt(e.GG,t._a[Ur],kt(Pt(),1,4).year),r=Dt(e.W,1),i=Dt(e.E,1),(1>i||i>7)&&(s=!0)):(a=t._locale._week.dow,u=t._locale._week.doy,n=Dt(e.gg,t._a[Ur],kt(Pt(),a,u).year),r=Dt(e.w,1),null!=e.d?(i=e.d,(0>i||i>6)&&(s=!0)):null!=e.e?(i=e.e+a,(e.e<0||e.e>6)&&(s=!0)):i=a),1>r||r>Et(n,a,u)?h(t)._overflowWeeks=!0:null!=s?h(t)._overflowWeekday=!0:(o=At(n,r,i,a,u),t._a[Ur]=o.year,t._dayOfYear=o.dayOfYear)}function Tt(t){if(t._f===n.ISO_8601)return void gt(t);t._a=[],h(t).empty=!0;var e,r,i,a,u,o=""+t._i,s=o.length,c=0;for(i=Z(t._f,t._locale).match(vr)||[],e=0;e<i.length;e++)a=i[e],r=(o.match(K(a,t))||[])[0],r&&(u=o.substr(0,o.indexOf(r)),u.length>0&&h(t).unusedInput.push(u),o=o.slice(o.indexOf(r)+r.length),c+=r.length),xr[a]?(r?h(t).empty=!1:h(t).unusedTokens.push(a),nt(a,r,t)):t._strict&&!r&&h(t).unusedTokens.push(a);h(t).charsLeftOver=s-c,o.length>0&&h(t).unusedInput.push(o),h(t).bigHour===!0&&t._a[$r]<=12&&t._a[$r]>0&&(h(t).bigHour=void 0),h(t).parsedDateParts=t._a.slice(0),h(t).meridiem=t._meridiem,t._a[$r]=Ft(t._locale,t._a[$r],t._meridiem),Ct(t),pt(t)}function Ft(t,e,n){var r;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):null!=t.isPM?(r=t.isPM(n),r&&12>e&&(e+=12),r||12!==e||(e=0),e):e}function Lt(t){var e,n,r,i,a;if(0===t._f.length)return h(t).invalidFormat=!0,void(t._d=new Date(0/0));for(i=0;i<t._f.length;i++)a=0,e=g({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[i],Tt(e),f(e)&&(a+=h(e).charsLeftOver,a+=10*h(e).unusedTokens.length,h(e).score=a,(null==r||r>a)&&(r=a,n=e));s(t,n||e)}function Bt(t){if(!t._d){var e=j(t._i);t._a=u([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],function(t){return t&&parseInt(t,10)}),Ct(t)}}function Ot(t){var e=new y(pt(It(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function It(t){var e=t._i,n=t._f;return t._locale=t._locale||I(t._l),null===e||void 0===n&&""===e?d({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),m(e)?new y(pt(e)):(i(n)?Lt(t):n?Tt(t):a(e)?t._d=e:Nt(t),f(t)||(t._d=null),t))}function Nt(t){var e=t._i;void 0===e?t._d=new Date(n.now()):a(e)?t._d=new Date(e.valueOf()):"string"==typeof e?yt(t):i(e)?(t._a=u(e.slice(0),function(t){return parseInt(t,10)}),Ct(t)):"object"==typeof e?Bt(t):"number"==typeof e?t._d=new Date(e):n.createFromInputFallback(t)}function Rt(t,e,n,r,i){var a={};return"boolean"==typeof n&&(r=n,n=void 0),a._isAMomentObject=!0,a._useUTC=a._isUTC=i,a._l=n,a._i=t,a._f=e,a._strict=r,Ot(a)}function Pt(t,e,n,r){return Rt(t,e,n,r,!1)}function jt(t,e){var n,r;if(1===e.length&&i(e[0])&&(e=e[0]),!e.length)return Pt();for(n=e[0],r=1;r<e.length;++r)(!e[r].isValid()||e[r][t](n))&&(n=e[r]);return n}function qt(){var t=[].slice.call(arguments,0);return jt("isBefore",t)}function Ut(){var t=[].slice.call(arguments,0);return jt("isAfter",t)}function Yt(t){var e=j(t),n=e.year||0,r=e.quarter||0,i=e.month||0,a=e.week||0,u=e.day||0,o=e.hour||0,s=e.minute||0,c=e.second||0,l=e.millisecond||0;this._milliseconds=+l+1e3*c+6e4*s+1e3*o*60*60,this._days=+u+7*a,this._months=+i+3*r+12*n,this._data={},this._locale=I(),this._bubble()}function Vt(t){return t instanceof Yt}function $t(t,e){z(t,0,0,function(){var t=this.utcOffset(),n="+";return 0>t&&(t=-t,n="-"),n+$(~~(t/60),2)+e+$(~~t%60,2)})}function zt(t,e){var n=(e||"").match(t)||[],r=n[n.length-1]||[],i=(r+"").match(hi)||["-",0,0],a=+(60*i[1])+_(i[2]);return"+"===i[0]?a:-a}function Gt(t,e){var r,i;return e._isUTC?(r=e.clone(),i=(m(t)||a(t)?t.valueOf():Pt(t).valueOf())-r.valueOf(),r._d.setTime(r._d.valueOf()+i),n.updateOffset(r,!1),r):Pt(t).local()}function Ht(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Wt(t,e){var r,i=this._offset||0;return this.isValid()?null!=t?("string"==typeof t?t=zt(Nr,t):Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(r=Ht(this)),this._offset=t,this._isUTC=!0,null!=r&&this.add(r,"m"),i!==t&&(!e||this._changeInProgress?he(this,ae(t-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,n.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?i:Ht(this):null!=t?this:0/0}function Zt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Xt(t){return this.utcOffset(0,t)}function Kt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Ht(this),"m")),this}function Jt(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(zt(Ir,this._i)),this}function Qt(t){return this.isValid()?(t=t?Pt(t).utcOffset():0,(this.utcOffset()-t)%60===0):!1}function te(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function ee(){if(!p(this._isDSTShifted))return this._isDSTShifted;var t={};if(g(t,this),t=It(t),t._a){var e=t._isUTC?c(t._a):Pt(t._a);this._isDSTShifted=this.isValid()&&b(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function ne(){return this.isValid()?!this._isUTC:!1}function re(){return this.isValid()?this._isUTC:!1}function ie(){return this.isValid()?this._isUTC&&0===this._offset:!1}function ae(t,e){var n,r,i,a=t,u=null;return Vt(t)?a={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(a={},e?a[e]=t:a.milliseconds=t):(u=fi.exec(t))?(n="-"===u[1]?-1:1,a={y:0,d:_(u[Vr])*n,h:_(u[$r])*n,m:_(u[zr])*n,s:_(u[Gr])*n,ms:_(u[Hr])*n}):(u=di.exec(t))?(n="-"===u[1]?-1:1,a={y:ue(u[2],n),M:ue(u[3],n),w:ue(u[4],n),d:ue(u[5],n),h:ue(u[6],n),m:ue(u[7],n),s:ue(u[8],n)}):null==a?a={}:"object"==typeof a&&("from"in a||"to"in a)&&(i=se(Pt(a.from),Pt(a.to)),a={},a.ms=i.milliseconds,a.M=i.months),r=new Yt(a),Vt(t)&&o(t,"_locale")&&(r._locale=t._locale),r}function ue(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function oe(t,e){var n={milliseconds:0,months:0};return n.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function se(t,e){var n;return t.isValid()&&e.isValid()?(e=Gt(e,t),t.isBefore(e)?n=oe(t,e):(n=oe(e,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function ce(t){return 0>t?-1*Math.round(-1*t):Math.round(t)}function le(t,e){return function(n,r){var i,a;return null===r||isNaN(+r)||(A(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),a=n,n=r,r=a),n="string"==typeof n?+n:n,i=ae(n,r),he(this,i,t),this}}function he(t,e,r,i){var a=e._milliseconds,u=ce(e._days),o=ce(e._months);t.isValid()&&(i=null==i?!0:i,a&&t._d.setTime(t._d.valueOf()+a*r),u&&Y(t,"Date",U(t,"Date")+u*r),o&&st(t,U(t,"Month")+o*r),i&&n.updateOffset(t,u||o))}function fe(t,e){var n=t||Pt(),r=Gt(n,this).startOf("day"),i=this.diff(r,"days",!0),a=-6>i?"sameElse":-1>i?"lastWeek":0>i?"lastDay":1>i?"sameDay":2>i?"nextDay":7>i?"nextWeek":"sameElse",u=e&&(k(e[a])?e[a]():e[a]);return this.format(u||this.localeData().calendar(a,this,Pt(n)))}function de(){return new y(this)}function pe(t,e){var n=m(t)?t:Pt(t);return this.isValid()&&n.isValid()?(e=P(p(e)?"millisecond":e),"millisecond"===e?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(e).valueOf()):!1}function ge(t,e){var n=m(t)?t:Pt(t);return this.isValid()&&n.isValid()?(e=P(p(e)?"millisecond":e),"millisecond"===e?this.valueOf()<n.valueOf():this.clone().endOf(e).valueOf()<n.valueOf()):!1}function ye(t,e,n,r){return r=r||"()",("("===r[0]?this.isAfter(t,n):!this.isBefore(t,n))&&(")"===r[1]?this.isBefore(e,n):!this.isAfter(e,n))}function me(t,e){var n,r=m(t)?t:Pt(t);return this.isValid()&&r.isValid()?(e=P(e||"millisecond"),"millisecond"===e?this.valueOf()===r.valueOf():(n=r.valueOf(),this.clone().startOf(e).valueOf()<=n&&n<=this.clone().endOf(e).valueOf())):!1}function ve(t,e){return this.isSame(t,e)||this.isAfter(t,e)}function _e(t,e){return this.isSame(t,e)||this.isBefore(t,e)}function be(t,e,n){var r,i,a,u;return this.isValid()?(r=Gt(t,this),r.isValid()?(i=6e4*(r.utcOffset()-this.utcOffset()),e=P(e),"year"===e||"month"===e||"quarter"===e?(u=xe(this,r),"quarter"===e?u/=3:"year"===e&&(u/=12)):(a=this-r,u="second"===e?a/1e3:"minute"===e?a/6e4:"hour"===e?a/36e5:"day"===e?(a-i)/864e5:"week"===e?(a-i)/6048e5:a),n?u:v(u)):0/0):0/0}function xe(t,e){var n,r,i=12*(e.year()-t.year())+(e.month()-t.month()),a=t.clone().add(i,"months");return 0>e-a?(n=t.clone().add(i-1,"months"),r=(e-a)/(a-n)):(n=t.clone().add(i+1,"months"),r=(e-a)/(n-a)),-(i+r)||0}function we(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function Ae(){var t=this.clone().utc();return 0<t.year()&&t.year()<=9999?k(Date.prototype.toISOString)?this.toDate().toISOString():W(t,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):W(t,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function ke(t){t||(t=this.isUtc()?n.defaultFormatUtc:n.defaultFormat);var e=W(this,t);return this.localeData().postformat(e)}function Ee(t,e){return this.isValid()&&(m(t)&&t.isValid()||Pt(t).isValid())?ae({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function De(t){return this.from(Pt(),t)}function Se(t,e){return this.isValid()&&(m(t)&&t.isValid()||Pt(t).isValid())?ae({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function Ce(t){return this.to(Pt(),t)}function Me(t){var e;return void 0===t?this._locale._abbr:(e=I(t),null!=e&&(this._locale=e),this)}function Te(){return this._locale}function Fe(t){switch(t=P(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===t&&this.weekday(0),"isoWeek"===t&&this.isoWeekday(1),"quarter"===t&&this.month(3*Math.floor(this.month()/3)),this}function Le(t){return t=P(t),void 0===t||"millisecond"===t?this:("date"===t&&(t="day"),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms"))}function Be(){return this._d.valueOf()-6e4*(this._offset||0)}function Oe(){return Math.floor(this.valueOf()/1e3)}function Ie(){return this._offset?new Date(this.valueOf()):this._d}function Ne(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function Re(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function Pe(){return this.isValid()?this.toISOString():null}function je(){return f(this)}function qe(){return s({},h(this))}function Ue(){return h(this).overflow}function Ye(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Ve(t,e){z(0,[t,t.length],0,e)}function $e(t){return We.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function ze(t){return We.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)}function Ge(){return Et(this.year(),1,4)}function He(){var t=this.localeData()._week;return Et(this.year(),t.dow,t.doy)}function We(t,e,n,r,i){var a;return null==t?kt(this,r,i).year:(a=Et(t,r,i),e>a&&(e=a),Ze.call(this,t,e,n,r,i))}function Ze(t,e,n,r,i){var a=At(t,e,n,r,i),u=vt(a.year,0,a.dayOfYear);return this.year(u.getUTCFullYear()),this.month(u.getUTCMonth()),this.date(u.getUTCDate()),this}function Xe(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Ke(t){return kt(t,this._week.dow,this._week.doy).week}function Je(){return this._week.dow}function Qe(){return this._week.doy}function tn(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function en(t){var e=kt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function nn(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function rn(t,e){return i(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]}function an(t){return this._weekdaysShort[t.day()]}function un(t){return this._weekdaysMin[t.day()]}function on(t,e,n){var r,i,a,u=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;7>r;++r)a=c([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(a,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(a,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(a,"").toLocaleLowerCase();return n?"dddd"===e?(i=gr.call(this._weekdaysParse,u),-1!==i?i:null):"ddd"===e?(i=gr.call(this._shortWeekdaysParse,u),-1!==i?i:null):(i=gr.call(this._minWeekdaysParse,u),-1!==i?i:null):"dddd"===e?(i=gr.call(this._weekdaysParse,u),-1!==i?i:(i=gr.call(this._shortWeekdaysParse,u),-1!==i?i:(i=gr.call(this._minWeekdaysParse,u),-1!==i?i:null))):"ddd"===e?(i=gr.call(this._shortWeekdaysParse,u),-1!==i?i:(i=gr.call(this._weekdaysParse,u),-1!==i?i:(i=gr.call(this._minWeekdaysParse,u),-1!==i?i:null))):(i=gr.call(this._minWeekdaysParse,u),-1!==i?i:(i=gr.call(this._weekdaysParse,u),-1!==i?i:(i=gr.call(this._shortWeekdaysParse,u),-1!==i?i:null)))}function sn(t,e,n){var r,i,a;if(this._weekdaysParseExact)return on.call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;7>r;r++){if(i=c([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(i,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(i,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(i,"").replace(".",".?")+"$","i")),this._weekdaysParse[r]||(a="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[r]=new RegExp(a.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[r].test(t))return r;if(n&&"ddd"===e&&this._shortWeekdaysParse[r].test(t))return r;if(n&&"dd"===e&&this._minWeekdaysParse[r].test(t))return r;if(!n&&this._weekdaysParse[r].test(t))return r}}function cn(t){if(!this.isValid())return null!=t?this:0/0;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=nn(t,this.localeData()),this.add(t-e,"d")):e}function ln(t){if(!this.isValid())return null!=t?this:0/0;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function hn(t){return this.isValid()?null==t?this.day()||7:this.day(this.day()%7?t:t-7):null!=t?this:0/0}function fn(t){return this._weekdaysParseExact?(o(this,"_weekdaysRegex")||gn.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex}function dn(t){return this._weekdaysParseExact?(o(this,"_weekdaysRegex")||gn.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex}function pn(t){return this._weekdaysParseExact?(o(this,"_weekdaysRegex")||gn.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex}function gn(){function t(t,e){return e.length-t.length}var e,n,r,i,a,u=[],o=[],s=[],l=[];for(e=0;7>e;e++)n=c([2e3,1]).day(e),r=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),a=this.weekdays(n,""),u.push(r),o.push(i),s.push(a),l.push(r),l.push(i),l.push(a);for(u.sort(t),o.sort(t),s.sort(t),l.sort(t),e=0;7>e;e++)o[e]=Q(o[e]),s[e]=Q(s[e]),l[e]=Q(l[e]);this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+u.join("|")+")","i")}function yn(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function mn(){return this.hours()%12||12}function vn(){return this.hours()||24}function _n(t,e){z(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function bn(t,e){return e._meridiemParse}function xn(t){return"p"===(t+"").toLowerCase().charAt(0)}function wn(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}function An(t,e){e[Hr]=_(1e3*("0."+t))}function kn(){return this._isUTC?"UTC":""}function En(){return this._isUTC?"Coordinated Universal Time":""}function Dn(t){return Pt(1e3*t)}function Sn(){return Pt.apply(null,arguments).parseZone()}function Cn(t,e,n){var r=this._calendar[t];return k(r)?r.call(e,n):r}function Mn(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])}function Tn(){return this._invalidDate}function Fn(t){return this._ordinal.replace("%d",t)}function Ln(t){return t}function Bn(t,e,n,r){var i=this._relativeTime[n];return k(i)?i(t,e,n,r):i.replace(/%d/i,t)}function On(t,e){var n=this._relativeTime[t>0?"future":"past"];return k(n)?n(e):n.replace(/%s/i,e)}function In(t,e,n,r){var i=I(),a=c().set(r,e);return i[n](a,t)}function Nn(t,e,n){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return In(t,e,n,"month");var r,i=[];for(r=0;12>r;r++)i[r]=In(t,r,n,"month");return i}function Rn(t,e,n,r){"boolean"==typeof t?("number"==typeof e&&(n=e,e=void 0),e=e||""):(e=t,n=e,t=!1,"number"==typeof e&&(n=e,e=void 0),e=e||"");var i=I(),a=t?i._week.dow:0;if(null!=n)return In(e,(n+a)%7,r,"day");var u,o=[];for(u=0;7>u;u++)o[u]=In(e,(u+a)%7,r,"day");return o}function Pn(t,e){return Nn(t,e,"months")}function jn(t,e){return Nn(t,e,"monthsShort")}function qn(t,e,n){return Rn(t,e,n,"weekdays")}function Un(t,e,n){return Rn(t,e,n,"weekdaysShort")}function Yn(t,e,n){
return Rn(t,e,n,"weekdaysMin")}function Vn(){var t=this._data;return this._milliseconds=qi(this._milliseconds),this._days=qi(this._days),this._months=qi(this._months),t.milliseconds=qi(t.milliseconds),t.seconds=qi(t.seconds),t.minutes=qi(t.minutes),t.hours=qi(t.hours),t.months=qi(t.months),t.years=qi(t.years),this}function $n(t,e,n,r){var i=ae(e,n);return t._milliseconds+=r*i._milliseconds,t._days+=r*i._days,t._months+=r*i._months,t._bubble()}function zn(t,e){return $n(this,t,e,1)}function Gn(t,e){return $n(this,t,e,-1)}function Hn(t){return 0>t?Math.floor(t):Math.ceil(t)}function Wn(){var t,e,n,r,i,a=this._milliseconds,u=this._days,o=this._months,s=this._data;return a>=0&&u>=0&&o>=0||0>=a&&0>=u&&0>=o||(a+=864e5*Hn(Xn(o)+u),u=0,o=0),s.milliseconds=a%1e3,t=v(a/1e3),s.seconds=t%60,e=v(t/60),s.minutes=e%60,n=v(e/60),s.hours=n%24,u+=v(n/24),i=v(Zn(u)),o+=i,u-=Hn(Xn(i)),r=v(o/12),o%=12,s.days=u,s.months=o,s.years=r,this}function Zn(t){return 4800*t/146097}function Xn(t){return 146097*t/4800}function Kn(t){var e,n,r=this._milliseconds;if(t=P(t),"month"===t||"year"===t)return e=this._days+r/864e5,n=this._months+Zn(e),"month"===t?n:n/12;switch(e=this._days+Math.round(Xn(this._months)),t){case"week":return e/7+r/6048e5;case"day":return e+r/864e5;case"hour":return 24*e+r/36e5;case"minute":return 1440*e+r/6e4;case"second":return 86400*e+r/1e3;case"millisecond":return Math.floor(864e5*e)+r;default:throw new Error("Unknown unit "+t)}}function Jn(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*_(this._months/12)}function Qn(t){return function(){return this.as(t)}}function tr(t){return t=P(t),this[t+"s"]()}function er(t){return function(){return this._data[t]}}function nr(){return v(this.days()/7)}function rr(t,e,n,r,i){return i.relativeTime(e||1,!!n,t,r)}function ir(t,e,n){var r=ae(t).abs(),i=na(r.as("s")),a=na(r.as("m")),u=na(r.as("h")),o=na(r.as("d")),s=na(r.as("M")),c=na(r.as("y")),l=i<ra.s&&["s",i]||1>=a&&["m"]||a<ra.m&&["mm",a]||1>=u&&["h"]||u<ra.h&&["hh",u]||1>=o&&["d"]||o<ra.d&&["dd",o]||1>=s&&["M"]||s<ra.M&&["MM",s]||1>=c&&["y"]||["yy",c];return l[2]=e,l[3]=+t>0,l[4]=n,rr.apply(null,l)}function ar(t,e){return void 0===ra[t]?!1:void 0===e?ra[t]:(ra[t]=e,!0)}function ur(t){var e=this.localeData(),n=ir(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)}function or(){var t,e,n,r=ia(this._milliseconds)/1e3,i=ia(this._days),a=ia(this._months);t=v(r/60),e=v(t/60),r%=60,t%=60,n=v(a/12),a%=12;var u=n,o=a,s=i,c=e,l=t,h=r,f=this.asSeconds();return f?(0>f?"-":"")+"P"+(u?u+"Y":"")+(o?o+"M":"")+(s?s+"D":"")+(c||l||h?"T":"")+(c?c+"H":"")+(l?l+"M":"")+(h?h+"S":""):"P0D"}var sr,cr;cr=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),n=e.length>>>0,r=0;n>r;r++)if(r in e&&t.call(this,e[r],r,e))return!0;return!1};var lr=n.momentProperties=[],hr=!1,fr={};n.suppressDeprecationWarnings=!1,n.deprecationHandler=null;var dr;dr=Object.keys?Object.keys:function(t){var e,n=[];for(e in t)o(t,e)&&n.push(e);return n};var pr,gr,yr={},mr={},vr=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,_r=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,br={},xr={},wr=/\d/,Ar=/\d\d/,kr=/\d{3}/,Er=/\d{4}/,Dr=/[+-]?\d{6}/,Sr=/\d\d?/,Cr=/\d\d\d\d?/,Mr=/\d\d\d\d\d\d?/,Tr=/\d{1,3}/,Fr=/\d{1,4}/,Lr=/[+-]?\d{1,6}/,Br=/\d+/,Or=/[+-]?\d+/,Ir=/Z|[+-]\d\d:?\d\d/gi,Nr=/Z|[+-]\d\d(?::?\d\d)?/gi,Rr=/[+-]?\d+(\.\d{1,3})?/,Pr=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,jr={},qr={},Ur=0,Yr=1,Vr=2,$r=3,zr=4,Gr=5,Hr=6,Wr=7,Zr=8;gr=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e<this.length;++e)if(this[e]===t)return e;return-1},z("M",["MM",2],"Mo",function(){return this.month()+1}),z("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),z("MMMM",0,0,function(t){return this.localeData().months(this,t)}),R("month","M"),X("M",Sr),X("MM",Sr,Ar),X("MMM",function(t,e){return e.monthsShortRegex(t)}),X("MMMM",function(t,e){return e.monthsRegex(t)}),tt(["M","MM"],function(t,e){e[Yr]=_(t)-1}),tt(["MMM","MMMM"],function(t,e,n,r){var i=n._locale.monthsParse(t,r,n._strict);null!=i?e[Yr]=i:h(n).invalidMonth=t});var Xr=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/,Kr="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Jr="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Qr=Pr,ti=Pr,ei=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,ni=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,ri=/Z|[+-]\d\d(?::?\d\d)?/,ii=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],ai=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],ui=/^\/?Date\((\-?\d+)/i;n.createFromInputFallback=w("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),z("Y",0,0,function(){var t=this.year();return 9999>=t?""+t:"+"+t}),z(0,["YY",2],0,function(){return this.year()%100}),z(0,["YYYY",4],0,"year"),z(0,["YYYYY",5],0,"year"),z(0,["YYYYYY",6,!0],0,"year"),R("year","y"),X("Y",Or),X("YY",Sr,Ar),X("YYYY",Fr,Er),X("YYYYY",Lr,Dr),X("YYYYYY",Lr,Dr),tt(["YYYYY","YYYYYY"],Ur),tt("YYYY",function(t,e){e[Ur]=2===t.length?n.parseTwoDigitYear(t):_(t)}),tt("YY",function(t,e){e[Ur]=n.parseTwoDigitYear(t)}),tt("Y",function(t,e){e[Ur]=parseInt(t,10)}),n.parseTwoDigitYear=function(t){return _(t)+(_(t)>68?1900:2e3)};var oi=q("FullYear",!0);n.ISO_8601=function(){};var si=w("moment().min is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Pt.apply(null,arguments);return this.isValid()&&t.isValid()?this>t?this:t:d()}),ci=w("moment().max is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Pt.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:d()}),li=function(){return Date.now?Date.now():+new Date};$t("Z",":"),$t("ZZ",""),X("Z",Nr),X("ZZ",Nr),tt(["Z","ZZ"],function(t,e,n){n._useUTC=!0,n._tzm=zt(Nr,t)});var hi=/([\+\-]|\d\d)/gi;n.updateOffset=function(){};var fi=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?\d*)?$/,di=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;ae.fn=Yt.prototype;var pi=le(1,"add"),gi=le(-1,"subtract");n.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",n.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var yi=w("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});z(0,["gg",2],0,function(){return this.weekYear()%100}),z(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ve("gggg","weekYear"),Ve("ggggg","weekYear"),Ve("GGGG","isoWeekYear"),Ve("GGGGG","isoWeekYear"),R("weekYear","gg"),R("isoWeekYear","GG"),X("G",Or),X("g",Or),X("GG",Sr,Ar),X("gg",Sr,Ar),X("GGGG",Fr,Er),X("gggg",Fr,Er),X("GGGGG",Lr,Dr),X("ggggg",Lr,Dr),et(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,r){e[r.substr(0,2)]=_(t)}),et(["gg","GG"],function(t,e,r,i){e[i]=n.parseTwoDigitYear(t)}),z("Q",0,"Qo","quarter"),R("quarter","Q"),X("Q",wr),tt("Q",function(t,e){e[Yr]=3*(_(t)-1)}),z("w",["ww",2],"wo","week"),z("W",["WW",2],"Wo","isoWeek"),R("week","w"),R("isoWeek","W"),X("w",Sr),X("ww",Sr,Ar),X("W",Sr),X("WW",Sr,Ar),et(["w","ww","W","WW"],function(t,e,n,r){e[r.substr(0,1)]=_(t)});var mi={dow:0,doy:6};z("D",["DD",2],"Do","date"),R("date","D"),X("D",Sr),X("DD",Sr,Ar),X("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),tt(["D","DD"],Vr),tt("Do",function(t,e){e[Vr]=_(t.match(Sr)[0],10)});var vi=q("Date",!0);z("d",0,"do","day"),z("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),z("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),z("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),z("e",0,0,"weekday"),z("E",0,0,"isoWeekday"),R("day","d"),R("weekday","e"),R("isoWeekday","E"),X("d",Sr),X("e",Sr),X("E",Sr),X("dd",function(t,e){return e.weekdaysMinRegex(t)}),X("ddd",function(t,e){return e.weekdaysShortRegex(t)}),X("dddd",function(t,e){return e.weekdaysRegex(t)}),et(["dd","ddd","dddd"],function(t,e,n,r){var i=n._locale.weekdaysParse(t,r,n._strict);null!=i?e.d=i:h(n).invalidWeekday=t}),et(["d","e","E"],function(t,e,n,r){e[r]=_(t)});var _i="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),bi="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),xi="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),wi=Pr,Ai=Pr,ki=Pr;z("DDD",["DDDD",3],"DDDo","dayOfYear"),R("dayOfYear","DDD"),X("DDD",Tr),X("DDDD",kr),tt(["DDD","DDDD"],function(t,e,n){n._dayOfYear=_(t)}),z("H",["HH",2],0,"hour"),z("h",["hh",2],0,mn),z("k",["kk",2],0,vn),z("hmm",0,0,function(){return""+mn.apply(this)+$(this.minutes(),2)}),z("hmmss",0,0,function(){return""+mn.apply(this)+$(this.minutes(),2)+$(this.seconds(),2)}),z("Hmm",0,0,function(){return""+this.hours()+$(this.minutes(),2)}),z("Hmmss",0,0,function(){return""+this.hours()+$(this.minutes(),2)+$(this.seconds(),2)}),_n("a",!0),_n("A",!1),R("hour","h"),X("a",bn),X("A",bn),X("H",Sr),X("h",Sr),X("HH",Sr,Ar),X("hh",Sr,Ar),X("hmm",Cr),X("hmmss",Mr),X("Hmm",Cr),X("Hmmss",Mr),tt(["H","HH"],$r),tt(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),tt(["h","hh"],function(t,e,n){e[$r]=_(t),h(n).bigHour=!0}),tt("hmm",function(t,e,n){var r=t.length-2;e[$r]=_(t.substr(0,r)),e[zr]=_(t.substr(r)),h(n).bigHour=!0}),tt("hmmss",function(t,e,n){var r=t.length-4,i=t.length-2;e[$r]=_(t.substr(0,r)),e[zr]=_(t.substr(r,2)),e[Gr]=_(t.substr(i)),h(n).bigHour=!0}),tt("Hmm",function(t,e){var n=t.length-2;e[$r]=_(t.substr(0,n)),e[zr]=_(t.substr(n))}),tt("Hmmss",function(t,e){var n=t.length-4,r=t.length-2;e[$r]=_(t.substr(0,n)),e[zr]=_(t.substr(n,2)),e[Gr]=_(t.substr(r))});var Ei=/[ap]\.?m?\.?/i,Di=q("Hours",!0);z("m",["mm",2],0,"minute"),R("minute","m"),X("m",Sr),X("mm",Sr,Ar),tt(["m","mm"],zr);var Si=q("Minutes",!1);z("s",["ss",2],0,"second"),R("second","s"),X("s",Sr),X("ss",Sr,Ar),tt(["s","ss"],Gr);var Ci=q("Seconds",!1);z("S",0,0,function(){return~~(this.millisecond()/100)}),z(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),z(0,["SSS",3],0,"millisecond"),z(0,["SSSS",4],0,function(){return 10*this.millisecond()}),z(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),z(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),z(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),z(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),z(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),R("millisecond","ms"),X("S",Tr,wr),X("SS",Tr,Ar),X("SSS",Tr,kr);var Mi;for(Mi="SSSS";Mi.length<=9;Mi+="S")X(Mi,Br);for(Mi="S";Mi.length<=9;Mi+="S")tt(Mi,An);var Ti=q("Milliseconds",!1);z("z",0,0,"zoneAbbr"),z("zz",0,0,"zoneName");var Fi=y.prototype;Fi.add=pi,Fi.calendar=fe,Fi.clone=de,Fi.diff=be,Fi.endOf=Le,Fi.format=ke,Fi.from=Ee,Fi.fromNow=De,Fi.to=Se,Fi.toNow=Ce,Fi.get=V,Fi.invalidAt=Ue,Fi.isAfter=pe,Fi.isBefore=ge,Fi.isBetween=ye,Fi.isSame=me,Fi.isSameOrAfter=ve,Fi.isSameOrBefore=_e,Fi.isValid=je,Fi.lang=yi,Fi.locale=Me,Fi.localeData=Te,Fi.max=ci,Fi.min=si,Fi.parsingFlags=qe,Fi.set=V,Fi.startOf=Fe,Fi.subtract=gi,Fi.toArray=Ne,Fi.toObject=Re,Fi.toDate=Ie,Fi.toISOString=Ae,Fi.toJSON=Pe,Fi.toString=we,Fi.unix=Oe,Fi.valueOf=Be,Fi.creationData=Ye,Fi.year=oi,Fi.isLeapYear=xt,Fi.weekYear=$e,Fi.isoWeekYear=ze,Fi.quarter=Fi.quarters=Xe,Fi.month=ct,Fi.daysInMonth=lt,Fi.week=Fi.weeks=tn,Fi.isoWeek=Fi.isoWeeks=en,Fi.weeksInYear=He,Fi.isoWeeksInYear=Ge,Fi.date=vi,Fi.day=Fi.days=cn,Fi.weekday=ln,Fi.isoWeekday=hn,Fi.dayOfYear=yn,Fi.hour=Fi.hours=Di,Fi.minute=Fi.minutes=Si,Fi.second=Fi.seconds=Ci,Fi.millisecond=Fi.milliseconds=Ti,Fi.utcOffset=Wt,Fi.utc=Xt,Fi.local=Kt,Fi.parseZone=Jt,Fi.hasAlignedHourOffset=Qt,Fi.isDST=te,Fi.isDSTShifted=ee,Fi.isLocal=ne,Fi.isUtcOffset=re,Fi.isUtc=ie,Fi.isUTC=ie,Fi.zoneAbbr=kn,Fi.zoneName=En,Fi.dates=w("dates accessor is deprecated. Use date instead.",vi),Fi.months=w("months accessor is deprecated. Use month instead",ct),Fi.years=w("years accessor is deprecated. Use year instead",oi),Fi.zone=w("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Zt);var Li=Fi,Bi={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Oi={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},Ii="Invalid date",Ni="%d",Ri=/\d{1,2}/,Pi={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ji=C.prototype;ji._calendar=Bi,ji.calendar=Cn,ji._longDateFormat=Oi,ji.longDateFormat=Mn,ji._invalidDate=Ii,ji.invalidDate=Tn,ji._ordinal=Ni,ji.ordinal=Fn,ji._ordinalParse=Ri,ji.preparse=Ln,ji.postformat=Ln,ji._relativeTime=Pi,ji.relativeTime=Bn,ji.pastFuture=On,ji.set=D,ji.months=it,ji._months=Kr,ji.monthsShort=at,ji._monthsShort=Jr,ji.monthsParse=ot,ji._monthsRegex=ti,ji.monthsRegex=ft,ji._monthsShortRegex=Qr,ji.monthsShortRegex=ht,ji.week=Ke,ji._week=mi,ji.firstDayOfYear=Qe,ji.firstDayOfWeek=Je,ji.weekdays=rn,ji._weekdays=_i,ji.weekdaysMin=un,ji._weekdaysMin=xi,ji.weekdaysShort=an,ji._weekdaysShort=bi,ji.weekdaysParse=sn,ji._weekdaysRegex=wi,ji.weekdaysRegex=fn,ji._weekdaysShortRegex=Ai,ji.weekdaysShortRegex=dn,ji._weekdaysMinRegex=ki,ji.weekdaysMinRegex=pn,ji.isPM=xn,ji._meridiemParse=Ei,ji.meridiem=wn,L("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1===_(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}}),n.lang=w("moment.lang is deprecated. Use moment.locale instead.",L),n.langData=w("moment.langData is deprecated. Use moment.localeData instead.",I);var qi=Math.abs,Ui=Qn("ms"),Yi=Qn("s"),Vi=Qn("m"),$i=Qn("h"),zi=Qn("d"),Gi=Qn("w"),Hi=Qn("M"),Wi=Qn("y"),Zi=er("milliseconds"),Xi=er("seconds"),Ki=er("minutes"),Ji=er("hours"),Qi=er("days"),ta=er("months"),ea=er("years"),na=Math.round,ra={s:45,m:45,h:22,d:26,M:11},ia=Math.abs,aa=Yt.prototype;aa.abs=Vn,aa.add=zn,aa.subtract=Gn,aa.as=Kn,aa.asMilliseconds=Ui,aa.asSeconds=Yi,aa.asMinutes=Vi,aa.asHours=$i,aa.asDays=zi,aa.asWeeks=Gi,aa.asMonths=Hi,aa.asYears=Wi,aa.valueOf=Jn,aa._bubble=Wn,aa.get=tr,aa.milliseconds=Zi,aa.seconds=Xi,aa.minutes=Ki,aa.hours=Ji,aa.days=Qi,aa.weeks=nr,aa.months=ta,aa.years=ea,aa.humanize=ur,aa.toISOString=or,aa.toString=or,aa.toJSON=or,aa.locale=Me,aa.localeData=Te,aa.toIsoString=w("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",or),aa.lang=yi,z("X",0,0,"unix"),z("x",0,0,"valueOf"),X("x",Or),X("X",Rr),tt("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),tt("x",function(t,e,n){n._d=new Date(_(t))}),n.version="2.13.0",r(Pt),n.fn=Li,n.min=qt,n.max=Ut,n.now=li,n.utc=c,n.unix=Dn,n.months=Pn,n.isDate=a,n.locale=L,n.invalid=d,n.duration=ae,n.isMoment=m,n.weekdays=qn,n.parseZone=Sn,n.localeData=I,n.isDuration=Vt,n.monthsShort=jn,n.weekdaysMin=Yn,n.defineLocale=B,n.updateLocale=O,n.locales=N,n.weekdaysShort=Un,n.normalizeUnits=P,n.relativeTimeThreshold=ar,n.prototype=Li;var ua=n;return ua})},{}],108:[function(t,e){e.exports={name:"mermaid",version:"6.0.0",description:"Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams and gantt charts.",main:"src/mermaid.js",keywords:["diagram","markdown","flowchart","sequence diagram","gantt"],bin:{mermaid:"./bin/mermaid.js"},scripts:{live:"live-server ./test/examples",lint:"node node_modules/eslint/bin/eslint.js src",jison:"gulp jison_legacy",karma:"node node_modules/karma/bin/karma start karma.conf.js --single-run",watch:"source  ./scripts/watch.sh",doc:"rm -r build;rm -r dist/www;gulp vartree;cp dist/www/all.html ../mermaid-pages/index.html;cp dist/mermaid.js ../mermaid-pages/javascripts/lib;cp dist/mermaid.forest.css ../mermaid-pages/stylesheets",tape:"node node_modules/tape/bin/tape test/cli_test-*.js",jasmine:"npm run jison &&node node_modules/jasmine-es6/bin/jasmine.js",pretest:"npm run jison",test:"npm run dist && npm run karma && npm run tape","dist-slim-mermaid":"node node_modules/browserify/bin/cmd.js src/mermaid.js  -t babelify  -s mermaid    -o dist/mermaid.slim.js    -x d3   && cat dist/mermaid.slim.js    | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.slim.min.js","dist-slim-mermaidAPI":"node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.slim.js -x d3 && cat dist/mermaidAPI.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.slim.min.js","dist-mermaid":"node node_modules/browserify/bin/cmd.js src/mermaid.js  -t babelify  -s mermaid    -o dist/mermaid.js         && cat dist/mermaid.js         | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.min.js","dist-mermaid-nomin":"node node_modules/browserify/bin/cmd.js src/mermaid.js  -t babelify  -s mermaid    -o dist/mermaid.js && node bin/mermaid -v -s testgitgraph.mm && testgitgraph.mm.svg","dist-mermaidAPI":"node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.js      && cat dist/mermaidAPI.js      | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.min.js",dist:"npm run dist-slim-mermaid && npm run dist-slim-mermaidAPI && npm run dist-mermaid && npm run dist-mermaidAPI"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"Knut Sveidqvist",license:"MIT",dependencies:{chalk:"^0.5.1",d3:"3.5.6",dagre:"^0.7.4","dagre-d3":"0.4.10",he:"^0.5.0",lodash:"^4.6.1",minimist:"^1.1.0",mkdirp:"^0.5.0",moment:"^2.9.0",semver:"^4.1.1",which:"^1.0.8"},devDependencies:{async:"^0.9.0","babel-eslint":"^4.1.3",babelify:"^6.4.0",browserify:"~6.2.0",clone:"^0.2.0","codeclimate-test-reporter":"0.0.4",dateformat:"^1.0.11",dox:"^0.8.0",eslint:"^1.6.0","eslint-watch":"^2.1.2","event-stream":"^3.2.0",foundation:"^4.2.1-1","front-matter":"^0.2.0",gulp:"~3.9.0","gulp-bower":"0.0.10","gulp-browserify":"^0.5.0","gulp-bump":"^0.1.11","gulp-concat":"~2.4.1","gulp-data":"^1.1.1","gulp-dox":"^0.1.6","gulp-ext-replace":"^0.2.0","gulp-filelog":"^0.4.1","gulp-front-matter":"^1.2.3","gulp-hogan":"^1.1.0","gulp-if":"^1.2.5","gulp-insert":"^0.4.0","gulp-istanbul":"^0.4.0","gulp-jasmine":"~2.1.0","gulp-jasmine-browser":"^0.2.3","gulp-jison":"~1.2.0","gulp-jshint":"^1.9.0","gulp-less":"^3.0.1","gulp-livereload":"^3.8.0","gulp-marked":"^1.0.0","gulp-mdvars":"^2.0.0","gulp-qunit":"~1.2.1","gulp-rename":"~1.2.0","gulp-shell":"^0.2.10","gulp-tag-version":"^1.2.1","gulp-uglify":"~1.0.1","gulp-util":"^3.0.7","gulp-vartree":"^2.0.1","hogan.js":"^3.0.2",jasmine:"2.3.2","jasmine-es6":"0.0.18",jison:"zaach/jison",jsdom:"^7.0.2","jshint-stylish":"^2.0.1",karma:"^0.13.15","karma-babel-preprocessor":"^6.0.1","karma-browserify":"^4.4.0","karma-jasmine":"^0.3.6","karma-phantomjs-launcher":"^0.2.1","live-server":"^0.9.0","map-stream":"0.0.6",marked:"^0.3.2","mock-browser":"^0.91.34",path:"^0.4.9",phantomjs:"^2.1.3",proxyquire:"^1.7.3","proxyquire-universal":"^1.0.8",proxyquireify:"^3.0.0","require-dir":"^0.3.0",rewire:"^2.1.3",rimraf:"^2.2.8",tape:"^3.0.3",testdom:"^2.0.0",uglifyjs:"^2.4.10","vinyl-source-stream":"^1.1.0",watchify:"^3.6.1"}}},{}],109:[function(t,e){"use strict";var n;if(t)try{n=t("d3")}catch(r){}n||(n=window.d3),e.exports=n,function(){var t=!1;if(t="tspans",n.selection.prototype.textwrap)return!1;if("undefined"==typeof t)var t=!1;n.selection.prototype.textwrap=n.selection.enter.prototype.textwrap=function(e,r){var i,r=parseInt(r)||0,a=this,u=function(t){var e=t[0][0],r=e.tagName.toString();if("rect"!==r)return!1;var i={};return i.x=n.select(e).attr("x")||0,i.y=n.select(e).attr("y")||0,i.width=n.select(e).attr("width")||0,i.height=n.select(e).attr("height")||0,i.attr=t.attr,i},o=function(t){if(t.attr||(t.attr=function(t){return this[t]?this[t]:void 0}),"object"==typeof t&&"undefined"!=typeof t.x&&"undefined"!=typeof t.y&&"undefined"!=typeof t.width&&"undefined"!=typeof t.height)return t;if("function"==typeof Array.isArray&&Array.isArray(t)||"[object Array]"===Object.prototype.toString.call(t)){var e=u(t);return e}return!1},s=function(t,e){var n=t;return 0!==e&&(n.x=parseInt(n.x)+e,n.y=parseInt(n.y)+e,n.width-=2*e,n.height-=2*e),n},c=o(e);if(r&&(c=s(c,r)),0!=a.length&&n&&e&&c){e=c;var l,h=function(t){var r=n.select(t[0].parentNode),a=r.select("text"),u=a.style("line-height"),o=a.text();a.remove();var s=r.append("foreignObject");s.attr("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility").attr("x",e.x).attr("y",e.y).attr("width",e.width).attr("height",e.height);var c=s.append("xhtml:div").attr("class","wrapped");c.style("height",e.height).style("width",e.width).html(o),u&&c.style("line-height",u),i=r.select("foreignObject")},f=function(t){var a,u=t[0],o=u.parentNode,s=n.select(u),c=u.getBBox().height,l=u.getBBox().width,h=c,f=s.style("line-height");if(a=f&&parseInt(f)?parseInt(f.replace("px","")):h,l>e.width){var d=s.text();if(s.text(""),d){var p,g;if(-1!==d.indexOf(" ")){var p=" ";g=d.split(" ")}else{p="";var y=d.length,m=Math.ceil(l/e.width),v=Math.floor(y/m);v*m>=y||m++;for(var _,b,g=[],x=0;m>x;x++)b=x*v,_=d.substr(b,v),g.push(_)}for(var w=[],A=0,k={},x=0;x<g.length;x++){var E,D=g[x],S=s.text(),C=u.getComputedTextLength();E=S?S+p+D:D,s.text(E);var M=u.getComputedTextLength();if(M>e.width&&S&&""!==S&&(A+=C,k={string:S,width:C,offset:A},w.push(k),s.text(""),s.text(D),x==g.length-1&&(E=D,s.text(E),M=u.getComputedTextLength())),x==g.length-1){s.text("");var T=E;T&&""!==T&&(M-A>0&&(M-=A),k={string:T,width:M,offset:A},w.push(k))}}var F;s.text("");for(var x=0;x<w.length;x++){var _=w[x].string;if(x>0){w[x-1]}x*a<e.height-1.5*a&&(F=s.append("tspan").text(_),F.attr("dy",function(){return x>0?a:void 0}),F.attr("x",function(){var t=e.x;return r&&(t+=r),t}))}}}s.attr("y",function(){var t=e.y;return a&&(t+=a),r&&(t+=r),t}),s.attr("x",function(){var t=e.x;return r&&(t+=r),t}),i=n.select(o).selectAll("text")};t&&("foreignobjects"==t?l=h:"tspans"==t&&(l=f)),t||(l="undefined"!=typeof SVGForeignObjectElement?h:f);for(var d=0;d<a.length;d++){var p=a[d];l(p)}return i}return a?a:!1}}()},{d3:4}],110:[function(t,e,n){"use strict";var r,i=t("../../logger"),a=new i.Log,u=[];r={};n.addClass=function(t){"undefined"==typeof r[t]&&(r[t]={id:t,methods:[],members:[]})},n.clear=function(){u=[],r={}},e.exports.getClass=function(t){return r[t]},e.exports.getClasses=function(){return r},e.exports.getRelations=function(){return u},n.addRelation=function(t){a.warn("Adding relation: "+JSON.stringify(t)),n.addClass(t.id1),n.addClass(t.id2),u.push(t)},n.addMembers=function(t,e){var n=r[t];"string"==typeof e&&(")"===e.substr(-1)?n.methods.push(e):n.members.push(e))},n.cleanupLabel=function(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()},n.lineType={LINE:0,DOTTED_LINE:1},n.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3}},{"../../logger":131}],111:[function(t,e){"use strict";var n=t("./parser/classDiagram").parser,r=t("./classDb");n.yy=r;var i,a=t("../../d3"),u=t("../../logger"),o=t("dagre"),s=new u.Log;i={};var c=0,l={dividerMargin:10,padding:5,textHeight:14},h=function(t){var e,n=Object.keys(i);for(e=0;e<n.length;e++)if(i[n[e]].label===t)return n[e];return void 0},f=function(t){t.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},d=0,p=function(t,e,n){var i=function(t){switch(t){case r.relationType.AGGREGATION:return"aggregation";case r.relationType.EXTENSION:return"extension";case r.relationType.COMPOSITION:return"composition";case r.relationType.DEPENDENCY:return"dependency"}},u=e.points,o=a.svg.line().x(function(t){return t.x}).y(function(t){return t.y}).interpolate("basis"),s=t.append("path").attr("d",o(u)).attr("id","edge"+d).attr("class","relation"),c="";l.arrowMarkerAbsolute&&(c=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,c=c.replace(/\(/g,"\\("),c=c.replace(/\)/g,"\\)")),"none"!==n.relation.type1&&s.attr("marker-start","url("+c+"#"+i(n.relation.type1)+"Start)"),"none"!==n.relation.type2&&s.attr("marker-end","url("+c+"#"+i(n.relation.type2)+"End)");var h,f,p=e.points.length;if(p%2!==0){var g=e.points[Math.floor(p/2)],y=e.points[Math.ceil(p/2)];h=(g.x+y.x)/2,f=(g.y+y.y)/2}else{var m=e.points[Math.floor(p/2)];h=m.x,f=m.y}if("undefined"!=typeof n.title){var v=t.append("g").attr("class","classLabel"),_=v.append("text").attr("class","label").attr("x",h).attr("y",f).attr("fill","red").attr("text-anchor","middle").text(n.title);window.label=_;var b=_.node().getBBox();v.insert("rect",":first-child").attr("class","box").attr("x",b.x-l.padding/2).attr("y",b.y-l.padding/2).attr("width",b.width+2*l.padding/2).attr("height",b.height+2*l.padding/2)}d++},g=function(t,e){s.info("Rendering class "+e);var n=function(t,e,n){var r=t.append("tspan").attr("x",l.padding).text(e);n||r.attr("dy",l.textHeight)},r="classId"+c,a={id:r,label:e.id,width:0,height:0},u=t.append("g").attr("id",r).attr("class","classGroup"),o=u.append("text").attr("x",l.padding).attr("y",l.textHeight+l.padding).text(e.id),h=o.node().getBBox().height,f=u.append("line").attr("x1",0).attr("y1",l.padding+h+l.dividerMargin/2).attr("y2",l.padding+h+l.dividerMargin/2),d=u.append("text").attr("x",l.padding).attr("y",h+l.dividerMargin+l.textHeight).attr("fill","white").attr("class","classText"),p=!0;e.members.forEach(function(t){n(d,t,p),p=!1});var g=d.node().getBBox(),y=u.append("line").attr("x1",0).attr("y1",l.padding+h+3*l.dividerMargin/2+g.height).attr("y2",l.padding+h+3*l.dividerMargin/2+g.height),m=u.append("text").attr("x",l.padding).attr("y",h+2*l.dividerMargin+g.height+l.textHeight).attr("fill","white").attr("class","classText");p=!0,e.methods.forEach(function(t){n(m,t,p),p=!1});var v=u.node().getBBox();return u.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",v.width+2*l.padding).attr("height",v.height+l.padding+.5*l.dividerMargin),f.attr("x2",v.width+2*l.padding),y.attr("x2",v.width+2*l.padding),a.width=v.width+2*l.padding,a.height=v.height+l.padding+.5*l.dividerMargin,i[r]=a,c++,a};e.exports.setConf=function(t){var e=Object.keys(t);e.forEach(function(e){l[e]=t[e]})},e.exports.draw=function(t,e){n.yy.clear(),n.parse(t),s.info("Rendering diagram "+t);var i=a.select("#"+e);f(i);var u=new o.graphlib.Graph({multigraph:!0});u.setGraph({isMultiGraph:!0}),u.setDefaultEdgeLabel(function(){return{}});var c,l=r.getClasses(),d=Object.keys(l);for(c=0;c<d.length;c++){var y=l[d[c]],m=g(i,y);u.setNode(m.id,m),s.info("Org height: "+m.height)}var v=r.getRelations(),c=0;v.forEach(function(t){c+=1,s.info("tjoho"+h(t.id1)+h(t.id2)+JSON.stringify(t)),u.setEdge(h(t.id1),h(t.id2),{relation:t})}),o.layout(u),u.nodes().forEach(function(t){"undefined"!=typeof t&&(s.debug("Node "+t+": "+JSON.stringify(u.node(t))),a.select("#"+t).attr("transform","translate("+(u.node(t).x-u.node(t).width/2)+","+(u.node(t).y-u.node(t).height/2)+" )"))}),u.edges().forEach(function(t){s.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(u.edge(t))),p(i,u.edge(t),u.edge(t).relation)}),i.attr("height","100%"),i.attr("width","100%")}},{"../../d3":109,"../../logger":131,"./classDb":110,"./parser/classDiagram":112,dagre:54}],112:[function(t,e,n){(function(r){"use strict";var i=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[1,11],r=[1,12],i=[1,13],a=[1,15],u=[1,16],o=[1,17],s=[6,8],c=[1,26],l=[1,27],h=[1,28],f=[1,29],d=[1,30],p=[1,31],g=[6,8,13,17,23,26,27,28,29,30,31],y=[6,8,13,17,23,26,27,28,29,30,31,45,46,47],m=[23,45,46,47],v=[23,30,31,45,46,47],_=[23,26,27,28,29,45,46,47],b=[6,8,13],x=[1,46],w={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,CLASS_DIAGRAM:5,NEWLINE:6,statements:7,EOF:8,statement:9,className:10,alphaNumToken:11,relationStatement:12,LABEL:13,classStatement:14,methodStatement:15,CLASS:16,STRUCT_START:17,members:18,STRUCT_STOP:19,MEMBER:20,SEPARATOR:21,relation:22,STR:23,relationType:24,lineType:25,AGGREGATION:26,EXTENSION:27,COMPOSITION:28,DEPENDENCY:29,LINE:30,DOTTED_LINE:31,commentToken:32,textToken:33,graphCodeTokens:34,textNoTagsToken:35,TAGSTART:36,TAGEND:37,"==":38,"--":39,PCT:40,DEFAULT:41,SPACE:42,MINUS:43,keywords:44,UNICODE_TEXT:45,NUM:46,ALPHA:47,$accept:0,$end:1},terminals_:{2:"error",5:"CLASS_DIAGRAM",6:"NEWLINE",8:"EOF",13:"LABEL",16:"CLASS",17:"STRUCT_START",19:"STRUCT_STOP",20:"MEMBER",21:"SEPARATOR",23:"STR",26:"AGGREGATION",27:"EXTENSION",28:"COMPOSITION",29:"DEPENDENCY",30:"LINE",31:"DOTTED_LINE",34:"graphCodeTokens",36:"TAGSTART",37:"TAGEND",38:"==",39:"--",40:"PCT",41:"DEFAULT",42:"SPACE",43:"MINUS",44:"keywords",45:"UNICODE_TEXT",46:"NUM",47:"ALPHA"},productions_:[0,[3,1],[4,4],[7,1],[7,3],[10,2],[10,1],[9,1],[9,2],[9,1],[9,1],[14,2],[14,5],[18,1],[18,2],[15,1],[15,2],[15,1],[15,1],[12,3],[12,4],[12,4],[12,5],[22,3],[22,2],[22,2],[22,1],[24,1],[24,1],[24,1],[24,1],[25,1],[25,1],[32,1],[32,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[35,1],[35,1],[35,1],[35,1],[11,1],[11,1],[11,1]],performAction:function(t,e,n,r,i,a){var u=a.length-1;switch(i){case 5:this.$=a[u-1]+a[u];break;case 6:this.$=a[u];break;case 7:r.addRelation(a[u]);break;case 8:a[u-1].title=r.cleanupLabel(a[u]),r.addRelation(a[u-1]);break;case 12:r.addMembers(a[u-3],a[u-1]);break;case 13:
this.$=[a[u]];break;case 14:a[u].push(a[u-1]),this.$=a[u];break;case 15:break;case 16:r.addMembers(a[u-1],r.cleanupLabel(a[u]));break;case 17:console.warn("Member",a[u]);break;case 18:break;case 19:this.$={id1:a[u-2],id2:a[u],relation:a[u-1],relationTitle1:"none",relationTitle2:"none"};break;case 20:this.$={id1:a[u-3],id2:a[u],relation:a[u-1],relationTitle1:a[u-2],relationTitle2:"none"};break;case 21:this.$={id1:a[u-3],id2:a[u],relation:a[u-2],relationTitle1:"none",relationTitle2:a[u-1]};break;case 22:this.$={id1:a[u-4],id2:a[u],relation:a[u-2],relationTitle1:a[u-3],relationTitle2:a[u-1]};break;case 23:this.$={type1:a[u-2],type2:a[u],lineType:a[u-1]};break;case 24:this.$={type1:"none",type2:a[u],lineType:a[u-1]};break;case 25:this.$={type1:a[u-1],type2:"none",lineType:a[u]};break;case 26:this.$={type1:"none",type2:"none",lineType:a[u]};break;case 27:this.$=r.relationType.AGGREGATION;break;case 28:this.$=r.relationType.EXTENSION;break;case 29:this.$=r.relationType.COMPOSITION;break;case 30:this.$=r.relationType.DEPENDENCY;break;case 31:this.$=r.lineType.LINE;break;case 32:this.$=r.lineType.DOTTED_LINE}},table:[{3:1,4:2,5:[1,3]},{1:[3]},{1:[2,1]},{6:[1,4]},{7:5,9:6,10:10,11:14,12:7,14:8,15:9,16:n,20:r,21:i,45:a,46:u,47:o},{8:[1,18]},{6:[1,19],8:[2,3]},e(s,[2,7],{13:[1,20]}),e(s,[2,9]),e(s,[2,10]),e(s,[2,15],{22:21,24:24,25:25,13:[1,23],23:[1,22],26:c,27:l,28:h,29:f,30:d,31:p}),{10:32,11:14,45:a,46:u,47:o},e(s,[2,17]),e(s,[2,18]),e(g,[2,6],{11:14,10:33,45:a,46:u,47:o}),e(y,[2,46]),e(y,[2,47]),e(y,[2,48]),{1:[2,2]},{7:34,9:6,10:10,11:14,12:7,14:8,15:9,16:n,20:r,21:i,45:a,46:u,47:o},e(s,[2,8]),{10:35,11:14,23:[1,36],45:a,46:u,47:o},{22:37,24:24,25:25,26:c,27:l,28:h,29:f,30:d,31:p},e(s,[2,16]),{25:38,30:d,31:p},e(m,[2,26],{24:39,26:c,27:l,28:h,29:f}),e(v,[2,27]),e(v,[2,28]),e(v,[2,29]),e(v,[2,30]),e(_,[2,31]),e(_,[2,32]),e(s,[2,11],{17:[1,40]}),e(g,[2,5]),{8:[2,4]},e(b,[2,19]),{10:41,11:14,45:a,46:u,47:o},{10:42,11:14,23:[1,43],45:a,46:u,47:o},e(m,[2,25],{24:44,26:c,27:l,28:h,29:f}),e(m,[2,24]),{18:45,20:x},e(b,[2,21]),e(b,[2,20]),{10:47,11:14,45:a,46:u,47:o},e(m,[2,23]),{19:[1,48]},{18:49,19:[2,13],20:x},e(b,[2,22]),e(s,[2,12]),{19:[2,14]}],defaultActions:{2:[2,1],18:[2,2],34:[2,4],49:[2,14]},parseError:function(t,e){if(!e.recoverable){var n=function(t,e){this.message=t,this.hash=e};throw n.prototype=Error,new n(t,e)}this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,u="",o=0,s=0,c=0,l=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,_,b,x,w,A,k,E,D,S=function(){var t;return t=d.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},C={};;){if(b=n[n.length-1],this.defaultActions[b]?x=this.defaultActions[b]:((null===v||"undefined"==typeof v)&&(v=S()),x=a[b]&&a[b][v]),"undefined"==typeof x||!x.length||!x[0]){var M="";D=[];for(A in a[b])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");M=d.showPosition?"Parse error on line "+(o+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(M,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(x[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(x[1]),v=null,_?(v=_,_=null):(s=d.yyleng,u=d.yytext,o=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],C.$=r[r.length-k],C._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},m&&(C._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(C,[u,s,o,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[x[1]][0]),r.push(C.$),i.push(C._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},A=function(){var t={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,r){switch(n){case 0:break;case 1:return 6;case 2:break;case 3:return 5;case 4:return this.begin("struct"),17;case 5:return this.popState(),19;case 6:break;case 7:return"MEMBER";case 8:return 16;case 9:this.begin("string");break;case 10:this.popState();break;case 11:return"STR";case 12:return 27;case 13:return 27;case 14:return 29;case 15:return 29;case 16:return 28;case 17:return 26;case 18:return 30;case 19:return 31;case 20:return 13;case 21:return 43;case 22:return"DOT";case 23:return"PLUS";case 24:return 40;case 25:return"EQUALS";case 26:return"EQUALS";case 27:return 47;case 28:return"PUNCTUATION";case 29:return 46;case 30:return 45;case 31:return 42;case 32:return 8}},rules:[/^(?:%%[^\n]*)/,/^(?:\n+)/,/^(?:\s+)/,/^(?:classDiagram\b)/,/^(?:[\{])/,/^(?:\})/,/^(?:[\n])/,/^(?:[^\{\}\n]*)/,/^(?:class\b)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:--)/,/^(?:\.\.)/,/^(?::[^#\n;]+)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[A-Za-z]+)/,/^(?:[!"#$%&'*+,-.`?\\_\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:$)/],conditions:{string:{rules:[10,11],inclusive:!1},struct:{rules:[5,6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,8,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],inclusive:!0}}};return t}();return w.lexer=A,t.prototype=w,w.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],113:[function(t,e,n){(function(e){"use strict";var r=t("../../logger"),i=new r.Log,a="",u=!1;n.setMessage=function(t){i.debug("Setting message to: "+t),a=t},n.getMessage=function(){return a},n.setInfo=function(t){u=t},n.getInfo=function(){return u},n.parseError=function(t,n){e.mermaidAPI.parseError(t,n)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../logger":131}],114:[function(t,e,n){"use strict";var r=t("./exampleDb"),i=t("./parser/example.js"),a=t("../../d3"),u=t("../../logger"),o=new u.Log;n.draw=function(t,e,n){var u;u=i.parser,u.yy=r,o.debug("Renering example diagram"),u.parse(t);var s=a.select("#"+e),c=s.append("g");c.append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size","32px").style("text-anchor","middle").text("mermaid "+n),s.attr("height",100),s.attr("width",400)}},{"../../d3":109,"../../logger":131,"./exampleDb":113,"./parser/example.js":115}],115:[function(t,e,n){(function(r){"use strict";var i=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[6,9,10,12],r={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,message:11,say:12,TXT:13,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo",12:"say",13:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1],[8,1],[11,2]],performAction:function(t,e,n,r,i,a){var u=a.length-1;switch(i){case 1:return r;case 4:break;case 6:r.setInfo(!0);break;case 7:r.setMessage(a[u]);break;case 8:this.$=a[u-1].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},e(n,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:9,12:[1,10]},{1:[2,1]},e(n,[2,3]),e(n,[2,4]),e(n,[2,5]),e(n,[2,6]),e(n,[2,7]),{13:[1,11]},e(n,[2,8])],defaultActions:{4:[2,1]},parseError:function(t,e){if(!e.recoverable){var n=function(t,e){this.message=t,this.hash=e};throw n.prototype=Error,new n(t,e)}this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,u="",o=0,s=0,c=0,l=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,_,b,x,w,A,k,E,D,S=function(){var t;return t=d.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},C={};;){if(b=n[n.length-1],this.defaultActions[b]?x=this.defaultActions[b]:((null===v||"undefined"==typeof v)&&(v=S()),x=a[b]&&a[b][v]),"undefined"==typeof x||!x.length||!x[0]){var M="";D=[];for(A in a[b])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");M=d.showPosition?"Parse error on line "+(o+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(M,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(x[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(x[1]),v=null,_?(v=_,_=null):(s=d.yyleng,u=d.yytext,o=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],C.$=r[r.length-k],C._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},m&&(C._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(C,[u,s,o,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[x[1]][0]),r.push(C.$),i.push(C._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},i=function(){var t={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return 9;case 1:return 10;case 2:return 4;case 3:return 12;case 4:return 13;case 5:return 6;case 6:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:showInfo\b)/i,/^(?:info\b)/i,/^(?:say\b)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6],inclusive:!0}}};return t}();return r.lexer=i,t.prototype=r,r.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],116:[function(t,e){"use strict";var n,r=t("../../logger"),i=new r.Log;if(t)try{n=t("dagre-d3")}catch(a){i.debug("Could not load dagre-d3")}n||(n=window.dagreD3),e.exports=n},{"../../logger":131,"dagre-d3":5}],117:[function(t,e,n){"use strict";var r=t("./graphDb"),i=t("./parser/flow"),a=t("./parser/dot"),u=t("../../d3"),o=t("./dagre-d3"),s=t("../../logger"),c=new s.Log,l={};e.exports.setConf=function(t){var e,n=Object.keys(t);for(e=0;e<n.length;e++)l[n[e]]=t[n[e]]},n.addVertices=function(t,e){var n=Object.keys(t),r=function(t,e){var n;for(n=0;n<e.length;n++)"undefined"!=typeof e[n]&&(t=t+e[n]+";");return t};n.forEach(function(n){var i,a=t[n],u="";a.classes.length>0&&(u=a.classes.join(" "));var o="";o=r(o,a.styles),i="undefined"==typeof a.text?a.id:a.text;var s="";if(l.htmlLabels)s="html",i=i.replace(/fa:fa[\w\-]+/g,function(t){return'<i class="fa '+t.substring(3)+'"></i>'});else{var c=document.createElementNS("http://www.w3.org/2000/svg","text"),h=i.split(/<br>/),f=0;for(f=0;f<h.length;f++){var d=document.createElementNS("http://www.w3.org/2000/svg","tspan");d.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),d.setAttribute("dy","1em"),d.setAttribute("x","1"),d.textContent=h[f],c.appendChild(d)}s="svg",i=c}var p=0,g="";switch(a.type){case"round":p=5,g="rect";break;case"square":g="rect";break;case"diamond":g="question";break;case"odd":g="rect_left_inv_arrow";break;case"odd_right":g="rect_left_inv_arrow";break;case"circle":g="circle";break;case"ellipse":g="ellipse";break;case"group":g="rect",i="";break;default:g="rect"}e.setNode(a.id,{labelType:s,shape:g,label:i,rx:p,ry:p,"class":u,style:o,id:a.id})})},n.addEdges=function(t,e){var n,r=0;"undefined"!=typeof t.defaultStyle&&(n=t.defaultStyle.toString().replace(/,/g,";")),t.forEach(function(i){r++;var a={};a.arrowhead="arrow_open"===i.type?"none":"normal";var u="";if("undefined"!=typeof i.style)i.style.forEach(function(t){u=u+t+";"});else switch(i.stroke){case"normal":u="fill:none","undefined"!=typeof n&&(u=n);break;case"dotted":u="stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":u="stroke: #333; stroke-width: 3.5px;fill:none"}a.style=u,"undefined"!=typeof i.interpolate?a.lineInterpolate=i.interpolate:"undefined"!=typeof t.defaultInterpolate&&(a.lineInterpolate=t.defaultInterpolate),"undefined"==typeof i.text?"undefined"!=typeof i.style&&(a.arrowheadStyle="fill: #333"):(a.arrowheadStyle="fill: #333","undefined"==typeof i.style?(a.labelpos="c",l.htmlLabels?(a.labelType="html",a.label='<span class="edgeLabel">'+i.text+"</span>"):(a.labelType="text",a.style="stroke: #333; stroke-width: 1.5px;fill:none",a.label=i.text.replace(/<br>/g,"\n"))):a.label=i.text.replace(/<br>/g,"\n")),e.setEdge(i.start,i.end,a,r)})},n.getClasses=function(t,e){var n;r.clear(),n=e?a.parser:i.parser,n.yy=r,n.parse(t);var u=r.getClasses();return"undefined"==typeof u["default"]&&(u["default"]={id:"default"},u["default"].styles=[],u["default"].clusterStyles=["rx:4px","fill: rgb(255, 255, 222)","rx: 4px","stroke: rgb(170, 170, 51)","stroke-width: 1px"],u["default"].nodeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"],u["default"].edgeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"]),u},n.draw=function(t,e,s){c.debug("Drawing flowchart");var h;r.clear(),h=s?a.parser:i.parser,h.yy=r;try{h.parse(t)}catch(f){c.debug("Parsing failed")}var d;d=r.getDirection(),"undefined"==typeof d&&(d="TD");var p,g=new o.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:d,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),y=r.getSubGraphs(),m=0;for(m=y.length-1;m>=0;m--)p=y[m],r.addVertex(p.id,p.title,"group",void 0);var v=r.getVertices(),_=r.getEdges();m=0;var b;for(m=y.length-1;m>=0;m--)for(p=y[m],u.selectAll("cluster").append("text"),b=0;b<p.nodes.length;b++)g.setParent(p.nodes[b],p.id);n.addVertices(v,g),n.addEdges(_,g);var x=new o.render;x.shapes().question=function(t,e,n){var r=e.width,i=e.height,a=.8*(r+i),u=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=t.insert("polygon",":first-child").attr("points",u.map(function(t){return t.x+","+t.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return n.intersect=function(t){return o.intersect.polygon(n,u,t)},s},x.shapes().rect_left_inv_arrow=function(t,e,n){var r=e.width,i=e.height,a=[{x:-i/2,y:0},{x:r,y:0},{x:r,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],u=t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" ")).attr("transform","translate("+-r/2+","+2*i/4+")");return n.intersect=function(t){return o.intersect.polygon(n,a,t)},u},x.shapes().rect_right_inv_arrow=function(t,e,n){var r=e.width,i=e.height,a=[{x:0,y:0},{x:r+i/2,y:0},{x:r,y:-i/2},{x:r+i/2,y:-i},{x:0,y:-i}],u=t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" ")).attr("transform","translate("+-r/2+","+2*i/4+")");return n.intersect=function(t){return o.intersect.polygon(n,a,t)},u},x.arrows().none=function(t,e,n,r){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");o.util.applyStyle(a,n[r+"Style"])};var w=u.select("#"+e),A=u.select("#"+e+" g");for(x(A,g),A.selectAll("g.node").attr("title",function(){return r.getTooltip(this.id)}),l.useMaxWidth?(w.attr("height","100%"),w.attr("width",l.width),w.attr("viewBox","0 0 "+(g.graph().width+20)+" "+(g.graph().height+20)),w.attr("style","max-width:"+(g.graph().width+20)+"px;")):(w.attr("height",g.graph().height),"undefined"==typeof l.width?w.attr("width",g.graph().width):w.attr("width",l.width),w.attr("viewBox","0 0 "+(g.graph().width+20)+" "+(g.graph().height+20))),r.indexNodes("subGraph"+m),m=0;m<y.length;m++)if(p=y[m],"undefined"!==p.title){var k=document.querySelectorAll("#"+e+" #"+p.id+" rect"),E=document.querySelectorAll("#"+e+" #"+p.id),D=k[0].x.baseVal.value,S=k[0].y.baseVal.value,C=k[0].width.baseVal.value,M=u.select(E[0]),T=M.append("text");T.attr("x",D+C/2),T.attr("y",S+14),T.attr("fill","black"),T.attr("stroke","none"),T.attr("id",e+"Text"),T.style("text-anchor","middle"),T.text("undefined"==typeof p.title?"Undef":p.title)}if(!l.htmlLabels){var m,F=document.querySelectorAll("#"+e+" .edgeLabel .label");for(m=0;m<F.length;m++){var L=F[m],B=L.getBBox(),O=document.createElementNS("http://www.w3.org/2000/svg","rect");O.setAttribute("rx",0),
O.setAttribute("ry",0),O.setAttribute("width",B.width),O.setAttribute("height",B.height),O.setAttribute("style","fill:#e8e8e8;"),L.insertBefore(O,L.firstChild)}}}},{"../../d3":109,"../../logger":131,"./dagre-d3":116,"./graphDb":118,"./parser/dot":119,"./parser/flow":120}],118:[function(require,module,exports){(function(global){"use strict";var Logger=require("../../logger"),log=new Logger.Log,d3=require("../../d3"),vertices={},edges=[],classes=[],subGraphs=[],tooltips={},subCount=0,direction,funs=[];exports.addVertex=function(t,e,n,r){var i;"undefined"!=typeof t&&0!==t.trim().length&&("undefined"==typeof vertices[t]&&(vertices[t]={id:t,styles:[],classes:[]}),"undefined"!=typeof e&&(i=e.trim(),'"'===i[0]&&'"'===i[i.length-1]&&(i=i.substring(1,i.length-1)),vertices[t].text=i),"undefined"!=typeof n&&(vertices[t].type=n),"undefined"!=typeof n&&(vertices[t].type=n),"undefined"!=typeof r&&null!==r&&r.forEach(function(e){vertices[t].styles.push(e)}))},exports.addLink=function(t,e,n,r){log.debug("Got edge",t,e);var i={start:t,end:e,type:void 0,text:""};r=n.text,"undefined"!=typeof r&&(i.text=r.trim(),'"'===i.text[0]&&'"'===i.text[i.text.length-1]&&(i.text=i.text.substring(1,i.text.length-1))),"undefined"!=typeof n&&(i.type=n.type,i.stroke=n.stroke),edges.push(i)},exports.updateLinkInterpolate=function(t,e){"default"===t?edges.defaultInterpolate=e:edges[t].interpolate=e},exports.updateLink=function(t,e){"default"===t?edges.defaultStyle=e:edges[t].style=e},exports.addClass=function(t,e){"undefined"==typeof classes[t]&&(classes[t]={id:t,styles:[]}),"undefined"!=typeof e&&null!==e&&e.forEach(function(e){classes[t].styles.push(e)})},exports.setDirection=function(t){direction=t},exports.setClass=function(t,e){t.indexOf(",")>0?t.split(",").forEach(function(t){"undefined"!=typeof vertices[t]&&vertices[t].classes.push(e)}):"undefined"!=typeof vertices[t]&&vertices[t].classes.push(e)};var setTooltip=function(t,e){"undefined"!=typeof e&&(tooltips[t]=e)},setClickFun=function setClickFun(id,functionName){"undefined"!=typeof functionName&&"undefined"!=typeof vertices[id]&&funs.push(function(element){var elem=d3.select(element).select("#"+id);null!==elem&&elem.on("click",function(){eval(functionName+"('"+id+"')")})})},setLink=function(t,e){"undefined"!=typeof e&&"undefined"!=typeof vertices[t]&&funs.push(function(n){var r=d3.select(n).select("#"+t);null!==r&&r.on("click",function(){window.open(e,"newTab")})})};exports.getTooltip=function(t){return tooltips[t]},exports.setClickEvent=function(t,e,n,r){t.indexOf(",")>0?t.split(",").forEach(function(t){setTooltip(t,r),setClickFun(t,e),setLink(t,n)}):(setTooltip(t,r),setClickFun(t,e),setLink(t,n))},exports.bindFunctions=function(t){funs.forEach(function(e){e(t)})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes};var setupToolTips=function(t){var e=d3.select(".mermaidTooltip");null===e[0][0]&&(e=d3.select("body").append("div").attr("class","mermaidTooltip").style("opacity",0));var n=d3.select(t).select("svg"),r=n.selectAll("g.node");r.on("mouseover",function(){var t=d3.select(this),n=t.attr("title");if(null!==n){var r=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.html(t.attr("title")).style("left",r.left+(r.right-r.left)/2+"px").style("top",r.top-14+document.body.scrollTop+"px"),t.classed("hover",!0)}}).on("mouseout",function(){e.transition().duration(500).style("opacity",0);var t=d3.select(this);t.classed("hover",!1)})};funs.push(setupToolTips),exports.clear=function(){vertices={},classes={},edges=[],funs=[],funs.push(setupToolTips),subGraphs=[],subCount=0,tooltips=[]},exports.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},exports.addSubGraph=function(t,e){function n(t){var e={"boolean":{},number:{},string:{}},n=[];return t.filter(function(t){var r=typeof t;return" "===t?!1:r in e?e[r].hasOwnProperty(t)?!1:e[r][t]=!0:n.indexOf(t)>=0?!1:n.push(t)})}var r=[];r=n(r.concat.apply(r,t));var i={id:"subGraph"+subCount,nodes:r,title:e};return subGraphs.push(i),subCount+=1,i.id};var getPosForId=function(t){var e;for(e=0;e<subGraphs.length;e++)if(subGraphs[e].id===t)return e;return-1},secCount=-1,posCrossRef=[],indexNodes=function t(e,n){var r=subGraphs[n].nodes;if(secCount+=1,!(secCount>2e3)){if(posCrossRef[secCount]=n,subGraphs[n].id===e)return{result:!0,count:0};for(var i=0,a=1;i<r.length;){var u=getPosForId(r[i]);if(u>=0){var o=t(e,u);if(o.result)return{result:!0,count:a+o.count};a+=o.count}i+=1}return{result:!1,count:a}}};exports.getDepthFirstPos=function(t){return posCrossRef[t]},exports.indexNodes=function(){secCount=-1,subGraphs.length>0&&indexNodes("none",subGraphs.length-1,0)},exports.getSubGraphs=function(){return subGraphs},exports.parseError=function(t,e){global.mermaidAPI.parseError(t,e)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../d3":109,"../../logger":131}],119:[function(t,e,n){(function(r){"use strict";var i=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[1,5],r=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],f=[1,20],d=[1,21],p=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],_=[1,35],b=[1,36],x=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],w=[10,28],A=[10,28,37,57,58],k=[2,49],E=[1,45],D=[1,48],S=[1,49],C=[1,52],M=[2,65],T=[1,65],F=[1,66],L=[1,67],B=[1,68],O=[1,69],I=[1,70],N=[1,71],R=[1,72],P=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],q=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(t,e,n,r,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="<br>";break;case 39:this.$="oy";break;case 40:r.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:r.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:r.addVertex(a[u-1]),this.$=a[u-1];break;case 49:r.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:n,13:r},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p},{6:23,12:n,13:r},e(g,[2,5]),e(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},e([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p}),e(x,[2,8]),e(x,[2,10]),e(x,[2,11]),e(x,[2,12]),e(x,[2,13]),e(x,[2,14]),e(x,[2,15]),e(x,[2,16]),e(x,[2,17]),e(x,[2,18]),e(x,[2,19]),e(x,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{10:[1,41]},{10:[2,21],28:[1,42]},e(w,[2,23]),e(w,[2,24]),e(w,[2,25]),e(A,k,{44:44,32:[1,43],45:E}),e(w,[2,27],{41:46,43:47,57:D,58:S}),e(w,[2,47],{43:47,34:50,41:51,37:C,57:D,58:S}),{34:53,37:C},{34:54,37:C},{34:55,37:C},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},e(x,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p},e(A,[2,48]),e(A,M,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,48:T,49:F,50:L,51:B,52:O,53:I,54:N,55:R,56:P}),e(w,[2,41],{34:74,37:C}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,33:76,42:75,47:b},e(j,[2,66]),e(j,[2,67]),e(w,[2,46]),e(w,[2,40],{34:78,37:C}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,38:79,39:[1,80]},e(w,[2,28]),e(w,[2,29]),e(w,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{5:[2,2]},{10:[2,22]},e(w,[2,26]),e(A,[2,51],{45:[1,86]}),e(A,[2,52]),e(A,[2,56]),e(A,[2,57]),e(A,[2,58]),e(A,[2,59]),e(A,[2,60]),e(A,[2,61]),e(A,[2,62]),e(A,[2,63]),e(A,[2,64]),e(w,[2,38]),e(q,[2,44],{43:47,41:87,57:D,58:S}),e(q,[2,45],{43:47,41:88,57:D,58:S}),e(A,k,{44:44,45:E}),e(w,[2,39]),{39:[1,89]},e(w,[2,34],{34:90,37:C}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{10:[1,93]},e(A,[2,55]),{10:[1,94]},e(A,M,{46:95,48:T,49:F,50:L,51:B,52:O,53:I,54:N,55:R,56:P}),e(q,[2,42]),e(q,[2,43]),e(w,[2,33],{34:96,37:C}),e(w,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p},{10:[1,98]},e(A,[2,54]),{5:[2,3]},e(A,[2,50]),e(w,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},e(A,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(t,e){if(!e.recoverable){var n=function(t,e){this.message=t,this.hash=e};throw n.prototype=Error,new n(t,e)}this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,u="",o=0,s=0,c=0,l=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,_,b,x,w,A,k,E,D,S=function(){var t;return t=d.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},C={};;){if(b=n[n.length-1],this.defaultActions[b]?x=this.defaultActions[b]:((null===v||"undefined"==typeof v)&&(v=S()),x=a[b]&&a[b][v]),"undefined"==typeof x||!x.length||!x[0]){var M="";D=[];for(A in a[b])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");M=d.showPosition?"Parse error on line "+(o+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(M,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(x[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(x[1]),v=null,_?(v=_,_=null):(s=d.yyleng,u=d.yytext,o=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],C.$=r[r.length-k],C._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},m&&(C._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(C,[u,s,o,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[x[1]][0]),r.push(C.$),i.push(C._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},Y=function(){var t={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,r){switch(n){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return"DIR";case 11:return"DIR";case 12:return"DIR";case 13:return"DIR";case 14:return"DIR";case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\s)/,/^(?:\n)/,/^(?:$)/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],inclusive:!0}}};return t}();return U.lexer=Y,t.prototype=U,U.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],120:[function(t,e,n){(function(r){"use strict";var i=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[1,4],r=[1,3],i=[1,5],a=[1,8,9,10,11,13,18,30,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],u=[2,2],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,31],f=[1,33],d=[1,22],p=[1,34],g=[1,24],y=[1,25],m=[1,26],v=[1,27],_=[1,28],b=[1,38],x=[1,40],w=[1,35],A=[1,39],k=[1,45],E=[1,44],D=[1,36],S=[1,37],C=[1,41],M=[1,42],T=[1,43],F=[1,8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],L=[1,53],B=[1,52],O=[1,54],I=[1,72],N=[1,80],R=[1,81],P=[1,66],j=[1,65],q=[1,85],U=[1,84],Y=[1,82],V=[1,83],$=[1,73],z=[1,68],G=[1,67],H=[1,63],W=[1,75],Z=[1,76],X=[1,77],K=[1,78],J=[1,79],Q=[1,70],tt=[1,69],et=[8,9,11],nt=[8,9,11,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64],rt=[1,115],it=[8,9,10,11,13,15,18,36,38,40,42,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,86,88,89,91,92,94,95,96,97,98],at=[8,9,10,11,12,13,15,16,17,18,30,32,36,37,38,39,40,41,42,43,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],ut=[1,117],ot=[1,118],st=[8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],ct=[8,9,10,11,12,13,15,16,17,18,30,32,37,39,41,43,46,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],lt=[13,18,46,81,86,88,89,91,92,94,95,96,97,98],ht=[13,18,46,49,65,81,86,88,89,91,92,94,95,96,97,98],ft=[1,191],dt=[1,188],pt=[1,195],gt=[1,192],yt=[1,189],mt=[1,196],vt=[1,186],_t=[1,187],bt=[1,190],xt=[1,193],wt=[1,194],At=[1,213],kt=[8,9,11,86],Et=[8,9,10,11,46,71,80,81,84,86,88,89,90,91,92],Dt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,ending:19,endToken:20,spaceList:21,spaceListNewline:22,verticeStatement:23,separator:24,styleStatement:25,linkStyleStatement:26,classDefStatement:27,classStatement:28,clickStatement:29,subgraph:30,text:31,end:32,vertex:33,link:34,alphaNum:35,SQS:36,SQE:37,PS:38,PE:39,"(-":40,"-)":41,DIAMOND_START:42,DIAMOND_STOP:43,alphaNumStatement:44,alphaNumToken:45,MINUS:46,linkStatement:47,arrowText:48,TESTSTR:49,"--":50,ARROW_POINT:51,ARROW_CIRCLE:52,ARROW_CROSS:53,ARROW_OPEN:54,"-.":55,DOTTED_ARROW_POINT:56,DOTTED_ARROW_CIRCLE:57,DOTTED_ARROW_CROSS:58,DOTTED_ARROW_OPEN:59,"==":60,THICK_ARROW_POINT:61,THICK_ARROW_CIRCLE:62,THICK_ARROW_CROSS:63,THICK_ARROW_OPEN:64,PIPE:65,textToken:66,STR:67,commentText:68,commentToken:69,keywords:70,STYLE:71,LINKSTYLE:72,CLASSDEF:73,CLASS:74,CLICK:75,textNoTags:76,textNoTagsToken:77,DEFAULT:78,stylesOpt:79,HEX:80,NUM:81,INTERPOLATE:82,commentStatement:83,PCT:84,style:85,COMMA:86,styleComponent:87,ALPHA:88,COLON:89,UNIT:90,BRKT:91,DOT:92,graphCodeTokens:93,PUNCTUATION:94,UNICODE_TEXT:95,PLUS:96,EQUALS:97,MULT:98,TAG_START:99,TAG_END:100,QUOTE:101,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",30:"subgraph",32:"end",36:"SQS",37:"SQE",38:"PS",39:"PE",40:"(-",41:"-)",42:"DIAMOND_START",43:"DIAMOND_STOP",46:"MINUS",49:"TESTSTR",50:"--",51:"ARROW_POINT",52:"ARROW_CIRCLE",53:"ARROW_CROSS",54:"ARROW_OPEN",55:"-.",56:"DOTTED_ARROW_POINT",57:"DOTTED_ARROW_CIRCLE",58:"DOTTED_ARROW_CROSS",59:"DOTTED_ARROW_OPEN",60:"==",61:"THICK_ARROW_POINT",62:"THICK_ARROW_CIRCLE",63:"THICK_ARROW_CROSS",64:"THICK_ARROW_OPEN",65:"PIPE",67:"STR",71:"STYLE",72:"LINKSTYLE",73:"CLASSDEF",74:"CLASS",75:"CLICK",78:"DEFAULT",80:"HEX",81:"NUM",82:"INTERPOLATE",84:"PCT",86:"COMMA",88:"ALPHA",89:"COLON",90:"UNIT",91:"BRKT",92:"DOT",94:"PUNCTUATION",95:"UNICODE_TEXT",96:"PLUS",97:"EQUALS",98:"MULT",99:"TAG_START",100:"TAG_END",101:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,4],[4,4],[4,4],[4,4],[4,4],[19,2],[19,1],[20,1],[20,1],[20,1],[14,1],[14,1],[14,2],[22,2],[22,2],[22,1],[22,1],[21,2],[21,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,5],[7,4],[24,1],[24,1],[24,1],[23,3],[23,1],[33,4],[33,5],[33,6],[33,7],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,1],[33,2],[35,1],[35,2],[44,1],[44,1],[44,1],[44,1],[34,2],[34,3],[34,3],[34,1],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[48,3],[31,1],[31,2],[31,1],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[76,1],[76,2],[27,5],[27,5],[28,5],[29,5],[29,7],[29,5],[29,7],[25,5],[25,5],[26,5],[26,5],[26,9],[26,9],[26,7],[26,7],[83,3],[79,1],[79,3],[85,1],[85,2],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[69,1],[69,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[77,1],[77,1],[77,1],[77,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1]],performAction:function(t,e,n,r,i,a){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 57:case 59:case 60:case 92:case 94:case 95:case 108:this.$=a[u];break;case 11:r.setDirection(a[u-1]),this.$=a[u-1];break;case 12:r.setDirection("LR"),this.$=a[u-1];break;case 13:r.setDirection("RL"),this.$=a[u-1];break;case 14:r.setDirection("BT"),this.$=a[u-1];break;case 15:r.setDirection("TB"),this.$=a[u-1];break;case 30:this.$=a[u-1];break;case 31:case 32:case 33:case 34:case 35:this.$=[];break;case 36:this.$=r.addSubGraph(a[u-1],a[u-3]);break;case 37:this.$=r.addSubGraph(a[u-1],void 0);break;case 41:r.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 42:this.$=[a[u]];break;case 43:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],"square");break;case 44:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],"square");break;case 45:this.$=a[u-5],r.addVertex(a[u-5],a[u-2],"circle");break;case 46:this.$=a[u-6],r.addVertex(a[u-6],a[u-3],"circle");break;case 47:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],"ellipse");break;case 48:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],"ellipse");break;case 49:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],"round");break;case 50:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],"round");break;case 51:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],"diamond");break;case 52:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],"diamond");break;case 53:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],"odd");break;case 54:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],"odd");break;case 55:this.$=a[u],r.addVertex(a[u]);break;case 56:this.$=a[u-1],r.addVertex(a[u-1]);break;case 58:case 93:case 96:case 109:this.$=a[u-1]+""+a[u];break;case 61:this.$="v";break;case 62:this.$="-";break;case 63:a[u-1].text=a[u],this.$=a[u-1];break;case 64:case 65:a[u-2].text=a[u-1],this.$=a[u-2];break;case 66:this.$=a[u];break;case 67:this.$={type:"arrow",stroke:"normal",text:a[u-1]};break;case 68:this.$={type:"arrow_circle",stroke:"normal",text:a[u-1]};break;case 69:this.$={type:"arrow_cross",stroke:"normal",text:a[u-1]};break;case 70:this.$={type:"arrow_open",stroke:"normal",text:a[u-1]
};break;case 71:this.$={type:"arrow",stroke:"dotted",text:a[u-1]};break;case 72:this.$={type:"arrow_circle",stroke:"dotted",text:a[u-1]};break;case 73:this.$={type:"arrow_cross",stroke:"dotted",text:a[u-1]};break;case 74:this.$={type:"arrow_open",stroke:"dotted",text:a[u-1]};break;case 75:this.$={type:"arrow",stroke:"thick",text:a[u-1]};break;case 76:this.$={type:"arrow_circle",stroke:"thick",text:a[u-1]};break;case 77:this.$={type:"arrow_cross",stroke:"thick",text:a[u-1]};break;case 78:this.$={type:"arrow_open",stroke:"thick",text:a[u-1]};break;case 79:this.$={type:"arrow",stroke:"normal"};break;case 80:this.$={type:"arrow_circle",stroke:"normal"};break;case 81:this.$={type:"arrow_cross",stroke:"normal"};break;case 82:this.$={type:"arrow_open",stroke:"normal"};break;case 83:this.$={type:"arrow",stroke:"dotted"};break;case 84:this.$={type:"arrow_circle",stroke:"dotted"};break;case 85:this.$={type:"arrow_cross",stroke:"dotted"};break;case 86:this.$={type:"arrow_open",stroke:"dotted"};break;case 87:this.$={type:"arrow",stroke:"thick"};break;case 88:this.$={type:"arrow_circle",stroke:"thick"};break;case 89:this.$={type:"arrow_cross",stroke:"thick"};break;case 90:this.$={type:"arrow_open",stroke:"thick"};break;case 91:this.$=a[u-1];break;case 110:case 111:this.$=a[u-4],r.addClass(a[u-2],a[u]);break;case 112:this.$=a[u-4],r.setClass(a[u-2],a[u]);break;case 113:this.$=a[u-4],r.setClickEvent(a[u-2],a[u],void 0,void 0);break;case 114:this.$=a[u-6],r.setClickEvent(a[u-4],a[u-2],void 0,a[u]);break;case 115:this.$=a[u-4],r.setClickEvent(a[u-2],void 0,a[u],void 0);break;case 116:this.$=a[u-6],r.setClickEvent(a[u-4],void 0,a[u-2],a[u]);break;case 117:this.$=a[u-4],r.addVertex(a[u-2],void 0,void 0,a[u]);break;case 118:case 119:case 120:this.$=a[u-4],r.updateLink(a[u-2],a[u]);break;case 121:case 122:this.$=a[u-8],r.updateLinkInterpolate(a[u-6],a[u-2]),r.updateLink(a[u-6],a[u]);break;case 123:case 124:this.$=a[u-6],r.updateLinkInterpolate(a[u-4],a[u]);break;case 126:this.$=[a[u]];break;case 127:a[u-2].push(a[u]),this.$=a[u-2];break;case 129:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,9:n,10:r,12:i},{1:[3]},e(a,u,{5:6}),{4:7,9:n,10:r,12:i},{4:8,9:n,10:r,12:i},{10:[1,9]},{1:[2,1],6:10,7:11,8:o,9:s,10:c,11:l,13:h,18:f,23:16,25:17,26:18,27:19,28:20,29:21,30:d,33:23,35:29,44:30,45:32,46:p,71:g,72:y,73:m,74:v,75:_,81:b,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},e(a,[2,9]),e(a,[2,10]),{13:[1,46],15:[1,47],16:[1,48],17:[1,49],18:[1,50]},e(F,[2,3]),e(F,[2,4]),e(F,[2,5]),e(F,[2,6]),e(F,[2,7]),e(F,[2,8]),{8:L,9:B,11:O,24:51},{8:L,9:B,11:O,24:55},{8:L,9:B,11:O,24:56},{8:L,9:B,11:O,24:57},{8:L,9:B,11:O,24:58},{8:L,9:B,11:O,24:59},{8:L,9:B,10:I,11:O,12:N,13:R,15:P,16:j,17:q,18:U,24:61,30:Y,31:60,32:V,45:71,46:$,50:z,60:G,66:62,67:H,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},e(et,[2,42],{34:86,47:87,50:[1,88],51:[1,91],52:[1,92],53:[1,93],54:[1,94],55:[1,89],56:[1,95],57:[1,96],58:[1,97],59:[1,98],60:[1,90],61:[1,99],62:[1,100],63:[1,101],64:[1,102]}),{10:[1,103]},{10:[1,104]},{10:[1,105]},{10:[1,106]},{10:[1,107]},e(nt,[2,55],{45:32,21:113,44:114,10:rt,13:h,15:[1,112],18:f,36:[1,108],38:[1,109],40:[1,110],42:[1,111],46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T}),e(it,[2,57]),e(it,[2,59]),e(it,[2,60]),e(it,[2,61]),e(it,[2,62]),e(at,[2,154]),e(at,[2,155]),e(at,[2,156]),e(at,[2,157]),e(at,[2,158]),e(at,[2,159]),e(at,[2,160]),e(at,[2,161]),e(at,[2,162]),e(at,[2,163]),e(at,[2,164]),{8:ut,9:ot,10:rt,14:116,21:119},{8:ut,9:ot,10:rt,14:120,21:119},{8:ut,9:ot,10:rt,14:121,21:119},{8:ut,9:ot,10:rt,14:122,21:119},{8:ut,9:ot,10:rt,14:123,21:119},e(F,[2,30]),e(F,[2,38]),e(F,[2,39]),e(F,[2,40]),e(F,[2,31]),e(F,[2,32]),e(F,[2,33]),e(F,[2,34]),e(F,[2,35]),{8:L,9:B,10:I,11:O,12:N,13:R,15:P,16:j,17:q,18:U,24:124,30:Y,32:V,45:71,46:$,50:z,60:G,66:125,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},e(st,u,{5:126}),e(ct,[2,92]),e(ct,[2,94]),e(ct,[2,143]),e(ct,[2,144]),e(ct,[2,145]),e(ct,[2,146]),e(ct,[2,147]),e(ct,[2,148]),e(ct,[2,149]),e(ct,[2,150]),e(ct,[2,151]),e(ct,[2,152]),e(ct,[2,153]),e(ct,[2,97]),e(ct,[2,98]),e(ct,[2,99]),e(ct,[2,100]),e(ct,[2,101]),e(ct,[2,102]),e(ct,[2,103]),e(ct,[2,104]),e(ct,[2,105]),e(ct,[2,106]),e(ct,[2,107]),{13:h,18:f,33:127,35:29,44:30,45:32,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},e(lt,[2,66],{48:128,49:[1,129],65:[1,130]}),{10:I,12:N,13:R,15:P,16:j,17:q,18:U,30:Y,31:131,32:V,45:71,46:$,50:z,60:G,66:62,67:H,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{10:I,12:N,13:R,15:P,16:j,17:q,18:U,30:Y,31:132,32:V,45:71,46:$,50:z,60:G,66:62,67:H,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{10:I,12:N,13:R,15:P,16:j,17:q,18:U,30:Y,31:133,32:V,45:71,46:$,50:z,60:G,66:62,67:H,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},e(ht,[2,79]),e(ht,[2,80]),e(ht,[2,81]),e(ht,[2,82]),e(ht,[2,83]),e(ht,[2,84]),e(ht,[2,85]),e(ht,[2,86]),e(ht,[2,87]),e(ht,[2,88]),e(ht,[2,89]),e(ht,[2,90]),{13:h,18:f,35:134,44:30,45:32,46:p,80:[1,135],81:b,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{78:[1,136],81:[1,137]},{13:h,18:f,35:139,44:30,45:32,46:p,78:[1,138],81:b,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{13:h,18:f,35:140,44:30,45:32,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{13:h,18:f,35:141,44:30,45:32,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{10:I,12:N,13:R,15:P,16:j,17:q,18:U,30:Y,31:142,32:V,45:71,46:$,50:z,60:G,66:62,67:H,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{10:I,12:N,13:R,15:P,16:j,17:q,18:U,30:Y,31:144,32:V,38:[1,143],45:71,46:$,50:z,60:G,66:62,67:H,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{10:I,12:N,13:R,15:P,16:j,17:q,18:U,30:Y,31:145,32:V,45:71,46:$,50:z,60:G,66:62,67:H,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{10:I,12:N,13:R,15:P,16:j,17:q,18:U,30:Y,31:146,32:V,45:71,46:$,50:z,60:G,66:62,67:H,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{10:I,12:N,13:R,15:P,16:j,17:q,18:U,30:Y,31:147,32:V,45:71,46:$,50:z,60:G,66:62,67:H,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},e(nt,[2,56]),e(it,[2,58]),e(nt,[2,29],{21:148,10:rt}),e(a,[2,11]),e(a,[2,21]),e(a,[2,22]),{9:[1,149]},e(a,[2,12]),e(a,[2,13]),e(a,[2,14]),e(a,[2,15]),e(st,u,{5:150}),e(ct,[2,93]),{6:10,7:11,8:o,9:s,10:c,11:l,13:h,18:f,23:16,25:17,26:18,27:19,28:20,29:21,30:d,32:[1,151],33:23,35:29,44:30,45:32,46:p,71:g,72:y,73:m,74:v,75:_,81:b,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},e(et,[2,41]),e(lt,[2,63],{10:[1,152]}),{10:[1,153]},{10:I,12:N,13:R,15:P,16:j,17:q,18:U,30:Y,31:154,32:V,45:71,46:$,50:z,60:G,66:62,67:H,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{10:I,12:N,13:R,15:P,16:j,17:q,18:U,30:Y,32:V,45:71,46:$,50:z,51:[1,155],52:[1,156],53:[1,157],54:[1,158],60:G,66:125,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{10:I,12:N,13:R,15:P,16:j,17:q,18:U,30:Y,32:V,45:71,46:$,50:z,56:[1,159],57:[1,160],58:[1,161],59:[1,162],60:G,66:125,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{10:I,12:N,13:R,15:P,16:j,17:q,18:U,30:Y,32:V,45:71,46:$,50:z,60:G,61:[1,163],62:[1,164],63:[1,165],64:[1,166],66:125,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{10:[1,167],13:h,18:f,44:114,45:32,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{10:[1,168]},{10:[1,169]},{10:[1,170]},{10:[1,171]},{10:[1,172],13:h,18:f,44:114,45:32,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{10:[1,173],13:h,18:f,44:114,45:32,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{10:[1,174],13:h,18:f,44:114,45:32,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{10:I,12:N,13:R,15:P,16:j,17:q,18:U,30:Y,32:V,37:[1,175],45:71,46:$,50:z,60:G,66:125,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{10:I,12:N,13:R,15:P,16:j,17:q,18:U,30:Y,31:176,32:V,45:71,46:$,50:z,60:G,66:62,67:H,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{10:I,12:N,13:R,15:P,16:j,17:q,18:U,30:Y,32:V,39:[1,177],45:71,46:$,50:z,60:G,66:125,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{10:I,12:N,13:R,15:P,16:j,17:q,18:U,30:Y,32:V,41:[1,178],45:71,46:$,50:z,60:G,66:125,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{10:I,12:N,13:R,15:P,16:j,17:q,18:U,30:Y,32:V,43:[1,179],45:71,46:$,50:z,60:G,66:125,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{10:I,12:N,13:R,15:P,16:j,17:q,18:U,30:Y,32:V,37:[1,180],45:71,46:$,50:z,60:G,66:125,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},e(nt,[2,28]),e(a,[2,23]),{6:10,7:11,8:o,9:s,10:c,11:l,13:h,18:f,23:16,25:17,26:18,27:19,28:20,29:21,30:d,32:[1,181],33:23,35:29,44:30,45:32,46:p,71:g,72:y,73:m,74:v,75:_,81:b,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},e(F,[2,37]),e(lt,[2,65]),e(lt,[2,64]),{10:I,12:N,13:R,15:P,16:j,17:q,18:U,30:Y,32:V,45:71,46:$,50:z,60:G,65:[1,182],66:125,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},e(lt,[2,67]),e(lt,[2,68]),e(lt,[2,69]),e(lt,[2,70]),e(lt,[2,71]),e(lt,[2,72]),e(lt,[2,73]),e(lt,[2,74]),e(lt,[2,75]),e(lt,[2,76]),e(lt,[2,77]),e(lt,[2,78]),{10:ft,46:dt,71:pt,79:183,80:gt,81:yt,84:mt,85:184,87:185,88:vt,89:_t,90:bt,91:xt,92:wt},{10:ft,46:dt,71:pt,79:197,80:gt,81:yt,84:mt,85:184,87:185,88:vt,89:_t,90:bt,91:xt,92:wt},{10:ft,46:dt,71:pt,79:198,80:gt,81:yt,82:[1,199],84:mt,85:184,87:185,88:vt,89:_t,90:bt,91:xt,92:wt},{10:ft,46:dt,71:pt,79:200,80:gt,81:yt,82:[1,201],84:mt,85:184,87:185,88:vt,89:_t,90:bt,91:xt,92:wt},{10:ft,46:dt,71:pt,79:202,80:gt,81:yt,84:mt,85:184,87:185,88:vt,89:_t,90:bt,91:xt,92:wt},{10:ft,46:dt,71:pt,79:203,80:gt,81:yt,84:mt,85:184,87:185,88:vt,89:_t,90:bt,91:xt,92:wt},{13:h,18:f,35:204,44:30,45:32,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{13:h,18:f,35:205,44:30,45:32,46:p,67:[1,206],81:b,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},e(nt,[2,43],{21:207,10:rt}),{10:I,12:N,13:R,15:P,16:j,17:q,18:U,30:Y,32:V,39:[1,208],45:71,46:$,50:z,60:G,66:125,70:74,71:W,72:Z,73:X,74:K,75:J,77:64,78:Q,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},e(nt,[2,49],{21:209,10:rt}),e(nt,[2,47],{21:210,10:rt}),e(nt,[2,51],{21:211,10:rt}),e(nt,[2,53],{21:212,10:rt}),e(F,[2,36]),e([10,13,18,46,81,86,88,89,91,92,94,95,96,97,98],[2,91]),e(et,[2,117],{86:At}),e(kt,[2,126],{87:214,10:ft,46:dt,71:pt,80:gt,81:yt,84:mt,88:vt,89:_t,90:bt,91:xt,92:wt}),e(Et,[2,128]),e(Et,[2,130]),e(Et,[2,131]),e(Et,[2,132]),e(Et,[2,133]),e(Et,[2,134]),e(Et,[2,135]),e(Et,[2,136]),e(Et,[2,137]),e(Et,[2,138]),e(Et,[2,139]),e(Et,[2,140]),e(et,[2,118],{86:At}),e(et,[2,119],{86:At}),{10:[1,215]},e(et,[2,120],{86:At}),{10:[1,216]},e(et,[2,110],{86:At}),e(et,[2,111],{86:At}),e(et,[2,112],{45:32,44:114,13:h,18:f,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T}),e(et,[2,113],{45:32,44:114,10:[1,217],13:h,18:f,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T}),e(et,[2,115],{10:[1,218]}),e(nt,[2,44]),{39:[1,219]},e(nt,[2,50]),e(nt,[2,48]),e(nt,[2,52]),e(nt,[2,54]),{10:ft,46:dt,71:pt,80:gt,81:yt,84:mt,85:220,87:185,88:vt,89:_t,90:bt,91:xt,92:wt},e(Et,[2,129]),{13:h,18:f,35:221,44:30,45:32,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{13:h,18:f,35:222,44:30,45:32,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T},{67:[1,223]},{67:[1,224]},e(nt,[2,45],{21:225,10:rt}),e(kt,[2,127],{87:214,10:ft,46:dt,71:pt,80:gt,81:yt,84:mt,88:vt,89:_t,90:bt,91:xt,92:wt}),e(et,[2,123],{45:32,44:114,10:[1,226],13:h,18:f,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T}),e(et,[2,124],{45:32,44:114,10:[1,227],13:h,18:f,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:D,95:S,96:C,97:M,98:T}),e(et,[2,114]),e(et,[2,116]),e(nt,[2,46]),{10:ft,46:dt,71:pt,79:228,80:gt,81:yt,84:mt,85:184,87:185,88:vt,89:_t,90:bt,91:xt,92:wt},{10:ft,46:dt,71:pt,79:229,80:gt,81:yt,84:mt,85:184,87:185,88:vt,89:_t,90:bt,91:xt,92:wt},e(et,[2,121],{86:At}),e(et,[2,122],{86:At})],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var n=function(t,e){this.message=t,this.hash=e};throw n.prototype=Error,new n(t,e)}this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,u="",o=0,s=0,c=0,l=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,_,b,x,w,A,k,E,D,S=function(){var t;return t=d.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},C={};;){if(b=n[n.length-1],this.defaultActions[b]?x=this.defaultActions[b]:((null===v||"undefined"==typeof v)&&(v=S()),x=a[b]&&a[b][v]),"undefined"==typeof x||!x.length||!x[0]){var M="";D=[];for(A in a[b])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");M=d.showPosition?"Parse error on line "+(o+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(M,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(x[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(x[1]),v=null,_?(v=_,_=null):(s=d.yyleng,u=d.yytext,o=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],C.$=r[r.length-k],C._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},m&&(C._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(C,[u,s,o,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[x[1]][0]),r.push(C.$),i.push(C._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},St=function(){var t={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,r){switch(n){case 0:break;case 1:this.begin("string");break;case 2:this.popState();break;case 3:return"STR";case 4:return 71;case 5:return 78;case 6:return 72;case 7:return 82;case 8:return 73;case 9:return 74;case 10:return 75;case 11:return 12;case 12:return 30;case 13:return 32;case 14:return 13;case 15:return 13;case 16:return 13;case 17:return 13;case 18:return 13;case 19:return 13;case 20:return 81;case 21:return 91;case 22:return 89;case 23:return 8;case 24:return 86;case 25:return 98;case 26:return 16;case 27:return 15;case 28:return 17;case 29:return 18;case 30:return 53;case 31:return 51;case 32:return 52;case 33:return 54;case 34:return 58;case 35:return 56;case 36:return 57;case 37:return 59;case 38:return 58;case 39:return 56;case 40:return 57;case 41:return 59;case 42:return 63;case 43:return 61;case 44:return 62;case 45:return 64;case 46:return 50;case 47:return 55;case 48:return 60;case 49:return 40;case 50:return 41;case 51:return 46;case 52:return 92;case 53:return 96;case 54:return 84;case 55:return 97;case 56:return 97;case 57:return 88;case 58:return 94;case 59:return 95;case 60:return 65;case 61:return 38;case 62:return 39;case 63:return 36;case 64:return 37;case 65:return 42;case 66:return 43;case 67:return 101;case 68:return 9;case 69:return 10;case 70:return 11}},rules:[/^(?:%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:\s*--[x]\s*)/,/^(?:\s*-->\s*)/,/^(?:\s*--[o]\s*)/,/^(?:\s*---\s*)/,/^(?:\s*-\.-[x]\s*)/,/^(?:\s*-\.->\s*)/,/^(?:\s*-\.-[o]\s*)/,/^(?:\s*-\.-\s*)/,/^(?:\s*.-[x]\s*)/,/^(?:\s*\.->\s*)/,/^(?:\s*\.-[o]\s*)/,/^(?:\s*\.-\s*)/,/^(?:\s*==[x]\s*)/,/^(?:\s*==>\s*)/,/^(?:\s*==[o]\s*)/,/^(?:\s*==[\=]\s*)/,/^(?:\s*--\s*)/,/^(?:\s*-\.\s*)/,/^(?:\s*==\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[A-Za-z]+)/,/^(?:[!"#$%&'*+,-.`?\\_\/])/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n+)/,/^(?:\s)/,/^(?:$)/],conditions:{string:{rules:[2,3],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70],inclusive:!0}}};return t}();return Dt.lexer=St,t.prototype=Dt,Dt.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],121:[function(t,e,n){(function(e){"use strict";var r=t("moment"),i=t("../../logger"),a=new i.Log,u="",o="",s=[],c=[],l="";n.clear=function(){s=[],c=[],l="",o="",g=0,h=void 0,f=void 0,_=[]},n.setDateFormat=function(t){u=t},n.getDateFormat=function(){return u},n.setTitle=function(t){o=t},n.getTitle=function(){return o},n.addSection=function(t){l=t,s.push(t)},n.getTasks=function(){for(var t=x(),e=10,n=0;!t&&e>n;)t=x(),n++;return c=_};var h,f,d=function(t,e,i){i=i.trim();var u=/^after\s+([\d\w\-]+)/,o=u.exec(i.trim());if(null!==o){var s=n.findTaskById(o[1]);if("undefined"==typeof s){var c=new Date;return c.setHours(0,0,0,0),c}return s.endTime}return r(i,e.trim(),!0).isValid()?r(i,e.trim(),!0).toDate():(a.debug("Invalid date:"+i),a.debug("With date format:"+e.trim()),new Date)},p=function(t,e,n){if(n=n.trim(),r(n,e.trim(),!0).isValid())return r(n,e.trim()).toDate();var i=r(t),a=/^([\d]+)([wdhms])/,u=a.exec(n.trim());if(null!==u){switch(u[2]){case"s":i.add(u[1],"seconds");break;case"m":i.add(u[1],"minutes");break;case"h":i.add(u[1],"hours");break;case"d":i.add(u[1],"days");break;case"w":i.add(u[1],"weeks")}return i.toDate()}return i.toDate()},g=0,y=function(t){return"undefined"==typeof t?(g+=1,"task"+g):t},m=function(t,e){var r;r=":"===e.substr(0,1)?e.substr(1,e.length):e;for(var i=r.split(","),a={},u=n.getDateFormat(),o=!0;o;)o=!1,i[0].match(/^\s*active\s*$/)&&(a.active=!0,i.shift(1),o=!0),i[0].match(/^\s*done\s*$/)&&(a.done=!0,i.shift(1),o=!0),i[0].match(/^\s*crit\s*$/)&&(a.crit=!0,i.shift(1),o=!0);var s;for(s=0;s<i.length;s++)i[s]=i[s].trim();switch(i.length){case 1:a.id=y(),a.startTime=t.endTime,a.endTime=p(a.startTime,u,i[0]);break;case 2:a.id=y(),a.startTime=d(void 0,u,i[0]),a.endTime=p(a.startTime,u,i[1]);break;case 3:a.id=y(i[0]),a.startTime=d(void 0,u,i[1]),a.endTime=p(a.startTime,u,i[2])}return a},v=function(t,e){var n;n=":"===e.substr(0,1)?e.substr(1,e.length):e;for(var r=n.split(","),i={},a=!0;a;)a=!1,r[0].match(/^\s*active\s*$/)&&(i.active=!0,r.shift(1),a=!0),r[0].match(/^\s*done\s*$/)&&(i.done=!0,r.shift(1),a=!0),r[0].match(/^\s*crit\s*$/)&&(i.crit=!0,r.shift(1),a=!0);var u;for(u=0;u<r.length;u++)r[u]=r[u].trim();switch(r.length){case 1:i.id=y(),i.startTime={type:"prevTaskEnd",id:t},i.endTime={data:r[0]};break;case 2:i.id=y(),i.startTime={type:"getStartDate",startData:r[0]},i.endTime={data:r[1]};break;case 3:i.id=y(r[0]),i.startTime={type:"getStartDate",startData:r[1]},i.endTime={data:r[2]}}return i},_=[],b={};n.addTask=function(t,e){var n={section:l,type:l,processed:!1,raw:{data:e},task:t},r=v(f,e);n.raw.startTime=r.startTime,n.raw.endTime=r.endTime,n.id=r.id,n.prevTaskId=f,n.active=r.active,n.done=r.done,n.crit=r.crit;var i=_.push(n);f=n.id,b[n.id]=i-1},n.findTaskById=function(t){var e=b[t];return _[e]},n.addTaskOrg=function(t,e){var n={section:l,type:l,description:t,task:t},r=m(h,e);n.startTime=r.startTime,n.endTime=r.endTime,n.id=r.id,n.active=r.active,n.done=r.done,n.crit=r.crit,h=n,c.push(n)};var x=function(){var t,e=n.getDateFormat(),r=function(t){var r=_[t],i="";switch(_[t].raw.startTime.type){case"prevTaskEnd":var a=n.findTaskById(r.prevTaskId);r.startTime=a.endTime;break;case"getStartDate":i=d(void 0,e,_[t].raw.startTime.startData),i&&(_[t].startTime=i)}return _[t].startTime&&(_[t].endTime=p(_[t].startTime,e,_[t].raw.endTime.data),_[t].endTime&&(_[t].processed=!0)),_[t].processed},i=!0;for(t=0;t<_.length;t++)r(t),i=i&&_[t].processed;return i};n.parseError=function(t,n){e.mermaidAPI.parseError(t,n)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../logger":131,moment:107}],122:[function(t,e){"use strict";var n=t("./parser/gantt").parser;n.yy=t("./ganttDb");var r,i=t("../../d3"),a=t("moment"),u={titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"'};e.exports.setConf=function(t){var e=Object.keys(t);e.forEach(function(e){u[e]=t[e]})};var o;e.exports.draw=function(t,e){function s(t,e,n){var r=u.barHeight,a=r+u.barGap,o=u.topPadding,s=u.leftPadding,d=i.scale.linear().domain([0,A.length]).range(["#00B9FA","#F95002"]).interpolate(i.interpolateHcl);l(s,o,e,n),c(t,a,o,s,r,d,e,n),h(a,o,s,r,d),f(s,o,e,n)}function c(t,e,n,r,i,a,o){_.append("g").selectAll("rect").data(t).enter().append("rect").attr("x",0).attr("y",function(t,r){return r*e+n-2}).attr("width",function(){return o-u.rightPadding/2}).attr("height",e).attr("class",function(t){for(var e=0;e<A.length;e++)if(t.type===A[e])return"section section"+e%u.numberSectionStyles;return"section section0"});var s=_.append("g").selectAll("rect").data(t).enter();

s.append("rect").attr("rx",3).attr("ry",3).attr("x",function(t){return w(t.startTime)+r}).attr("y",function(t,r){return r*e+n}).attr("width",function(t){return w(t.endTime)-w(t.startTime)}).attr("height",i).attr("class",function(t){for(var e="task ",n=0,r=0;r<A.length;r++)t.type===A[r]&&(n=r%u.numberSectionStyles);return t.active?t.crit?e+" activeCrit"+n:e+" active"+n:t.done?t.crit?e+" doneCrit"+n:e+" done"+n:t.crit?e+" crit"+n:e+" task"+n}),s.append("text").text(function(t){return t.task}).attr("font-size",u.fontSize).attr("x",function(t){var e=w(t.startTime),n=w(t.endTime),i=this.getBBox().width;return i>n-e?n+i+1.5*u.leftPadding>o?e+r-5:n+r+5:(n-e)/2+e+r}).attr("y",function(t,r){return r*e+u.barHeight/2+(u.fontSize/2-2)+n}).attr("text-height",i).attr("class",function(t){for(var e=w(t.startTime),n=w(t.endTime),r=this.getBBox().width,i=0,a=0;a<A.length;a++)t.type===A[a]&&(i=a%u.numberSectionStyles);var s="";return t.active&&(s=t.crit?"activeCritText"+i:"activeText"+i),t.done?s=t.crit?s+" doneCritText"+i:s+" doneText"+i:t.crit&&(s=s+" critText"+i),r>n-e?n+r+1.5*u.leftPadding>o?"taskTextOutsideLeft taskTextOutside"+i+" "+s:"taskTextOutsideRight taskTextOutside"+i+" "+s:"taskText taskText"+i+" "+s})}function l(t,e,n,a){var o,s=[[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["h1 %I:%M",function(t){return t.getMinutes()}]],c=[["%Y",function(){return!0}]],l=[["%I:%M",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}]];"undefined"!=typeof u.axisFormatter&&(l=[],u.axisFormatter.forEach(function(t){var e=[];e[0]=t[0],e[1]=t[1],l.push(e)})),o=s.concat(l).concat(c);var h=i.svg.axis().scale(w).orient("bottom").tickSize(-a+e+u.gridLineStartPadding,0,0).tickFormat(i.time.format.multi(o));r>7&&230>r&&(h=h.ticks(i.time.monday.range)),_.append("g").attr("class","grid").attr("transform","translate("+t+", "+(a-50)+")").call(h).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em")}function h(t,e){for(var n=[],r=0,i=0;i<A.length;i++)n[i]=[A[i],g(A[i],E)];_.append("g").selectAll("text").data(n).enter().append("text").text(function(t){return t[0]}).attr("x",10).attr("y",function(i,a){if(!(a>0))return i[1]*t/2+e;for(var u=0;a>u;u++)return r+=n[a-1][1],i[1]*t/2+r*t+e}).attr("class",function(t){for(var e=0;e<A.length;e++)if(t[0]===A[e])return"sectionTitle sectionTitle"+e%u.numberSectionStyles;return"sectionTitle"})}function f(t,e,n,r){var i=_.append("g").attr("class","today"),a=new Date;i.append("line").attr("x1",w(a)+t).attr("x2",w(a)+t).attr("y1",u.titleTopMargin).attr("y2",r-u.titleTopMargin).attr("class","today")}function d(t){for(var e={},n=[],r=0,i=t.length;i>r;++r)e.hasOwnProperty(t[r])||(e[t[r]]=!0,n.push(t[r]));return n}function p(t){for(var e=t.length,n={};e;)n[t[--e]]=(n[t[e]]||0)+1;return n}function g(t,e){return p(e)[t]||0}n.yy.clear(),n.parse(t);var y=document.getElementById(e);o=y.parentElement.offsetWidth,"undefined"==typeof o&&(o=1200),"undefined"!=typeof u.useWidth&&(o=u.useWidth);var m=n.yy.getTasks(),v=m.length*(u.barHeight+u.barGap)+2*u.topPadding;y.setAttribute("height","100%"),y.setAttribute("viewBox","0 0 "+o+" "+v);var _=i.select("#"+e),b=i.min(m,function(t){return t.startTime}),x=i.max(m,function(t){return t.endTime}),w=i.time.scale().domain([i.min(m,function(t){return t.startTime}),i.max(m,function(t){return t.endTime})]).rangeRound([0,o-u.leftPadding-u.rightPadding]),A=[];r=a.duration(x-b).asDays();for(var k=0;k<m.length;k++)A.push(m[k].type);var E=A;A=d(A),s(m,o,v),"undefined"!=typeof u.useWidth&&y.setAttribute("width",o),_.append("text").text(n.yy.getTitle()).attr("x",o/2).attr("y",u.titleTopMargin).attr("class","titleText")}},{"../../d3":109,"./ganttDb":121,"./parser/gantt":123,moment:107}],123:[function(t,e,n){(function(r){"use strict";var i=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[6,8,10,11,12,13,14],r=[1,9],i=[1,10],a=[1,11],u=[1,12],o={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,dateFormat:11,title:12,section:13,taskTxt:14,taskData:15,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",11:"dateFormat",12:"title",13:"section",14:"taskTxt",15:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,1],[9,1],[9,2]],performAction:function(t,e,n,r,i,a){var u=a.length-1;switch(i){case 1:return a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:r.setDateFormat(a[u].substr(11)),this.$=a[u].substr(11);break;case 9:r.setTitle(a[u].substr(6)),this.$=a[u].substr(6);break;case 10:r.addSection(a[u].substr(8)),this.$=a[u].substr(8);break;case 11:r.addTask(a[u-1],a[u]),this.$="task"}},table:[{3:1,4:[1,2]},{1:[3]},e(n,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:i,13:a,14:u},e(n,[2,7],{1:[2,1]}),e(n,[2,3]),{9:13,11:r,12:i,13:a,14:u},e(n,[2,5]),e(n,[2,6]),e(n,[2,8]),e(n,[2,9]),e(n,[2,10]),{15:[1,14]},e(n,[2,4]),e(n,[2,11])],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var n=function(t,e){this.message=t,this.hash=e};throw n.prototype=Error,new n(t,e)}this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,u="",o=0,s=0,c=0,l=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,_,b,x,w,A,k,E,D,S=function(){var t;return t=d.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},C={};;){if(b=n[n.length-1],this.defaultActions[b]?x=this.defaultActions[b]:((null===v||"undefined"==typeof v)&&(v=S()),x=a[b]&&a[b][v]),"undefined"==typeof x||!x.length||!x[0]){var M="";D=[];for(A in a[b])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");M=d.showPosition?"Parse error on line "+(o+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(M,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(x[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(x[1]),v=null,_?(v=_,_=null):(s=d.yyleng,u=d.yytext,o=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],C.$=r[r.length-k],C._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},m&&(C._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(C,[u,s,o,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[x[1]][0]),r.push(C.$),i.push(C._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},s=function(){var t={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return 10;case 1:break;case 2:break;case 3:break;case 4:return 4;case 5:return 11;case 6:return"date";case 7:return 12;case 8:return 13;case 9:return 14;case 10:return 15;case 11:return":";case 12:return 6;case 13:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],inclusive:!0}}};return t}();return o.lexer=s,t.prototype=o,o.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],124:[function(t,e,n){"use strict";function r(t,e){return Math.floor(Math.random()*(e-t))+t}function i(){for(var t="0123456789abcdef",e="",n=0;7>n;n++)e+=t[r(0,16)];return e}function a(t,e){var n,r=!0;t:for(;r;){var i=t,u=e;for(r=!1,h.debug("Entering isfastforwardable:",i.id,u.id);i.seq<=u.seq&&i!=u&&null!=u.parent;){if(Array.isArray(u.parent)){if(h.debug("In merge commit:",u.parent),n=a(i,f[u.parent[0]]))return n;t=i,e=f[u.parent[1]],r=!0;continue t}u=f[u.parent]}return h.debug(i.id,u.id),i.id==u.id}}function u(t,e){var n=t.seq,r=e.seq;return n>r?a(e,t):!1}function o(t,e,n){var r=l.find(t,e);if(r){var i=l.indexOf(t,l.find(t,e));t.splice(i,1,n)}else t.push(n)}function s(t){var e=l.maxBy(t,"seq"),n="";l.each(t,function(t){n+=t==e?"	*":"	|"});var r=[n,e.id,e.seq];if(l.each(p,function(t,n){t==e.id&&r.push(n)}),h.debug(r.join(" ")),Array.isArray(e.parent)){var i=f[e.parent[0]];o(t,e,i),t.push(f[e.parent[1]])}else{if(null==e.parent)return;var a=f[e.parent];o(t,e,a)}t=l.uniqBy(t,"id"),s(t)}var c=t("../../logger"),l=t("lodash"),h=new c.Log(1),f={},d=null,p={master:d},g="master",y="LR",m=0;n.setDirection=function(t){y=t};var v={};n.setOptions=function(t){h.debug("options str",t),t=t&&t.trim(),t=t||"{}";try{v=JSON.parse(t)}catch(e){h.error("error while parsing gitGraph options",e.message)}},n.getOptions=function(){return v},n.commit=function(t){var e={id:i(),message:t,seq:m++,parent:null==d?null:d.id};d=e,f[e.id]=e,p[g]=e.id,h.debug("in pushCommit "+e.id)},n.branch=function(t){p[t]=null!=d?d.id:null,h.debug("in createBranch")},n.merge=function(t){var e=f[p[g]],n=f[p[t]];if(u(e,n))return void h.debug("Already merged");if(a(e,n))p[g]=p[t],d=f[p[g]];else{var r={id:i(),message:"merged branch "+t+" into "+g,seq:m++,parent:[null==d?null:d.id,p[t]]};d=r,f[r.id]=r,p[g]=r.id}h.debug(p),h.debug("in mergeBranch")},n.checkout=function(t){h.debug("in checkout"),g=t;var e=p[g];d=f[e]},n.reset=function(t){h.debug("in reset",t);var e=t.split(":")[0],n=parseInt(t.split(":")[1]),r="HEAD"==e?d:f[p[e]];for(h.debug(r,n);n>0;)if(r=f[r.parent],n--,!r){var i="Critical error - unique parent commit not found during reset";throw h.error(i),i}d=r,p[g]=r.id},n.prettyPrint=function(){h.debug(f);var t=n.getCommitsArray()[0];s([t])},n.clear=function(){f={},d=null,p={master:d},g="master",m=0},n.getBranchesAsObjArray=function(){var t=l.map(p,function(t,e){return{name:e,commit:f[t]}});return t},n.getBranches=function(){return p},n.getCommits=function(){return f},n.getCommitsArray=function(){var t=Object.keys(f).map(function(t){return f[t]});return l.each(t,function(t){h.debug(t.id)}),l.orderBy(t,["seq"],["desc"])},n.getCurrentBranch=function(){return g},n.getDirection=function(){return y},n.getHead=function(){return d}},{"../../logger":131,lodash:106}],125:[function(t,e,n){"use strict";function r(t){t.append("defs").append("g").attr("id","def-commit").append("circle").attr("r",v.nodeRadius).attr("cx",0).attr("cy",0),t.select("#def-commit").append("foreignObject").attr("width",v.nodeLabel.width).attr("height",v.nodeLabel.height).attr("x",v.nodeLabel.x).attr("y",v.nodeLabel.y).attr("class","node-label").attr("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility").append("xhtml:p").html("")}function i(t,e,n,r){r=r||"basis";var i=v.branchColors[n%v.branchColors.length],a=p.svg.line().x(function(t){return Math.round(t.x)}).y(function(t){return Math.round(t.y)}).interpolate(r);t.append("svg:path").attr("d",a(e)).style("stroke",i).style("stroke-width",v.lineStrokeWidth).style("fill","none")}function a(t,e){e=e||t.node().getBBox();var n=t.node().getCTM(),r=n.e+e.x*n.a,i=n.f+e.y*n.d;return{left:r,top:i,width:e.width,height:e.height}}function u(t,e,n,r,u){y.debug("svgDrawLineForCommits: ",e,n);var o=a(t.select("#node-"+e+" circle")),s=a(t.select("#node-"+n+" circle"));switch(r){case"LR":if(o.left-s.left>v.nodeSpacing){var c={x:o.left-v.nodeSpacing,y:s.top+s.height/2},l={x:s.left+s.width,y:s.top+s.height/2};i(t,[c,l],u,"linear"),i(t,[{x:o.left,y:o.top+o.height/2},{x:o.left-v.nodeSpacing/2,y:o.top+o.height/2},{x:o.left-v.nodeSpacing/2,y:c.y},c],u)}else i(t,[{x:o.left,y:o.top+o.height/2},{x:o.left-v.nodeSpacing/2,y:o.top+o.height/2},{x:o.left-v.nodeSpacing/2,y:s.top+s.height/2},{x:s.left+s.width,y:s.top+s.height/2}],u);break;case"BT":s.top-o.top>v.nodeSpacing?(c={x:s.left+s.width/2,y:o.top+o.height+v.nodeSpacing},l={x:s.left+s.width/2,y:s.top},i(t,[c,l],u,"linear"),i(t,[{x:o.left+o.width/2,y:o.top+o.height},{x:o.left+o.width/2,y:o.top+o.height+v.nodeSpacing/2},{x:s.left+s.width/2,y:c.y-v.nodeSpacing/2},c],u)):i(t,[{x:o.left+o.width/2,y:o.top+o.height},{x:o.left+o.width/2,y:o.top+v.nodeSpacing/2},{x:s.left+s.width/2,y:s.top-v.nodeSpacing/2},{x:s.left+s.width/2,y:s.top}],u)}}function o(t,e){return t.select(e).node().cloneNode(!0)}function s(t,e,n,r){var i,a=Object.keys(m).length;if(f.isString(e))do{if(i=m[e],y.debug("in renderCommitHistory",i.id,i.seq),t.select("#node-"+e).size()>0)return;t.append(function(){return o(t,"#def-commit")}).attr("class","commit").attr("id",function(){return"node-"+i.id}).attr("transform",function(){switch(r){case"LR":return"translate("+(i.seq*v.nodeSpacing+v.leftMargin)+", "+l*v.branchOffset+")";case"BT":return"translate("+(l*v.branchOffset+v.leftMargin)+", "+(a-i.seq)*v.nodeSpacing+")"}}).attr("fill",v.nodeFillColor).attr("stroke",v.nodeStrokeColor).attr("stroke-width",v.nodeStrokeWidth);var u=f.find(n,["commit",i]);u&&(y.debug("found branch ",u.name),t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","branch-label").text(u.name+", ")),t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","commit-id").text(i.id),""!==i.message&&"BT"===r&&t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","commit-msg").text(", "+i.message),e=i.parent}while(e&&m[e]);f.isArray(e)&&(y.debug("found merge commmit",e),s(t,e[0],n,r),l++,s(t,e[1],n,r),l--)}function c(t,e,n,r){for(r=r||0;e.seq>0&&!e.lineDrawn;)f.isString(e.parent)?(u(t,e.id,e.parent,n,r),e.lineDrawn=!0,e=m[e.parent]):f.isArray(e.parent)&&(u(t,e.id,e.parent[0],n,r),u(t,e.id,e.parent[1],n,r+1),c(t,m[e.parent[1]],n,r+1),e.lineDrawn=!0,e=m[e.parent[0]])}var l,h=t("./gitGraphAst"),f=t("lodash"),d=t("./parser/gitGraph"),p=t("../../d3"),g=t("../../logger"),y=new g.Log,m={},v={nodeSpacing:75,nodeFillColor:"yellow",nodeStrokeWidth:2,nodeStrokeColor:"grey",lineStrokeWidth:4,branchOffset:50,lineColor:"grey",leftMargin:50,branchColors:["#442f74","#983351","#609732","#AA9A39"],nodeRadius:15,nodeLabel:{width:75,height:100,x:-25,y:15}},_={};n.setConf=function(t){_=t},n.draw=function(t,e,n){try{var i;i=d.parser,i.yy=h,y.debug("in gitgraph renderer",t,e,n),i.parse(t+"\n"),v=f.extend(v,_,h.getOptions()),y.debug("effective options",v);var a=h.getDirection();m=h.getCommits();var u=h.getBranchesAsObjArray();"BT"===a&&(v.nodeLabel.x=u.length*v.branchOffset,v.nodeLabel.width="100%",v.nodeLabel.y=-2*v.nodeRadius);var o=p.select("#"+e);r(o),l=1,f.each(u,function(t){s(o,t.commit.id,u,a),c(o,t.commit,a),l++}),o.attr("height",function(){return"BT"===a?Object.keys(m).length*v.nodeSpacing:(u.length+1)*v.branchOffset})}catch(g){y.error("Error while rendering gitgraph"),y.error(g.message)}}},{"../../d3":109,"../../logger":131,"./gitGraphAst":124,"./parser/gitGraph":126,lodash:106}],126:[function(t,e,n){(function(r){"use strict";var i=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[2,3],r=[1,7],i=[7,12,15,17,19,20,21],a=[7,11,12,15,17,19,20,21],u=[2,20],o=[1,32],s={trace:function(){},yy:{},symbols_:{error:2,start:3,GG:4,":":5,document:6,EOF:7,DIR:8,options:9,body:10,OPT:11,NL:12,line:13,statement:14,COMMIT:15,commit_arg:16,BRANCH:17,ID:18,CHECKOUT:19,MERGE:20,RESET:21,reset_arg:22,STR:23,HEAD:24,reset_parents:25,CARET:26,$accept:0,$end:1},terminals_:{2:"error",4:"GG",5:":",7:"EOF",8:"DIR",11:"OPT",12:"NL",15:"COMMIT",17:"BRANCH",18:"ID",19:"CHECKOUT",20:"MERGE",21:"RESET",23:"STR",24:"HEAD",26:"CARET"},productions_:[0,[3,4],[3,5],[6,0],[6,2],[9,2],[9,1],[10,0],[10,2],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[16,0],[16,1],[22,2],[22,2],[25,0],[25,2]],performAction:function(t,e,n,r,i,a){var u=a.length-1;switch(i){case 1:return a[u-1];case 2:return r.setDirection(a[u-3]),a[u-1];case 4:r.setOptions(a[u-1]),this.$=a[u];break;case 5:a[u-1]+=a[u],this.$=a[u-1];break;case 7:this.$=[];break;case 8:a[u-1].push(a[u]),this.$=a[u-1];break;case 9:this.$=a[u-1];break;case 11:r.commit(a[u]);break;case 12:r.branch(a[u]);break;case 13:r.checkout(a[u]);break;case 14:r.merge(a[u]);break;case 15:r.reset(a[u]);break;case 16:this.$="";break;case 17:this.$=a[u];break;case 18:this.$=a[u-1]+":"+a[u];break;case 19:this.$=a[u-1]+":"+r.count,r.count=0;break;case 20:r.count=0;break;case 21:r.count+=1}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3],8:[1,4]},{6:5,7:n,9:6,12:r},{5:[1,8]},{7:[1,9]},e(i,[2,7],{10:10,11:[1,11]}),e(a,[2,6]),{6:12,7:n,9:6,12:r},{1:[2,1]},{7:[2,4],12:[1,15],13:13,14:14,15:[1,16],17:[1,17],19:[1,18],20:[1,19],21:[1,20]},e(a,[2,5]),{7:[1,21]},e(i,[2,8]),{12:[1,22]},e(i,[2,10]),{12:[2,16],16:23,23:[1,24]},{18:[1,25]},{18:[1,26]},{18:[1,27]},{18:[1,30],22:28,24:[1,29]},{1:[2,2]},e(i,[2,9]),{12:[2,11]},{12:[2,17]},{12:[2,12]},{12:[2,13]},{12:[2,14]},{12:[2,15]},{12:u,25:31,26:o},{12:u,25:33,26:o},{12:[2,18]},{12:u,25:34,26:o},{12:[2,19]},{12:[2,21]}],defaultActions:{9:[2,1],21:[2,2],23:[2,11],24:[2,17],25:[2,12],26:[2,13],27:[2,14],28:[2,15],31:[2,18],33:[2,19],34:[2,21]},parseError:function(t,e){if(!e.recoverable){var n=function(t,e){this.message=t,this.hash=e};throw n.prototype=Error,new n(t,e)}this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,u="",o=0,s=0,c=0,l=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,_,b,x,w,A,k,E,D,S=function(){var t;return t=d.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},C={};;){if(b=n[n.length-1],this.defaultActions[b]?x=this.defaultActions[b]:((null===v||"undefined"==typeof v)&&(v=S()),x=a[b]&&a[b][v]),"undefined"==typeof x||!x.length||!x[0]){var M="";D=[];for(A in a[b])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");M=d.showPosition?"Parse error on line "+(o+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(M,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(x[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(x[1]),v=null,_?(v=_,_=null):(s=d.yyleng,u=d.yytext,o=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],C.$=r[r.length-k],C._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},m&&(C._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(C,[u,s,o,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[x[1]][0]),r.push(C.$),i.push(C._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},c=function(){var t={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return 12;case 1:break;case 2:break;case 3:break;case 4:return 4;case 5:return 15;case 6:return 17;case 7:return 20;case 8:return 21;case 9:return 19;case 10:return 8;case 11:return 8;case 12:return 5;case 13:return 26;case 14:this.begin("options");break;case 15:this.popState();break;case 16:return 11;case 17:this.begin("string");break;case 18:this.popState();break;case 19:return 23;case 20:return 18;case 21:return 7}},rules:[/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit\b)/i,/^(?:branch\b)/i,/^(?:merge\b)/i,/^(?:reset\b)/i,/^(?:checkout\b)/i,/^(?:LR\b)/i,/^(?:BT\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:end\r?\n)/i,/^(?:[^\n]+\r?\n)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[a-zA-Z][a-zA-Z0-9_]+)/i,/^(?:$)/i],conditions:{options:{rules:[15,16],inclusive:!1},string:{rules:[18,19],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17,20,21],inclusive:!0}}};return t}();return s.lexer=c,t.prototype=s,s.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],127:[function(t,e,n){(function(r){"use strict";var i=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[1,2],r=[1,3],i=[1,4],a=[2,4],u=[1,9],o=[1,11],s=[1,12],c=[1,14],l=[1,15],h=[1,17],f=[1,18],d=[1,19],p=[1,20],g=[1,22],y=[1,23],m=[1,4,5,10,15,16,18,20,21,22,23,24,25,36],v=[1,31],_=[4,5,10,15,16,18,20,21,22,23,25,36],b=[34,35,36],x={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,participant:10,
actor:11,AS:12,restOfLine:13,signal:14,activate:15,deactivate:16,note_statement:17,title:18,text2:19,loop:20,end:21,opt:22,alt:23,"else":24,note:25,placement:26,over:27,actor_pair:28,spaceList:29,",":30,left_of:31,right_of:32,signaltype:33,"+":34,"-":35,ACTOR:36,SOLID_OPEN_ARROW:37,DOTTED_OPEN_ARROW:38,SOLID_ARROW:39,DOTTED_ARROW:40,SOLID_CROSS:41,DOTTED_CROSS:42,TXT:43,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",10:"participant",12:"AS",13:"restOfLine",15:"activate",16:"deactivate",18:"title",20:"loop",21:"end",22:"opt",23:"alt",24:"else",25:"note",27:"over",30:",",31:"left_of",32:"right_of",34:"+",35:"-",36:"ACTOR",37:"SOLID_OPEN_ARROW",38:"DOTTED_OPEN_ARROW",39:"SOLID_ARROW",40:"DOTTED_ARROW",41:"SOLID_CROSS",42:"DOTTED_CROSS",43:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,5],[9,3],[9,2],[9,3],[9,3],[9,2],[9,3],[9,4],[9,4],[9,7],[17,4],[17,4],[29,2],[29,1],[28,3],[28,1],[26,1],[26,1],[14,5],[14,5],[14,4],[11,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[19,1]],performAction:function(t,e,n,r,i,a){var u=a.length-1;switch(i){case 3:return r.apply(a[u]),a[u];case 4:this.$=[];break;case 5:a[u-1].push(a[u]),this.$=a[u-1];break;case 6:case 7:this.$=a[u];break;case 8:this.$=[];break;case 9:a[u-3].description=a[u-1],this.$=a[u-3];break;case 10:this.$=a[u-1];break;case 12:this.$={type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:a[u-1]};break;case 13:this.$={type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:a[u-1]};break;case 15:this.$=[{type:"setTitle",text:a[u-1]}];break;case 16:a[u-1].unshift({type:"loopStart",loopText:a[u-2],signalType:r.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:r.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 17:a[u-1].unshift({type:"optStart",optText:a[u-2],signalType:r.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2],signalType:r.LINETYPE.OPT_END}),this.$=a[u-1];break;case 18:a[u-4].unshift({type:"altStart",altText:a[u-5],signalType:r.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2],signalType:r.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:r.LINETYPE.ALT_END}),this.$=a[u-4];break;case 19:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 20:a[u-2]=[].concat(a[u-1],a[u-1]).slice(0,2),a[u-2][0]=a[u-2][0].actor,a[u-2][1]=a[u-2][1].actor,this.$=[a[u-1],{type:"addNote",placement:r.PLACEMENT.OVER,actor:a[u-2].slice(0,2),text:a[u]}];break;case 23:this.$=[a[u-2],a[u]];break;case 24:this.$=a[u];break;case 25:this.$=r.PLACEMENT.LEFTOF;break;case 26:this.$=r.PLACEMENT.RIGHTOF;break;case 27:this.$=[a[u-4],a[u-1],{type:"addMessage",from:a[u-4].actor,to:a[u-1].actor,signalType:a[u-3],msg:a[u]},{type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:a[u-1]}];break;case 28:this.$=[a[u-4],a[u-1],{type:"addMessage",from:a[u-4].actor,to:a[u-1].actor,signalType:a[u-3],msg:a[u]},{type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:a[u-4]}];break;case 29:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 30:this.$={type:"addActor",actor:a[u]};break;case 31:this.$=r.LINETYPE.SOLID_OPEN;break;case 32:this.$=r.LINETYPE.DOTTED_OPEN;break;case 33:this.$=r.LINETYPE.SOLID;break;case 34:this.$=r.LINETYPE.DOTTED;break;case 35:this.$=r.LINETYPE.SOLID_CROSS;break;case 36:this.$=r.LINETYPE.DOTTED_CROSS;break;case 37:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:n,5:r,6:i},{1:[3]},{3:5,4:n,5:r,6:i},{3:6,4:n,5:r,6:i},e([1,4,5,10,15,16,18,20,22,23,25,36],a,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:u,5:o,8:8,9:10,10:s,11:21,14:13,15:c,16:l,17:16,18:h,20:f,22:d,23:p,25:g,36:y},e(m,[2,5]),{9:24,10:s,11:21,14:13,15:c,16:l,17:16,18:h,20:f,22:d,23:p,25:g,36:y},e(m,[2,7]),e(m,[2,8]),{11:25,36:y},{5:[1,26]},{11:27,36:y},{11:28,36:y},{5:[1,29]},{19:30,43:v},{13:[1,32]},{13:[1,33]},{13:[1,34]},{33:35,37:[1,36],38:[1,37],39:[1,38],40:[1,39],41:[1,40],42:[1,41]},{26:42,27:[1,43],31:[1,44],32:[1,45]},e([5,12,30,37,38,39,40,41,42,43],[2,30]),e(m,[2,6]),{5:[1,47],12:[1,46]},e(m,[2,11]),{5:[1,48]},{5:[1,49]},e(m,[2,14]),{5:[1,50]},{5:[2,37]},e(_,a,{7:51}),e(_,a,{7:52}),e([4,5,10,15,16,18,20,22,23,24,25,36],a,{7:53}),{11:56,34:[1,54],35:[1,55],36:y},e(b,[2,31]),e(b,[2,32]),e(b,[2,33]),e(b,[2,34]),e(b,[2,35]),e(b,[2,36]),{11:57,36:y},{11:59,28:58,36:y},{36:[2,25]},{36:[2,26]},{13:[1,60]},e(m,[2,10]),e(m,[2,12]),e(m,[2,13]),e(m,[2,15]),{4:u,5:o,8:8,9:10,10:s,11:21,14:13,15:c,16:l,17:16,18:h,20:f,21:[1,61],22:d,23:p,25:g,36:y},{4:u,5:o,8:8,9:10,10:s,11:21,14:13,15:c,16:l,17:16,18:h,20:f,21:[1,62],22:d,23:p,25:g,36:y},{4:u,5:o,8:8,9:10,10:s,11:21,14:13,15:c,16:l,17:16,18:h,20:f,22:d,23:p,24:[1,63],25:g,36:y},{11:64,36:y},{11:65,36:y},{19:66,43:v},{19:67,43:v},{19:68,43:v},{30:[1,69],43:[2,24]},{5:[1,70]},e(m,[2,16]),e(m,[2,17]),{13:[1,71]},{19:72,43:v},{19:73,43:v},{5:[2,29]},{5:[2,19]},{5:[2,20]},{11:74,36:y},e(m,[2,9]),e(_,a,{7:75}),{5:[2,27]},{5:[2,28]},{43:[2,23]},{4:u,5:o,8:8,9:10,10:s,11:21,14:13,15:c,16:l,17:16,18:h,20:f,21:[1,76],22:d,23:p,25:g,36:y},e(m,[2,18])],defaultActions:{5:[2,1],6:[2,2],31:[2,37],44:[2,25],45:[2,26],66:[2,29],67:[2,19],68:[2,20],72:[2,27],73:[2,28],74:[2,23]},parseError:function(t,e){if(!e.recoverable){var n=function(t,e){this.message=t,this.hash=e};throw n.prototype=Error,new n(t,e)}this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,u="",o=0,s=0,c=0,l=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,"undefined"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,_,b,x,w,A,k,E,D,S=function(){var t;return t=d.lex()||h,"number"!=typeof t&&(t=e.symbols_[t]||t),t},C={};;){if(b=n[n.length-1],this.defaultActions[b]?x=this.defaultActions[b]:((null===v||"undefined"==typeof v)&&(v=S()),x=a[b]&&a[b][v]),"undefined"==typeof x||!x.length||!x[0]){var M="";D=[];for(A in a[b])this.terminals_[A]&&A>l&&D.push("'"+this.terminals_[A]+"'");M=d.showPosition?"Parse error on line "+(o+1)+":\n"+d.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(v==h?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(M,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:D})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(x[0]){case 1:n.push(v),r.push(d.yytext),i.push(d.yylloc),n.push(x[1]),v=null,_?(v=_,_=null):(s=d.yyleng,u=d.yytext,o=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],C.$=r[r.length-k],C._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},m&&(C._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(C,[u,s,o,p.yy,x[1],r,i].concat(f)),"undefined"!=typeof w)return w;k&&(n=n.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),n.push(this.productions_[x[1]][0]),r.push(C.$),i.push(C._$),E=a[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},w=function(){var t={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:return this.begin("ID"),10;case 6:return this.begin("ALIAS"),36;case 7:return this.popState(),this.popState(),this.begin("LINE"),12;case 8:return this.popState(),this.popState(),5;case 9:return this.begin("LINE"),20;case 10:return this.begin("LINE"),22;case 11:return this.begin("LINE"),23;case 12:return this.begin("LINE"),24;case 13:return this.popState(),13;case 14:return 21;case 15:return 31;case 16:return 32;case 17:return 27;case 18:return 25;case 19:return this.begin("ID"),15;case 20:return this.begin("ID"),16;case 21:return 18;case 22:return 6;case 23:return 30;case 24:return 5;case 25:return e.yytext=e.yytext.trim(),36;case 26:return 39;case 27:return 40;case 28:return 37;case 29:return 38;case 30:return 41;case 31:return 42;case 32:return 43;case 33:return 34;case 34:return 35;case 35:return 5;case 36:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:[^\->:\n,;]+?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?::[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[2,3,13],inclusive:!1},ALIAS:{rules:[2,3,7,8],inclusive:!1},ID:{rules:[2,3,6],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,9,10,11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],inclusive:!0}}};return t}();return x.lexer=w,t.prototype=x,x.Parser=t,new t}();"undefined"!=typeof t&&"undefined"!=typeof n&&(n.parser=i,n.Parser=i.Parser,n.parse=function(){return i.parse.apply(i,arguments)},n.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),r.exit(1));var i=t("fs").readFileSync(t("path").normalize(e[1]),"utf8");return n.parser.parse(i)},"undefined"!=typeof e&&t.main===e&&n.main(r.argv.slice(1)))}).call(this,t("_process"))},{_process:3,fs:1,path:2}],128:[function(t,e,n){(function(e){"use strict";var r={},i=[],a=[],u="",o=t("../../logger"),s=new o.Log;n.addActor=function(t,e,n){var i=r[t];i&&e===i.name&&null==n||(null==n&&(n=e),r[t]={name:e,description:n})},n.addMessage=function(t,e,n,r){i.push({from:t,to:e,message:n,answer:r})},n.addSignal=function(t,e,n,r){s.debug("Adding message from="+t+" to="+e+" message="+n+" type="+r),i.push({from:t,to:e,message:n,type:r})},n.getMessages=function(){return i},n.getActors=function(){return r},n.getActor=function(t){return r[t]},n.getActorKeys=function(){return Object.keys(r)},n.getTitle=function(){return u},n.clear=function(){r={},i=[]},n.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18},n.ARROWTYPE={FILLED:0,OPEN:1},n.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},n.addNote=function(t,e,r){var u={actor:t,placement:e,message:r},o=[].concat(t,t);a.push(u),i.push({from:o[0],to:o[1],message:r,type:n.LINETYPE.NOTE,placement:e})},n.setTitle=function(t){u=t},n.parseError=function(t,n){e.mermaidAPI.parseError(t,n)},n.apply=function(t){if(t instanceof Array)t.forEach(function(t){n.apply(t)});else switch(t.type){case"addActor":n.addActor(t.actor,t.actor,t.description);break;case"activeStart":n.addSignal(t.actor,void 0,void 0,t.signalType);break;case"activeEnd":n.addSignal(t.actor,void 0,void 0,t.signalType);break;case"addNote":n.addNote(t.actor,t.placement,t.text);break;case"addMessage":n.addSignal(t.from,t.to,t.msg,t.signalType);break;case"loopStart":n.addSignal(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":n.addSignal(void 0,void 0,void 0,t.signalType);break;case"optStart":n.addSignal(void 0,void 0,t.optText,t.signalType);break;case"optEnd":n.addSignal(void 0,void 0,void 0,t.signalType);break;case"altStart":n.addSignal(void 0,void 0,t.altText,t.signalType);break;case"else":n.addSignal(void 0,void 0,t.altText,t.signalType);break;case"altEnd":n.addSignal(void 0,void 0,void 0,t.signalType);break;case"setTitle":n.setTitle(t.text)}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../logger":131}],129:[function(t,e,n){"use strict";var r=t("./parser/sequenceDiagram").parser;r.yy=t("./sequenceDb");var i=t("./svgDraw"),a=t("../../d3"),u=t("../../logger"),o=new u.Log,s={diagramMarginX:50,diagramMarginY:30,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!1,bottomMarginAdj:1,activationWidth:10};n.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],init:function(){this.sequenceItems=[],this.activations=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,n,r){t[e]="undefined"==typeof t[e]?n:r(n,t[e])},updateBounds:function(t,e,r,i){function a(a){return function(c){o++;var l=u.sequenceItems.length-o+1;u.updateVal(c,"starty",e-l*s.boxMargin,Math.min),u.updateVal(c,"stopy",i+l*s.boxMargin,Math.max),u.updateVal(n.bounds.data,"startx",t-l*s.boxMargin,Math.min),u.updateVal(n.bounds.data,"stopx",r+l*s.boxMargin,Math.max),"activation"!=a&&(u.updateVal(c,"startx",t-l*s.boxMargin,Math.min),u.updateVal(c,"stopx",r+l*s.boxMargin,Math.max),u.updateVal(n.bounds.data,"starty",e-l*s.boxMargin,Math.min),u.updateVal(n.bounds.data,"stopy",i+l*s.boxMargin,Math.max))}}var u=this,o=0;this.sequenceItems.forEach(a()),this.activations.forEach(a("activation"))},insert:function(t,e,r,i){var a,u,o,s;a=Math.min(t,r),o=Math.max(t,r),u=Math.min(e,i),s=Math.max(e,i),this.updateVal(n.bounds.data,"startx",a,Math.min),this.updateVal(n.bounds.data,"starty",u,Math.min),this.updateVal(n.bounds.data,"stopx",o,Math.max),this.updateVal(n.bounds.data,"stopy",s,Math.max),this.updateBounds(a,u,o,s)},newActivation:function(t,e){var n=r.yy.getActors()[t.from.actor],a=h(t.from.actor).length,u=n.x+s.width/2+(a-1)*s.activationWidth/2;this.activations.push({startx:u,starty:this.verticalPos+2,stopx:u+s.activationWidth,stopy:void 0,actor:t.from.actor,anchored:i.anchorElement(e)})},endActivation:function(t){var e=this.activations.map(function(t){return t.actor}).lastIndexOf(t.from.actor),n=this.activations.splice(e,1)[0];return n},newLoop:function(t){this.sequenceItems.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t})},endLoop:function(){var t=this.sequenceItems.pop();return t},addElseToLoop:function(t){var e=this.sequenceItems.pop();e.elsey=n.bounds.getVerticalPos(),e.elseText=t,this.sequenceItems.push(e)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var c=function(t,e,r,a,u){var o=i.getNoteRect();o.x=e,o.y=r,o.width=u||s.width,o["class"]="note";var c=t.append("g"),l=i.drawRect(c,o),h=i.getTextObj();h.x=e-4,h.y=r-13,h.textMargin=s.noteMargin,h.dy="1em",h.text=a.message,h["class"]="noteText";var f=i.drawText(c,h,o.width-s.noteMargin),d=f[0][0].getBBox().height;!u&&d>s.width?(f.remove(),c=t.append("g"),f=i.drawText(c,h,2*o.width-s.noteMargin),d=f[0][0].getBBox().height,l.attr("width",2*o.width),n.bounds.insert(e,r,e+2*o.width,r+2*s.noteMargin+d)):n.bounds.insert(e,r,e+o.width,r+2*s.noteMargin+d),l.attr("height",d+2*s.noteMargin),n.bounds.bumpVerticalPos(d+2*s.noteMargin)},l=function(t,e,i,a,u){var o,c=t.append("g"),l=e+(i-e)/2,h=c.append("text").attr("x",l).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(u.message);o="undefined"!=typeof h[0][0].getBBox?h[0][0].getBBox().width:h[0][0].getBoundingClientRect();var f;if(e===i){f=c.append("path").attr("d","M "+e+","+a+" C "+(e+60)+","+(a-10)+" "+(e+60)+","+(a+30)+" "+e+","+(a+20)),n.bounds.bumpVerticalPos(30);var d=Math.max(o/2,100);n.bounds.insert(e-d,n.bounds.getVerticalPos()-10,i+d,n.bounds.getVerticalPos())}else f=c.append("line"),f.attr("x1",e),f.attr("y1",a),f.attr("x2",i),f.attr("y2",a),n.bounds.insert(e,n.bounds.getVerticalPos()-10,i,n.bounds.getVerticalPos());u.type===r.yy.LINETYPE.DOTTED||u.type===r.yy.LINETYPE.DOTTED_CROSS||u.type===r.yy.LINETYPE.DOTTED_OPEN?(f.style("stroke-dasharray","3, 3"),f.attr("class","messageLine1")):f.attr("class","messageLine0");var p="";s.arrowMarkerAbsolute&&(p=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,p=p.replace(/\(/g,"\\("),p=p.replace(/\)/g,"\\)")),f.attr("stroke-width",2),f.attr("stroke","black"),f.style("fill","none"),(u.type===r.yy.LINETYPE.SOLID||u.type===r.yy.LINETYPE.DOTTED)&&f.attr("marker-end","url("+p+"#arrowhead)"),(u.type===r.yy.LINETYPE.SOLID_CROSS||u.type===r.yy.LINETYPE.DOTTED_CROSS)&&f.attr("marker-end","url("+p+"#crosshead)")};e.exports.drawActors=function(t,e,r,a){var u;for(u=0;u<r.length;u++){var o=r[u];e[o].x=u*s.actorMargin+u*s.width,e[o].y=a,e[o].width=s.diagramMarginX,e[o].height=s.diagramMarginY,i.drawActor(t,e[o].x,a,e[o].description,s),n.bounds.insert(e[o].x,a,e[o].x+s.width,s.height)}n.bounds.bumpVerticalPos(s.height)},e.exports.setConf=function(t){var e=Object.keys(t);e.forEach(function(e){s[e]=t[e]})};var h=function(t){return e.exports.bounds.activations.filter(function(e){return e.actor==t})},f=function(t){var e=r.yy.getActors(),n=h(t),i=n.reduce(function(t,e){return Math.min(t,e.startx)},e[t].x+s.width/2),a=n.reduce(function(t,e){return Math.max(t,e.stopx)},e[t].x+s.width/2);return[i,a]};e.exports.draw=function(t,u){function h(t,e){var r=n.bounds.endActivation(t);r.starty+18>e&&(r.starty=e-6,e+=12),i.drawActivation(y,r,e,s),n.bounds.insert(r.startx,e-10,r.stopx,e)}r.yy.clear(),r.parse(t+"\n"),n.bounds.init();var d,p,g,y=a.select("#"+u),m=r.yy.getActors(),v=r.yy.getActorKeys(),_=r.yy.getMessages(),b=r.yy.getTitle();e.exports.drawActors(y,m,v,0),i.insertArrowHead(y),i.insertArrowCrossHead(y);var x;_.forEach(function(t){var e;switch(t.type){case r.yy.LINETYPE.NOTE:n.bounds.bumpVerticalPos(s.boxMargin),d=m[t.from].x,p=m[t.to].x,t.placement===r.yy.PLACEMENT.RIGHTOF?c(y,d+(s.width+s.actorMargin)/2,n.bounds.getVerticalPos(),t):t.placement===r.yy.PLACEMENT.LEFTOF?c(y,d-(s.width+s.actorMargin)/2,n.bounds.getVerticalPos(),t):t.to===t.from?c(y,d,n.bounds.getVerticalPos(),t):(g=Math.abs(d-p)+s.actorMargin,c(y,(d+p+s.width-g)/2,n.bounds.getVerticalPos(),t,g));break;case r.yy.LINETYPE.ACTIVE_START:n.bounds.newActivation(t,y);break;case r.yy.LINETYPE.ACTIVE_END:h(t,n.bounds.getVerticalPos());break;case r.yy.LINETYPE.LOOP_START:n.bounds.bumpVerticalPos(s.boxMargin),n.bounds.newLoop(t.message),n.bounds.bumpVerticalPos(s.boxMargin+s.boxTextMargin);break;case r.yy.LINETYPE.LOOP_END:e=n.bounds.endLoop(),i.drawLoop(y,e,"loop",s),n.bounds.bumpVerticalPos(s.boxMargin);break;case r.yy.LINETYPE.OPT_START:n.bounds.bumpVerticalPos(s.boxMargin),n.bounds.newLoop(t.message),n.bounds.bumpVerticalPos(s.boxMargin+s.boxTextMargin);break;case r.yy.LINETYPE.OPT_END:e=n.bounds.endLoop(),i.drawLoop(y,e,"opt",s),n.bounds.bumpVerticalPos(s.boxMargin);break;case r.yy.LINETYPE.ALT_START:n.bounds.bumpVerticalPos(s.boxMargin),n.bounds.newLoop(t.message),n.bounds.bumpVerticalPos(s.boxMargin+s.boxTextMargin);break;case r.yy.LINETYPE.ALT_ELSE:n.bounds.bumpVerticalPos(s.boxMargin),e=n.bounds.addElseToLoop(t.message),n.bounds.bumpVerticalPos(s.boxMargin);break;case r.yy.LINETYPE.ALT_END:e=n.bounds.endLoop(),i.drawLoop(y,e,"alt",s),n.bounds.bumpVerticalPos(s.boxMargin);break;default:try{x=t,n.bounds.bumpVerticalPos(s.messageMargin);var a=f(t.from),u=f(t.to),o=a[0]<=u[0]?1:0,v=a[0]<u[0]?0:1;d=a[o],p=u[v];var _=n.bounds.getVerticalPos();l(y,d,p,_,t);var b=a.concat(u);n.bounds.insert(Math.min.apply(null,b),_,Math.max.apply(null,b),_)}catch(w){console.error("error while drawing message",w)}}}),s.mirrorActors&&(n.bounds.bumpVerticalPos(2*s.boxMargin),e.exports.drawActors(y,m,v,n.bounds.getVerticalPos()));var w=n.bounds.getBounds();o.debug("For line height fix Querying: #"+u+" .actor-line");var A=a.selectAll("#"+u+" .actor-line");A.attr("y2",w.stopy);var k=w.stopy-w.starty+2*s.diagramMarginY;s.mirrorActors&&(k=k-s.boxMargin+s.bottomMarginAdj);var E=w.stopx-w.startx+2*s.diagramMarginX;b&&y.append("text").text(b).attr("x",(w.stopx-w.startx)/2-2*s.diagramMarginX).attr("y",-25),s.useMaxWidth?(y.attr("height","100%"),y.attr("width","100%"),y.attr("style","max-width:"+E+"px;")):(y.attr("height",k),y.attr("width",E));var D=b?40:0;y.attr("viewBox",w.startx-s.diagramMarginX+" -"+(s.diagramMarginY+D)+" "+E+" "+(k+D))}},{"../../d3":109,"../../logger":131,"./parser/sequenceDiagram":127,"./sequenceDb":128,"./svgDraw":130}],130:[function(t,e,n){"use strict";n.drawRect=function(t,e){var n=t.append("rect");return n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),n.attr("rx",e.rx),n.attr("ry",e.ry),"undefined"!=typeof e["class"]&&n.attr("class",e["class"]),n},n.drawText=function(t,e,n){var r=e.text.replace(/<br\/?>/gi," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.attr("fill",e.fill),"undefined"!=typeof e["class"]&&i.attr("class",e["class"]);var a=i.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.text(r),"undefined"!=typeof i.textwrap&&i.textwrap({x:e.x,y:e.y,width:n,height:1800},e.textMargin),i},n.drawLabel=function(t,e){var r=n.getNoteRect();r.x=e.x,r.y=e.y,r.width=50,r.height=20,r.fill="#526e52",r.stroke="none",r["class"]="labelBox",n.drawRect(t,r),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,e.fill="white",n.drawText(t,e)};var r=-1;n.drawActor=function(t,e,i,a,u){var o=e+u.width/2,s=t.append("g");0===i&&(r++,s.append("line").attr("id","actor"+r).attr("x1",o).attr("y1",5).attr("x2",o).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"));var c=n.getNoteRect();c.x=e,c.y=i,c.fill="#eaeaea",c.width=u.width,c.height=u.height,c["class"]="actor",c.rx=3,c.ry=3,n.drawRect(s,c),s.append("text").attr("x",o).attr("y",i+u.height/2+5).attr("class","actor").style("text-anchor","middle").text(a)},n.anchorElement=function(t){return t.append("g")},n.drawActivation=function(t,e,r){var i=n.getNoteRect(),a=e.anchored;i.x=e.startx,i.y=e.starty,i.fill="#f4f4f4",i.width=e.stopx-e.startx,i.height=r-e.starty,n.drawRect(a,i)},n.drawLoop=function(t,e,r,i){var a=t.append("g"),u=function(t,e,n,r){a.append("line").attr("x1",t).attr("y1",e).attr("x2",n).attr("y2",r).attr("stroke-width",2).attr("stroke","#526e52").attr("class","loopLine")};u(e.startx,e.starty,e.stopx,e.starty),u(e.stopx,e.starty,e.stopx,e.stopy),u(e.startx,e.stopy,e.stopx,e.stopy),u(e.startx,e.starty,e.startx,e.stopy),"undefined"!=typeof e.elsey&&u(e.startx,e.elsey,e.stopx,e.elsey);var o=n.getTextObj();o.text=r,o.x=e.startx,o.y=e.starty,o.labelMargin=15,o["class"]="labelText",o.fill="white",n.drawLabel(a,o),o=n.getTextObj(),o.text="[ "+e.title+" ]",o.x=e.startx+(e.stopx-e.startx)/2,o.y=e.starty+1.5*i.boxMargin,o.anchor="middle",o["class"]="loopText",n.drawText(a,o),"undefined"!=typeof e.elseText&&(o.text="[ "+e.elseText+" ]",o.y=e.elsey+1.5*i.boxMargin,n.drawText(a,o))},n.insertArrowHead=function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},n.insertArrowCrossHead=function(t){var e=t.append("defs"),n=e.append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);n.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),n.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},n.getTextObj=function(){var t={x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0};return t},n.getNoteRect=function(){var t={x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0};return t}},{}],131:[function(t,e,n){"use strict";function r(t){var e=t.getUTCHours(),n=t.getUTCMinutes(),r=t.getSeconds(),i=t.getMilliseconds();10>e&&(e="0"+e),10>n&&(n="0"+n),10>r&&(r="0"+r),100>i&&(i="0"+i),10>i&&(i="00"+i);var a=e+":"+n+":"+r+" ("+i+")";return a}function i(t){this.level=t,this.log=function(){var t=Array.prototype.slice.call(arguments),e=t.shift(),n=this.level;"undefined"==typeof n&&(n=u),e>=n&&"undefined"!=typeof console&&"undefined"!=typeof console.log&&(t.unshift("["+r(new Date)+"] "),console.log.apply(console,t.map(function(t){return"object"==typeof t?JSON.stringify(t,null,2):t})))},this.trace=function(){var t=Array.prototype.slice.call(arguments);t.unshift(a.trace),this.log.apply(this,t)},this.debug=function(){var t=Array.prototype.slice.call(arguments);t.unshift(a.debug),this.log.apply(this,t)},this.info=function(){var t=Array.prototype.slice.call(arguments);t.unshift(a.info),this.log.apply(this,t)},this.warn=function(){var t=Array.prototype.slice.call(arguments);t.unshift(a.warn),this.log.apply(this,t)},this.error=function(){var t=Array.prototype.slice.call(arguments);t.unshift(a.error),this.log.apply(this,t)}}var a={debug:1,info:2,warn:3,error:4,fatal:5,"default":5},u=a.error;n.setLogLevel=function(t){u=t},n.Log=i},{}],132:[function(t,e,n){(function(r){"use strict";var i=t("./logger"),a=new i.Log,u=t("./mermaidAPI"),o=0,s=t("he");e.exports.mermaidAPI=u;var c=function(){var t=u.getConfig();a.debug("Starting rendering diagrams");var e;arguments.length>=2?("undefined"!=typeof arguments[0]&&(r.mermaid.sequenceConfig=arguments[0]),e=arguments[1]):e=arguments[0];var n;"function"==typeof arguments[arguments.length-1]?(n=arguments[arguments.length-1],a.debug("Callback function found")):"undefined"!=typeof t.mermaid&&("function"==typeof t.mermaid.callback?(n=t.mermaid.callback,a.debug("Callback function found")):a.debug("No Callback function found")),e=void 0===e?document.querySelectorAll(".mermaid"):"string"==typeof e?document.querySelectorAll(e):e instanceof Node?[e]:e;var i;"undefined"!=typeof mermaid_config&&u.initialize(r.mermaid_config),a.debug("Start On Load before: "+r.mermaid.startOnLoad),"undefined"!=typeof r.mermaid.startOnLoad&&(a.debug("Start On Load inner: "+r.mermaid.startOnLoad),u.initialize({startOnLoad:r.mermaid.startOnLoad})),"undefined"!=typeof r.mermaid.ganttConfig&&u.initialize({gantt:r.mermaid.ganttConfig});var c,l=function(t,e){h.innerHTML=t,"undefined"!=typeof n&&n(f),e(h)};for(i=0;i<e.length;i++){var h=e[i];if(!h.getAttribute("data-processed")){h.setAttribute("data-processed",!0);var f="mermaidChart"+o++;c=h.innerHTML,c=s.decode(c).trim(),u.render(f,c,l,h)}}};n.init=c,n.parse=u.parse,n.version=function(){return"v"+t("../package.json").version},n.initialize=function(t){a.debug("Initializing mermaid"),"undefined"!=typeof t.mermaid&&("undefined"!=typeof t.mermaid.startOnLoad&&(r.mermaid.startOnLoad=t.mermaid.startOnLoad),"undefined"!=typeof t.mermaid.htmlLabels&&(r.mermaid.htmlLabels=t.mermaid.htmlLabels)),u.initialize(t)};var l=function(t,e){return"undefined"==typeof e?!1:t===e};r.mermaid={startOnLoad:!0,htmlLabels:!0,init:function(){c.apply(null,arguments)},initialize:function(t){n.initialize(t);

},version:function(){return u.version()},parse:function(t){return u.parse(t)},parseError:function(t){a.debug("Mermaid Syntax error:"),a.debug(t)},render:function(t,e,n,r){return u.render(t,e,n,r)}},n.parseError=r.mermaid.parseError,n.contentLoaded=function(){var t;"undefined"!=typeof mermaid_config&&l(!1,r.mermaid_config.htmlLabels)&&(r.mermaid.htmlLabels=!1),r.mermaid.startOnLoad?"undefined"!=typeof r.mermaid_config?l(!0,r.mermaid_config.startOnLoad)&&r.mermaid.init():(t=u.getConfig(),t.startOnLoad&&r.mermaid.init()):"undefined"==typeof r.mermaid.startOnLoad&&(a.debug("In start, no config"),t=u.getConfig(),t.startOnLoad&&r.mermaid.init())},"undefined"!=typeof document&&window.addEventListener("load",function(){n.contentLoaded()},!1)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":108,"./logger":131,"./mermaidAPI":133,he:105}],133:[function(t,e,n){(function(e){"use strict";var r=t("./logger"),i=new r.Log,a=t("./diagrams/flowchart/graphDb"),u=t("./utils"),o=t("./diagrams/flowchart/flowRenderer"),s=t("./diagrams/sequenceDiagram/sequenceRenderer"),c=t("./diagrams/example/exampleRenderer"),l=t("./diagrams/example/parser/example"),h=t("./diagrams/flowchart/parser/flow"),f=t("./diagrams/flowchart/parser/dot"),d=t("./diagrams/sequenceDiagram/parser/sequenceDiagram"),p=t("./diagrams/sequenceDiagram/sequenceDb"),g=t("./diagrams/example/exampleDb"),y=t("./diagrams/gantt/ganttRenderer"),m=t("./diagrams/gantt/parser/gantt"),v=t("./diagrams/gantt/ganttDb"),_=t("./diagrams/classDiagram/parser/classDiagram"),b=t("./diagrams/classDiagram/classRenderer"),x=t("./diagrams/classDiagram/classDb"),w=t("./diagrams/gitGraph/parser/gitGraph"),A=t("./diagrams/gitGraph/gitGraphRenderer"),k=t("./diagrams/gitGraph/gitGraphAst"),E=t("./d3");SVGElement.prototype.getTransformToElement=SVGElement.prototype.getTransformToElement||function(t){return t.getScreenCTM().inverse().multiply(this.getScreenCTM())};var D={logLevel:5,cloneCssStyles:!0,startOnLoad:!0,arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!0,useMaxWidth:!0},sequenceDiagram:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:3,axisFormatter:[["%I:%M",function(t){return t.getHours()}],["w. %U",function(t){return 1==t.getDay()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%m-%y",function(t){return t.getMonth()}]]},classDiagram:{},gitGraph:{},info:{}};r.setLogLevel(D.logLevel);var S=function(t){var e,n=u.detectType(t);switch(n){case"gitGraph":e=w,e.parser.yy=k;break;case"graph":e=h,e.parser.yy=a;break;case"dotGraph":e=f,e.parser.yy=a;break;case"sequenceDiagram":e=d,e.parser.yy=p;break;case"info":e=l,e.parser.yy=g;break;case"gantt":e=m,e.parser.yy=v;break;case"classDiagram":e=_,e.parser.yy=x}try{return e.parse(t),!0}catch(r){return!1}};n.parse=S,n.version=function(){return t("../package.json").version},n.encodeEntities=function(t){var e=t;return e=e.replace(/style.*:\S*#.*;/g,function(t){var e=t.substring(0,t.length-1);return e}),e=e.replace(/classDef.*:\S*#.*;/g,function(t){var e=t.substring(0,t.length-1);return e}),e=e.replace(/#\w+\;/g,function(t){var e=t.substring(1,t.length-1),n=/^\+?\d+$/.test(e);return n?"fl°°"+e+"¶ß":"fl°"+e+"¶ß"})},n.decodeEntities=function(t){var e=t;return e=e.replace(/\fl\°\°/g,function(){return"&#"}),e=e.replace(/\fl\°/g,function(){return"&"}),e=e.replace(/¶ß/g,function(){return";"})};var C=function(t,e,r,l){"undefined"!=typeof l?E.select(l).append("div").attr("id","d"+t).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g"):E.select("body").append("div").attr("id","d"+t).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g"),window.txt=e,e=n.encodeEntities(e);var h=E.select("#d"+t).node(),f=u.detectType(e),d={};switch(f){case"gitGraph":D.flowchart.arrowMarkerAbsolute=D.arrowMarkerAbsolute,A.setConf(D.gitGraph),A.draw(e,t,!1);break;case"graph":D.flowchart.arrowMarkerAbsolute=D.arrowMarkerAbsolute,o.setConf(D.flowchart),o.draw(e,t,!1),D.cloneCssStyles&&(d=o.getClasses(e,!1),u.cloneCssStyles(h.firstChild,d));break;case"dotGraph":D.flowchart.arrowMarkerAbsolute=D.arrowMarkerAbsolute,o.setConf(D.flowchart),o.draw(e,t,!0),D.cloneCssStyles&&(d=o.getClasses(e,!0),u.cloneCssStyles(h.firstChild,d));break;case"sequenceDiagram":D.sequenceDiagram.arrowMarkerAbsolute=D.arrowMarkerAbsolute,s.setConf(D.sequenceDiagram),s.draw(e,t),D.cloneCssStyles&&u.cloneCssStyles(h.firstChild,[]);break;case"gantt":D.gantt.arrowMarkerAbsolute=D.arrowMarkerAbsolute,y.setConf(D.gantt),y.draw(e,t),D.cloneCssStyles&&u.cloneCssStyles(h.firstChild,[]);break;case"classDiagram":D.classDiagram.arrowMarkerAbsolute=D.arrowMarkerAbsolute,b.setConf(D.classDiagram),b.draw(e,t),D.cloneCssStyles&&u.cloneCssStyles(h.firstChild,[]);break;case"info":D.info.arrowMarkerAbsolute=D.arrowMarkerAbsolute,c.draw(e,t,n.version()),D.cloneCssStyles&&u.cloneCssStyles(h.firstChild,[])}E.select("#d"+t).selectAll("foreignobject div").attr("xmlns","http://www.w3.org/1999/xhtml");var p="";D.arrowMarkerAbsolute&&(p=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,p=p.replace(/\(/g,"\\("),p=p.replace(/\)/g,"\\)"));var g=E.select("#d"+t).node().innerHTML.replace(/url\(#arrowhead/g,"url("+p+"#arrowhead","g");g=n.decodeEntities(g),"undefined"!=typeof r?r(g,a.bindFunctions):i.warn("CB = undefined!");var m=E.select("#d"+t).node();return null!==m&&"function"==typeof m.remove&&E.select("#d"+t).node().remove(),g};n.render=function(t,e,n,r){try{if(1===arguments.length&&(e=t,t="mermaidId0"),"undefined"!=typeof document)return C(t,e,n,r)}catch(a){i.warn(a)}};var M=function(t){var e,n=Object.keys(t);for(e=0;e<n.length;e++)if("object"==typeof t[n[e]]){var r,a=Object.keys(t[n[e]]);for(r=0;r<a.length;r++)i.debug("Setting conf ",n[e],"-",a[r]),"undefined"==typeof D[n[e]]&&(D[n[e]]={}),i.debug("Setting config: "+n[e]+" "+a[r]+" to "+t[n[e]][a[r]]),D[n[e]][a[r]]=t[n[e]][a[r]]}else D[n[e]]=t[n[e]]};n.initialize=function(t){i.debug("Initializing mermaidAPI"),"object"==typeof t&&M(t),r.setLogLevel(D.logLevel)},n.getConfig=function(){return D},n.parseError=function(t,n){"undefined"!=typeof mermaid?e.mermaid.parseError(t,n):(i.debug("Mermaid Syntax error:"),i.debug(t))},e.mermaidAPI={render:n.render,parse:n.parse,initialize:n.initialize,detectType:u.detectType,parseError:n.parseError,getConfig:n.getConfig}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":108,"./d3":109,"./diagrams/classDiagram/classDb":110,"./diagrams/classDiagram/classRenderer":111,"./diagrams/classDiagram/parser/classDiagram":112,"./diagrams/example/exampleDb":113,"./diagrams/example/exampleRenderer":114,"./diagrams/example/parser/example":115,"./diagrams/flowchart/flowRenderer":117,"./diagrams/flowchart/graphDb":118,"./diagrams/flowchart/parser/dot":119,"./diagrams/flowchart/parser/flow":120,"./diagrams/gantt/ganttDb":121,"./diagrams/gantt/ganttRenderer":122,"./diagrams/gantt/parser/gantt":123,"./diagrams/gitGraph/gitGraphAst":124,"./diagrams/gitGraph/gitGraphRenderer":125,"./diagrams/gitGraph/parser/gitGraph":126,"./diagrams/sequenceDiagram/parser/sequenceDiagram":127,"./diagrams/sequenceDiagram/sequenceDb":128,"./diagrams/sequenceDiagram/sequenceRenderer":129,"./logger":131,"./utils":134}],134:[function(t,e,n){"use strict";var r=t("./logger"),i=new r.Log,a=function(t){return t=t.replace(/^\s*%%.*\n/g,"\n"),t.match(/^\s*sequenceDiagram/)?"sequenceDiagram":t.match(/^\s*digraph/)?"dotGraph":t.match(/^\s*info/)?"info":t.match(/^\s*gantt/)?"gantt":t.match(/^\s*classDiagram/)?(i.debug("Detected classDiagram syntax"),"classDiagram"):t.match(/^\s*gitGraph/)?(i.debug("Detected gitGraph syntax"),"gitGraph"):"graph"};n.detectType=a;var u=function(t,e){for(var n,r="",a=document.styleSheets,u=0;u<a.length;u++)if("mermaid-svg-internal-css"!==a[u].title)try{var o=a[u].cssRules;if(null!==o)for(var s=0;s<o.length;s++)if(n=o[s],"undefined"!=typeof n.style){var c;c=t.querySelectorAll(n.selectorText),c.length>0&&(r+=n.selectorText+" { "+n.style.cssText+"}\n")}}catch(l){"undefined"!=typeof n&&i.warn('Invalid CSS selector "'+n.selectorText+'"',l)}var h="",f="";for(var d in e)e.hasOwnProperty(d)&&"undefined"!=typeof d&&("default"===d?(e["default"].styles instanceof Array&&(h+="#"+t.id.trim()+" .node>rect { "+e[d].styles.join("; ")+"; }\n"),e["default"].nodeLabelStyles instanceof Array&&(h+="#"+t.id.trim()+" .node text  { "+e[d].nodeLabelStyles.join("; ")+"; }\n"),e["default"].edgeLabelStyles instanceof Array&&(h+="#"+t.id.trim()+" .edgeLabel text  { "+e[d].edgeLabelStyles.join("; ")+"; }\n"),e["default"].clusterStyles instanceof Array&&(h+="#"+t.id.trim()+" .cluster rect  { "+e[d].clusterStyles.join("; ")+"; }\n")):e[d].styles instanceof Array&&(f+="#"+t.id.trim()+" ."+d+">rect, ."+d+">polygon, ."+d+">ellipse { "+e[d].styles.join("; ")+"; }\n"));if(""!==r||""!==h||""!==f){var p=document.createElement("style");p.setAttribute("type","text/css"),p.setAttribute("title","mermaid-svg-internal-css"),p.innerHTML="/* <![CDATA[ */\n",""!==h&&(p.innerHTML+=h),""!==r&&(p.innerHTML+=r),""!==f&&(p.innerHTML+=f),p.innerHTML+="/* ]]> */\n",t.insertBefore(p,t.firstChild)}};n.cloneCssStyles=u},{"./logger":131}]},{},[132])(132)});

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/mermaid/mermaid.dark.css
=====================================================
/* Flowchart variables */
/* Sequence Diagram variables */
/* Gantt chart variables */
.mermaid .label {
  color: #323D47;
}
.node rect,
.node circle,
.node ellipse,
.node polygon {
  fill: #BDD5EA;
  stroke: #81B1DB;
  stroke-width: 1px;
}
.edgePath .path {
  stroke: lightgrey;
}
.edgeLabel {
  background-color: #e8e8e8;
}
.cluster rect {
  fill: #6D6D65 !important;
  rx: 4 !important;
  stroke: rgba(255, 255, 255, 0.25) !important;
  stroke-width: 1px !important;
}
.cluster text {
  fill: #F9FFFE;
}
.actor {
  stroke: #81B1DB;
  fill: #BDD5EA;
}
text.actor {
  fill: black;
  stroke: none;
}
.actor-line {
  stroke: lightgrey;
}
.messageLine0 {
  stroke-width: 1.5;
  stroke-dasharray: "2 2";
  marker-end: "url(#arrowhead)";
  stroke: lightgrey;
}
.messageLine1 {
  stroke-width: 1.5;
  stroke-dasharray: "2 2";
  stroke: lightgrey;

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/mermaid/mermaid.forest.css
=====================================================
/* Flowchart variables */
/* Sequence Diagram variables */
/* Gantt chart variables */
.mermaid .label {
  font-family: 'trebuchet ms', verdana, arial;
  color: #333;
}
.node rect,
.node circle,
.node ellipse,
.node polygon {
  fill: #cde498;
  stroke: #13540c;
  stroke-width: 1px;
}
.edgePath .path {
  stroke: green;
  stroke-width: 1.5px;
}
.edgeLabel {
  background-color: #e8e8e8;
}
.cluster rect {
  fill: #cdffb2 !important;
  rx: 4  !important;
  stroke: #6eaa49 !important;
  stroke-width: 1px !important;
}
.cluster text {
  fill: #333;
}
.actor {
  stroke: #13540c;
  fill: #cde498;
}
text.actor {
  fill: black;
  stroke: none;
}
.actor-line {
  stroke: grey;
}
.messageLine0 {
  stroke-width: 1.5;
  stroke-dasharray: "2 2";
  marker-end: "url(#arrowhead)";
  stroke: #333;
}
.messageLine1 {
  stroke-width: 1.5;

=====================================================
== File: docs/community/themes/hugo-theme-learn/static/images/clippy.svg
=====================================================
<svg height="1024" width="896" xmlns="http://www.w3.org/2000/svg">
  <path d="M128 768h256v64H128v-64z m320-384H128v64h320v-64z m128 192V448L384 640l192 192V704h320V576H576z m-288-64H128v64h160v-64zM128 704h160v-64H128v64z m576 64h64v128c-1 18-7 33-19 45s-27 18-45 19H64c-35 0-64-29-64-64V192c0-35 29-64 64-64h192C256 57 313 0 384 0s128 57 128 128h192c35 0 64 29 64 64v320h-64V320H64v576h640V768zM128 256h512c0-35-29-64-64-64h-64c-35 0-64-29-64-64s-29-64-64-64-64 29-64 64-29 64-64 64h-64c-35 0-64 29-64 64z" />
</svg>

=====================================================
== File: docs/community/themes/hugo-theme-learn/theme.toml
=====================================================
# theme.toml template for a Hugo theme
# See https://github.com/spf13/hugoThemes#themetoml for an example

name = "Learn"
license = "MIT"
licenselink = "https://github.com/matcornic/hugo-theme-learn/blob/master/LICENSE.md"
description = "Documentation theme for Hugo, based on Grav Learn theme"
homepage = "https://github.com/matcornic/hugo-theme-learn/"
repo = "https://github.com/matcornic/hugo-theme-learn"
tags = ["documentation", "grav", "learn", "doc", "search"]
features = ["documentation", "menu", "nested sections", "search", "mermaid"]
min_version = 0.25

[author]
  name = "Mathieu Cornic"
  homepage = "http://matcornic.github.io/"

[original]
  name = "Grav Learn"
  homepage = "http://learn.getgrav.org/"
  repo = "https://github.com/getgrav/grav-learn"


=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/_default/list.html
=====================================================
{{ partial "header.html" . }}

{{ .TableOfContents }}

{{ .Content }}

<footer class=" footline" >
	{{with .Params.LastModifierDisplayName}}
	    <i class='fa fa-user'></i> <a href="mailto:{{ $.Params.LastModifierEmail }}">{{ . }}</a> {{with $.Date}} <i class='fa fa-calendar'></i> {{ .Format "02/01/2006" }}{{end}}
	    </div>
	{{end}}
</footer>

{{ partial "footer.html" . }}

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/_default/single.html
=====================================================
{{ partial "header.html" . }}

{{ .TableOfContents }}

{{ .Content }}

<footer class=" footline" >
	{{with .Params.LastModifierDisplayName}}
	    <i class='fa fa-user'></i> <a href="mailto:{{ $.Params.LastModifierEmail }}">{{ . }}</a> {{with $.Date}} <i class='fa fa-calendar'></i> {{ .Format "02/01/2006" }}{{end}}
	    </div>
	{{end}}
</footer>


{{ partial "footer.html" . }}

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/404.html
=====================================================
<!DOCTYPE html>
<html lang="{{ .Page.Language | default "en" }}" class="js csstransforms3d">

<head>
  <meta charset="utf-8"> {{ partial "meta.html" . }} {{ partial "favicon.html" . }} {{ .Scratch.Add "title" "" }}{{ if eq .Site.Data.titles .Title }}{{ .Scratch.Set "title" (index .Site.Data.titles .Title).title }}{{ else }}{{ .Scratch.Set "title" .Title}}{{end}}
  <title>{{ .Scratch.Get "title" }}</title>
  
   {{ $assetBusting := not .Site.Params.disableAssetsBusting }}
    <link href="{{"css/nucleus.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/font-awesome.min.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/hybrid.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/featherlight.min.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/perfect-scrollbar.min.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/horsey.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/theme.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/hugo-theme.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    {{with .Site.Params.themeVariant}}
      <link href="{{(printf "css/theme-%s.css" .) | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    {{end}}
<style type="text/css">
    :root #header + #content > #left > #rlblock_left {
      display: none !important;
    }

    p,
    li,
    ul {
      text-align: center
    }

    ul {
      list-style-type: none;
    }
</style>
{{ partial "custom-header.html" . }}
</head>

<body>

  <body class="" data-url="/">

    <section id="body" style="margin-left:0px;">
      <div id="overlay"></div>
      <div id="chapter">
        <div id="body-inner">
          <h1>{{T "title-404"}}</h1>
          <p>
          </p>
          <p>{{T "message-404"}}</p>
          <p></p>

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/partials/logo.html
=====================================================
<a id="logo" href="http://getgrav.org">
  <svg id="grav-logo" width="100%" height="100%" viewBox="0 0 504 140" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;">
    <path d="M235.832,71.564l-7.98,-0.001c-1.213,0.001 -2.197,0.987 -2.197,2.204l0,15.327l-0.158,0.132c-4.696,3.962 -10.634,6.14 -16.719,6.14c-14.356,0 -26.034,-11.68 -26.034,-26.037c0,-14.358 11.678,-26.035 26.034,-26.035c5.582,0 10.919,1.767 15.437,5.113c0.877,0.649 2.093,0.56 2.866,-0.211l5.69,-5.69c0.444,-0.442 0.675,-1.055 0.639,-1.681c-0.034,-0.627 -0.336,-1.206 -0.828,-1.597c-6.76,-5.363 -15.214,-8.314 -23.805,-8.314c-21.18,0 -38.414,17.233 -38.414,38.415c0,21.183 17.234,38.415 38.414,38.415c10.937,0 21.397,-4.705 28.698,-12.914c0.358,-0.403 0.556,-0.921 0.556,-1.46l0,-19.603c0,-1.217 -0.985,-2.203 -2.2,-2.203"
      style="fill:#000;fill-rule:nonzero;"></path>
    <path d="M502.794,34.445c-0.408,-0.616 -1.1,-0.989 -1.838,-0.989l-8.684,0c-0.879,0 -1.673,0.522 -2.022,1.329l-24.483,56.839l-24.92,-56.852c-0.352,-0.799 -1.142,-1.316 -2.012,-1.316l-8.713,0c-0.744,0 -1.44,0.373 -1.843,0.995c-0.408,0.623 -0.476,1.408 -0.174,2.09l30.186,68.858c0.352,0.799 1.143,1.317 2.017,1.317l10.992,0c0.879,0 1.673,-0.527 2.021,-1.329l29.655,-68.861c0.289,-0.68 0.222,-1.461 -0.182,-2.081"
      style="fill:#000;fill-rule:nonzero;"></path>
    <path d="M388.683,34.772c-0.353,-0.798 -1.142,-1.316 -2.017,-1.316l-10.988,0c-0.879,0 -1.673,0.522 -2.021,1.329l-29.655,68.861c-0.294,0.675 -0.226,1.46 0.182,2.077c0.407,0.619 1.096,0.993 1.838,0.993l8.684,0c0.879,0 1.673,-0.526 2.022,-1.329l24.478,-56.842l24.92,56.854c0.353,0.798 1.143,1.317 2.013,1.317l8.717,0c0.744,0 1.44,-0.374 1.843,-0.993c0.408,-0.624 0.471,-1.41 0.174,-2.094l-30.19,-68.857Z"
      style="fill:#000;fill-rule:nonzero;"></path>
    <path d="M309.196,81.525l0.476,-0.229c8.675,-4.191 14.279,-13.087 14.279,-22.667c0,-13.881 -11.295,-25.174 -25.176,-25.174l-31.863,0c-1.214,0 -2.199,0.988 -2.199,2.202l0,68.855c0,1.219 0.985,2.204 2.199,2.204l7.979,0c1.214,0 2.2,-0.985 2.2,-2.204l0,-58.679l21.684,0c7.059,0 12.799,5.739 12.799,12.796c0,5.885 -3.996,10.989 -9.728,12.408c-1.032,0.261 -2.064,0.393 -3.071,0.393l-7.977,0c-0.829,0 -1.585,0.467 -1.959,1.205c-0.378,0.74 -0.305,1.625 0.187,2.296l22.62,30.884c0.412,0.566 1.07,0.901 1.771,0.901l9.915,0c0.827,0 1.587,-0.467 1.96,-1.207c0.378,-0.742 0.302,-1.629 -0.186,-2.296l-15.91,-21.688Z"
      style="fill:#000;fill-rule:nonzero;"></path>
    <path d="M107.191,80.969c-7.255,-4.794 -11.4,-8.845 -15.011,-16.109c-2.47,4.977 -8.236,12.376 -17.962,18.198c-4.856,15.106 -27.954,44.015 -35.43,39.916c-2.213,-1.212 -2.633,-2.808 -2.133,-4.456c0.536,-4.129 9.078,-13.62 9.078,-13.62c0,0 0.18,1.992 2.913,6.187c-3.609,-11.205 5.965,-25.031 8.5,-29.738c3.985,-1.269 4.274,-6.387 4.274,-6.387c0.255,-7.909 -3.278,-13.635 -6.701,-17.059c2.459,3.002 3.255,7.539 3.372,11.694l0,0.023c0.012,0.469 0.012,0.93 0.011,1.39c-0.117,3.439 -1.157,8.19 -3.383,8.19l0.006,0.03c-2.289,-0.098 -5.115,0.391 -7.639,1.18l-5.582,1.334c0,0 2.977,-0.136 4.584,1.252c-1.79,2.915 -5.769,6.533 -10.206,8.588c-6.457,2.995 -8.312,-2.964 -5.034,-6.838c0.805,-0.946 1.618,-1.745 2.387,-2.399c-0.495,-0.513 -0.807,-1.198 -0.889,-2.068c-0.001,-0.005 -0.004,-0.009 -0.005,-0.013c-0.45,-1.977 -0.202,-4.543 2.596,-8.623c0.551,-0.863 1.214,-1.748 2.007,-2.647c0.025,-0.031 0.046,-0.059 0.072,-0.089c0.034,-0.042 0.072,-0.08 0.108,-0.121c0.02,-0.023 0.039,-0.045 0.059,-0.068c0.2,-0.228 0.413,-0.45 0.639,-0.663c3.334,-3.414 8.599,-6.966 16.897,-10.152c9.675,-14.223 13.219,-16.89 13.219,-16.89c1.071,-1.096 2.943,-2.458 3.632,-2.805c-5.053,-8.781 -6.074,-21.158 -4.75,-24.493c-0.107,0.18 -0.206,0.365 -0.287,0.556c0.49,-1.143 0.819,-1.509 1.328,-2.111c1.381,-1.632 6.058,-2.488 7.737,0.971c0.895,1.844 1.063,4.232 1.034,6.023c-3.704,-0.193 -7.063,4.036 -7.063,4.036c0,0 3.067,-1.448 6.879,-1.473c0,0 1.015,0.883 2.283,2.542c-1.712,3.213 -4.524,10.021 -2.488,17.168c0.338,1.408 0.849,2.619 1.483,3.648c0.024,0.045 0.044,0.089 0.069,0.135c0.051,0.066 0.096,0.122 0.144,0.183c3.368,5.072 9.542,5.665 9.542,5.665c-2.906,-1.45 -5.274,-3.76 -6.816,-6.56c-0.8,-1.498 -1.291,-2.762 -1.592,-3.761c-1.636,-6.313 0.771,-9.999 2.149,-12.471c3.17,-4.917 8.944,-7.893 15.151,-7.185c8.712,0.995 14.968,8.862 13.973,17.571c-0.608,5.321 -3.781,9.723 -8.142,12.117c1.049,2.839 -0.073,6.28 -0.073,6.28c2.642,3.323 2.758,5.238 2.667,7.017c-3.357,-0.565 -6.618,1.701 -6.618,1.701c0,0 6.476,-1.546 10.238,1.81c2.446,2.631 4.078,5.009 5.051,6.766c1.393,2.505 7.859,2.683 7.123,7.188c-0.737,4.499 -5.669,4.542 -13.401,-0.56M69.571,0c-38.424,0 -69.571,31.148 -69.571,69.567c0,38.422 31.147,69.573 69.571,69.573c38.42,0 69.568,-31.151 69.568,-69.573c0,-38.42 -31.148,-69.567 -69.568,-69.567"
      style="fill:#000;fill-rule:nonzero;"></path>
    <path d="M73.796,51.693c0.813,-0.814 0.813,-2.134 0,-2.947c-0.815,-0.814 -2.133,-0.814 -2.947,0c-0.815,0.813 -0.815,2.133 0,2.947c0.814,0.813 2.132,0.813 2.947,0" style="fill:#000;fill-rule:nonzero;"></path>
    <path d="M66.445,53.149c-0.814,0.813 -0.814,2.133 0,2.947c0.813,0.814 2.133,0.814 2.947,0c0.813,-0.814 0.813,-2.134 0,-2.947c-0.814,-0.813 -2.134,-0.813 -2.947,0" style="fill:#000;fill-rule:nonzero;"></path>
    <path d="M79.231,54.233c-1.274,-1.274 -3.339,-1.272 -4.611,0l-2.713,2.712c-1.274,1.275 -1.274,3.339 0,4.612l2.978,2.978c1.274,1.275 3.338,1.274 4.611,0l2.712,-2.712c1.274,-1.274 1.274,-3.339 0,-4.612l-2.977,-2.978Z" style="fill:#000;fill-rule:nonzero;"></path>
    <path d="M95.759,41.445c-2.151,-2.578 1.869,-7.257 4.391,-4.463c4.645,5.148 -2.237,7.041 -4.391,4.463M105.004,44.132c3.442,-6.553 -1.427,-10.381 -4.773,-13.523c-5.36,-5.039 -10.706,-7.217 -16.811,-0.241c-6.102,6.977 -2.226,15.068 3.356,19.061c5.584,3.994 14.782,1.255 18.228,-5.297"
      style="fill:#000;fill-rule:nonzero;"></path>
  </svg>
</a>

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/partials/change-theme.html
=====================================================
<div class="change-theme">
    <div class="wrap">
        {{ if eq .Lang "en"}}
        <span data-item="retro">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            Retro
        </span>
        <span data-item="eyehelp">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            Eye care
        </span>
        <span data-item="haitian">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            Haitian
        </span>
        <span data-item="deep">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            Deep
        </span>
        <span data-item="dark">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            Dark
        </span>
        <span class="active">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            Default
        </span>
        {{ else }}
        <span data-item="retro">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            复古
        </span>
        <span data-item="eyehelp">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            护眼
        </span>
        <span data-item="haitian">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            海天
        </span>
        <span data-item="deep">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            深邃
        </span>
        <span data-item="dark">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            暗黑
        </span>
        <span class="active">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/partials/language.html
=====================================================
{{ $currentNode := . }}
        {{ $showvisitedlinks := .Site.Params.showVisitedLinks }}
        {{ if or .Site.IsMultiLingual $showvisitedlinks }}
        <section id="prefooter">
          <!-- <hr/> -->
          <ul>
          {{ if and .Site.IsMultiLingual (not .Site.Params.DisableLanguageSwitchingButton)}}
            <li>
              <a class="padding">
                <i class="fa fa-fw fa-language"></i>
              <div class="select-style">
                <select id="select-language" onchange="location = this.value;">
              {{ $siteLanguages := .Site.Languages}}
              {{ $pageLang := .Page.Lang}}
              {{ range .Page.AllTranslations }}
                  {{ $translation := .}}
                  {{ range $siteLanguages }}
                      {{ if eq $translation.Lang .Lang }}
                        {{ $selected := false }}
                        {{ if eq $pageLang .Lang}}
                          <option id="{{ $translation.Language }}" value="{{ $translation.URL }}" selected>{{ .LanguageName }}</option>
                        {{ else }}
                          <option id="{{ $translation.Language }}" value="{{ $translation.URL }}">{{ .LanguageName }}</option>
                        {{ end }}
                      {{ end }}
                  {{ end }}
              {{ end }}
            </select>
            <svg t="1645437162166" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2449" width="32" height="32"><path d="M483.072 714.496l30.165333 30.208 415.957334-415.829333a42.837333 42.837333 0 0 0 0-60.288 42.538667 42.538667 0 0 0-60.330667-0.042667l-355.541333 355.413333-355.242667-355.413333a42.496 42.496 0 0 0-60.288 0 42.837333 42.837333 0 0 0-0.085333 60.330667l383.701333 383.872 1.706667 1.749333z" fill="#3D3D3D" p-id="2450"></path></svg>
            </div>
            </a>
            </li>
          {{end}} 
          
          {{ if $showvisitedlinks}}
            <li><a class="padding" href="#" data-clear-history-toggle=""><i class="fa fa-fw fa-history"></i> {{T "Clear-History"}}</a></li>         
          {{ end }}
          </ul>
        </section>
        {{ end }}

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/partials/footer.html
=====================================================
{{ if .Params.chapter }}
</div> <!-- end chapter-->
{{ end }}
</div> 
{{ partial "custom-comments.html" . }}
</div>

<div id="navigation" >
<!-- Next prev page -->
{{ $currentNode := . }}

{{ template "menu-nextprev" dict "menu" .Site.Home "currentnode" $currentNode }}

{{ define "menu-nextprev" }}
{{$currentNode := .currentnode }}
{{ if ne .menu.Params.hidden true}}
    {{if hasPrefix $currentNode.URL .menu.URL }}
        {{ $currentNode.Scratch.Set "NextPageOK" "OK" }}
        {{ $currentNode.Scratch.Set "prevPage" ($currentNode.Scratch.Get "prevPageTmp") }}
    {{else}}
        {{if eq ($currentNode.Scratch.Get "NextPageOK") "OK"}}
            {{ $currentNode.Scratch.Set "NextPageOK" nil }}
            {{ $currentNode.Scratch.Set "nextPage" .menu }}
        {{end}}
    {{end}}
    {{ $currentNode.Scratch.Set "prevPageTmp" .menu }}

        {{ $currentNode.Scratch.Set "pages" .menu.Pages }}
        {{ if .menu.IsHome}}
            {{ $currentNode.Scratch.Set "pages" .menu.Sections }}
        {{ else if .menu.Sections}}
            {{ $currentNode.Scratch.Set "pages" (.menu.Pages | union .menu.Sections) }}
        {{end}}
        {{ $pages := ($currentNode.Scratch.Get "pages") }}

        {{ range $pages.ByWeight  }}
            {{ template "menu-nextprev" dict "menu" . "currentnode" $currentNode }}
        {{end}}
{{ end }}
{{ end }}


{{with ($.Scratch.Get "prevPage")}}
{{ if eq .Lang "en"}}
    <a class="nav nav-prev" href="{{.URL}}" title="{{.Title}}"> <i class="fa fa-long-arrow-left fa-lg"></i> Previous</a>
{{ else }} 
    <a class="nav nav-prev" href="{{.URL}}" title="{{.Title}}"> <i class="fa fa-long-arrow-left fa-lg"></i> 上一篇</a>
{{end}}
{{end}}
{{with ($.Scratch.Get "nextPage")}}

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/partials/logo copy.html
=====================================================
<a id="logo" href="http://getgrav.org">
  <svg id="grav-logo" width="100%" height="100%" viewBox="0 0 504 140" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;">
    <path d="M235.832,71.564l-7.98,-0.001c-1.213,0.001 -2.197,0.987 -2.197,2.204l0,15.327l-0.158,0.132c-4.696,3.962 -10.634,6.14 -16.719,6.14c-14.356,0 -26.034,-11.68 -26.034,-26.037c0,-14.358 11.678,-26.035 26.034,-26.035c5.582,0 10.919,1.767 15.437,5.113c0.877,0.649 2.093,0.56 2.866,-0.211l5.69,-5.69c0.444,-0.442 0.675,-1.055 0.639,-1.681c-0.034,-0.627 -0.336,-1.206 -0.828,-1.597c-6.76,-5.363 -15.214,-8.314 -23.805,-8.314c-21.18,0 -38.414,17.233 -38.414,38.415c0,21.183 17.234,38.415 38.414,38.415c10.937,0 21.397,-4.705 28.698,-12.914c0.358,-0.403 0.556,-0.921 0.556,-1.46l0,-19.603c0,-1.217 -0.985,-2.203 -2.2,-2.203"
      style="fill:#000;fill-rule:nonzero;"></path>
    <path d="M502.794,34.445c-0.408,-0.616 -1.1,-0.989 -1.838,-0.989l-8.684,0c-0.879,0 -1.673,0.522 -2.022,1.329l-24.483,56.839l-24.92,-56.852c-0.352,-0.799 -1.142,-1.316 -2.012,-1.316l-8.713,0c-0.744,0 -1.44,0.373 -1.843,0.995c-0.408,0.623 -0.476,1.408 -0.174,2.09l30.186,68.858c0.352,0.799 1.143,1.317 2.017,1.317l10.992,0c0.879,0 1.673,-0.527 2.021,-1.329l29.655,-68.861c0.289,-0.68 0.222,-1.461 -0.182,-2.081"
      style="fill:#000;fill-rule:nonzero;"></path>
    <path d="M388.683,34.772c-0.353,-0.798 -1.142,-1.316 -2.017,-1.316l-10.988,0c-0.879,0 -1.673,0.522 -2.021,1.329l-29.655,68.861c-0.294,0.675 -0.226,1.46 0.182,2.077c0.407,0.619 1.096,0.993 1.838,0.993l8.684,0c0.879,0 1.673,-0.526 2.022,-1.329l24.478,-56.842l24.92,56.854c0.353,0.798 1.143,1.317 2.013,1.317l8.717,0c0.744,0 1.44,-0.374 1.843,-0.993c0.408,-0.624 0.471,-1.41 0.174,-2.094l-30.19,-68.857Z"
      style="fill:#000;fill-rule:nonzero;"></path>
    <path d="M309.196,81.525l0.476,-0.229c8.675,-4.191 14.279,-13.087 14.279,-22.667c0,-13.881 -11.295,-25.174 -25.176,-25.174l-31.863,0c-1.214,0 -2.199,0.988 -2.199,2.202l0,68.855c0,1.219 0.985,2.204 2.199,2.204l7.979,0c1.214,0 2.2,-0.985 2.2,-2.204l0,-58.679l21.684,0c7.059,0 12.799,5.739 12.799,12.796c0,5.885 -3.996,10.989 -9.728,12.408c-1.032,0.261 -2.064,0.393 -3.071,0.393l-7.977,0c-0.829,0 -1.585,0.467 -1.959,1.205c-0.378,0.74 -0.305,1.625 0.187,2.296l22.62,30.884c0.412,0.566 1.07,0.901 1.771,0.901l9.915,0c0.827,0 1.587,-0.467 1.96,-1.207c0.378,-0.742 0.302,-1.629 -0.186,-2.296l-15.91,-21.688Z"
      style="fill:#000;fill-rule:nonzero;"></path>
    <path d="M107.191,80.969c-7.255,-4.794 -11.4,-8.845 -15.011,-16.109c-2.47,4.977 -8.236,12.376 -17.962,18.198c-4.856,15.106 -27.954,44.015 -35.43,39.916c-2.213,-1.212 -2.633,-2.808 -2.133,-4.456c0.536,-4.129 9.078,-13.62 9.078,-13.62c0,0 0.18,1.992 2.913,6.187c-3.609,-11.205 5.965,-25.031 8.5,-29.738c3.985,-1.269 4.274,-6.387 4.274,-6.387c0.255,-7.909 -3.278,-13.635 -6.701,-17.059c2.459,3.002 3.255,7.539 3.372,11.694l0,0.023c0.012,0.469 0.012,0.93 0.011,1.39c-0.117,3.439 -1.157,8.19 -3.383,8.19l0.006,0.03c-2.289,-0.098 -5.115,0.391 -7.639,1.18l-5.582,1.334c0,0 2.977,-0.136 4.584,1.252c-1.79,2.915 -5.769,6.533 -10.206,8.588c-6.457,2.995 -8.312,-2.964 -5.034,-6.838c0.805,-0.946 1.618,-1.745 2.387,-2.399c-0.495,-0.513 -0.807,-1.198 -0.889,-2.068c-0.001,-0.005 -0.004,-0.009 -0.005,-0.013c-0.45,-1.977 -0.202,-4.543 2.596,-8.623c0.551,-0.863 1.214,-1.748 2.007,-2.647c0.025,-0.031 0.046,-0.059 0.072,-0.089c0.034,-0.042 0.072,-0.08 0.108,-0.121c0.02,-0.023 0.039,-0.045 0.059,-0.068c0.2,-0.228 0.413,-0.45 0.639,-0.663c3.334,-3.414 8.599,-6.966 16.897,-10.152c9.675,-14.223 13.219,-16.89 13.219,-16.89c1.071,-1.096 2.943,-2.458 3.632,-2.805c-5.053,-8.781 -6.074,-21.158 -4.75,-24.493c-0.107,0.18 -0.206,0.365 -0.287,0.556c0.49,-1.143 0.819,-1.509 1.328,-2.111c1.381,-1.632 6.058,-2.488 7.737,0.971c0.895,1.844 1.063,4.232 1.034,6.023c-3.704,-0.193 -7.063,4.036 -7.063,4.036c0,0 3.067,-1.448 6.879,-1.473c0,0 1.015,0.883 2.283,2.542c-1.712,3.213 -4.524,10.021 -2.488,17.168c0.338,1.408 0.849,2.619 1.483,3.648c0.024,0.045 0.044,0.089 0.069,0.135c0.051,0.066 0.096,0.122 0.144,0.183c3.368,5.072 9.542,5.665 9.542,5.665c-2.906,-1.45 -5.274,-3.76 -6.816,-6.56c-0.8,-1.498 -1.291,-2.762 -1.592,-3.761c-1.636,-6.313 0.771,-9.999 2.149,-12.471c3.17,-4.917 8.944,-7.893 15.151,-7.185c8.712,0.995 14.968,8.862 13.973,17.571c-0.608,5.321 -3.781,9.723 -8.142,12.117c1.049,2.839 -0.073,6.28 -0.073,6.28c2.642,3.323 2.758,5.238 2.667,7.017c-3.357,-0.565 -6.618,1.701 -6.618,1.701c0,0 6.476,-1.546 10.238,1.81c2.446,2.631 4.078,5.009 5.051,6.766c1.393,2.505 7.859,2.683 7.123,7.188c-0.737,4.499 -5.669,4.542 -13.401,-0.56M69.571,0c-38.424,0 -69.571,31.148 -69.571,69.567c0,38.422 31.147,69.573 69.571,69.573c38.42,0 69.568,-31.151 69.568,-69.573c0,-38.42 -31.148,-69.567 -69.568,-69.567"
      style="fill:#000;fill-rule:nonzero;"></path>
    <path d="M73.796,51.693c0.813,-0.814 0.813,-2.134 0,-2.947c-0.815,-0.814 -2.133,-0.814 -2.947,0c-0.815,0.813 -0.815,2.133 0,2.947c0.814,0.813 2.132,0.813 2.947,0" style="fill:#000;fill-rule:nonzero;"></path>
    <path d="M66.445,53.149c-0.814,0.813 -0.814,2.133 0,2.947c0.813,0.814 2.133,0.814 2.947,0c0.813,-0.814 0.813,-2.134 0,-2.947c-0.814,-0.813 -2.134,-0.813 -2.947,0" style="fill:#000;fill-rule:nonzero;"></path>
    <path d="M79.231,54.233c-1.274,-1.274 -3.339,-1.272 -4.611,0l-2.713,2.712c-1.274,1.275 -1.274,3.339 0,4.612l2.978,2.978c1.274,1.275 3.338,1.274 4.611,0l2.712,-2.712c1.274,-1.274 1.274,-3.339 0,-4.612l-2.977,-2.978Z" style="fill:#000;fill-rule:nonzero;"></path>
    <path d="M95.759,41.445c-2.151,-2.578 1.869,-7.257 4.391,-4.463c4.645,5.148 -2.237,7.041 -4.391,4.463M105.004,44.132c3.442,-6.553 -1.427,-10.381 -4.773,-13.523c-5.36,-5.039 -10.706,-7.217 -16.811,-0.241c-6.102,6.977 -2.226,15.068 3.356,19.061c5.584,3.994 14.782,1.255 18.228,-5.297"
      style="fill:#000;fill-rule:nonzero;"></path>
  </svg>
</a>

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/partials/meta.html
=====================================================
<meta name="description" content="{{ with .Description }}{{ . }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}">
    <meta name="buildDate" content="{{ now.Format "2006-01-02 15:04:05" }}">
{{ with .Site.Params.author }}<meta name="author" content="{{ . }}">{{ end }}

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/partials/menu.html
=====================================================
<nav id="sidebar" class="{{if $.Site.Params.showVisitedLinks }}showVisitedLinks{{end}}">

  {{ $currentNode := . }}
  {{ $showvisitedlinks := .Site.Params.showVisitedLinks }}
    <div id="header-wrapper">
      <!-- <div id="header">
        {{ partial "logo.html" . }}
      </div> -->
      {{if not .Site.Params.disableSearch}}
          {{ partial "search.html" . }}
      {{end}}
    </div>
  
      <div class="highlightable">
      <div class="leftMenu">
      <ul class="topics">
  
          {{if eq .Site.Params.ordersectionsby "title"}}  
            {{range .Site.Home.Sections.ByTitle}}
            {{ template "section-tree-nav" dict "sect" . "currentnode" $currentNode "showvisitedlinks" $showvisitedlinks}}
            {{end}}
          {{else}}
            {{range .Site.Home.Sections.ByWeight}}
            {{ template "section-tree-nav" dict "sect" . "currentnode" $currentNode "showvisitedlinks" $showvisitedlinks}}
            {{end}}
          {{end}} 
      </ul>
  
      {{ $disableShortcutsTitle := .Site.Params.DisableShortcutsTitle}}
      {{with .Site.Menus.shortcuts}}
        <section id="shortcuts">
          <h3>{{ if not $disableShortcutsTitle}}{{ T "Shortcuts-Title"}}{{ end }}</h3>
          <ul>
            {{ range sort . "Weight"}}
                <li> 
                    {{.Pre}}<a class="padding" href="{{.URL | absLangURL }}">{{safeHTML .Name}}</a>{{.Post}}
                </li>
            {{end}}
          </ul>
        </section>
      {{end}}
    </div>
      <!-- {{ partial "language.html" . }} -->
  
      <!-- download button -->
      <!-- <hr /> -->
      <!-- {{ if eq .Lang "en"}} -->
        <!-- <a class="padding" href="{{"https://shardingsphere.apache.org/pdf/shardingsphere_docs_en.pdf" | absURL}}"> -->
          <!--i class="fa fa-fw fa-file-pdf-o" ></i>&nbsp;>Download PDF<&nbsp;&nbsp;&nbsp; is a placeholder-->
      <!-- {{ else }}   -->

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/partials/favicon.html
=====================================================
<link rel="shortcut icon" href="{{"images/favicon.png" | relURL}}" type="image/x-icon" />
<link rel="icon" href="{{"images/favicon.png" | relURL}}" type="image/x-icon" />

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/partials/search.html
=====================================================
<div class="searchbox">
    <label for="search-by"><i class="fa fa-search"></i></label>
    <input data-search-input id="search-by" type="text" placeholder="{{T "Search-placeholder"}}">
    <span data-search-clear=""><i class="fa fa-close"></i></span>
</div>
{{ $assetBusting := not .Site.Params.disableAssetsBusting }}
<script type="text/javascript" src="{{"js/lunr.min.js" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}"></script>
<script type="text/javascript" src="{{"js/auto-complete.js" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}"></script>
<script type="text/javascript">
    {{ if .Site.IsMultiLingual }}
        var baseurl = "{{.Site.LanguagePrefix | relURL }}";
    {{ else }}
        var baseurl = '{{ "" | relURL }}';
    {{ end }}
</script>
<script type="text/javascript" src="{{"js/search.js" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}"></script>

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/partials/menu-footer.html
=====================================================
<p>Built with <a href="https://github.com/matcornic/hugo-theme-learn"><i class="fa fa-heart"></i></a> from <a href="http://getgrav.org">Grav</a> and <a href="http://gohugo.io/">Hugo</a></p>

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/partials/custom-footer.html
=====================================================
<!-- Partial intended to be overwritten with tags loaded at the end of the page loading (usually for Javascript) 
<script>
    console.log("running some javascript");
</script>
-->

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/partials/toc.html
=====================================================
<div class="progress">
    <div class="wrapper">
{{ .TableOfContents }}
    </div>
</div>

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/partials/header.html
=====================================================
<!DOCTYPE html>
<html lang="{{ .Page.Language | default "en" }}" class="js csstransforms3d">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    {{ .Hugo.Generator }}
    {{ partial "meta.html" . }}
    {{ partial "favicon.html" . }}
    <title>{{ .Title }} :: {{ .Site.Title }}</title>
    
    {{ $assetBusting := not .Site.Params.disableAssetsBusting }}
    <link href="{{"css/nucleus.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/font-awesome.min.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/hybrid.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/featherlight.min.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/perfect-scrollbar.min.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/auto-complete.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/theme.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/hugo-theme.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    {{with .Site.Params.themeVariant}}
      <link href="{{(printf "css/theme-%s.css" .) | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    {{end}}

    <script src="{{"js/jquery-2.x.min.js"| relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}"></script>
    <!-- baidu Analytics -->
    <script>
      var _hmt = _hmt || [];
      (function() {
        var hm = document.createElement("script");
        hm.src = "https://hm.baidu.com/hm.js?d5a1dc8dcf63a64ee55b80de01c7fb1a";
        var s = document.getElementsByTagName("script")[0]; 
        s.parentNode.insertBefore(hm, s);
      })();   
    </script>
    <!-- Global site tag (gtag.js) - Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=G-HPVGEN405S"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){window.dataLayer.push(arguments);}
      gtag('js', new Date());

      gtag('config', 'G-HPVGEN405S');
    </script>

    <style type="text/css">
      :root #header + #content > #left > #rlblock_left{ 
          display:none !important;
      }
      {{ if .Site.Params.disableInlineCopyToClipBoard }}
        :not(pre) > code + span.copy-to-clipboard {

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/partials/custom-header.html
=====================================================
<!-- Partial intended to be overwritten to add custom headers, like CSS or any other info
<style type="text/css">
    /* Custom css */
</style>
-->

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/partials/custom-comments.html
=====================================================
<!-- import your comments system 
{{ template "_internal/disqus.html" . }}
-->

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/index.html
=====================================================
{{ partial "header.html" . }}
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle=""><i class="fa fa-bars"></i> navigation</a>
</span>

{{if .Site.Home.Content }} 
{{.Site.Home.Content}}	
{{else}}           
	{{if eq .Site.Language.Lang "fr"}}
		<h1>Personaliser la page d'accueil</h1>
		<p>
		  Le site fonctionne. Ne pas oublier de personaliser cette page avec votre propre contenu. 3 manières de faire :
		</p>
		<ul>
			<li><b>1. </b> Créer un fichier _index.md dans le dossier <b>content</b> et le remplir de Markdown</li>
			<li><b>2. </b> Créer un fichier index.html dans le dossier <b>static</b> et le remplir de code HTML</li>
		  <li><b>3. </b> Configurer le serveur http pour rediriger automatiquement la homepage vers la page de votre choix dans le site</li>
		</ul>
	{{else}}
		<h1>Customize your own home page</h1>
		<p>
		  The site is working. Don't forget to customize this homepage with your own. You typically have 3 choices :
		</p>
		<ul>
			<li><b>1. </b> Create an _index.md document in <b>content</b> folder and fill it with Markdown content</li>
			<li><b>2. </b> Create an <b>index.html</b> file in the <b>static</b> folder and fill the file with HTML content</li>
		  <li><b>3. </b> Configure your server to automatically redirect home page to one your documentation page</li>
		</ul>
	{{end}}
{{ end }}  
{{ partial "footer.html" . }}

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/shortcodes/notice.html
=====================================================
<div class="notices {{ .Get 0 }}" {{ if len .Params | eq 2 }} id="{{ .Get 1 }}" {{ end }}>{{ .Inner }}</div>

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/shortcodes/ref.html
=====================================================
{{- if in (.Get 0) "/_index.md" -}}
	{{- $paths := (split (.Get 0) "_index.md") -}}
	{{- $pagepath := index $paths 0 -}}
	{{- $anchor := index $paths 1 -}}
	{{- with .Site.GetPage "section" (trim $pagepath "/") -}}
		{{- ( printf "%s%s" $pagepath $anchor ) | relLangURL -}}
	{{- end -}}
{{- else -}}
	{{- with .Site.GetPage "section" (.Get 0) }}
		{{- .URL -}}
	{{- else -}}
		{{- .Get 0 | relref .Page -}}
	{{- end -}}
{{- end -}}

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/shortcodes/attachments.html
=====================================================
<section class="attachments {{ with .Get "style"}}{{.}}{{ end }}">
	<label>
		<i class="fa fa-paperclip" aria-hidden="true"></i>
		{{with .Get "title"}}{{.}}{{else}}{{T "Attachments-label"}}{{end}}
	</label>
	{{if eq .Page.File.BaseFileName "index"}}
		{{$.Scratch.Add "filesName" "files"}}
	{{else}}
		{{$.Scratch.Add "filesName" (printf "%s.files" .Page.File.BaseFileName)}}
	{{end}}
	<div class="attachments-files">
	{{ range (readDir (printf "./content/%s%s" .Page.File.Dir ($.Scratch.Get "filesName")) ) }}
		{{ $fileDir := replace $.Page.File.Dir "\\" "/" }}
		{{if ($.Get "pattern")}}
			{{if (findRE ($.Get "pattern") .Name)}}
				<li>
					<a href="{{ (printf "%s%s/%s" $fileDir ($.Scratch.Get "filesName") .Name) | relURL }}" >
						{{.Name}}
					</a>
					({{div .Size 1024 }} ko)
				</li>
			{{end}}
		{{else}}
			<li>
				<a href="{{ (printf "%s%s/%s" $fileDir ($.Scratch.Get "filesName") .Name) | relURL }}" >
					{{.Name}}
				</a>
				({{div .Size 1024 }} ko)
			</li>
		{{end}}
	{{end}}
	<div>
	{{.Inner}}
</section>


=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/shortcodes/children.html
=====================================================
{{ $showhidden := .Get "showhidden"}}
{{ $style :=  .Get "style" | default "li" }}
{{ $depth :=  .Get "depth" | default 1 }}
{{ $withDescription :=  .Get "description" | default false }}
{{ $sortTerm :=  .Get "sort" | default "Weight" }}


<ul class="children children-{{$style}}">
	{{ .Scratch.Set "pages" .Page.Pages }}
    {{ if .Page.Sections}}
	    {{ .Scratch.Set "pages" (.Page.Pages | union .Page.Sections) }}
    {{end}}
    {{ $pages := (.Scratch.Get "pages") }}

	{{if eq $sortTerm "Weight"}}
		{{template "childs" dict "menu" $pages.ByWeight "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm}}
	{{else if eq $sortTerm "Name"}}
		{{template "childs" dict "menu" $pages.ByTitle "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm}}
	{{else if eq $sortTerm "PublishDate"}}
		{{template "childs" dict "menu" $pages.ByPublishDate "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm}}
	{{else if eq $sortTerm "Date"}}
		{{template "childs" dict "menu" $pages.ByDate "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm}}
	{{else if eq $sortTerm "Length"}}
		{{template "childs" dict "menu" $pages.ByLength "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm}}
	{{else}}
		{{template "childs" dict "menu" $pages "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm}}
	{{end}}
</ul>

{{.Inner|safeHTML}}

{{ define "childs" }}
	{{ range .menu }}
		{{ if and .Params.hidden (not $.showhidden) }} 
		{{else}}
  

{{if hasPrefix $.style "h"}}
	{{$num := sub ( int (trim $.style "h") ) 1 }}
	{{$numn := add $num $.count }}

{{(printf "<h%d>" $numn)|safeHTML}}
<a href="{{.URL}}" >{{ .Title }}</a>
{{(printf "</h%d>" $numn)|safeHTML}}

{{else}}
{{(printf "<%s>" $.style)|safeHTML}}
<a href="{{.URL}}" >{{ .Title }}</a>
{{(printf "</%s>" $.style)|safeHTML}}
{{end}}

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/shortcodes/button.html
=====================================================
<a {{ with .Get "href"}} href="{{.}}" target="_blank" {{ end }} class="btn btn-default">
  {{ $icon := .Get "icon" }}
  {{ $iconposition := .Get "icon-position" }}
  {{ if ($icon) }}
    {{ if or (not ($iconposition)) (eq $iconposition "left") }}
  <i class="{{$icon}}"></i>
    {{ end }}
  {{ end }}
  {{ .Inner }}
  {{ if and ($icon) (eq $iconposition "right")}}
  <i class="{{$icon}}"></i>
  {{ end }}
</a>

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/shortcodes/mermaid.html
=====================================================
<div class="mermaid" align="{{ if .Get "align" }}{{ .Get "align" }}{{ else }}center{{ end }}">{{ safeHTML .Inner }}</div>

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/shortcodes/expand.html
=====================================================
<div class="expand">
    <div class="expand-label" style="cursor: pointer;" onclick="$h = $(this);$h.next('div').slideToggle(100,function () {$h.children('i').attr('class',function () {return $h.next('div').is(':visible') ? 'fa fa-chevron-down' : 'fa fa-chevron-right';});});">
        <i style="font-size:x-small;" class="fa fa-chevron-right"></i>
        <span>
        {{$expandMessage := T "Expand-title"}}
    	{{ if .IsNamedParams }}
    	{{.Get "default" | default $expandMessage}}
    	{{else}}
    	{{.Get 0 | default $expandMessage}}
    	{{end}}
    	</span>
    </div>
    <div class="expand-content" style="display: none;">
        {{.Inner | safeHTML}}
    </div>
</div>

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/shortcodes/relref.html
=====================================================
{{- if in (.Get 0) "/_index.md" -}}
	{{- $paths := (split (.Get 0) "_index.md") -}}
	{{- $pagepath := index $paths 0 -}}
	{{- $anchor := index $paths 1 -}}
	{{- with .Site.GetPage "section" (trim $pagepath "/") -}}
		{{- ( printf "%s%s" $pagepath $anchor ) | relLangURL -}}
	{{- end -}}
{{- else -}}
	{{- with .Site.GetPage "section" (.Get 0) }}
		{{- .URL -}}
	{{- else -}}
		{{- .Get 0 | relref .Page -}}
	{{- end -}}
{{- end -}}

=====================================================
== File: docs/community/themes/hugo-theme-learn/layouts/shortcodes/siteparam.html
=====================================================
{{- $paramName := (.Get 0) -}}
{{- $siteParams := .Site.Params -}}
{{- with $paramName -}}
    {{- with $siteParams -}}
        {{- index . (lower $paramName) -}}
    {{- end -}}
{{- end -}}

=====================================================
== File: docs/community/themes/hugo-theme-learn/i18n/pt.toml
=====================================================
[Search-placeholder]
other = "Procurar..."

[Clear-History]
other = "Limpar Histórico"

[Attachments-label]
other = "Anexos"

[title-404]
other = "Erro"

[message-404]
other = "Ops. Parece que a página não existe ¯\\_(ツ)_/¯."

[Go-to-homepage]
other = "Ir para o início"

[Edit-this-page]
other = "Editar esta página"

[Shortcuts-Title]
other = "Mais"

[Expand-title]
other = "Expandir..."

=====================================================
== File: docs/community/themes/hugo-theme-learn/i18n/en.toml
=====================================================
[Search-placeholder]
other = "Search..."

[Clear-History]
other = "Clear History"

[Attachments-label]
other = "Attachments"

[title-404]
other = "Error"

[message-404]
other = "Woops. Looks like this page doesn't exist ¯\\_(ツ)_/¯."

[Go-to-homepage]
other = "Go to homepage"

[Edit-this-page]
other = "Edit this page"

[Shortcuts-Title]
other = "More"

[Expand-title]
other = "Expand me..."

=====================================================
== File: docs/community/themes/hugo-theme-learn/i18n/fr.toml
=====================================================
[Search-placeholder]
other = "Rechercher..."

[Clear-History]
other = "Supprimer l'historique"

[Attachments-label]
other = "Pièces jointes"

[title-404]
other = "Erreur"

[message-404]
other = "Oups. On dirait que cette page n'existe pas ¯\\_(ツ)_/¯"

[Go-to-homepage]
other = "Vers la page d'accueil"

[Edit-this-page]
other = "Modifier la page"

[Shortcuts-Title]
other = "Aller plus loin"

[Expand-title]
other = "Déroulez-moi..."

=====================================================
== File: docs/community/themes/hugo-theme-learn/i18n/es.toml
=====================================================
[Search-placeholder]
other = "Buscar..."

[Clear-History]
other = "Borrar Historial"

[Attachments-label]
other = "Adjuntos"

[title-404]
other = "Error"

[message-404]
other = "Ups. Parece que la página no existe ¯\\_(ツ)_/¯."

[Go-to-homepage]
other = "Ir al inicio"

[Edit-this-page]
other = "Editar esta página"

[Shortcuts-Title]
other = "Más"

[Expand-title]
other = "Expandir..."

=====================================================
== File: docs/community/themes/hugo-theme-learn/wercker.yml
=====================================================
box: golang
build:
  steps:
    # Sets the go workspace and places you package
    # at the right place in the workspace tree
    - setup-go-workspace

    # Gets the dependencies
    - script:
        name: get hugo
        code: |
          go get github.com/gohugoio/hugo

    # Build the project
    - script:
        name: build site
        code: |
          cd exampleSite && hugo

=====================================================
== File: docs/community/themes/hugo-theme-learn/archetypes/default.cn.md
=====================================================
+++
title = "{{ replace .TranslationBaseName "-" " " | title }}"
date =  {{ .Date }}
weight = 5
+++

Lorem Ipsum.

=====================================================
== File: docs/community/themes/hugo-theme-learn/archetypes/chapter.cn.md
=====================================================
+++
title = "{{ replace .TranslationBaseName "-" " " | title }}"
date = {{ .Date }}
weight = 5
chapter = true
pre = "<b>X. </b>"
+++

### Chapter X

# Some Chapter title

Lorem Ipsum.

=====================================================
== File: docs/community/content/security/_index.en.md
=====================================================
+++
pre = "<b>4. </b>"
title = "Security"
weight = 4
chapter = true
+++

The Apache Software Foundation takes a rigorous stance on eliminating security issues in its software projects. 
Likewise, Apache ShardingSphere is also vigilant and takes security issues related to its features and functionality into the highest consideration.

If you have any concerns regarding ShardingSphere’s security, or you discover a vulnerability or potential threat, please don’t hesitate to get in touch with the [Apache Security Team](http://www.apache.org/security/) by dropping an email at [security@apache.org](mailto:security@apache.org). 

Please specify the project name as "ShardingSphere" and its product name "ShardingSphere-JDBC" or "ShardingSphere-Proxy" in the email, and provide a description of the relevant problem or potential threat.
You are also urged to recommend how to reproduce and replicate the issue. 

The Apache Security Team and the ShardingSphere community will get back to you after assessing and analyzing the findings.

**Please note** that the security issue should be reported on the security email first, before disclosing it on any public domain.

ShardingSphere-JDBC does not directly provide external services, and users need to write code to use it. Due to the complexity and variety of user scenarios, ShardingSphere cannot control how users write code that uses ShardingSphere-JDBC. Therefore, the ShardingSphere community **does not accept any security issue reports that ShardingSphere-JDBC is exploited due to improper use**.
For example, the user introduced MySQL Connector/J with security vulnerabilities in the project, and trusted the externally input JDBC URL as the data source configuration of ShardingSphere-JDBC.

ShardingSphere-Proxy provides external services through database protocol and provides authentication method based on user password. Users need to ensure the security of user passwords by themselves. Therefore, the ShardingSphere community **does not accept any security issue report that presupposes that the attacker knows the ShardingSphere-Proxy user password**.

ShardingSphere cluster mode relies on middleware such as ZooKeeper, and trusts the middleware provided by users. For the security protection of middleware such as ZooKeeper, users need to protect themselves. Therefore, the ShardingSphere community **does not accept security issue reports that ShardingSphere is exploited due to middleware such as ZooKeeper being attacked**.

Third-party dependency security advice:
For dependencies that are not included by default in the ShardingSphere release version, users are required to ensure the security of dependencies.
For example, the release version of ShardingSphere does not include MySQL Connector/J by default, so ShardingSphere does not accept any security issue report that ShardingSphere is exploited due to the vulnerability of MySQL Connector/J itself.
The same is true for dependencies that are not included by default in other ShardingSphere releases.

Security recommendations for the ShardingSphere subproject:
Since ShardingSphere-UI is no longer maintained, the ShardingSphere community **will no longer accept any security issue reports related to ShardingSphere-UI**.

ElasticJob relies on ZooKeeper and trusts the ZooKeeper provided by the user. For the security protection of middleware such as ZooKeeper, users need to protect themselves. Therefore, the ShardingSphere community **does not accept the security issue report of ElasticJob being exploited due to ZooKeeper attack**.

ElasticJob-UI aims to provide users with a convenient job management and control platform. The platform provides services to developers and operation and maintenance personnel, not directly to Internet users. It is recommended that users deploy only on the intranet and avoid leakage of user passwords. The ShardingSphere community **does not accept any security issue reports that presuppose that the attacker knows the user's password**.

Before submitting a security issue report, please refer to the CVEs released by ShardingSphere and its sub-projects in the past to avoid repeated submissions.

ShardingSphere:
[CVE-2020-1947](https://www.cve.org/CVERecord?id=CVE-2020-1947)

ShardingSphere-UI:
[CVE-2021-26558](https://www.cve.org/CVERecord?id=CVE-2021-26558)

ElasticJob-UI
[CVE-2022-22733](https://www.cve.org/CVERecord?id=CVE-2022-22733)
[CVE-2022-31764](https://www.cve.org/CVERecord?id=CVE-2022-31764)

=====================================================
== File: docs/community/content/involved/subscribe.en.md
=====================================================
+++
title = "Subscribe Guide"
weight = 1
chapter = true
+++

When using or contributing to ShardingSphere, if you encounter any problem, or you have any suggestions or new ideas, you can use the Apache mailing-list to participate in the community building, or join the ShardingSphere [Slack channel](https://join.slack.com/t/apacheshardingsphere/shared_invite/zt-sbdde7ie-SjDqo9~I4rYcR18bq0SYTg) to connect with other community members.

To join the mailing list: 

1. Send an e-mail to subscribe. 
Use your mailbox to send an e-mail to [dev-subscribe@shardingsphere.apache.org](mailto:dev-subscribe@shardingsphere.apache.org) with any subject or content.

2. Receive and reply the confirmation e-mail.
After Step 1, you will receive a confirmation e-mail from [dev-help@shardingsphere.apache.org](mailto:dev-help@shardingsphere.apache.org) (if you have not received the email, please check “RSS feeds”, “junk e-mail” or other items). Reply to that e-mail directly or click the link in the e-mail to reply, with any subject or content.

3. Receive the welcome e-mail.
After finishing the two steps above, an e-mail with the subject of `WELCOME to dev@shardingsphere.apache.org` will be sent to your e-mail address. You'll have then succeeded in subscribing to the Apache ShardingSphere mailing-list.

4. You now can interact with community by your subscribed email or track email conversations by [Archived email list](https://lists.apache.org/list.html?dev@shardingsphere.apache.org) or [Slack](https://join.slack.com/t/apacheshardingsphere/shared_invite/zt-sbdde7ie-SjDqo9~I4rYcR18bq0SYTg).

=====================================================
== File: docs/community/content/involved/contribute/document.en.md
=====================================================
+++
title = "Documents Contribute Guide"
weight = 3
chapter = true
+++

If you want to help contribute shardingsphere documents or websites, we are happy to help you! Anyone can contribute, whether you're new to a project or have been using shardingsphere for a long time, whether you're a self identified developer, end-user, or someone who can't stand typos,can contribute to documents or websites.
In the contributor guide, we have mentioned how to submit Issues and pull request. here we will introduce how to submit pull request to document.

## Precondition

- Familiar with [Official website](https://shardingsphere.apache.org).
- Familiar with [Collaborating with issues and pull requests](https://help.github.com/categories/collaborating-with-issues-and-pull-requests/).
- Familiar with [Markdown](https://www.markdownguide.org/getting-started).
- Familiar with [Hugo](https://gohugo.io/).

## Fork document
Fork the master branch of [ShardingSphere](https://github.com/apache/shardingsphere).


## Directory structure description

```
shardingsphere
├─docs
  ├─community
  │  ├─archetypes
  │  ├─content
  │  │  ├─contribute
  │  │  ├─powered-by
  │  │  ├─security
  │  │  └─team
  │  ├─layouts
  │  ├─static
  │  └─themes
  ├─document
  │  ├─archetypes
  │  ├─content
  │  │  ├─concepts
  │  │  │  ├─adaptor
  │  │  │  ├─distsql
  │  │  │  ├─mode
  │  │  │  └─pluggable         
  │  │  ├─dev-manual
  │  │  ├─downloads
  │  │  ├─features
  │  │  │  ├─encrypt
  │  │  │  ├─governance
  │  │  │  ├─readwrite-splitting
  │  │  │  ├─scaling

=====================================================
== File: docs/community/content/involved/contribute/dev-env.en.md
=====================================================
+++
title = "How to Set Up Your DEV Environment"
weight = 2
chapter = true
+++

## Git Installation

Use the latest version.

You could download Git from [Git Downloads]( https://git-scm.com/downloads ).

If you're running macOS or Linux, you could install Git from software repository.

### Git Settings

If you're running Windows, following settings should be done before cloning ShardingSphere code.

Execute following command in PowerShell or cmd to prevent from `filename too long` error on cloning ShardingSphere code:
```shell
git config --global core.longpaths true
```

## JDK Installation

Use JDK 11 or higher.

You could download JDK from [OpenJDK Downloads]( https://adoptium.net/temurin/releases ).

You could search JDK installation guide for your platform on Google.

## Maven

Optional. You could use `mvn` command if Maven is ready, else use `mvnw` instead (download and install Maven automatically, use version defined in `.mvn/wrapper/maven-wrapper.properties`).

Use 3.6+.

You could download Maven from [Downloading Apache Maven]( https://maven.apache.org/download.html ).

Please refer to [Installing Apache Maven]( https://maven.apache.org/install.html ) for more details.

## Terminal

### macOS

You could use any of them:
- Terminal : Preinstalled on macOS
- iTerm2 : Could be installed by yourself

### Windows

=====================================================
== File: docs/community/content/involved/contribute/_index.cn.md
=====================================================
+++
title = "贡献指南"
weight = 2
chapter = true
+++

请阅读本章节了解如何贡献 Apache ShardingSphere。

=====================================================
== File: docs/community/content/involved/contribute/contributor.en.md
=====================================================
+++
title = "Contributor Guide"
weight = 1
chapter = true
+++

You can report a bug, submit a new function enhancement suggestion, or submit a pull request directly.

## Submit an Issue

 - Before submitting an issue, please go through a comprehensive search to make sure the problem cannot be solved just by searching.
 - Check the [Issue List](https://github.com/apache/shardingsphere/issues) to make sure the problem is not repeated.
 - [Create](https://github.com/apache/shardingsphere/issues/new/choose) a new issue and choose the type of issue.
 - Define the issue with a clear and descriptive title.
 - Fill in necessary information according to the template.
 - Choose a label after issue created, for example: bug, enhancement, discussion.
 - Please pay attention for your issue, you may need provide more information during discussion.

## Developer Flow

**1. Prepare repository**

Go to [ShardingSphere GitHub Repo]( https://github.com/apache/shardingsphere ) and fork repository to your account.

Clone repository to local machine.

```shell
git clone https://github.com/(your_github_name)/shardingsphere.git
```

Add ShardingSphere remote repository.

```shell
cd shardingsphere
git remote add apache https://github.com/apache/shardingsphere.git
git remote -v
```

Build and install all modules, it'll install modules into Maven local repository cache, and also generate Java class files of parser from ANTLR grammar `.g4` files to prevent from compile error of parser on IDE.

```shell
cd shardingsphere
./mvnw clean install -DskipITs -DskipTests -Prelease
```

When you pull the latest code from ShardingSphere and create new branch later, you might get similar compile error of parser again, then you could run this command again.

**2. Choose Issue**

 - Please choose the issue to be edited. If it is a new issue discovered or a new function enhancement to offer, please create an issue and set the right label for it.

=====================================================
== File: docs/community/content/involved/contribute/_index.en.md
=====================================================
+++
title = "Contribute Guide"
weight = 2
chapter = true
+++

Please read this chapter to know how to contribute to Apache ShardingSphere.

=====================================================
== File: docs/community/content/involved/release/shardingsphere-on-cloud.en.md
=====================================================
+++
title = "ShardingSphere on Cloud Release Guide"
weight = 2
chapter = true
+++

## Prepare before release

### 1. Check and update NOTICE

Check and update year in NOTICE.

### 2. Confirm release notes

The release note should be provided in English / Chinese, confirm whether English and Chinese description are clear,
and shall be classified according to the following labels:

1. New Feature
1. API Change
1. Enhancement
1. Bug Fix

### 3. Confirm issue list

Open [Github Issues](https://github.com/apache/shardingsphere-on-cloud/issues), filter the issue whose milestone is `${RELEASE.VERSION}` and status is open:

1. Close the completed issue;
1. For outstanding issues, communicate with the developer in charge. If this release is not affected, modify milestone to the next version;
1. Confirm that there is no issue in open status under milestone of release version.

### 4. Confirm pull request list

Open [Github Pull requests](https://github.com/apache/shardingsphere-on-cloud/pulls), filter pull requests whose milestone is `${RELEASE.VERSION}` and status is open:

1. Review the open pull request and merge;
1. For pull requests that cannot merge and do not affect this release, modify milestone to the next version;
1. Confirm that there is no open pull request under milestone of release version.

### 5. Call for a discussion

1. Send email to [dev@shardingsphere.apache.org](mailto:dev@shardingsphere.apache.org)
1. Follow the mailing list and confirm that the community developers have no questions about the release note.

### 6. Close milestone

Open [GitHub milestone](https://github.com/apache/shardingsphere-on-cloud/milestones)

1. Confirm that the milestone completion status of `${RELEASE.VERSION}` is 100%;
1. Click `close` to close milestone.


=====================================================
== File: docs/community/content/involved/release/elasticjob.en.md
=====================================================
+++
title = "ElasticJob Release Guide"
weight = 3
chapter = true
+++

## Preparation

### GPG Setup

Please refer to [Release Guide](/en/involved/release/shardingsphere/).

### Setting settings.xml

Add the following template to `~/.m2/settings.xml`, all the passwords need to be filled in after encryption.
For encryption settings, please see [here](http://maven.apache.org/guides/mini/guide-encryption.html).

```xml
<settings>
    <servers>
      <server>
          <id>apache.snapshots.https</id>
          <username> <!-- APACHE LDAP username --> </username>
          <password> <!-- APACHE LDAP encrypted password --> </password>
      </server>
      <server>
          <id>apache.releases.https</id>
          <username> <!-- APACHE LDAP username --> </username>
          <password> <!-- APACHE LDAP encrypted password --> </password>
      </server>
    </servers>
</settings>
```

## Publishing Apache Snapshot

### Deploying to Apache Snapshot Repository

**1. Ensure that building project can be succeeded**

```bash
./mvnw clean install
```

**2. Deploying to Snapshot Repository**

```bash
./mvnw deploy -DrepositoryId=apache.snapshots.https -T1C
```


=====================================================
== File: docs/community/content/involved/release/elasticjob-ui.cn.md
=====================================================
+++
title = "ElasticJob UI 发布指南"
weight = 4
chapter = true
+++

## GPG 设置

详情请参见[发布指南](/cn/involved/release/shardingsphere/)。

## 发布 Apache Maven 中央仓库

**1. 设置 settings.xml 文件**

将以下模板添加到 `~/.m2/settings.xml` 中,所有密码需要加密后再填入。
加密设置可参考[这里](http://maven.apache.org/guides/mini/guide-encryption.html)。

```xml
<settings>
  <servers>
    <server>
      <id>apache.snapshots.https</id>
      <username> <!-- APACHE LDAP 用户名 --> </username>
      <password> <!-- APACHE LDAP 加密后的密码 --> </password>
    </server>
    <server>
      <id>apache.releases.https</id>
      <username> <!-- APACHE LDAP 用户名 --> </username>
      <password> <!-- APACHE LDAP 加密后的密码 --> </password>
    </server>
  </servers>
</settings>
```

**2. 更新版本说明**

```
https://github.com/apache/shardingsphere-elasticjob-ui/blob/master/RELEASE-NOTES.md
```

**3. 创建发布分支**

假设从 Github 下载的 ElasticJob-UI 源代码在 `~/elasticjob-ui/` 目录;假设即将发布的版本为 `${RELEASE.VERSION}`。
创建 `${RELEASE.VERSION}-release` 分支,接下来的操作都在该分支进行。

```shell
## ${name} 为源码所在分支,如:master,dev-4.x
git clone --branch ${name} https://github.com/apache/shardingsphere-elasticjob-ui.git ~/elasticjob-ui
cd ~/elasticjob-ui/
git pull

=====================================================
== File: docs/community/content/involved/release/_index.cn.md
=====================================================
+++
title = "发布指南"
weight = 5
chapter = true
+++

请阅读本章节了解 Apache ShardingSphere 的新版本发布流程指南。

=====================================================
== File: docs/community/content/involved/release/shardingsphere.en.md
=====================================================
+++
title = "ShardingSphere Release Guide"
weight = 1
chapter = true
+++

## Prepare Before Release

The preparation work is carried out **7 days before cutting release**, so that contributors can control the development progress according to the release plan.

### 1. Check and Update LICENSE and NOTICE

Check and update dependency version in LICENSE.

Check and update year in NOTICE.

### 2. Confirm Release Notes

The release note should be provided in English / Chinese, confirm whether English and Chinese description are clear, 
and shall be classified according to the following labels:

1. New Feature
1. API Change
1. Enhancement
1. Bug Fix

### 3. Create Milestone for Next Development

1. Create a [Github Milestone](https://github.com/apache/shardingsphere/milestones);
1. Set milestone title to next development version;
1. **Set the `due date` as the next version release cutting date** 。

### 4. Confirm Issue List

Open [GitHub issues](https://github.com/apache/shardingsphere/issues), filter the issue whose milestone is `${RELEASE.VERSION}` and status is open:

1. Close the completed issue;
1. For outstanding issues, communicate with the developer in charge. If this release is not affected, modify milestone to the next version;
1. Confirm that there is no issue in open status under milestone of release version.

### 5. Confirm Pull Request List

Open [GitHub pull requests](https://github.com/apache/shardingsphere/pulls), filter pull requests whose milestone is `${RELEASE.VERSION}` and status is open:

1. Review the open pull request and merge; 
1. For pull requests that cannot merge and do not affect this release, modify milestone to the next version;
1. Confirm that there is no open pull request under milestone of release version.

### 6. Call for a Discussion


=====================================================
== File: docs/community/content/involved/release/_index.en.md
=====================================================
+++
title = "Release Guide"
weight = 5
chapter = true
+++

Please read this chapter to know how to release new version of Apache ShardingSphere.

=====================================================
== File: docs/community/content/involved/release/elasticjob-ui.en.md
=====================================================
+++
title = "ElasticJob UI Release Guide"
weight = 4
chapter = true
+++

## GPG Settings

Please refer to [Release Guide](/en/involved/release/shardingsphere/).

## Apache Maven Central Repository Release

**1. Set settings.xml**

Add the following template to `~/.m2/settings.xml`, all the passwords need to be filled in after encryption. 
For encryption settings, please see [here](http://maven.apache.org/guides/mini/guide-encryption.html).

```xml
<settings>
    <servers>
      <server>
          <id>apache.snapshots.https</id>
          <username> <!-- APACHE LDAP username --> </username>
          <password> <!-- APACHE LDAP encrypted password --> </password>
      </server>
      <server>
          <id>apache.releases.https</id>
          <username> <!-- APACHE LDAP username --> </username>
          <password> <!-- APACHE LDAP encrypted password --> </password>
      </server>
    </servers>
</settings>
```

**2. Update Release Notes**

```
https://github.com/apache/shardingsphere-elasticjob-ui/blob/master/RELEASE-NOTES.md
```

**3. Create Release Branch**

Suppose ElasticJob-UI source codes downloaded from github is under `~/elasticjob-ui/` directory and the version to be released is `${RELEASE.VERSION}`. 
Create `${RELEASE.VERSION}-release` branch, where all the following operations are performed.

```shell
## ${name} is the properly branch, e.g. master, dev-4.x
git clone --branch ${name} https://github.com/apache/shardingsphere-elasticjob-ui.git ~/elasticjob-ui
cd ~/elasticjob-ui/
git pull

=====================================================
== File: docs/community/content/involved/release/shardingsphere-on-cloud.cn.md
=====================================================
+++
title = "ShardingSphere on Cloud 发布指南"
weight = 2
chapter = true
+++

## 准备工作

### 1. 检查并更新 NOTICE

检查并更新 NOTICE 文件中的年份。

### 2. 确认 Release Note

Release Note 需提供中文/英文两种版本,确认中英文描述是否明确,并按以下标签进行分类:

1. 新功能
1. API 变更
1. 功能增强
1. 漏洞修复

### 3. 确认 Issue 列表

打开 [Github Issues](https://github.com/apache/shardingsphere-on-cloud/issues),过滤 Milestone 为 `${RELEASE.VERSION}` 且状态为打开的 Issue:

1. 关闭已完成的 Issue;
1. 未完成的 Issue 与负责人进行沟通,如果不影响本次发版,修改 Milestone 为下一个版本;
1. 确认发布版本的 Milestone 下没有打开状态的 Issue。

### 4. 确认 Pull Request 列表

打开 [Github Pull requests](https://github.com/apache/shardingsphere-on-cloud/pulls),过滤 Milestone 为 `${RELEASE.VERSION}` 且状态为打开的 Pull Request:

1. 对打开的 Pull Request 进行 Review 并且 Merge;
1. 无法 Merge 且不影响本次发版的 Pull Request,修改 Milestone 为下一个版本;
1. 确认发布版本的 Milestone 下没有打开状态的 Pull Request。

### 5. 发送讨论邮件

1. 发送邮件至 [dev@shardingsphere.apache.org](mailto:dev@shardingsphere.apache.org),在邮件正文中链接 GitHub Discussion;
1. 关注邮件列表,确认社区开发者对 Release Note 没有任何疑问。

### 6. 关闭 Milestone

打开 [Github Milestone](https://github.com/apache/shardingsphere-on-cloud/milestones)

1. 确认 `${RELEASE.VERSION}` 的 Milestone 完成状态为 100%;
1. 点击 `Close` 关闭 Milestone。

## GPG 设置

=====================================================
== File: docs/community/content/involved/conduct/code.en.md
=====================================================
+++
title = "Code of Conduct"
weight = 2
chapter = true
+++

The following code of conduct is based on full compliance with [ASF CODE OF CONDUCT](https://www.apache.org/foundation/policies/conduct.html).

## Development Guidelines

 - Write codes with heart. Pursue clean, simplified and extremely elegant codes. Agree with concepts in &lt;Refactoring: Improving the Design of Existing Code&gt; and &lt;Clean Code: A Handbook of Agile Software Craftsmanship&gt;.
 - Be familiar with codes already had, to keep consistent with the style and use.
 - Highly reusable, no duplicated codes or configurations.
 - Delete codes out of use in time.

## Contributor Covenant Submitting of Conduct

 - Conform to `Contributor Covenant Code of Conduct` below.
 - Make sure Maven build process success. Run `./mvnw clean install -B -T1C -Pcheck` command in shell to start Maven build process.
 - Through the uniform code style of spotless, execute the `./mvnw spotless:apply -Pcheck` formatted code.
 - Make sure the test coverage rate is not lower than the master branch.
 - Careful consideration for each `pull request`; Small and frequent `pull request` with complete unit function is welcomed.
 - If using IDEA, you can import the recommended `src/resources/code-style-idea.xml`.

## Contributor Covenant Code of Conduct

 - Use linux line separators.
 - No meaningless blank lines. Please extract private methods to instead of blank lines if too long method body or different logic code fragments.
 - Naming covenant:
   - Use meaningful names.
   - Avoid to use abbreviation. Some variables could use abbreviation.
     - Variable `arguments` could abbreviate to `args`;
     - Variable `parameters` could abbreviate to `params`;
     - Variable `environment` could abbreviate to `env`;
     - Variable `properties` could abbreviate to `props`;
     - Variable `configuration` could abbreviate to `config`.
   - Abbreviation composed less than 3 characters should be uppercase, more than 3 characters must use camel case naming rule.
     - Example for abbreviation composed less than 3 characters: SQL92Lexer, XMLTransfer, MySQLAdminExecutorCreator;
     - Example for abbreviation composed more than 3 characters: JdbcUrlAppender, YamlAgentConfigurationSwapper;
     - A variable composed of abbreviation should use lower camel case: mysqlAuthenticationMethod, sqlStatement, mysqlConfig.
   - Local variables that meet the following conditions shall be named according to the following rules:
     - Except return an input parameter as result, returning variable should be named with `result`;
     - Variables in the loop structure are named with `each`;
     - Replace `each` with `entry` in map;
     - Exceptions when catch are named with `ex`;
     - Exceptions when catch but do nothing are named with `ignored`.
   - It is prohibited to use `result`, `each`, or `entry` as method parameter names.
   - Utility class should be named in the form of `xxUtils`.
   - Name property files with `Spinal Case`(a variant of `Snake Case` which uses hyphens `-` to separate words).
 - Split codes that need to add notes with it into small methods, which are explained with method names.

=====================================================
== File: docs/community/content/involved/conduct/document.en.md
=====================================================
+++
title = "Document of Conduct"
weight = 3
chapter = true
+++

- The title of topic should in `title = "xxx"` only, content should not include main title(#);
- Please leave a blank line at the end of topic;
- To avoid segment too long, please start a new line after full stop;
- Please keep a blank line between title and content;
- For reading friendly, please arrange for each column in table beside last one;
- Please keep space between `|` and `-` in head of table;
- Please use  `1.` for number item, it can be generated correct number by Hugo automatically;
- Item list is preceded by `;` at the end, the last item is marked with `.` ending;
- Please end of `;` by item list, and end of `.` for the last item list;
- Picture files used underline symbol and language abbreviation at the end to distinguish the picture languages, for example: `_en`.

=====================================================
== File: docs/community/content/involved/conduct/_index.cn.md
=====================================================
+++
title = "贡献规约"
weight = 3
chapter = true
+++

请阅读本章节了解参与 Apache ShardingSphere 贡献的规约。

=====================================================
== File: docs/community/content/involved/conduct/code.cn.md
=====================================================
+++
title = "开发规范"
weight = 2
chapter = true
+++

以下行为准则以完全遵循 [Apache 软件基金会行为准则](https://www.apache.org/foundation/policies/conduct.html)为前提。

## 开发理念

 - **用心** 保持责任心和敬畏心,以工匠精神持续雕琢。
 - **可读** 代码无歧义,通过阅读而非调试手段浮现代码意图。
 - **整洁** 认同《重构》和《代码整洁之道》的理念,追求整洁优雅代码。
 - **一致** 代码风格、命名以及使用方式保持完全一致。
 - **精简** 极简代码,以最少的代码表达最正确的意思。高度复用,无重复代码和配置。及时删除无用代码。
 - **抽象** 层次划分清晰,概念提炼合理。保持方法、类、包以及模块处于同一抽象层级。
 - **极致** 拒绝随意,保证任何一行代码、任何一个字母、任何一个空格都有其存在价值。

## 代码提交行为规范

 - 确保遵守编码规范。
 - 确保构建流程中的各个步骤都成功完成,包括:Apache 协议文件头检查、Checkstyle 检查、编译、单元测试等。构建流程启动命令:`./mvnw clean install -B -T1C -Pcheck`。
 - 通过 Spotless 统一代码风格,执行 `./mvnw spotless:apply -Pcheck` 格式化代码。
 - 确保覆盖率不低于 master 分支。
 - 应尽量将设计精细化拆分;做到小幅度修改,多次数提交,但应保证提交的完整性。
 - 如果您使用 IDEA,可导入推荐的 `src/resources/code-style-idea.xml`。

## 编码规范

 - 使用 linux 换行符。
 - 不应有无意义的空行。请提炼私有方法,代替方法体过长或代码段逻辑闭环而采用的空行间隔。
 - 命名规范:
   - 命名要做到顾名思义。
   - 类、方法名避免使用缩写,部分变量名可以使用缩写。
     - 变量名 `arguments` 缩写为 `args`;
     - 变量名 `parameters` 缩写为 `params`;
     - 变量名 `environment` 缩写为 `env`;
     - 变量名 `properties` 缩写为 `props`;
     - 变量名 `configuration` 缩写为 `config`。
   - 三位以内字符的专有名词缩写使用大写,超过三位字符的缩写采用驼峰形式。
     - 三位以内字符的类和方法名称缩写的示例:SQL92Lexer、XMLTransfer、MySQLAdminExecutorCreator;
     - 三位以上字符的类和方法名称缩写的示例:JdbcUrlAppender、YamlAgentConfigurationSwapper;
     - 变量应使用小驼峰形式:mysqlAuthenticationMethod、sqlStatement、mysqlConfig。
   - 符合下列条件的局部变量,应参照下列规则命名:
     - 除了直接返回方法入参,返回变量使用 `result` 命名;
     - 循环中使用 `each` 命名循环变量;
     - map 中使用 `entry` 代替 `each`;
     - 捕获的异常名称命名为 `ex` ;
     - 捕获异常且不做任何事情,异常名称命名为 `ignored`。
   - 方法入参名禁止使用 `result`、`each`、`entry`。

=====================================================
== File: docs/community/content/involved/conduct/_index.en.md
=====================================================
+++
title = "Contribution Conduct"
weight = 3
chapter = true
+++

Please read this chapter to know the contribution conduct of Apache ShardingSphere.

=====================================================
== File: docs/community/content/involved/conduct/issue.en.md
=====================================================
+++
title = "Issue of Conduct"
weight = 1
chapter = true
+++

## Issue Submit Conduct

 - Issue lists should be readable and retrievable, the author is obligated to summarize the title that is meaningful and convenient for retrieval, and to ensure the correctness and completeness of the content;
 - Please confirm that there is no relevant existing Issue after sufficient search, and then submit a new Issue;
 - The type of issue is divided into bug, new feature and problem. When you edit an issue, please select the correct template and fill in content according to the template;
 - For problems caused by uncertain configuration, please submit the relevant reproducible code to GitHub, so that community contributors can locate and identify the problem more efficiently;
 - Please reply to the Issue after it has been resolved to form a closed loop that will provide effective information for others who browse the Issue;
 - Please pay attention to the submitted issues in time. Issues with no feedback for a long time will be closed regularly.
 - Please use English for community diversity.

## Issue Process Conduct

 - For issues without clear title, the handler guides the submitter to revise and refine the title before dealing with it;
 - For the issue with missing template information, the handler guides the submitter to provide the required information before processing;
 - Issues related to code, such as bug fix and feature enhancement, will be marked with correct label and project version of the issue completed;
 - The handler will regularly close the issue without feedback for a long time;
 - Issues without reference or retrieval value will be marked as status:invalid and does not need attention.

=====================================================
== File: docs/community/content/involved/_index.en.md
=====================================================
+++
pre = "<b>1. </b>"
title = "Get Involved"
weight = 1
chapter = true
+++

First off, thank you for your interest in Apache ShardingSphere.
We are a very open and active community, where dedicated contributors of all levels are welcome to join in the pursuit of the `Apache Way`.

You may participate in the community through the [Mailing-list Subscription](/en/involved/subscribe/), or simply by interacting with other members in the [ShardingSphere Slack channel](https://join.slack.com/t/apacheshardingsphere/shared_invite/zt-sbdde7ie-SjDqo9~I4rYcR18bq0SYTg)

Please read the [Contribute Guide](/en/involved/contribute/) if you interested to contribute Apache ShardingSphere.

Please read the [Contribute Conduct](/en/involved/conduct/) before becoming a contributor.

If you want to become a committer, please read the [Committers' Guide](/en/involved/committer/).

If you want to be a release manager, please read the [Release Guide](/en/involved/release/).

Thank you for attend Apache ShardingSphere.

=====================================================
== File: docs/community/content/involved/committer/icla.en.md
=====================================================
+++ 
title = "Sign ICLA Guide" 
weight = 3
chapter = true 
+++

### Sign Apache ICLA guide

Apache CLA short for Apache Contributor License Agreement, the purpose of this agreement is to clearly define the terms under which intellectual property has been contributed to the ASF and thereby allow us to defend the project should there be a legal dispute regarding the software at some future time. 
A signed ICLA is required to be on file before an individual is given commit rights to any ASF project. 

The process of submitting ICLA are:

**1. First, click the link [Apache Licenses](https://www.apache.org/licenses/#clas) and find CLAs under the Contributor License Agreements section.**
  
![](https://shardingsphere.apache.org/blog/img/icla%20en1.png)

**2. At the top of the page, there are two download links choose ICLA(Individual Contributor License Agreement) and download it.**

![](https://shardingsphere.apache.org/blog/img/icla2.png)

**3. Open the PDF, and fill in the following columns in English.**

> To be noticed: 
> - Leave a space between family name and last name, remember capitalize the first letter, please write family name at first.
> - Preferred Apache id(s) is a required field for committers.

![](https://shardingsphere.apache.org/blog/img/icla%20en3.png)

**4. The signature at the bottom of the document:**
Apache only accept hand-written signature or gpg signature, here we suggest choosing hand-written way.
Print the document and sign your name on the paper, or use electric pen.

![](https://shardingsphere.apache.org/blog/img/icla%20en4.png)

## Submission

* If you are a new committer, please scan all pages into a single pdf file, and attach the pdf file to an email to secretary@apache.org.
* The rest of the case, please send the file to the person who contact you.

=====================================================
== File: docs/community/content/involved/committer/_index.cn.md
=====================================================
+++
title = "提交者指南"
weight = 4
chapter = true
+++

请阅读本章节了解 Apache ShardingSphere 官方提交者的工作指南。

=====================================================
== File: docs/community/content/involved/committer/vote.en.md
=====================================================
+++ 
title = "New committer voting process" 
weight = 2
chapter = true 
+++

The Apache ShardingSphere community follows the [Apache Community’s process](http://community.apache.org/newcommitter.html) on accepting a new committer.
After a contributor participates community actively, PMC and Committers will make a decision to invite the contributor to join Committers and PMC.

**1. Start the discussion and vote in @private. Only current PMC member could nominate.**

Example:

```
To:private@shardingsphere.apache.org

Title: [VOTE] New committer:(nominee)

Content:

Hi, everyone

This is ^a formal vote^ about inviting (nominee)as our new committer.
He/She really made an effort to improve ShardingSphere Parser and fix many issues.
The following links will direct you to his/her work.

https://github.com/apache/shardingsphere/pull/xxxx
https://github.com/apache/shardingsphere/pull/xxxx
https://github.com/apache/shardingsphere/pull/xxxx
https://github.com/apache/shardingsphere/pull/xxxx

[^ means these words are subject to change in different case]
```

**2. Wait 3*24 hours to get vote result from community committers.**

**3. PMC sends vote result over email.**

Example:

```
To: private@shardingsphere.apache.org

Title: [RESULT] [VOTE] New committer: (nominee)

Content:

Hi all PMCs,

I am glad to receive your votes, and the voting result is,

=====================================================
== File: docs/community/content/involved/committer/commiter_rights.en.md
=====================================================
+++
title = "Committer Rights"
weight = 5
chapter = true
+++

## Committer Rights

Every Apache Committer is eligible for a free license that grants them access to all the JetBrains IDEs such as IntelliJ IDEA, PyCharm, and other desktop tools.

### Get free JetBrains license

If you are an Apache ShardingSphere Committer and still haven’t received a free JetBrains license, please use your @apache.org email address to **[get a free All Products Pack now](https://www.jetbrains.com/shop/eform/apache?product=ALL)** for the subsequent development of ShardingSphere.

### Reactivate expired JetBrains license

If you have obtained a free JetBrains subscription but it has expired, you can reactivate all product packs for free using your @apache.org email address **[by this link](https://www.jetbrains.com/shop/eform/apache?product=ALL)** and click 'Refresh license list' in your JetBrains desktop tools (e.g. IntelliJ IDEA) to refresh the subscription.

=====================================================
== File: docs/community/content/involved/committer/responsibilities.en.md
=====================================================
+++
title = "Responsibilities & Routine"
weight = 1
chapter = true
+++

## Responsibilities

 - Develop new features;
 - Refactor codes;
 - Review pull requests reliably and in time;
 - Consider and accept feature requests;
 - Answer questions;
 - Update documentation and example;
 - Improve processes and tools;
 - Check whether [CI Scheduled Workflow]( https://github.com/apache/shardingsphere/actions?query=event%3Aschedule ) works or not periodically;
 - Guide new contributors join community.

## Routine

1. Check the list of pull requests and issues to be processed in the community on a daily basis.

 - Including label issue, reply issue, close issue;
 - Assign issue to the appropriate committer, namely assignee;
 
2. After a committer is assigned with an issue, the following work is required:

 - Estimate whether it is a long-term issue. If it is, please label it as pending;
 - Add issue labels, such as bug, enhancement, discussion, etc;
 - Add milestone.
 
3. Pull request that committer submits needs to add labels and milestone based on the type and release period.

4. When committer reviewed and approved any pull request, committer could squash and merge to master. If there is any question you concerned about this pull request, please reply directly to the related issue.

=====================================================
== File: docs/community/content/involved/committer/_index.en.md
=====================================================
+++
title = "Committer Guide"
weight = 4
chapter = true
+++

Please read this chapter to know the work progress to official committer of Apache ShardingSphere.

=====================================================
== File: docs/community/content/involved/committer/2FA.en.md
=====================================================
+++
title = "2FA"
weight = 4
chapter = true
+++

## Two-factor authentication(2FA)

Two factor authentication (2FA) refers to the authentication method that combines both passport, and an object (credit card, SMS phone, token or biomarkers as fingerprint) to identify a user. 
To ensure the security of the committer’s account, we need you to enable 2FA to sign in and contribute codes on GitHub.

More details, please refer to [2FA](https://help.github.com/articles/requiring-two-factor-authentication-in-your-organization/).

> To be noticed: If you do not enable 2FA, you will be removed from the project and unable to access our repositories and the fork from our private repository.

## Enable 2FA on GitHub

For detailed operations, please refer to [Enable Two Factor Authentication with TOTP](https://help.github.com/articles/configuring-two-factor-authentication-via-a-totp-mobile-app/).

After enabling 2FA, you need to sign in GitHub with the way of username/password + mobile phone authentication code.

> Tips: If you cannot download the APP through the page link, you can search and download Google Authenticator in APP Store.

## How to Submit Codes

After enabling 2FA, you need to generate a private access Token to perform operations such as git submit and so on. 
At this time, you will use username + private access Token in replace of username + password to submit codes.

For detailed operations, please refer to [Create a Private Token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/).

=====================================================
== File: docs/community/content/involved/committer/commiter_rights.cn.md
=====================================================
+++
title = "提交者权益"
weight = 5
chapter = true
+++

## 提交者权益

每个 Apache Committer 都有资格获得免费 JetBrains 订阅,使他们能够访问 JetBrains 产品包,如 IntelliJ IDEA、PyCharm 和其他桌面工具。

### 获取免费 JetBrains 订阅

如果您是 Apache ShardingSphere 提交者,但未收到免费的 JetBrains 订阅,请使用您的 @apache.org 电子邮件地址**[立即获取免费的所有产品包](https://www.jetbrains.com/shop/eform/apache?product=ALL)**以便于 ShardingSphere 的后续开发。

### 重新激活 JetBrains 到期订阅

如果您已经使用了免费的 JetBrains 订阅,遇到 License 到期,可以使用您的 @apache.org 电子邮件地址**[续订免费的所有产品包](https://www.jetbrains.com/shop/eform/apache?product=ALL)**,并在您的 JetBrains 桌面工具(例如 IntelliJ IDEA) 中点击 `Refresh license list` 刷新订阅。

=====================================================
== File: docs/community/content/powered-by/_index.en.md
=====================================================
+++
pre = "<b>2. </b>"
title = "Powered By ShardingSphere"
weight = 2
chapter = true
+++

## Register

You're welcome to register by company + homepage + use case scenario (optional), your support is very important to us.

Please register [here](https://github.com/apache/shardingsphere/discussions/12255) with 'company' + 'homepage' + 'use case scenario' (optional).

## Who is Using ShardingSphere?

Total: 219 companies.

### Infra Software
<ul>
    <li><a href="http://www.sphere-ex.com/" rel="nofollow">SphereEx</a></li>
    <li><a href="https://www.opengauss.org/en/" rel="nofollow">Huawei openGauss</a>: <a href="https://dev.to/apache_shardingsphere/apache-shardingsphere-opengauss-breaking-the-distributed-database-performance-record-with-10-million-tpmc-28an" rel="nofollow">User Case</a></li>
    <li><a href="https://www.mogdb.io/" rel="nofollow">ENMOTECH MogDB</a></li>
    <li><a href="https://www.kingbase.com.cn/" rel="nofollow">KingBase KingbaseES</a></li>
</ul>

### Bank
<ul>
    <li><a href="https://www.abchina.com/en/" rel="nofollow">AGRICULTURAL BANK OF CHINA</a></li>
    <li><a href="https://www.ccbft.com/" rel="nofollow">CCB Fintech</a></li>
    <li><a href="http://en.cmbc.com.cn/" rel="nofollow">CHINA MINSHENG BANK</a></li>
    <li><a href="https://bank.pingan.com/" rel="nofollow">Ping An Bank</a></li>
    <li><a href="https://www.psbc.com/en/" rel="nofollow">Postal Savings Bank of China</a></li>
    <li><a href="https://english.cmbchina.com/" rel="nofollow">China Merchants Bank</a></li> 
</ul>

### Payment
<ul>
    <li><a href="https://www.bestpay.com.cn/" rel="nofollow">China Telecom Best Pay(Orange Finance)</a></li>
    <li><a href="https://www.kjtpay.com/" rel="nofollow">KJT pay</a></li>
    <li><a href="https://www.baofu.com/" rel="nofollow">BAO FU</a></li>
</ul>

### Telecommunications
<ul>
    <li>CU Digital Technology</li>
    <li><a href="https://jf.10086.cn/" rel="nofollow">China Mobile Financial Technology</a></li>
</ul>

### FinTech
<ul>

=====================================================
== File: docs/community/content/team/_index.cn.md
=====================================================
+++
pre = "<b>3. </b>"
title = "团队"
weight = 3
chapter = true
+++

## 成员

### 项目管理委员会

<table style="table-layout:fixed">
    <tr>
        <td>
            <a href="https://github.com/terrymanu" target="_blank">
               <img src="https://avatars.githubusercontent.com/u/5516298?v=4" style="border-radius:50%; overflow:hidden">
            </a>
        </td>
        <td>
            <a href="https://github.com/tristaZero" target="_blank">
                <img src="https://avatars.githubusercontent.com/u/27757146?v=4" style="border-radius:50%; overflow:hidden">
            </a>
        </td>
        <td>
            <a href="https://github.com/craiglrussell" target="_blank">
                <img src="https://avatars.githubusercontent.com/u/2467238?v=4" style="border-radius:50%; overflow:hidden">
            </a>
        </td>
        <td>
            <a href="https://github.com/wu-sheng" target="_blank">
                <img src="https://avatars.githubusercontent.com/u/5441976?v=4" style="border-radius:50%; overflow:hidden">
            </a>
        </td>
        <td>
            <a href="https://github.com/WillemJiang" target="_blank">
                <img src="https://avatars.githubusercontent.com/u/219644?v=4" style="border-radius:50%; overflow:hidden">
            </a>
        </td>
        <td>
            <a href="https://github.com/menghaoranss" target="_blank">
                <img src="https://avatars.githubusercontent.com/u/60651792?v=4" style="border-radius:50%; overflow:hidden">
            </a>
        </td>
        <td>
            <a href="https://github.com/kimmking" target="_blank">
                <img src="https://avatars.githubusercontent.com/u/807508?v=4" style="border-radius:50%; overflow:hidden">
            </a>
        </td>
    </tr>
    <tr align="center">

=====================================================
== File: docs/community/content/team/_index.en.md
=====================================================
+++
pre = "<b>3. </b>"
title = "Team"
weight = 3
chapter = true
+++

## Members

### Project Management Committee

<table style="table-layout:fixed">
    <tr>
        <td>
            <a href="https://github.com/terrymanu" target="_blank">
               <img src="https://avatars.githubusercontent.com/u/5516298?v=4" style="border-radius:50%; overflow:hidden">
            </a>
        </td>
        <td>
            <a href="https://github.com/tristaZero" target="_blank">
                <img src="https://avatars.githubusercontent.com/u/27757146?v=4" style="border-radius:50%; overflow:hidden">
            </a>
        </td>
        <td>
            <a href="https://github.com/craiglrussell" target="_blank">
                <img src="https://avatars.githubusercontent.com/u/2467238?v=4" style="border-radius:50%; overflow:hidden">
            </a>
        </td>
        <td>
            <a href="https://github.com/wu-sheng" target="_blank">
                <img src="https://avatars.githubusercontent.com/u/5441976?v=4" style="border-radius:50%; overflow:hidden">
            </a>
        </td>
        <td>
            <a href="https://github.com/WillemJiang" target="_blank">
                <img src="https://avatars.githubusercontent.com/u/219644?v=4" style="border-radius:50%; overflow:hidden">
            </a>
        </td>
        <td>
            <a href="https://github.com/menghaoranss" target="_blank">
                <img src="https://avatars.githubusercontent.com/u/60651792?v=4" style="border-radius:50%; overflow:hidden">
            </a>
        </td>
        <td>
            <a href="https://github.com/kimmking" target="_blank">
                <img src="https://avatars.githubusercontent.com/u/807508?v=4" style="border-radius:50%; overflow:hidden">
            </a>
        </td>
    </tr>
    <tr align="center">

=====================================================
== File: docs/community/archetypes/default.cn.md
=====================================================
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
---


=====================================================
== File: docs/community/config.toml
=====================================================
baseURL = "https://shardingsphere.apache.org/community/"
canonifyurls = true
languageCode = "en-us"
title = "ShardingSphere"
theme = "hugo-theme-learn"
defaultContentLanguage = "en"
defaultContentLanguageInSubdir= true

[Languages]
[Languages.en]
title = "ShardingSphere"
weight = 1
languageName = "English"

[Languages.cn]
title = "ShardingSphere"
weight = 2
languageName = "简体中文"

[params]
# Change default color scheme with a variant one. Can be "red", "blue", "green".
themeVariant = "white"
# Disable search function. It will hide search bar
disableSearch = false
editURL = "https://github.com/apache/shardingsphere/tree/master/docs/community/content/"

[markup]
[markup.goldmark]
[markup.goldmark.renderer]
unsafe = true

=====================================================
== File: docs/document/static/img/theme.svg
=====================================================
<?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 t="1649761066916" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1910" xmlns:xlink="http://www.w3.org/1999/xlink" width="19.421875" height="16"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); }
</style></defs><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#F6651C" p-id="1911"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#F6651C" p-id="1912"></path></svg>

=====================================================
== File: docs/document/static/css/theme-mine.css
=====================================================
/* background behind the logo*/
#header {
    background: black;
    border-color: black;
}

#header-wrapper {
    background: black;
    border-color: black;
}

#chapter p {
    text-align: left;
}

.copy-to-clipboard {
    background-image: none;
    display: none;
}

#body img, #body .video-container {
    margin: auto;
    text-align: left;
    display: inherit;
}
 

=====================================================
== File: docs/document/static/css/theme-white.css
=====================================================
body{
    font-family: 'roboto,sans-serif';
    letter-spacing: .33px;
    font-weight: 400;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}
.wrap{
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
}

header{
    background-color: #F7F7FB;
    height: 80px;
}

header .wrap{
    justify-content: space-between;
    align-items: center;
    height: 80px;
    padding: 0 20px 0 20px;
}

header li a{
    color:#393C4E;
}

header .select-style{
    width: 80px;
}
header .select-style svg{
    fill:#000;
}

header img{
    height: 38px;
}

header li{list-style: none;}
header .select-style select{
    color:#000;
}

#body img,
#body .video-container {
    margin: auto;
    text-align: left;
    display: inherit;

=====================================================
== File: docs/document/static/css/style.css
=====================================================
/* background behind the logo*/
#header {
    background: black;
    border-color: black;
}

#header-wrapper {
    background: black;
    border-color: black;
}

#chapter p {
    text-align: left;
}

.copy-to-clipboard {
    background-image: none;
    display: none;
}

#body img, #body .video-container {
    margin: auto;
    text-align: left;
    display: inherit;
}
 

=====================================================
== File: docs/document/static/css/theme-black.css
=====================================================
@charset "UTF-8";

#top-github-link,
#body #breadcrumbs {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.button,
.button-secondary {
    display: inline-block;
    padding: 7px 12px;
}

.button:active,
.button-secondary:active {
    margin: 2px 0 -2px 0;
}

@font-face {
    font-family: 'Novacento Sans Wide';
    src: url("../fonts/Novecentosanswide-UltraLight-webfont.eot");
    src: url("../fonts/Novecentosanswide-UltraLight-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/Novecentosanswide-UltraLight-webfont.woff2") format("woff2"), url("../fonts/Novecentosanswide-UltraLight-webfont.woff") format("woff"), url("../fonts/Novecentosanswide-UltraLight-webfont.ttf") format("truetype"), url("../fonts/Novecentosanswide-UltraLight-webfont.svg#novecento_sans_wideultralight") format("svg");
    font-style: normal;
    font-weight: 200;
}

@font-face {
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 300;
    src: url("../fonts/Work_Sans_300.eot?#iefix") format("embedded-opentype"), url("../fonts/Work_Sans_300.woff") format("woff"), url("../fonts/Work_Sans_300.woff2") format("woff2"), url("../fonts/Work_Sans_300.svg#WorkSans") format("svg"), url("../fonts/Work_Sans_300.ttf") format("truetype");
}

@font-face {
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 500;
    src: url("../fonts/Work_Sans_500.eot?#iefix") format("embedded-opentype"), url("../fonts/Work_Sans_500.woff") format("woff"), url("../fonts/Work_Sans_500.woff2") format("woff2"), url("../fonts/Work_Sans_500.svg#WorkSans") format("svg"), url("../fonts/Work_Sans_500.ttf") format("truetype");
}

body {
    background: #fff;
    color: #777;
}

=====================================================
== File: docs/document/static/fonts/glyphicons-halflings-regular.svg
=====================================================
<?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 xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
<font-face units-per-em="1200" ascent="960" descent="-240" />
<missing-glyph horiz-adv-x="500" />
<glyph />
<glyph />
<glyph unicode="&#xd;" />
<glyph unicode=" " />
<glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" />
<glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" />
<glyph unicode="&#xa0;" />
<glyph unicode="&#x2000;" horiz-adv-x="652" />
<glyph unicode="&#x2001;" horiz-adv-x="1304" />
<glyph unicode="&#x2002;" horiz-adv-x="652" />
<glyph unicode="&#x2003;" horiz-adv-x="1304" />
<glyph unicode="&#x2004;" horiz-adv-x="434" />
<glyph unicode="&#x2005;" horiz-adv-x="326" />
<glyph unicode="&#x2006;" horiz-adv-x="217" />
<glyph unicode="&#x2007;" horiz-adv-x="217" />
<glyph unicode="&#x2008;" horiz-adv-x="163" />
<glyph unicode="&#x2009;" horiz-adv-x="260" />
<glyph unicode="&#x200a;" horiz-adv-x="72" />
<glyph unicode="&#x202f;" horiz-adv-x="260" />
<glyph unicode="&#x205f;" horiz-adv-x="326" />
<glyph unicode="&#x20ac;" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
<glyph unicode="&#x2212;" d="M200 400h900v300h-900v-300z" />
<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
<glyph unicode="&#x2601;" d="M-14 494q0 -80 56.5 -137t135.5 -57h750q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5z" />
<glyph unicode="&#x2709;" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
<glyph unicode="&#x270f;" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
<glyph unicode="&#xe001;" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
<glyph unicode="&#xe002;" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q18 -55 86 -75.5t147 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" />
<glyph unicode="&#xe003;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
<glyph unicode="&#xe005;" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
<glyph unicode="&#xe006;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1z" />
<glyph unicode="&#xe007;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" />
<glyph unicode="&#xe008;" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" />
<glyph unicode="&#xe009;" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" />
<glyph unicode="&#xe010;" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe011;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0 21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe012;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe013;" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
<glyph unicode="&#xe014;" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
<glyph unicode="&#xe015;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
<glyph unicode="&#xe016;" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" />
<glyph unicode="&#xe017;" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />

=====================================================
== File: docs/document/layouts/partials/style.html
=====================================================
<link rel="stylesheet" href="http://cdn.bootcss.com/highlight.js/9.8.0/styles/monokai-sublime.min.css">
<link rel="stylesheet" href="https://shardingsphere.apache.org/document/current/css/style.css">

=====================================================
== File: docs/document/layouts/partials/logo.html
=====================================================
<a href="https://shardingsphere.apache.org/"><img src="https://shardingsphere.apache.org/document/current/img/logo_v3.png" /></a>

=====================================================
== File: docs/document/layouts/partials/favicon.html
=====================================================
<link rel="shortcut icon" href="https://shardingsphere.apache.org/document/current/img/favicon.png" type="image/x-icon" />

=====================================================
== File: docs/document/layouts/partials/menu-footer.html
=====================================================
<p></p>

=====================================================
== File: docs/document/layouts/partials/toc.html
=====================================================
{{ if and (gt .WordCount 400 ) (.Params.toc) }}
<aside>
    <header>
    <h2>{{.Title}}</h2>
    </header>
    {{.TableOfContents}}
</aside>
{{ end }}

=====================================================
== File: docs/document/layouts/partials/javascript.html
=====================================================
<script src="http://cdn.bootcss.com/highlight.js/9.8.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>

=====================================================
== File: docs/document/layouts/index.html
=====================================================
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="refresh" content="0; url=https://shardingsphere.apache.org/document/current/en/overview/">
    <title>Index</title>
</head>
<body>
</body>
</html>

=====================================================
== File: docs/document/layouts/shortcodes/bilibili.html
=====================================================
<!DOCTYPE HTML>
<html>

<head>
    <style type="text/css">
        .aspect-ratio {
            position: relative;
            width: 100%;
            height: 0;
            padding-bottom: 75%;
        }

        .aspect-ratio iframe {
            position: absolute;
            width: 100%;
            height: 100%;
            left: 0;
            top: 0;
        }
    </style>
</head>

<body>
    <div class="aspect-ratio">
        <iframe
            src="https://player.bilibili.com/player.html?bvid={{.Get 0 }}&page={{ if .Get 1 }}{{.Get 1}}{{ else }}1&high_quality=1&danmaku=0{{end}}"
            scrolling="no" 
            border="0" 
            frameborder="no" 
            framespacing="0" 
            allowfullscreen="true"
            sandbox="allow-top-navigation allow-same-origin allow-forms allow-scripts"
            >
        </iframe>
    </div>
</body>

</html>

<!-- arguements &high_quality=1&danmaku=0 in src control the quality of video and bullet-screen comments-->
<!-- sandbox option avoid jumpping to bilibili.com -->

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.svg
=====================================================
<svg xmlns="http://www.w3.org/2000/svg"><metadata/><defs><font id="monogramosregular" horiz-adv-x="2132"><font-face ascent="1638" descent="-410" units-per-em="2048"/><glyph horiz-adv-x="0"/><glyph horiz-adv-x="508"/><glyph horiz-adv-x="508"/><glyph horiz-adv-x="508"/><glyph horiz-adv-x="508"/><glyph d="M172 680q0 -49 14 -49q15 0 15 24t19 24t19 9q0 10 -19 10t-19 9q0 10 24 10t24 14q0 15 -39 15q-16 0 -27 -15q-11 -14 -11 -35v-16zM186 1146q-12 -18 20 -41l60 -44q10 -7 21 -10q11 -2 22 0q10 1 20 7t17 15q6 8 9 18q1 4 2 9q1 9 9 13q4 2 8 5q8 5 14 13q7 10 10 21 q2 11 0 22q-1 10 -7 20t-15 17l-61 44q-32 23 -44 6q-13 -17 19 -41l60 -44q5 -3 6 -9t-2 -11q-4 -4 -10 -5t-10 2l-38 27q-32 24 -44 7q-13 -18 19 -41l37 -27q5 -4 6 -10t-3 -10q-3 -5 -9 -6t-11 2l-60 45q-32 23 -45 6zM258 669q0 -8 3 -15t8 -12q6 -5 13 -8t14 -3 q8 0 15 3t12 8q6 5 9 12t3 15v38q0 8 -3 15t-9 12q-5 5 -12 8q-7 4 -15 4q-7 0 -14 -4q-7 -3 -13 -8q-5 -5 -8 -12t-3 -15v-38zM287 669v38q0 4 3 7q2 3 6 3t7 -3t3 -7v-38q0 -4 -3 -7t-7 -3t-6 3q-3 3 -3 7zM334 1309q0 -11 5 -22q4 -11 12 -19l41 -40q8 -8 19 -12 q10 -5 21 -5q11 1 22 5q10 4 19 12q8 9 12 19q4 11 4 22t-4 21q-4 11 -13 19l-40 40q-9 9 -19 13q-11 4 -22 4t-21 -4q-11 -5 -19 -13q-9 -8 -13 -19q-4 -10 -4 -21zM344 680q0 -49 15 -49q14 0 14 28q0 12 3 12t7 -12q9 -28 24 -28q14 0 14 49v16q0 50 -14 50 q-15 0 -15 -29q0 -12 -3 -12q-2 0 -6 12q-10 29 -24 29q-15 0 -15 -50v-16zM377 1309q0 6 4 10t10 4t10 -4l41 -40q4 -5 4 -10q0 -6 -4 -11q-4 -4 -10 -4t-10 4l-41 41q-4 4 -4 10zM397 970q21 -21 15 -60q4 -4 25 -14q16 -8 20 -20q-12 -12 -11 -36q1 -21 -19 -29 q10 -10 30 -9q27 1 34 0q7 3 15 15q8 11 15 14q18 -5 44 -44q24 -36 40 -35q26 1 60 74q-8 15 -44 45q-31 26 -36 54q-1 11 1 32q4 26 4 34q1 38 -34 48q-11 -39 -10 -74q-12 27 -33 45q-26 21 -51 14q0 -17 14 -44q15 -28 15 -40q-8 4 -17 17q-10 14 -17 18q-37 -7 -60 -5z M402 440q16 9 23 5q2 -1 7 -6q6 -6 10 -9q12 -1 28 16q14 14 21 9q-45 -36 -39 -94q19 14 59 5q11 6 24 21q15 19 21 23q4 -4 30 -9q19 -5 19 -20q14 12 19 42q4 31 -9 47q33 36 45 39q19 -16 53 -8t41 28q-34 9 -35 30q37 69 173 -20q83 -53 90 -84q4 -20 -2 -63 q-6 -46 -3 -66q4 -30 23 -61q27 -44 31 -53q2 -13 -5 -39q18 -5 43 18q21 18 36 1q-114 -166 -232 -94q-10 -8 -39 -15q-24 -5 -31 -24q1 -1 9 -1q8 -1 12 -3q15 -5 9 -26q10 0 22 19q11 16 18 11q2 3 -31 -36q-18 -22 -14 -53q7 -7 12 2q6 12 13 13q13 -12 17 -13 q8 -2 13 13q2 -5 4 -35q2 -23 15 -25q5 29 40 25q0 -1 -1 33q0 19 11 21q-8 -18 5 -89q8 1 10 -5h5q-4 28 23 31q47 4 46 4q20 9 33 50q13 38 41 49q8 1 17 -9q6 -8 13 -1q1 38 62 125q48 70 17 133q-4 -31 -34 -35q-59 21 -50 96q9 74 64 92q21 -41 65 -61q41 -19 87 -14 q47 5 78 34q35 31 38 81q2 38 -19 76q-26 47 -31 72q8 25 55 20q-3 32 -43 34t-51 -24q-3 30 -85 97q-75 61 -64 121q6 32 43 57q41 28 81 12q6 -3 11 -18t14 -17q100 57 109 70v5q-30 43 -70 39q-17 34 -44 30q-5 -4 -10 -22q-5 -16 -15 -18q-81 -3 -129 -46 q-47 -41 -49 -107q-3 -76 64 -130q82 -67 94 -98q-14 4 -59 13q-39 7 -58 15q-57 25 -21 96q-1 1 -25 54q-32 -34 -38 -81q-5 -44 16 -82q22 -40 63 -55q45 -18 102 1q-26 -16 -18 -63q8 -48 38 -37q-8 10 -5 40q31 26 56 11q22 -14 25 -48q4 -34 -16 -56q-24 -25 -70 -16 q-35 7 -82 60q-11 12 -41 48q-25 30 -40 46q-121 126 -124 128q73 48 89 134l15 -11q10 -7 15 1q-3 15 4 81q5 57 -9 83q5 -6 17 -6q13 1 13 11q-36 110 -71 150q-59 66 -167 43l-15 -10q-91 -3 -104 -25q-8 1 28 0q16 0 17 -10q-10 2 -21 -1q-12 -4 -19 -4q-2 -20 25 -74 q8 23 26 27q15 4 31 -8q15 -11 18 -30q4 -20 -11 -39q-1 0 -4 -2q-3 -3 -6 -3q-13 1 -39 20q-17 -29 -9 -56q9 -26 38 -38q-1 21 16 33t34 2q-10 -49 -88 -66q-104 -24 -130 -43q-22 -17 -83 -91q-45 -55 -95 -68q7 -24 79 -79q-16 -11 -50 -48q-31 -33 -54 -46 q-20 24 -55 27q-37 2 -59 -22q29 7 25 -35q44 6 49 -14q-43 6 -54 4q-1 -12 -17 -27q-15 -13 -13 -32zM430 731q0 -14 12 -14t12 -43t15 -43q14 0 14 43t12 43t12 14q0 15 -38 15q-39 0 -39 -15zM443 1413q-1 -11 2 -22q2 -11 9 -20l35 -46q7 -9 17 -15q9 -5 20 -7 q11 -1 22 1q11 3 21 10q9 7 15 17q5 10 7 21q1 10 -1 21q-3 12 -10 21l-34 46q-7 9 -17 15q-10 5 -21 7q-11 1 -22 -1q-11 -3 -20 -10q-10 -7 -15 -17q-6 -10 -8 -21zM486 1407q1 6 5 10q5 3 11 3q6 -1 9 -6l35 -46q3 -5 3 -10q-1 -6 -6 -10t-11 -3t-9 6l-34 46q-4 5 -3 10z M531 257q35 6 35 -30q11 0 25 18q13 16 19 12q-41 -47 -44 -79q8 8 26 3q37 -10 28 -8q5 26 4 23q4 12 16 11q-13 -21 -15 -46q-3 -30 15 -43q3 22 20 30q27 -13 53 7q33 26 46 28q21 -21 20 -35q22 20 109 32q80 11 99 42q-51 29 -81 81q-39 66 16 97q9 2 40 -14v54l-36 27 q-17 18 -9 42q-53 39 -107 -1q-70 -53 -101 -53q-2 -25 16 -38q5 -4 17 -11q11 -6 17 -10q-1 -35 26 -74q31 -43 33 -55q-72 -18 -133 28q-64 49 -109 41q11 -3 9 -13q-5 -21 -4 -22q3 0 12 -1q9 0 12 -1q14 -2 15 -12q-27 9 -54 0t-35 -30zM567 1475l41 -82q18 -36 43 -23 q15 7 26 13q11 5 18 14t10 19q4 11 3 22q0 11 -6 22l-25 51q-6 10 -14 18q-9 7 -20 10q-10 4 -21 3q-12 0 -22 -6l-26 -13q-25 -13 -7 -48zM613 1495q3 1 6 3q5 3 11 1t8 -7l26 -51q3 -6 1 -11q-2 -6 -7 -9l-7 -3q-6 -3 -24 32l-3 6q-18 35 -11 39zM645 1024q17 -63 123 -22 q23 9 83 38q46 22 61 24q-40 9 -118 -17q-64 -21 -95 7q-8 7 3 27q8 16 -3 18q-31 -1 -47 -22t-7 -53zM685 -158q0 -11 4 -19q4 -7 11 -12q8 -5 17 -7q10 -2 21 -2q5 0 9 -4t4 -9q0 -6 -4 -9q-4 -4 -9 -4t-8 2q-1 1 -3 2q-2 3 -19 -6q-19 -10 -10 -20q5 -6 11 -10 q13 -8 29 -8q10 0 20 4t17 12q7 7 11 16q5 10 5 21t-5 18q-4 8 -11 13q-7 4 -17 6q-9 3 -20 3q-6 0 -10 3q-4 4 -4 10q0 5 4 9t10 4q4 0 7 -2q2 -1 3 -3q2 -2 19 6q20 10 10 21q-5 5 -11 9q-13 9 -28 9q-11 0 -21 -5q-10 -4 -17 -11t-11 -17q-4 -9 -4 -20zM711 1549 q-2 -11 1 -23l15 -55q3 -11 10 -20t16 -15q10 -5 21 -7t23 1q11 3 20 10q9 6 15 14q6 7 8 16q2 4 2 8q0 8 -24 10q-21 1 -22 -4q0 -3 -2 -6q-3 -5 -8 -6q-6 -2 -11 1t-7 9l-15 55q-1 6 2 11t8 7q6 1 11 -2q3 -1 5 -3q3 -5 21 7q20 13 15 20q-2 3 -5 6q-6 7 -15 11 q-9 3 -20 4t-23 -2q-11 -3 -20 -10t-14 -16q-6 -10 -7 -21zM804 -155v-59q0 -50 20 -50q19 0 19 26q0 27 7 27h7q10 0 20 4t17 11q7 8 11 17q5 10 5 21t-5 20q-4 10 -11 17t-17 11q-10 5 -20 5h-33q-20 0 -20 -50zM808 1381q21 -56 25 -149h248q-3 92 19 149q-19 -1 -37 -17 q-21 -19 -32 -23q1 -8 14 -18q11 -9 6 -26q-2 -1 -5 -3q-2 -2 -5 -2q-22 6 -54 0q-2 3 -5 10q-4 6 -5 10q1 4 11 11q8 6 8 13q-8 8 -19 30t-20 30h-5q8 4 -40 -60q0 -7 10 -17q9 -9 5 -22q-8 0 -21 -2q-16 -2 -20 -2q-21 -1 -33 14q0 8 9 15q10 7 11 14q-42 41 -65 45z M843 -158q0 13 7 13h7q5 0 9 -4t4 -9q0 -6 -4 -10q-4 -3 -9 -3h-7q-7 0 -7 13zM861 1581l3 -75q0 -12 5 -22t13 -18q8 -7 19 -11t22 -4q12 1 22 6q11 5 18 13t12 18q4 11 3 23l-3 74q-1 40 -23 39q-21 -1 -20 -41l3 -74q1 -6 -3 -11q-4 -4 -10 -4t-11 4q-4 4 -4 10l-3 74 q-2 40 -23 39q-22 -1 -20 -40zM884 9q1 3 5 11q3 7 3 9q9 -6 2 -17q-9 -15 -6 -23q-9 6 -4 20zM927 -215q-4 -49 16 -49q19 0 21 20t11 20q10 0 12 -20t22 -20t15 49l-5 60q-1 21 -14 35q-13 15 -29 15q-17 0 -30 -15q-12 -14 -14 -35zM942 1153v20q48 -4 49 -5 q-20 -11 -49 -15zM970 -171q2 26 5 26q4 0 6 -26q2 -27 -5 -27q-8 0 -6 27zM1020 1602q-3 -21 14 -24q18 -3 11 -43l-8 -48q-6 -39 15 -43q21 -3 27 36l9 48q6 40 24 37q17 -3 21 18t-36 27l-34 6q-39 7 -43 -14zM1042 -155v-59q0 -50 20 -50q19 0 19 50v59q0 50 -19 50 q-20 0 -20 -50zM1056 1168q9 4 17 -5q7 -8 10 -22q6 -36 -22 -37q15 11 13 33t-18 31zM1095 -155v-59q0 -50 19 -50q20 0 20 40q0 16 4 16t10 -16q13 -40 33 -40q19 0 19 50v59q0 50 -19 50q-20 0 -20 -40q0 -16 -4 -16t-9 16q-14 40 -34 40q-19 0 -19 -50zM1170 1457 q-14 -37 6 -44q21 -8 34 30l17 46q14 37 30 31q17 -6 24 14q8 21 -30 34l-32 12q-38 14 -45 -7q-7 -20 9 -26q17 -6 4 -43zM1244 841q12 -43 40 -59q92 9 94 -45q36 -2 39 30q43 -2 75 39v10q-16 19 -52 38q-47 25 -57 32q-10 -1 -12 -18q-2 -19 -8 -22q6 2 -119 -5z M1260 1393q4 -16 19 -24l30 -17q35 -20 45 -1q11 18 -20 36t-24 30q7 13 32 -1q25 -15 32 -2q7 12 -18 26q-25 15 -18 27t38 -5q31 -18 42 1q11 18 -24 38l-30 17q-15 8 -30 4q-16 -4 -25 -19l-45 -80q-8 -14 -4 -30zM1373 1311q16 -14 35 7q18 22 22 19q3 -3 -8 -31 q-12 -28 4 -42q17 -14 31 19q13 32 26 34q7 1 13 3q13 5 22 16q8 9 11 20q3 10 3 21q-1 11 -6 22q-5 10 -14 18l-10 9l-17 14q-16 14 -42 -16l-60 -69q-27 -30 -10 -44zM1460 1238q0 -9 5 -16q6 -7 15 -8q9 0 16 5q6 6 7 15t-5 16q-6 6 -14 7q-9 1 -16 -5t-8 -14zM1460 1367 q-5 5 4 16t15 6l5 -5q5 -4 5 -9q0 -6 -3 -11q-4 -4 -10 -5q-6 0 -11 4zM1497 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4q7 0 13 3q3 1 5 2q6 3 11 0l6 -2q6 -3 13 -3q8 0 15 4q7 3 12 8t8 12t3 15v38q0 38 -14 38q-15 0 -15 -38v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v28 q0 29 -14 29q-15 0 -15 -29v-28q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v38q0 38 -14 38t-14 -38v-38zM1507 1192q-4 -16 5 -30l19 -29q21 -34 39 -22q18 11 -1 41q-19 31 -7 38q12 8 27 -16q16 -25 28 -17t-3 32q-16 24 -4 32q13 7 32 -23t37 -19q18 12 -3 45l-19 30 q-9 14 -25 17q-16 4 -30 -5l-78 -49q-14 -9 -17 -25zM1578 1065q-4 -16 3 -31q4 -11 12 -19q9 -8 19 -12q10 -5 21 -5t22 4q11 5 17 12t8 16t0 20t-6 21q-3 6 0 11q2 6 7 8q6 2 11 0q6 -2 8 -8q2 -4 1 -8q-1 -2 -1 -4q-2 -3 13 -17q18 -15 25 -1q4 7 5 15q3 16 -3 31 q-5 11 -13 19t-18 12q-10 5 -22 5q-11 0 -22 -4q-11 -5 -16 -12q-6 -7 -8 -16t0 -20q2 -10 6 -21q2 -6 0 -11q-2 -6 -8 -8q-5 -2 -11 0q-5 2 -7 8q-2 4 -1 8q0 2 1 4q2 4 -14 17q-18 16 -25 1q-3 -7 -4 -15zM1631 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4t15 4q7 3 12 8t8 12 t3 15v38q0 8 -3 15t-8 12t-12 8t-15 3t-15 -3t-12 -8t-8 -12t-3 -15v-38zM1659 686v38q0 4 3 7t7 3t7 -3q2 -3 2 -7v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7zM1717 697q0 -50 14 -50t14 20q0 19 4 19q3 0 9 -19q7 -20 21 -20t7 23q-8 22 -2 29q3 4 5 8q4 8 4 17q0 8 -3 15 t-8 12t-12 8t-15 3h-24q-14 0 -14 -49v-16zM1745 724q0 10 5 10h5q4 0 7 -3t3 -7t-3 -7t-7 -3h-5q-5 0 -5 10zM1803 697q0 -50 14 -50q15 0 15 24t1 24q2 0 10 -24t22 -24t5 29q-10 29 0 58q9 28 -5 28t-22 -24t-10 -24q-1 0 -1 24t-15 24q-14 0 -14 -49v-16zM1889 724 q0 -8 3 -13q3 -6 8 -9q6 -4 13 -5q6 -2 14 -2q4 0 7 -2q3 -3 3 -7t-3 -7t-7 -3q-3 0 -5 2q-1 0 -2 2q-2 2 -14 -5q-14 -7 -7 -15q3 -4 8 -7q9 -6 20 -6q8 0 15 4q7 3 12 8q6 5 9 12t3 15t-3 13q-3 6 -9 9q-5 3 -12 5q-7 1 -15 1q-4 0 -6 3q-3 3 -3 7t3 7q2 3 6 3q3 0 6 -2 l2 -2q1 -2 14 5q14 7 7 15q-4 4 -8 6q-9 6 -21 6q-7 0 -14 -3t-13 -8q-5 -5 -8 -12t-3 -15z" unicode="!"/><glyph d="M172 680q0 -49 14 -49q15 0 15 24t19 24t19 9q0 10 -19 10t-19 9q0 10 24 10t24 14q0 15 -39 15q-16 0 -27 -15q-11 -14 -11 -35v-16zM186 1146q-12 -18 20 -41l60 -44q10 -7 21 -10q11 -2 22 0q10 1 20 7t17 15q6 8 9 18q1 4 2 9q1 9 9 13q4 2 8 5q8 5 14 13q7 10 10 21 q2 11 0 22q-1 10 -7 20t-15 17l-61 44q-32 23 -44 6q-13 -17 19 -41l60 -44q5 -3 6 -9t-2 -11q-4 -4 -10 -5t-10 2l-38 27q-32 24 -44 7q-13 -18 19 -41l37 -27q5 -4 6 -10t-3 -10q-3 -5 -9 -6t-11 2l-60 45q-32 23 -45 6zM258 669q0 -8 3 -15t8 -12q6 -5 13 -8t14 -3 q8 0 15 3t12 8q6 5 9 12t3 15v38q0 8 -3 15t-9 12q-5 5 -12 8q-7 4 -15 4q-7 0 -14 -4q-7 -3 -13 -8q-5 -5 -8 -12t-3 -15v-38zM287 669v38q0 4 3 7q2 3 6 3t7 -3t3 -7v-38q0 -4 -3 -7t-7 -3t-6 3q-3 3 -3 7zM334 1309q0 -11 5 -22q4 -11 12 -19l41 -40q8 -8 19 -12 q10 -5 21 -5q11 1 22 5q10 4 19 12q8 9 12 19q4 11 4 22t-4 21q-4 11 -13 19l-40 40q-9 9 -19 13q-11 4 -22 4t-21 -4q-11 -5 -19 -13q-9 -8 -13 -19q-4 -10 -4 -21zM344 680q0 -49 15 -49q14 0 14 28q0 12 3 12t7 -12q9 -28 24 -28q14 0 14 49v16q0 50 -14 50 q-15 0 -15 -29q0 -12 -3 -12q-2 0 -6 12q-10 29 -24 29q-15 0 -15 -50v-16zM377 1309q0 6 4 10t10 4t10 -4l41 -40q4 -5 4 -10q0 -6 -4 -11q-4 -4 -10 -4t-10 4l-41 41q-4 4 -4 10zM397 970q21 -21 15 -60q4 -4 25 -14q16 -8 20 -20q-12 -12 -11 -36q1 -21 -19 -29 q10 -10 30 -9q27 1 34 0q7 3 15 15q8 11 15 14q18 -5 44 -44q24 -36 40 -35q26 1 60 74q-8 15 -44 45q-31 26 -36 54q-1 11 1 32q4 26 4 34q1 38 -34 48q-11 -39 -10 -74q-12 27 -33 45q-26 21 -51 14q0 -17 14 -44q15 -28 15 -40q-8 4 -17 17q-10 14 -17 18q-37 -7 -60 -5z M402 440q16 9 23 5q2 -1 7 -6q6 -6 10 -9q12 -1 28 16q14 14 21 9q-45 -36 -39 -94q19 14 59 5q11 6 24 21q15 19 21 23q4 -4 30 -9q19 -5 19 -20q14 12 19 42q4 31 -9 47q33 36 45 39q19 -16 53 -8t41 28q-34 9 -35 30q37 69 173 -20q83 -53 90 -84q4 -20 -2 -63 q-6 -46 -3 -66q4 -30 23 -61q27 -44 31 -53q2 -13 -5 -39q18 -5 43 18q21 18 36 1q-114 -166 -232 -94q-10 -8 -39 -15q-24 -5 -31 -24q1 -1 9 -1q8 -1 12 -3q15 -5 9 -26q10 0 22 19q11 16 18 11q2 3 -31 -36q-18 -22 -14 -53q7 -7 12 2q6 12 13 13q13 -12 17 -13 q8 -2 13 13q2 -5 4 -35q2 -23 15 -25q5 29 40 25q0 -1 -1 33q0 19 11 21q-8 -18 5 -89q8 1 10 -5h5q-4 28 23 31q47 4 46 4q20 9 33 50q13 38 41 49q8 1 17 -9q6 -8 13 -1q1 38 62 125q48 70 17 133q-4 -31 -34 -35q-59 21 -50 96q9 74 64 92q21 -41 65 -61q41 -19 87 -14 q47 5 78 34q35 31 38 81q2 38 -19 76q-26 47 -31 72q8 25 55 20q-3 32 -43 34t-51 -24q-3 30 -85 97q-75 61 -64 121q6 32 43 57q41 28 81 12q6 -3 11 -18t14 -17q100 57 109 70v5q-30 43 -70 39q-17 34 -44 30q-5 -4 -10 -22q-5 -16 -15 -18q-81 -3 -129 -46 q-47 -41 -49 -107q-3 -76 64 -130q82 -67 94 -98q-14 4 -59 13q-39 7 -58 15q-57 25 -21 96q-1 1 -25 54q-32 -34 -38 -81q-5 -44 16 -82q22 -40 63 -55q45 -18 102 1q-26 -16 -18 -63q8 -48 38 -37q-8 10 -5 40q31 26 56 11q22 -14 25 -48q4 -34 -16 -56q-24 -25 -70 -16 q-35 7 -82 60q-11 12 -41 48q-25 30 -40 46q-121 126 -124 128q73 48 89 134l15 -11q10 -7 15 1q-3 15 4 81q5 57 -9 83q5 -6 17 -6q13 1 13 11q-36 110 -71 150q-59 66 -167 43l-15 -10q-91 -3 -104 -25q-8 1 28 0q16 0 17 -10q-10 2 -21 -1q-12 -4 -19 -4q-2 -20 25 -74 q8 23 26 27q15 4 31 -8q15 -11 18 -30q4 -20 -11 -39q-1 0 -4 -2q-3 -3 -6 -3q-13 1 -39 20q-17 -29 -9 -56q9 -26 38 -38q-1 21 16 33t34 2q-10 -49 -88 -66q-104 -24 -130 -43q-22 -17 -83 -91q-45 -55 -95 -68q7 -24 79 -79q-16 -11 -50 -48q-31 -33 -54 -46 q-20 24 -55 27q-37 2 -59 -22q29 7 25 -35q44 6 49 -14q-43 6 -54 4q-1 -12 -17 -27q-15 -13 -13 -32zM430 731q0 -14 12 -14t12 -43t15 -43q14 0 14 43t12 43t12 14q0 15 -38 15q-39 0 -39 -15zM443 1413q-1 -11 2 -22q2 -11 9 -20l35 -46q7 -9 17 -15q9 -5 20 -7 q11 -1 22 1q11 3 21 10q9 7 15 17q5 10 7 21q1 10 -1 21q-3 12 -10 21l-34 46q-7 9 -17 15q-10 5 -21 7q-11 1 -22 -1q-11 -3 -20 -10q-10 -7 -15 -17q-6 -10 -8 -21zM486 1407q1 6 5 10q5 3 11 3q6 -1 9 -6l35 -46q3 -5 3 -10q-1 -6 -6 -10t-11 -3t-9 6l-34 46q-4 5 -3 10z M531 257q35 6 35 -30q11 0 25 18q13 16 19 12q-41 -47 -44 -79q8 8 26 3q37 -10 28 -8q5 26 4 23q4 12 16 11q-13 -21 -15 -46q-3 -30 15 -43q3 22 20 30q27 -13 53 7q33 26 46 28q21 -21 20 -35q22 20 109 32q80 11 99 42q-51 29 -81 81q-39 66 16 97q9 2 40 -14v54l-36 27 q-17 18 -9 42q-53 39 -107 -1q-70 -53 -101 -53q-2 -25 16 -38q5 -4 17 -11q11 -6 17 -10q-1 -35 26 -74q31 -43 33 -55q-72 -18 -133 28q-64 49 -109 41q11 -3 9 -13q-5 -21 -4 -22q3 0 12 -1q9 0 12 -1q14 -2 15 -12q-27 9 -54 0t-35 -30zM567 1475l41 -82q18 -36 43 -23 q15 7 26 13q11 5 18 14t10 19q4 11 3 22q0 11 -6 22l-25 51q-6 10 -14 18q-9 7 -20 10q-10 4 -21 3q-12 0 -22 -6l-26 -13q-25 -13 -7 -48zM613 1495q3 1 6 3q5 3 11 1t8 -7l26 -51q3 -6 1 -11q-2 -6 -7 -9l-7 -3q-6 -3 -24 32l-3 6q-18 35 -11 39zM645 1024q17 -63 123 -22 q23 9 83 38q46 22 61 24q-40 9 -118 -17q-64 -21 -95 7q-8 7 3 27q8 16 -3 18q-31 -1 -47 -22t-7 -53zM685 -158q0 -11 4 -19q4 -7 11 -12q8 -5 17 -7q10 -2 21 -2q5 0 9 -4t4 -9q0 -6 -4 -9q-4 -4 -9 -4t-8 2q-1 1 -3 2q-2 3 -19 -6q-19 -10 -10 -20q5 -6 11 -10 q13 -8 29 -8q10 0 20 4t17 12q7 7 11 16q5 10 5 21t-5 18q-4 8 -11 13q-7 4 -17 6q-9 3 -20 3q-6 0 -10 3q-4 4 -4 10q0 5 4 9t10 4q4 0 7 -2q2 -1 3 -3q2 -2 19 6q20 10 10 21q-5 5 -11 9q-13 9 -28 9q-11 0 -21 -5q-10 -4 -17 -11t-11 -17q-4 -9 -4 -20zM711 1549 q-2 -11 1 -23l15 -55q3 -11 10 -20t16 -15q10 -5 21 -7t23 1q11 3 20 10q9 6 15 14q6 7 8 16q2 4 2 8q0 8 -24 10q-21 1 -22 -4q0 -3 -2 -6q-3 -5 -8 -6q-6 -2 -11 1t-7 9l-15 55q-1 6 2 11t8 7q6 1 11 -2q3 -1 5 -3q3 -5 21 7q20 13 15 20q-2 3 -5 6q-6 7 -15 11 q-9 3 -20 4t-23 -2q-11 -3 -20 -10t-14 -16q-6 -10 -7 -21zM804 -155v-59q0 -50 20 -50q19 0 19 26q0 27 7 27h7q10 0 20 4t17 11q7 8 11 17q5 10 5 21t-5 20q-4 10 -11 17t-17 11q-10 5 -20 5h-33q-20 0 -20 -50zM808 1381q21 -56 25 -149h248q-3 92 19 149q-19 -1 -37 -17 q-21 -19 -32 -23q1 -8 14 -18q11 -9 6 -26q-2 -1 -5 -3q-2 -2 -5 -2q-22 6 -54 0q-2 3 -5 10q-4 6 -5 10q1 4 11 11q8 6 8 13q-8 8 -19 30t-20 30h-5q8 4 -40 -60q0 -7 10 -17q9 -9 5 -22q-8 0 -21 -2q-16 -2 -20 -2q-21 -1 -33 14q0 8 9 15q10 7 11 14q-42 41 -65 45z M843 -158q0 13 7 13h7q5 0 9 -4t4 -9q0 -6 -4 -10q-4 -3 -9 -3h-7q-7 0 -7 13zM861 1581l3 -75q0 -12 5 -22t13 -18q8 -7 19 -11t22 -4q12 1 22 6q11 5 18 13t12 18q4 11 3 23l-3 74q-1 40 -23 39q-21 -1 -20 -41l3 -74q1 -6 -3 -11q-4 -4 -10 -4t-11 4q-4 4 -4 10l-3 74 q-2 40 -23 39q-22 -1 -20 -40zM884 9q1 3 5 11q3 7 3 9q9 -6 2 -17q-9 -15 -6 -23q-9 6 -4 20zM927 -215q-4 -49 16 -49q19 0 21 20t11 20q10 0 12 -20t22 -20t15 49l-5 60q-1 21 -14 35q-13 15 -29 15q-17 0 -30 -15q-12 -14 -14 -35zM942 1153v20q48 -4 49 -5 q-20 -11 -49 -15zM970 -171q2 26 5 26q4 0 6 -26q2 -27 -5 -27q-8 0 -6 27zM1020 1602q-3 -21 14 -24q18 -3 11 -43l-8 -48q-6 -39 15 -43q21 -3 27 36l9 48q6 40 24 37q17 -3 21 18t-36 27l-34 6q-39 7 -43 -14zM1042 -155v-59q0 -50 20 -50q19 0 19 50v59q0 50 -19 50 q-20 0 -20 -50zM1056 1168q9 4 17 -5q7 -8 10 -22q6 -36 -22 -37q15 11 13 33t-18 31zM1095 -155v-59q0 -50 19 -50q20 0 20 40q0 16 4 16t10 -16q13 -40 33 -40q19 0 19 50v59q0 50 -19 50q-20 0 -20 -40q0 -16 -4 -16t-9 16q-14 40 -34 40q-19 0 -19 -50zM1170 1457 q-14 -37 6 -44q21 -8 34 30l17 46q14 37 30 31q17 -6 24 14q8 21 -30 34l-32 12q-38 14 -45 -7q-7 -20 9 -26q17 -6 4 -43zM1244 841q12 -43 40 -59q92 9 94 -45q36 -2 39 30q43 -2 75 39v10q-16 19 -52 38q-47 25 -57 32q-10 -1 -12 -18q-2 -19 -8 -22q6 2 -119 -5z M1260 1393q4 -16 19 -24l30 -17q35 -20 45 -1q11 18 -20 36t-24 30q7 13 32 -1q25 -15 32 -2q7 12 -18 26q-25 15 -18 27t38 -5q31 -18 42 1q11 18 -24 38l-30 17q-15 8 -30 4q-16 -4 -25 -19l-45 -80q-8 -14 -4 -30zM1373 1311q16 -14 35 7q18 22 22 19q3 -3 -8 -31 q-12 -28 4 -42q17 -14 31 19q13 32 26 34q7 1 13 3q13 5 22 16q8 9 11 20q3 10 3 21q-1 11 -6 22q-5 10 -14 18l-10 9l-17 14q-16 14 -42 -16l-60 -69q-27 -30 -10 -44zM1460 1238q0 -9 5 -16q6 -7 15 -8q9 0 16 5q6 6 7 15t-5 16q-6 6 -14 7q-9 1 -16 -5t-8 -14zM1460 1367 q-5 5 4 16t15 6l5 -5q5 -4 5 -9q0 -6 -3 -11q-4 -4 -10 -5q-6 0 -11 4zM1497 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4q7 0 13 3q3 1 5 2q6 3 11 0l6 -2q6 -3 13 -3q8 0 15 4q7 3 12 8t8 12t3 15v38q0 38 -14 38q-15 0 -15 -38v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v28 q0 29 -14 29q-15 0 -15 -29v-28q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v38q0 38 -14 38t-14 -38v-38zM1507 1192q-4 -16 5 -30l19 -29q21 -34 39 -22q18 11 -1 41q-19 31 -7 38q12 8 27 -16q16 -25 28 -17t-3 32q-16 24 -4 32q13 7 32 -23t37 -19q18 12 -3 45l-19 30 q-9 14 -25 17q-16 4 -30 -5l-78 -49q-14 -9 -17 -25zM1578 1065q-4 -16 3 -31q4 -11 12 -19q9 -8 19 -12q10 -5 21 -5t22 4q11 5 17 12t8 16t0 20t-6 21q-3 6 0 11q2 6 7 8q6 2 11 0q6 -2 8 -8q2 -4 1 -8q-1 -2 -1 -4q-2 -3 13 -17q18 -15 25 -1q4 7 5 15q3 16 -3 31 q-5 11 -13 19t-18 12q-10 5 -22 5q-11 0 -22 -4q-11 -5 -16 -12q-6 -7 -8 -16t0 -20q2 -10 6 -21q2 -6 0 -11q-2 -6 -8 -8q-5 -2 -11 0q-5 2 -7 8q-2 4 -1 8q0 2 1 4q2 4 -14 17q-18 16 -25 1q-3 -7 -4 -15zM1631 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4t15 4q7 3 12 8t8 12 t3 15v38q0 8 -3 15t-8 12t-12 8t-15 3t-15 -3t-12 -8t-8 -12t-3 -15v-38zM1659 686v38q0 4 3 7t7 3t7 -3q2 -3 2 -7v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7zM1717 697q0 -50 14 -50t14 20q0 19 4 19q3 0 9 -19q7 -20 21 -20t7 23q-8 22 -2 29q3 4 5 8q4 8 4 17q0 8 -3 15 t-8 12t-12 8t-15 3h-24q-14 0 -14 -49v-16zM1745 724q0 10 5 10h5q4 0 7 -3t3 -7t-3 -7t-7 -3h-5q-5 0 -5 10zM1803 697q0 -50 14 -50q15 0 15 24t1 24q2 0 10 -24t22 -24t5 29q-10 29 0 58q9 28 -5 28t-22 -24t-10 -24q-1 0 -1 24t-15 24q-14 0 -14 -49v-16zM1889 724 q0 -8 3 -13q3 -6 8 -9q6 -4 13 -5q6 -2 14 -2q4 0 7 -2q3 -3 3 -7t-3 -7t-7 -3q-3 0 -5 2q-1 0 -2 2q-2 2 -14 -5q-14 -7 -7 -15q3 -4 8 -7q9 -6 20 -6q8 0 15 4q7 3 12 8q6 5 9 12t3 15t-3 13q-3 6 -9 9q-5 3 -12 5q-7 1 -15 1q-4 0 -6 3q-3 3 -3 7t3 7q2 3 6 3q3 0 6 -2 l2 -2q1 -2 14 5q14 7 7 15q-4 4 -8 6q-9 6 -21 6q-7 0 -14 -3t-13 -8q-5 -5 -8 -12t-3 -15z" unicode="&quot;"/><glyph d="M172 680q0 -49 14 -49q15 0 15 24t19 24t19 9q0 10 -19 10t-19 9q0 10 24 10t24 14q0 15 -39 15q-16 0 -27 -15q-11 -14 -11 -35v-16zM186 1146q-12 -18 20 -41l60 -44q10 -7 21 -10q11 -2 22 0q10 1 20 7t17 15q6 8 9 18q1 4 2 9q1 9 9 13q4 2 8 5q8 5 14 13q7 10 10 21 q2 11 0 22q-1 10 -7 20t-15 17l-61 44q-32 23 -44 6q-13 -17 19 -41l60 -44q5 -3 6 -9t-2 -11q-4 -4 -10 -5t-10 2l-38 27q-32 24 -44 7q-13 -18 19 -41l37 -27q5 -4 6 -10t-3 -10q-3 -5 -9 -6t-11 2l-60 45q-32 23 -45 6zM258 669q0 -8 3 -15t8 -12q6 -5 13 -8t14 -3 q8 0 15 3t12 8q6 5 9 12t3 15v38q0 8 -3 15t-9 12q-5 5 -12 8q-7 4 -15 4q-7 0 -14 -4q-7 -3 -13 -8q-5 -5 -8 -12t-3 -15v-38zM287 669v38q0 4 3 7q2 3 6 3t7 -3t3 -7v-38q0 -4 -3 -7t-7 -3t-6 3q-3 3 -3 7zM334 1309q0 -11 5 -22q4 -11 12 -19l41 -40q8 -8 19 -12 q10 -5 21 -5q11 1 22 5q10 4 19 12q8 9 12 19q4 11 4 22t-4 21q-4 11 -13 19l-40 40q-9 9 -19 13q-11 4 -22 4t-21 -4q-11 -5 -19 -13q-9 -8 -13 -19q-4 -10 -4 -21zM344 680q0 -49 15 -49q14 0 14 28q0 12 3 12t7 -12q9 -28 24 -28q14 0 14 49v16q0 50 -14 50 q-15 0 -15 -29q0 -12 -3 -12q-2 0 -6 12q-10 29 -24 29q-15 0 -15 -50v-16zM377 1309q0 6 4 10t10 4t10 -4l41 -40q4 -5 4 -10q0 -6 -4 -11q-4 -4 -10 -4t-10 4l-41 41q-4 4 -4 10zM397 970q21 -21 15 -60q4 -4 25 -14q16 -8 20 -20q-12 -12 -11 -36q1 -21 -19 -29 q10 -10 30 -9q27 1 34 0q7 3 15 15q8 11 15 14q18 -5 44 -44q24 -36 40 -35q26 1 60 74q-8 15 -44 45q-31 26 -36 54q-1 11 1 32q4 26 4 34q1 38 -34 48q-11 -39 -10 -74q-12 27 -33 45q-26 21 -51 14q0 -17 14 -44q15 -28 15 -40q-8 4 -17 17q-10 14 -17 18q-37 -7 -60 -5z M402 440q16 9 23 5q2 -1 7 -6q6 -6 10 -9q12 -1 28 16q14 14 21 9q-45 -36 -39 -94q19 14 59 5q11 6 24 21q15 19 21 23q4 -4 30 -9q19 -5 19 -20q14 12 19 42q4 31 -9 47q33 36 45 39q19 -16 53 -8t41 28q-34 9 -35 30q37 69 173 -20q83 -53 90 -84q4 -20 -2 -63 q-6 -46 -3 -66q4 -30 23 -61q27 -44 31 -53q2 -13 -5 -39q18 -5 43 18q21 18 36 1q-114 -166 -232 -94q-10 -8 -39 -15q-24 -5 -31 -24q1 -1 9 -1q8 -1 12 -3q15 -5 9 -26q10 0 22 19q11 16 18 11q2 3 -31 -36q-18 -22 -14 -53q7 -7 12 2q6 12 13 13q13 -12 17 -13 q8 -2 13 13q2 -5 4 -35q2 -23 15 -25q5 29 40 25q0 -1 -1 33q0 19 11 21q-8 -18 5 -89q8 1 10 -5h5q-4 28 23 31q47 4 46 4q20 9 33 50q13 38 41 49q8 1 17 -9q6 -8 13 -1q1 38 62 125q48 70 17 133q-4 -31 -34 -35q-59 21 -50 96q9 74 64 92q21 -41 65 -61q41 -19 87 -14 q47 5 78 34q35 31 38 81q2 38 -19 76q-26 47 -31 72q8 25 55 20q-3 32 -43 34t-51 -24q-3 30 -85 97q-75 61 -64 121q6 32 43 57q41 28 81 12q6 -3 11 -18t14 -17q100 57 109 70v5q-30 43 -70 39q-17 34 -44 30q-5 -4 -10 -22q-5 -16 -15 -18q-81 -3 -129 -46 q-47 -41 -49 -107q-3 -76 64 -130q82 -67 94 -98q-14 4 -59 13q-39 7 -58 15q-57 25 -21 96q-1 1 -25 54q-32 -34 -38 -81q-5 -44 16 -82q22 -40 63 -55q45 -18 102 1q-26 -16 -18 -63q8 -48 38 -37q-8 10 -5 40q31 26 56 11q22 -14 25 -48q4 -34 -16 -56q-24 -25 -70 -16 q-35 7 -82 60q-11 12 -41 48q-25 30 -40 46q-121 126 -124 128q73 48 89 134l15 -11q10 -7 15 1q-3 15 4 81q5 57 -9 83q5 -6 17 -6q13 1 13 11q-36 110 -71 150q-59 66 -167 43l-15 -10q-91 -3 -104 -25q-8 1 28 0q16 0 17 -10q-10 2 -21 -1q-12 -4 -19 -4q-2 -20 25 -74 q8 23 26 27q15 4 31 -8q15 -11 18 -30q4 -20 -11 -39q-1 0 -4 -2q-3 -3 -6 -3q-13 1 -39 20q-17 -29 -9 -56q9 -26 38 -38q-1 21 16 33t34 2q-10 -49 -88 -66q-104 -24 -130 -43q-22 -17 -83 -91q-45 -55 -95 -68q7 -24 79 -79q-16 -11 -50 -48q-31 -33 -54 -46 q-20 24 -55 27q-37 2 -59 -22q29 7 25 -35q44 6 49 -14q-43 6 -54 4q-1 -12 -17 -27q-15 -13 -13 -32zM430 731q0 -14 12 -14t12 -43t15 -43q14 0 14 43t12 43t12 14q0 15 -38 15q-39 0 -39 -15zM443 1413q-1 -11 2 -22q2 -11 9 -20l35 -46q7 -9 17 -15q9 -5 20 -7 q11 -1 22 1q11 3 21 10q9 7 15 17q5 10 7 21q1 10 -1 21q-3 12 -10 21l-34 46q-7 9 -17 15q-10 5 -21 7q-11 1 -22 -1q-11 -3 -20 -10q-10 -7 -15 -17q-6 -10 -8 -21zM486 1407q1 6 5 10q5 3 11 3q6 -1 9 -6l35 -46q3 -5 3 -10q-1 -6 -6 -10t-11 -3t-9 6l-34 46q-4 5 -3 10z M531 257q35 6 35 -30q11 0 25 18q13 16 19 12q-41 -47 -44 -79q8 8 26 3q37 -10 28 -8q5 26 4 23q4 12 16 11q-13 -21 -15 -46q-3 -30 15 -43q3 22 20 30q27 -13 53 7q33 26 46 28q21 -21 20 -35q22 20 109 32q80 11 99 42q-51 29 -81 81q-39 66 16 97q9 2 40 -14v54l-36 27 q-17 18 -9 42q-53 39 -107 -1q-70 -53 -101 -53q-2 -25 16 -38q5 -4 17 -11q11 -6 17 -10q-1 -35 26 -74q31 -43 33 -55q-72 -18 -133 28q-64 49 -109 41q11 -3 9 -13q-5 -21 -4 -22q3 0 12 -1q9 0 12 -1q14 -2 15 -12q-27 9 -54 0t-35 -30zM567 1475l41 -82q18 -36 43 -23 q15 7 26 13q11 5 18 14t10 19q4 11 3 22q0 11 -6 22l-25 51q-6 10 -14 18q-9 7 -20 10q-10 4 -21 3q-12 0 -22 -6l-26 -13q-25 -13 -7 -48zM613 1495q3 1 6 3q5 3 11 1t8 -7l26 -51q3 -6 1 -11q-2 -6 -7 -9l-7 -3q-6 -3 -24 32l-3 6q-18 35 -11 39zM645 1024q17 -63 123 -22 q23 9 83 38q46 22 61 24q-40 9 -118 -17q-64 -21 -95 7q-8 7 3 27q8 16 -3 18q-31 -1 -47 -22t-7 -53zM685 -158q0 -11 4 -19q4 -7 11 -12q8 -5 17 -7q10 -2 21 -2q5 0 9 -4t4 -9q0 -6 -4 -9q-4 -4 -9 -4t-8 2q-1 1 -3 2q-2 3 -19 -6q-19 -10 -10 -20q5 -6 11 -10 q13 -8 29 -8q10 0 20 4t17 12q7 7 11 16q5 10 5 21t-5 18q-4 8 -11 13q-7 4 -17 6q-9 3 -20 3q-6 0 -10 3q-4 4 -4 10q0 5 4 9t10 4q4 0 7 -2q2 -1 3 -3q2 -2 19 6q20 10 10 21q-5 5 -11 9q-13 9 -28 9q-11 0 -21 -5q-10 -4 -17 -11t-11 -17q-4 -9 -4 -20zM711 1549 q-2 -11 1 -23l15 -55q3 -11 10 -20t16 -15q10 -5 21 -7t23 1q11 3 20 10q9 6 15 14q6 7 8 16q2 4 2 8q0 8 -24 10q-21 1 -22 -4q0 -3 -2 -6q-3 -5 -8 -6q-6 -2 -11 1t-7 9l-15 55q-1 6 2 11t8 7q6 1 11 -2q3 -1 5 -3q3 -5 21 7q20 13 15 20q-2 3 -5 6q-6 7 -15 11 q-9 3 -20 4t-23 -2q-11 -3 -20 -10t-14 -16q-6 -10 -7 -21zM804 -155v-59q0 -50 20 -50q19 0 19 26q0 27 7 27h7q10 0 20 4t17 11q7 8 11 17q5 10 5 21t-5 20q-4 10 -11 17t-17 11q-10 5 -20 5h-33q-20 0 -20 -50zM808 1381q21 -56 25 -149h248q-3 92 19 149q-19 -1 -37 -17 q-21 -19 -32 -23q1 -8 14 -18q11 -9 6 -26q-2 -1 -5 -3q-2 -2 -5 -2q-22 6 -54 0q-2 3 -5 10q-4 6 -5 10q1 4 11 11q8 6 8 13q-8 8 -19 30t-20 30h-5q8 4 -40 -60q0 -7 10 -17q9 -9 5 -22q-8 0 -21 -2q-16 -2 -20 -2q-21 -1 -33 14q0 8 9 15q10 7 11 14q-42 41 -65 45z M843 -158q0 13 7 13h7q5 0 9 -4t4 -9q0 -6 -4 -10q-4 -3 -9 -3h-7q-7 0 -7 13zM861 1581l3 -75q0 -12 5 -22t13 -18q8 -7 19 -11t22 -4q12 1 22 6q11 5 18 13t12 18q4 11 3 23l-3 74q-1 40 -23 39q-21 -1 -20 -41l3 -74q1 -6 -3 -11q-4 -4 -10 -4t-11 4q-4 4 -4 10l-3 74 q-2 40 -23 39q-22 -1 -20 -40zM884 9q1 3 5 11q3 7 3 9q9 -6 2 -17q-9 -15 -6 -23q-9 6 -4 20zM927 -215q-4 -49 16 -49q19 0 21 20t11 20q10 0 12 -20t22 -20t15 49l-5 60q-1 21 -14 35q-13 15 -29 15q-17 0 -30 -15q-12 -14 -14 -35zM942 1153v20q48 -4 49 -5 q-20 -11 -49 -15zM970 -171q2 26 5 26q4 0 6 -26q2 -27 -5 -27q-8 0 -6 27zM1020 1602q-3 -21 14 -24q18 -3 11 -43l-8 -48q-6 -39 15 -43q21 -3 27 36l9 48q6 40 24 37q17 -3 21 18t-36 27l-34 6q-39 7 -43 -14zM1042 -155v-59q0 -50 20 -50q19 0 19 50v59q0 50 -19 50 q-20 0 -20 -50zM1056 1168q9 4 17 -5q7 -8 10 -22q6 -36 -22 -37q15 11 13 33t-18 31zM1095 -155v-59q0 -50 19 -50q20 0 20 40q0 16 4 16t10 -16q13 -40 33 -40q19 0 19 50v59q0 50 -19 50q-20 0 -20 -40q0 -16 -4 -16t-9 16q-14 40 -34 40q-19 0 -19 -50zM1170 1457 q-14 -37 6 -44q21 -8 34 30l17 46q14 37 30 31q17 -6 24 14q8 21 -30 34l-32 12q-38 14 -45 -7q-7 -20 9 -26q17 -6 4 -43zM1244 841q12 -43 40 -59q92 9 94 -45q36 -2 39 30q43 -2 75 39v10q-16 19 -52 38q-47 25 -57 32q-10 -1 -12 -18q-2 -19 -8 -22q6 2 -119 -5z M1260 1393q4 -16 19 -24l30 -17q35 -20 45 -1q11 18 -20 36t-24 30q7 13 32 -1q25 -15 32 -2q7 12 -18 26q-25 15 -18 27t38 -5q31 -18 42 1q11 18 -24 38l-30 17q-15 8 -30 4q-16 -4 -25 -19l-45 -80q-8 -14 -4 -30zM1373 1311q16 -14 35 7q18 22 22 19q3 -3 -8 -31 q-12 -28 4 -42q17 -14 31 19q13 32 26 34q7 1 13 3q13 5 22 16q8 9 11 20q3 10 3 21q-1 11 -6 22q-5 10 -14 18l-10 9l-17 14q-16 14 -42 -16l-60 -69q-27 -30 -10 -44zM1460 1238q0 -9 5 -16q6 -7 15 -8q9 0 16 5q6 6 7 15t-5 16q-6 6 -14 7q-9 1 -16 -5t-8 -14zM1460 1367 q-5 5 4 16t15 6l5 -5q5 -4 5 -9q0 -6 -3 -11q-4 -4 -10 -5q-6 0 -11 4zM1497 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4q7 0 13 3q3 1 5 2q6 3 11 0l6 -2q6 -3 13 -3q8 0 15 4q7 3 12 8t8 12t3 15v38q0 38 -14 38q-15 0 -15 -38v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v28 q0 29 -14 29q-15 0 -15 -29v-28q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v38q0 38 -14 38t-14 -38v-38zM1507 1192q-4 -16 5 -30l19 -29q21 -34 39 -22q18 11 -1 41q-19 31 -7 38q12 8 27 -16q16 -25 28 -17t-3 32q-16 24 -4 32q13 7 32 -23t37 -19q18 12 -3 45l-19 30 q-9 14 -25 17q-16 4 -30 -5l-78 -49q-14 -9 -17 -25zM1578 1065q-4 -16 3 -31q4 -11 12 -19q9 -8 19 -12q10 -5 21 -5t22 4q11 5 17 12t8 16t0 20t-6 21q-3 6 0 11q2 6 7 8q6 2 11 0q6 -2 8 -8q2 -4 1 -8q-1 -2 -1 -4q-2 -3 13 -17q18 -15 25 -1q4 7 5 15q3 16 -3 31 q-5 11 -13 19t-18 12q-10 5 -22 5q-11 0 -22 -4q-11 -5 -16 -12q-6 -7 -8 -16t0 -20q2 -10 6 -21q2 -6 0 -11q-2 -6 -8 -8q-5 -2 -11 0q-5 2 -7 8q-2 4 -1 8q0 2 1 4q2 4 -14 17q-18 16 -25 1q-3 -7 -4 -15zM1631 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4t15 4q7 3 12 8t8 12 t3 15v38q0 8 -3 15t-8 12t-12 8t-15 3t-15 -3t-12 -8t-8 -12t-3 -15v-38zM1659 686v38q0 4 3 7t7 3t7 -3q2 -3 2 -7v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7zM1717 697q0 -50 14 -50t14 20q0 19 4 19q3 0 9 -19q7 -20 21 -20t7 23q-8 22 -2 29q3 4 5 8q4 8 4 17q0 8 -3 15 t-8 12t-12 8t-15 3h-24q-14 0 -14 -49v-16zM1745 724q0 10 5 10h5q4 0 7 -3t3 -7t-3 -7t-7 -3h-5q-5 0 -5 10zM1803 697q0 -50 14 -50q15 0 15 24t1 24q2 0 10 -24t22 -24t5 29q-10 29 0 58q9 28 -5 28t-22 -24t-10 -24q-1 0 -1 24t-15 24q-14 0 -14 -49v-16zM1889 724 q0 -8 3 -13q3 -6 8 -9q6 -4 13 -5q6 -2 14 -2q4 0 7 -2q3 -3 3 -7t-3 -7t-7 -3q-3 0 -5 2q-1 0 -2 2q-2 2 -14 -5q-14 -7 -7 -15q3 -4 8 -7q9 -6 20 -6q8 0 15 4q7 3 12 8q6 5 9 12t3 15t-3 13q-3 6 -9 9q-5 3 -12 5q-7 1 -15 1q-4 0 -6 3q-3 3 -3 7t3 7q2 3 6 3q3 0 6 -2 l2 -2q1 -2 14 5q14 7 7 15q-4 4 -8 6q-9 6 -21 6q-7 0 -14 -3t-13 -8q-5 -5 -8 -12t-3 -15z" unicode="#"/><glyph d="M172 680q0 -49 14 -49q15 0 15 24t19 24t19 9q0 10 -19 10t-19 9q0 10 24 10t24 14q0 15 -39 15q-16 0 -27 -15q-11 -14 -11 -35v-16zM186 1146q-12 -18 20 -41l60 -44q10 -7 21 -10q11 -2 22 0q10 1 20 7t17 15q6 8 9 18q1 4 2 9q1 9 9 13q4 2 8 5q8 5 14 13q7 10 10 21 q2 11 0 22q-1 10 -7 20t-15 17l-61 44q-32 23 -44 6q-13 -17 19 -41l60 -44q5 -3 6 -9t-2 -11q-4 -4 -10 -5t-10 2l-38 27q-32 24 -44 7q-13 -18 19 -41l37 -27q5 -4 6 -10t-3 -10q-3 -5 -9 -6t-11 2l-60 45q-32 23 -45 6zM258 669q0 -8 3 -15t8 -12q6 -5 13 -8t14 -3 q8 0 15 3t12 8q6 5 9 12t3 15v38q0 8 -3 15t-9 12q-5 5 -12 8q-7 4 -15 4q-7 0 -14 -4q-7 -3 -13 -8q-5 -5 -8 -12t-3 -15v-38zM287 669v38q0 4 3 7q2 3 6 3t7 -3t3 -7v-38q0 -4 -3 -7t-7 -3t-6 3q-3 3 -3 7zM334 1309q0 -11 5 -22q4 -11 12 -19l41 -40q8 -8 19 -12 q10 -5 21 -5q11 1 22 5q10 4 19 12q8 9 12 19q4 11 4 22t-4 21q-4 11 -13 19l-40 40q-9 9 -19 13q-11 4 -22 4t-21 -4q-11 -5 -19 -13q-9 -8 -13 -19q-4 -10 -4 -21zM344 680q0 -49 15 -49q14 0 14 28q0 12 3 12t7 -12q9 -28 24 -28q14 0 14 49v16q0 50 -14 50 q-15 0 -15 -29q0 -12 -3 -12q-2 0 -6 12q-10 29 -24 29q-15 0 -15 -50v-16zM377 1309q0 6 4 10t10 4t10 -4l41 -40q4 -5 4 -10q0 -6 -4 -11q-4 -4 -10 -4t-10 4l-41 41q-4 4 -4 10zM397 970q21 -21 15 -60q4 -4 25 -14q16 -8 20 -20q-12 -12 -11 -36q1 -21 -19 -29 q10 -10 30 -9q27 1 34 0q7 3 15 15q8 11 15 14q18 -5 44 -44q24 -36 40 -35q26 1 60 74q-8 15 -44 45q-31 26 -36 54q-1 11 1 32q4 26 4 34q1 38 -34 48q-11 -39 -10 -74q-12 27 -33 45q-26 21 -51 14q0 -17 14 -44q15 -28 15 -40q-8 4 -17 17q-10 14 -17 18q-37 -7 -60 -5z M402 440q16 9 23 5q2 -1 7 -6q6 -6 10 -9q12 -1 28 16q14 14 21 9q-45 -36 -39 -94q19 14 59 5q11 6 24 21q15 19 21 23q4 -4 30 -9q19 -5 19 -20q14 12 19 42q4 31 -9 47q33 36 45 39q19 -16 53 -8t41 28q-34 9 -35 30q37 69 173 -20q83 -53 90 -84q4 -20 -2 -63 q-6 -46 -3 -66q4 -30 23 -61q27 -44 31 -53q2 -13 -5 -39q18 -5 43 18q21 18 36 1q-114 -166 -232 -94q-10 -8 -39 -15q-24 -5 -31 -24q1 -1 9 -1q8 -1 12 -3q15 -5 9 -26q10 0 22 19q11 16 18 11q2 3 -31 -36q-18 -22 -14 -53q7 -7 12 2q6 12 13 13q13 -12 17 -13 q8 -2 13 13q2 -5 4 -35q2 -23 15 -25q5 29 40 25q0 -1 -1 33q0 19 11 21q-8 -18 5 -89q8 1 10 -5h5q-4 28 23 31q47 4 46 4q20 9 33 50q13 38 41 49q8 1 17 -9q6 -8 13 -1q1 38 62 125q48 70 17 133q-4 -31 -34 -35q-59 21 -50 96q9 74 64 92q21 -41 65 -61q41 -19 87 -14 q47 5 78 34q35 31 38 81q2 38 -19 76q-26 47 -31 72q8 25 55 20q-3 32 -43 34t-51 -24q-3 30 -85 97q-75 61 -64 121q6 32 43 57q41 28 81 12q6 -3 11 -18t14 -17q100 57 109 70v5q-30 43 -70 39q-17 34 -44 30q-5 -4 -10 -22q-5 -16 -15 -18q-81 -3 -129 -46 q-47 -41 -49 -107q-3 -76 64 -130q82 -67 94 -98q-14 4 -59 13q-39 7 -58 15q-57 25 -21 96q-1 1 -25 54q-32 -34 -38 -81q-5 -44 16 -82q22 -40 63 -55q45 -18 102 1q-26 -16 -18 -63q8 -48 38 -37q-8 10 -5 40q31 26 56 11q22 -14 25 -48q4 -34 -16 -56q-24 -25 -70 -16 q-35 7 -82 60q-11 12 -41 48q-25 30 -40 46q-121 126 -124 128q73 48 89 134l15 -11q10 -7 15 1q-3 15 4 81q5 57 -9 83q5 -6 17 -6q13 1 13 11q-36 110 -71 150q-59 66 -167 43l-15 -10q-91 -3 -104 -25q-8 1 28 0q16 0 17 -10q-10 2 -21 -1q-12 -4 -19 -4q-2 -20 25 -74 q8 23 26 27q15 4 31 -8q15 -11 18 -30q4 -20 -11 -39q-1 0 -4 -2q-3 -3 -6 -3q-13 1 -39 20q-17 -29 -9 -56q9 -26 38 -38q-1 21 16 33t34 2q-10 -49 -88 -66q-104 -24 -130 -43q-22 -17 -83 -91q-45 -55 -95 -68q7 -24 79 -79q-16 -11 -50 -48q-31 -33 -54 -46 q-20 24 -55 27q-37 2 -59 -22q29 7 25 -35q44 6 49 -14q-43 6 -54 4q-1 -12 -17 -27q-15 -13 -13 -32zM430 731q0 -14 12 -14t12 -43t15 -43q14 0 14 43t12 43t12 14q0 15 -38 15q-39 0 -39 -15zM443 1413q-1 -11 2 -22q2 -11 9 -20l35 -46q7 -9 17 -15q9 -5 20 -7 q11 -1 22 1q11 3 21 10q9 7 15 17q5 10 7 21q1 10 -1 21q-3 12 -10 21l-34 46q-7 9 -17 15q-10 5 -21 7q-11 1 -22 -1q-11 -3 -20 -10q-10 -7 -15 -17q-6 -10 -8 -21zM486 1407q1 6 5 10q5 3 11 3q6 -1 9 -6l35 -46q3 -5 3 -10q-1 -6 -6 -10t-11 -3t-9 6l-34 46q-4 5 -3 10z M531 257q35 6 35 -30q11 0 25 18q13 16 19 12q-41 -47 -44 -79q8 8 26 3q37 -10 28 -8q5 26 4 23q4 12 16 11q-13 -21 -15 -46q-3 -30 15 -43q3 22 20 30q27 -13 53 7q33 26 46 28q21 -21 20 -35q22 20 109 32q80 11 99 42q-51 29 -81 81q-39 66 16 97q9 2 40 -14v54l-36 27 q-17 18 -9 42q-53 39 -107 -1q-70 -53 -101 -53q-2 -25 16 -38q5 -4 17 -11q11 -6 17 -10q-1 -35 26 -74q31 -43 33 -55q-72 -18 -133 28q-64 49 -109 41q11 -3 9 -13q-5 -21 -4 -22q3 0 12 -1q9 0 12 -1q14 -2 15 -12q-27 9 -54 0t-35 -30zM567 1475l41 -82q18 -36 43 -23 q15 7 26 13q11 5 18 14t10 19q4 11 3 22q0 11 -6 22l-25 51q-6 10 -14 18q-9 7 -20 10q-10 4 -21 3q-12 0 -22 -6l-26 -13q-25 -13 -7 -48zM613 1495q3 1 6 3q5 3 11 1t8 -7l26 -51q3 -6 1 -11q-2 -6 -7 -9l-7 -3q-6 -3 -24 32l-3 6q-18 35 -11 39zM645 1024q17 -63 123 -22 q23 9 83 38q46 22 61 24q-40 9 -118 -17q-64 -21 -95 7q-8 7 3 27q8 16 -3 18q-31 -1 -47 -22t-7 -53zM685 -158q0 -11 4 -19q4 -7 11 -12q8 -5 17 -7q10 -2 21 -2q5 0 9 -4t4 -9q0 -6 -4 -9q-4 -4 -9 -4t-8 2q-1 1 -3 2q-2 3 -19 -6q-19 -10 -10 -20q5 -6 11 -10 q13 -8 29 -8q10 0 20 4t17 12q7 7 11 16q5 10 5 21t-5 18q-4 8 -11 13q-7 4 -17 6q-9 3 -20 3q-6 0 -10 3q-4 4 -4 10q0 5 4 9t10 4q4 0 7 -2q2 -1 3 -3q2 -2 19 6q20 10 10 21q-5 5 -11 9q-13 9 -28 9q-11 0 -21 -5q-10 -4 -17 -11t-11 -17q-4 -9 -4 -20zM711 1549 q-2 -11 1 -23l15 -55q3 -11 10 -20t16 -15q10 -5 21 -7t23 1q11 3 20 10q9 6 15 14q6 7 8 16q2 4 2 8q0 8 -24 10q-21 1 -22 -4q0 -3 -2 -6q-3 -5 -8 -6q-6 -2 -11 1t-7 9l-15 55q-1 6 2 11t8 7q6 1 11 -2q3 -1 5 -3q3 -5 21 7q20 13 15 20q-2 3 -5 6q-6 7 -15 11 q-9 3 -20 4t-23 -2q-11 -3 -20 -10t-14 -16q-6 -10 -7 -21zM804 -155v-59q0 -50 20 -50q19 0 19 26q0 27 7 27h7q10 0 20 4t17 11q7 8 11 17q5 10 5 21t-5 20q-4 10 -11 17t-17 11q-10 5 -20 5h-33q-20 0 -20 -50zM808 1381q21 -56 25 -149h248q-3 92 19 149q-19 -1 -37 -17 q-21 -19 -32 -23q1 -8 14 -18q11 -9 6 -26q-2 -1 -5 -3q-2 -2 -5 -2q-22 6 -54 0q-2 3 -5 10q-4 6 -5 10q1 4 11 11q8 6 8 13q-8 8 -19 30t-20 30h-5q8 4 -40 -60q0 -7 10 -17q9 -9 5 -22q-8 0 -21 -2q-16 -2 -20 -2q-21 -1 -33 14q0 8 9 15q10 7 11 14q-42 41 -65 45z M843 -158q0 13 7 13h7q5 0 9 -4t4 -9q0 -6 -4 -10q-4 -3 -9 -3h-7q-7 0 -7 13zM861 1581l3 -75q0 -12 5 -22t13 -18q8 -7 19 -11t22 -4q12 1 22 6q11 5 18 13t12 18q4 11 3 23l-3 74q-1 40 -23 39q-21 -1 -20 -41l3 -74q1 -6 -3 -11q-4 -4 -10 -4t-11 4q-4 4 -4 10l-3 74 q-2 40 -23 39q-22 -1 -20 -40zM884 9q1 3 5 11q3 7 3 9q9 -6 2 -17q-9 -15 -6 -23q-9 6 -4 20zM927 -215q-4 -49 16 -49q19 0 21 20t11 20q10 0 12 -20t22 -20t15 49l-5 60q-1 21 -14 35q-13 15 -29 15q-17 0 -30 -15q-12 -14 -14 -35zM942 1153v20q48 -4 49 -5 q-20 -11 -49 -15zM970 -171q2 26 5 26q4 0 6 -26q2 -27 -5 -27q-8 0 -6 27zM1020 1602q-3 -21 14 -24q18 -3 11 -43l-8 -48q-6 -39 15 -43q21 -3 27 36l9 48q6 40 24 37q17 -3 21 18t-36 27l-34 6q-39 7 -43 -14zM1042 -155v-59q0 -50 20 -50q19 0 19 50v59q0 50 -19 50 q-20 0 -20 -50zM1056 1168q9 4 17 -5q7 -8 10 -22q6 -36 -22 -37q15 11 13 33t-18 31zM1095 -155v-59q0 -50 19 -50q20 0 20 40q0 16 4 16t10 -16q13 -40 33 -40q19 0 19 50v59q0 50 -19 50q-20 0 -20 -40q0 -16 -4 -16t-9 16q-14 40 -34 40q-19 0 -19 -50zM1170 1457 q-14 -37 6 -44q21 -8 34 30l17 46q14 37 30 31q17 -6 24 14q8 21 -30 34l-32 12q-38 14 -45 -7q-7 -20 9 -26q17 -6 4 -43zM1244 841q12 -43 40 -59q92 9 94 -45q36 -2 39 30q43 -2 75 39v10q-16 19 -52 38q-47 25 -57 32q-10 -1 -12 -18q-2 -19 -8 -22q6 2 -119 -5z M1260 1393q4 -16 19 -24l30 -17q35 -20 45 -1q11 18 -20 36t-24 30q7 13 32 -1q25 -15 32 -2q7 12 -18 26q-25 15 -18 27t38 -5q31 -18 42 1q11 18 -24 38l-30 17q-15 8 -30 4q-16 -4 -25 -19l-45 -80q-8 -14 -4 -30zM1373 1311q16 -14 35 7q18 22 22 19q3 -3 -8 -31 q-12 -28 4 -42q17 -14 31 19q13 32 26 34q7 1 13 3q13 5 22 16q8 9 11 20q3 10 3 21q-1 11 -6 22q-5 10 -14 18l-10 9l-17 14q-16 14 -42 -16l-60 -69q-27 -30 -10 -44zM1460 1238q0 -9 5 -16q6 -7 15 -8q9 0 16 5q6 6 7 15t-5 16q-6 6 -14 7q-9 1 -16 -5t-8 -14zM1460 1367 q-5 5 4 16t15 6l5 -5q5 -4 5 -9q0 -6 -3 -11q-4 -4 -10 -5q-6 0 -11 4zM1497 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4q7 0 13 3q3 1 5 2q6 3 11 0l6 -2q6 -3 13 -3q8 0 15 4q7 3 12 8t8 12t3 15v38q0 38 -14 38q-15 0 -15 -38v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v28 q0 29 -14 29q-15 0 -15 -29v-28q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v38q0 38 -14 38t-14 -38v-38zM1507 1192q-4 -16 5 -30l19 -29q21 -34 39 -22q18 11 -1 41q-19 31 -7 38q12 8 27 -16q16 -25 28 -17t-3 32q-16 24 -4 32q13 7 32 -23t37 -19q18 12 -3 45l-19 30 q-9 14 -25 17q-16 4 -30 -5l-78 -49q-14 -9 -17 -25zM1578 1065q-4 -16 3 -31q4 -11 12 -19q9 -8 19 -12q10 -5 21 -5t22 4q11 5 17 12t8 16t0 20t-6 21q-3 6 0 11q2 6 7 8q6 2 11 0q6 -2 8 -8q2 -4 1 -8q-1 -2 -1 -4q-2 -3 13 -17q18 -15 25 -1q4 7 5 15q3 16 -3 31 q-5 11 -13 19t-18 12q-10 5 -22 5q-11 0 -22 -4q-11 -5 -16 -12q-6 -7 -8 -16t0 -20q2 -10 6 -21q2 -6 0 -11q-2 -6 -8 -8q-5 -2 -11 0q-5 2 -7 8q-2 4 -1 8q0 2 1 4q2 4 -14 17q-18 16 -25 1q-3 -7 -4 -15zM1631 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4t15 4q7 3 12 8t8 12 t3 15v38q0 8 -3 15t-8 12t-12 8t-15 3t-15 -3t-12 -8t-8 -12t-3 -15v-38zM1659 686v38q0 4 3 7t7 3t7 -3q2 -3 2 -7v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7zM1717 697q0 -50 14 -50t14 20q0 19 4 19q3 0 9 -19q7 -20 21 -20t7 23q-8 22 -2 29q3 4 5 8q4 8 4 17q0 8 -3 15 t-8 12t-12 8t-15 3h-24q-14 0 -14 -49v-16zM1745 724q0 10 5 10h5q4 0 7 -3t3 -7t-3 -7t-7 -3h-5q-5 0 -5 10zM1803 697q0 -50 14 -50q15 0 15 24t1 24q2 0 10 -24t22 -24t5 29q-10 29 0 58q9 28 -5 28t-22 -24t-10 -24q-1 0 -1 24t-15 24q-14 0 -14 -49v-16zM1889 724 q0 -8 3 -13q3 -6 8 -9q6 -4 13 -5q6 -2 14 -2q4 0 7 -2q3 -3 3 -7t-3 -7t-7 -3q-3 0 -5 2q-1 0 -2 2q-2 2 -14 -5q-14 -7 -7 -15q3 -4 8 -7q9 -6 20 -6q8 0 15 4q7 3 12 8q6 5 9 12t3 15t-3 13q-3 6 -9 9q-5 3 -12 5q-7 1 -15 1q-4 0 -6 3q-3 3 -3 7t3 7q2 3 6 3q3 0 6 -2 l2 -2q1 -2 14 5q14 7 7 15q-4 4 -8 6q-9 6 -21 6q-7 0 -14 -3t-13 -8q-5 -5 -8 -12t-3 -15z" unicode="$"/><glyph d="M172 680q0 -49 14 -49q15 0 15 24t19 24t19 9q0 10 -19 10t-19 9q0 10 24 10t24 14q0 15 -39 15q-16 0 -27 -15q-11 -14 -11 -35v-16zM186 1146q-12 -18 20 -41l60 -44q10 -7 21 -10q11 -2 22 0q10 1 20 7t17 15q6 8 9 18q1 4 2 9q1 9 9 13q4 2 8 5q8 5 14 13q7 10 10 21 q2 11 0 22q-1 10 -7 20t-15 17l-61 44q-32 23 -44 6q-13 -17 19 -41l60 -44q5 -3 6 -9t-2 -11q-4 -4 -10 -5t-10 2l-38 27q-32 24 -44 7q-13 -18 19 -41l37 -27q5 -4 6 -10t-3 -10q-3 -5 -9 -6t-11 2l-60 45q-32 23 -45 6zM258 669q0 -8 3 -15t8 -12q6 -5 13 -8t14 -3 q8 0 15 3t12 8q6 5 9 12t3 15v38q0 8 -3 15t-9 12q-5 5 -12 8q-7 4 -15 4q-7 0 -14 -4q-7 -3 -13 -8q-5 -5 -8 -12t-3 -15v-38zM287 669v38q0 4 3 7q2 3 6 3t7 -3t3 -7v-38q0 -4 -3 -7t-7 -3t-6 3q-3 3 -3 7zM334 1309q0 -11 5 -22q4 -11 12 -19l41 -40q8 -8 19 -12 q10 -5 21 -5q11 1 22 5q10 4 19 12q8 9 12 19q4 11 4 22t-4 21q-4 11 -13 19l-40 40q-9 9 -19 13q-11 4 -22 4t-21 -4q-11 -5 -19 -13q-9 -8 -13 -19q-4 -10 -4 -21zM344 680q0 -49 15 -49q14 0 14 28q0 12 3 12t7 -12q9 -28 24 -28q14 0 14 49v16q0 50 -14 50 q-15 0 -15 -29q0 -12 -3 -12q-2 0 -6 12q-10 29 -24 29q-15 0 -15 -50v-16zM377 1309q0 6 4 10t10 4t10 -4l41 -40q4 -5 4 -10q0 -6 -4 -11q-4 -4 -10 -4t-10 4l-41 41q-4 4 -4 10zM397 970q21 -21 15 -60q4 -4 25 -14q16 -8 20 -20q-12 -12 -11 -36q1 -21 -19 -29 q10 -10 30 -9q27 1 34 0q7 3 15 15q8 11 15 14q18 -5 44 -44q24 -36 40 -35q26 1 60 74q-8 15 -44 45q-31 26 -36 54q-1 11 1 32q4 26 4 34q1 38 -34 48q-11 -39 -10 -74q-12 27 -33 45q-26 21 -51 14q0 -17 14 -44q15 -28 15 -40q-8 4 -17 17q-10 14 -17 18q-37 -7 -60 -5z M402 440q16 9 23 5q2 -1 7 -6q6 -6 10 -9q12 -1 28 16q14 14 21 9q-45 -36 -39 -94q19 14 59 5q11 6 24 21q15 19 21 23q4 -4 30 -9q19 -5 19 -20q14 12 19 42q4 31 -9 47q33 36 45 39q19 -16 53 -8t41 28q-34 9 -35 30q37 69 173 -20q83 -53 90 -84q4 -20 -2 -63 q-6 -46 -3 -66q4 -30 23 -61q27 -44 31 -53q2 -13 -5 -39q18 -5 43 18q21 18 36 1q-114 -166 -232 -94q-10 -8 -39 -15q-24 -5 -31 -24q1 -1 9 -1q8 -1 12 -3q15 -5 9 -26q10 0 22 19q11 16 18 11q2 3 -31 -36q-18 -22 -14 -53q7 -7 12 2q6 12 13 13q13 -12 17 -13 q8 -2 13 13q2 -5 4 -35q2 -23 15 -25q5 29 40 25q0 -1 -1 33q0 19 11 21q-8 -18 5 -89q8 1 10 -5h5q-4 28 23 31q47 4 46 4q20 9 33 50q13 38 41 49q8 1 17 -9q6 -8 13 -1q1 38 62 125q48 70 17 133q-4 -31 -34 -35q-59 21 -50 96q9 74 64 92q21 -41 65 -61q41 -19 87 -14 q47 5 78 34q35 31 38 81q2 38 -19 76q-26 47 -31 72q8 25 55 20q-3 32 -43 34t-51 -24q-3 30 -85 97q-75 61 -64 121q6 32 43 57q41 28 81 12q6 -3 11 -18t14 -17q100 57 109 70v5q-30 43 -70 39q-17 34 -44 30q-5 -4 -10 -22q-5 -16 -15 -18q-81 -3 -129 -46 q-47 -41 -49 -107q-3 -76 64 -130q82 -67 94 -98q-14 4 -59 13q-39 7 -58 15q-57 25 -21 96q-1 1 -25 54q-32 -34 -38 -81q-5 -44 16 -82q22 -40 63 -55q45 -18 102 1q-26 -16 -18 -63q8 -48 38 -37q-8 10 -5 40q31 26 56 11q22 -14 25 -48q4 -34 -16 -56q-24 -25 -70 -16 q-35 7 -82 60q-11 12 -41 48q-25 30 -40 46q-121 126 -124 128q73 48 89 134l15 -11q10 -7 15 1q-3 15 4 81q5 57 -9 83q5 -6 17 -6q13 1 13 11q-36 110 -71 150q-59 66 -167 43l-15 -10q-91 -3 -104 -25q-8 1 28 0q16 0 17 -10q-10 2 -21 -1q-12 -4 -19 -4q-2 -20 25 -74 q8 23 26 27q15 4 31 -8q15 -11 18 -30q4 -20 -11 -39q-1 0 -4 -2q-3 -3 -6 -3q-13 1 -39 20q-17 -29 -9 -56q9 -26 38 -38q-1 21 16 33t34 2q-10 -49 -88 -66q-104 -24 -130 -43q-22 -17 -83 -91q-45 -55 -95 -68q7 -24 79 -79q-16 -11 -50 -48q-31 -33 -54 -46 q-20 24 -55 27q-37 2 -59 -22q29 7 25 -35q44 6 49 -14q-43 6 -54 4q-1 -12 -17 -27q-15 -13 -13 -32zM430 731q0 -14 12 -14t12 -43t15 -43q14 0 14 43t12 43t12 14q0 15 -38 15q-39 0 -39 -15zM443 1413q-1 -11 2 -22q2 -11 9 -20l35 -46q7 -9 17 -15q9 -5 20 -7 q11 -1 22 1q11 3 21 10q9 7 15 17q5 10 7 21q1 10 -1 21q-3 12 -10 21l-34 46q-7 9 -17 15q-10 5 -21 7q-11 1 -22 -1q-11 -3 -20 -10q-10 -7 -15 -17q-6 -10 -8 -21zM486 1407q1 6 5 10q5 3 11 3q6 -1 9 -6l35 -46q3 -5 3 -10q-1 -6 -6 -10t-11 -3t-9 6l-34 46q-4 5 -3 10z M531 257q35 6 35 -30q11 0 25 18q13 16 19 12q-41 -47 -44 -79q8 8 26 3q37 -10 28 -8q5 26 4 23q4 12 16 11q-13 -21 -15 -46q-3 -30 15 -43q3 22 20 30q27 -13 53 7q33 26 46 28q21 -21 20 -35q22 20 109 32q80 11 99 42q-51 29 -81 81q-39 66 16 97q9 2 40 -14v54l-36 27 q-17 18 -9 42q-53 39 -107 -1q-70 -53 -101 -53q-2 -25 16 -38q5 -4 17 -11q11 -6 17 -10q-1 -35 26 -74q31 -43 33 -55q-72 -18 -133 28q-64 49 -109 41q11 -3 9 -13q-5 -21 -4 -22q3 0 12 -1q9 0 12 -1q14 -2 15 -12q-27 9 -54 0t-35 -30zM567 1475l41 -82q18 -36 43 -23 q15 7 26 13q11 5 18 14t10 19q4 11 3 22q0 11 -6 22l-25 51q-6 10 -14 18q-9 7 -20 10q-10 4 -21 3q-12 0 -22 -6l-26 -13q-25 -13 -7 -48zM613 1495q3 1 6 3q5 3 11 1t8 -7l26 -51q3 -6 1 -11q-2 -6 -7 -9l-7 -3q-6 -3 -24 32l-3 6q-18 35 -11 39zM645 1024q17 -63 123 -22 q23 9 83 38q46 22 61 24q-40 9 -118 -17q-64 -21 -95 7q-8 7 3 27q8 16 -3 18q-31 -1 -47 -22t-7 -53zM685 -158q0 -11 4 -19q4 -7 11 -12q8 -5 17 -7q10 -2 21 -2q5 0 9 -4t4 -9q0 -6 -4 -9q-4 -4 -9 -4t-8 2q-1 1 -3 2q-2 3 -19 -6q-19 -10 -10 -20q5 -6 11 -10 q13 -8 29 -8q10 0 20 4t17 12q7 7 11 16q5 10 5 21t-5 18q-4 8 -11 13q-7 4 -17 6q-9 3 -20 3q-6 0 -10 3q-4 4 -4 10q0 5 4 9t10 4q4 0 7 -2q2 -1 3 -3q2 -2 19 6q20 10 10 21q-5 5 -11 9q-13 9 -28 9q-11 0 -21 -5q-10 -4 -17 -11t-11 -17q-4 -9 -4 -20zM711 1549 q-2 -11 1 -23l15 -55q3 -11 10 -20t16 -15q10 -5 21 -7t23 1q11 3 20 10q9 6 15 14q6 7 8 16q2 4 2 8q0 8 -24 10q-21 1 -22 -4q0 -3 -2 -6q-3 -5 -8 -6q-6 -2 -11 1t-7 9l-15 55q-1 6 2 11t8 7q6 1 11 -2q3 -1 5 -3q3 -5 21 7q20 13 15 20q-2 3 -5 6q-6 7 -15 11 q-9 3 -20 4t-23 -2q-11 -3 -20 -10t-14 -16q-6 -10 -7 -21zM804 -155v-59q0 -50 20 -50q19 0 19 26q0 27 7 27h7q10 0 20 4t17 11q7 8 11 17q5 10 5 21t-5 20q-4 10 -11 17t-17 11q-10 5 -20 5h-33q-20 0 -20 -50zM808 1381q21 -56 25 -149h248q-3 92 19 149q-19 -1 -37 -17 q-21 -19 -32 -23q1 -8 14 -18q11 -9 6 -26q-2 -1 -5 -3q-2 -2 -5 -2q-22 6 -54 0q-2 3 -5 10q-4 6 -5 10q1 4 11 11q8 6 8 13q-8 8 -19 30t-20 30h-5q8 4 -40 -60q0 -7 10 -17q9 -9 5 -22q-8 0 -21 -2q-16 -2 -20 -2q-21 -1 -33 14q0 8 9 15q10 7 11 14q-42 41 -65 45z M843 -158q0 13 7 13h7q5 0 9 -4t4 -9q0 -6 -4 -10q-4 -3 -9 -3h-7q-7 0 -7 13zM861 1581l3 -75q0 -12 5 -22t13 -18q8 -7 19 -11t22 -4q12 1 22 6q11 5 18 13t12 18q4 11 3 23l-3 74q-1 40 -23 39q-21 -1 -20 -41l3 -74q1 -6 -3 -11q-4 -4 -10 -4t-11 4q-4 4 -4 10l-3 74 q-2 40 -23 39q-22 -1 -20 -40zM884 9q1 3 5 11q3 7 3 9q9 -6 2 -17q-9 -15 -6 -23q-9 6 -4 20zM927 -215q-4 -49 16 -49q19 0 21 20t11 20q10 0 12 -20t22 -20t15 49l-5 60q-1 21 -14 35q-13 15 -29 15q-17 0 -30 -15q-12 -14 -14 -35zM942 1153v20q48 -4 49 -5 q-20 -11 -49 -15zM970 -171q2 26 5 26q4 0 6 -26q2 -27 -5 -27q-8 0 -6 27zM1020 1602q-3 -21 14 -24q18 -3 11 -43l-8 -48q-6 -39 15 -43q21 -3 27 36l9 48q6 40 24 37q17 -3 21 18t-36 27l-34 6q-39 7 -43 -14zM1042 -155v-59q0 -50 20 -50q19 0 19 50v59q0 50 -19 50 q-20 0 -20 -50zM1056 1168q9 4 17 -5q7 -8 10 -22q6 -36 -22 -37q15 11 13 33t-18 31zM1095 -155v-59q0 -50 19 -50q20 0 20 40q0 16 4 16t10 -16q13 -40 33 -40q19 0 19 50v59q0 50 -19 50q-20 0 -20 -40q0 -16 -4 -16t-9 16q-14 40 -34 40q-19 0 -19 -50zM1170 1457 q-14 -37 6 -44q21 -8 34 30l17 46q14 37 30 31q17 -6 24 14q8 21 -30 34l-32 12q-38 14 -45 -7q-7 -20 9 -26q17 -6 4 -43zM1244 841q12 -43 40 -59q92 9 94 -45q36 -2 39 30q43 -2 75 39v10q-16 19 -52 38q-47 25 -57 32q-10 -1 -12 -18q-2 -19 -8 -22q6 2 -119 -5z M1260 1393q4 -16 19 -24l30 -17q35 -20 45 -1q11 18 -20 36t-24 30q7 13 32 -1q25 -15 32 -2q7 12 -18 26q-25 15 -18 27t38 -5q31 -18 42 1q11 18 -24 38l-30 17q-15 8 -30 4q-16 -4 -25 -19l-45 -80q-8 -14 -4 -30zM1373 1311q16 -14 35 7q18 22 22 19q3 -3 -8 -31 q-12 -28 4 -42q17 -14 31 19q13 32 26 34q7 1 13 3q13 5 22 16q8 9 11 20q3 10 3 21q-1 11 -6 22q-5 10 -14 18l-10 9l-17 14q-16 14 -42 -16l-60 -69q-27 -30 -10 -44zM1460 1238q0 -9 5 -16q6 -7 15 -8q9 0 16 5q6 6 7 15t-5 16q-6 6 -14 7q-9 1 -16 -5t-8 -14zM1460 1367 q-5 5 4 16t15 6l5 -5q5 -4 5 -9q0 -6 -3 -11q-4 -4 -10 -5q-6 0 -11 4zM1497 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4q7 0 13 3q3 1 5 2q6 3 11 0l6 -2q6 -3 13 -3q8 0 15 4q7 3 12 8t8 12t3 15v38q0 38 -14 38q-15 0 -15 -38v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v28 q0 29 -14 29q-15 0 -15 -29v-28q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v38q0 38 -14 38t-14 -38v-38zM1507 1192q-4 -16 5 -30l19 -29q21 -34 39 -22q18 11 -1 41q-19 31 -7 38q12 8 27 -16q16 -25 28 -17t-3 32q-16 24 -4 32q13 7 32 -23t37 -19q18 12 -3 45l-19 30 q-9 14 -25 17q-16 4 -30 -5l-78 -49q-14 -9 -17 -25zM1578 1065q-4 -16 3 -31q4 -11 12 -19q9 -8 19 -12q10 -5 21 -5t22 4q11 5 17 12t8 16t0 20t-6 21q-3 6 0 11q2 6 7 8q6 2 11 0q6 -2 8 -8q2 -4 1 -8q-1 -2 -1 -4q-2 -3 13 -17q18 -15 25 -1q4 7 5 15q3 16 -3 31 q-5 11 -13 19t-18 12q-10 5 -22 5q-11 0 -22 -4q-11 -5 -16 -12q-6 -7 -8 -16t0 -20q2 -10 6 -21q2 -6 0 -11q-2 -6 -8 -8q-5 -2 -11 0q-5 2 -7 8q-2 4 -1 8q0 2 1 4q2 4 -14 17q-18 16 -25 1q-3 -7 -4 -15zM1631 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4t15 4q7 3 12 8t8 12 t3 15v38q0 8 -3 15t-8 12t-12 8t-15 3t-15 -3t-12 -8t-8 -12t-3 -15v-38zM1659 686v38q0 4 3 7t7 3t7 -3q2 -3 2 -7v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7zM1717 697q0 -50 14 -50t14 20q0 19 4 19q3 0 9 -19q7 -20 21 -20t7 23q-8 22 -2 29q3 4 5 8q4 8 4 17q0 8 -3 15 t-8 12t-12 8t-15 3h-24q-14 0 -14 -49v-16zM1745 724q0 10 5 10h5q4 0 7 -3t3 -7t-3 -7t-7 -3h-5q-5 0 -5 10zM1803 697q0 -50 14 -50q15 0 15 24t1 24q2 0 10 -24t22 -24t5 29q-10 29 0 58q9 28 -5 28t-22 -24t-10 -24q-1 0 -1 24t-15 24q-14 0 -14 -49v-16zM1889 724 q0 -8 3 -13q3 -6 8 -9q6 -4 13 -5q6 -2 14 -2q4 0 7 -2q3 -3 3 -7t-3 -7t-7 -3q-3 0 -5 2q-1 0 -2 2q-2 2 -14 -5q-14 -7 -7 -15q3 -4 8 -7q9 -6 20 -6q8 0 15 4q7 3 12 8q6 5 9 12t3 15t-3 13q-3 6 -9 9q-5 3 -12 5q-7 1 -15 1q-4 0 -6 3q-3 3 -3 7t3 7q2 3 6 3q3 0 6 -2 l2 -2q1 -2 14 5q14 7 7 15q-4 4 -8 6q-9 6 -21 6q-7 0 -14 -3t-13 -8q-5 -5 -8 -12t-3 -15z" unicode="%"/><glyph d="M172 680q0 -49 14 -49q15 0 15 24t19 24t19 9q0 10 -19 10t-19 9q0 10 24 10t24 14q0 15 -39 15q-16 0 -27 -15q-11 -14 -11 -35v-16zM186 1146q-12 -18 20 -41l60 -44q10 -7 21 -10q11 -2 22 0q10 1 20 7t17 15q6 8 9 18q1 4 2 9q1 9 9 13q4 2 8 5q8 5 14 13q7 10 10 21 q2 11 0 22q-1 10 -7 20t-15 17l-61 44q-32 23 -44 6q-13 -17 19 -41l60 -44q5 -3 6 -9t-2 -11q-4 -4 -10 -5t-10 2l-38 27q-32 24 -44 7q-13 -18 19 -41l37 -27q5 -4 6 -10t-3 -10q-3 -5 -9 -6t-11 2l-60 45q-32 23 -45 6zM258 669q0 -8 3 -15t8 -12q6 -5 13 -8t14 -3 q8 0 15 3t12 8q6 5 9 12t3 15v38q0 8 -3 15t-9 12q-5 5 -12 8q-7 4 -15 4q-7 0 -14 -4q-7 -3 -13 -8q-5 -5 -8 -12t-3 -15v-38zM287 669v38q0 4 3 7q2 3 6 3t7 -3t3 -7v-38q0 -4 -3 -7t-7 -3t-6 3q-3 3 -3 7zM334 1309q0 -11 5 -22q4 -11 12 -19l41 -40q8 -8 19 -12 q10 -5 21 -5q11 1 22 5q10 4 19 12q8 9 12 19q4 11 4 22t-4 21q-4 11 -13 19l-40 40q-9 9 -19 13q-11 4 -22 4t-21 -4q-11 -5 -19 -13q-9 -8 -13 -19q-4 -10 -4 -21zM344 680q0 -49 15 -49q14 0 14 28q0 12 3 12t7 -12q9 -28 24 -28q14 0 14 49v16q0 50 -14 50 q-15 0 -15 -29q0 -12 -3 -12q-2 0 -6 12q-10 29 -24 29q-15 0 -15 -50v-16zM377 1309q0 6 4 10t10 4t10 -4l41 -40q4 -5 4 -10q0 -6 -4 -11q-4 -4 -10 -4t-10 4l-41 41q-4 4 -4 10zM397 970q21 -21 15 -60q4 -4 25 -14q16 -8 20 -20q-12 -12 -11 -36q1 -21 -19 -29 q10 -10 30 -9q27 1 34 0q7 3 15 15q8 11 15 14q18 -5 44 -44q24 -36 40 -35q26 1 60 74q-8 15 -44 45q-31 26 -36 54q-1 11 1 32q4 26 4 34q1 38 -34 48q-11 -39 -10 -74q-12 27 -33 45q-26 21 -51 14q0 -17 14 -44q15 -28 15 -40q-8 4 -17 17q-10 14 -17 18q-37 -7 -60 -5z M402 440q16 9 23 5q2 -1 7 -6q6 -6 10 -9q12 -1 28 16q14 14 21 9q-45 -36 -39 -94q19 14 59 5q11 6 24 21q15 19 21 23q4 -4 30 -9q19 -5 19 -20q14 12 19 42q4 31 -9 47q33 36 45 39q19 -16 53 -8t41 28q-34 9 -35 30q37 69 173 -20q83 -53 90 -84q4 -20 -2 -63 q-6 -46 -3 -66q4 -30 23 -61q27 -44 31 -53q2 -13 -5 -39q18 -5 43 18q21 18 36 1q-114 -166 -232 -94q-10 -8 -39 -15q-24 -5 -31 -24q1 -1 9 -1q8 -1 12 -3q15 -5 9 -26q10 0 22 19q11 16 18 11q2 3 -31 -36q-18 -22 -14 -53q7 -7 12 2q6 12 13 13q13 -12 17 -13 q8 -2 13 13q2 -5 4 -35q2 -23 15 -25q5 29 40 25q0 -1 -1 33q0 19 11 21q-8 -18 5 -89q8 1 10 -5h5q-4 28 23 31q47 4 46 4q20 9 33 50q13 38 41 49q8 1 17 -9q6 -8 13 -1q1 38 62 125q48 70 17 133q-4 -31 -34 -35q-59 21 -50 96q9 74 64 92q21 -41 65 -61q41 -19 87 -14 q47 5 78 34q35 31 38 81q2 38 -19 76q-26 47 -31 72q8 25 55 20q-3 32 -43 34t-51 -24q-3 30 -85 97q-75 61 -64 121q6 32 43 57q41 28 81 12q6 -3 11 -18t14 -17q100 57 109 70v5q-30 43 -70 39q-17 34 -44 30q-5 -4 -10 -22q-5 -16 -15 -18q-81 -3 -129 -46 q-47 -41 -49 -107q-3 -76 64 -130q82 -67 94 -98q-14 4 -59 13q-39 7 -58 15q-57 25 -21 96q-1 1 -25 54q-32 -34 -38 -81q-5 -44 16 -82q22 -40 63 -55q45 -18 102 1q-26 -16 -18 -63q8 -48 38 -37q-8 10 -5 40q31 26 56 11q22 -14 25 -48q4 -34 -16 -56q-24 -25 -70 -16 q-35 7 -82 60q-11 12 -41 48q-25 30 -40 46q-121 126 -124 128q73 48 89 134l15 -11q10 -7 15 1q-3 15 4 81q5 57 -9 83q5 -6 17 -6q13 1 13 11q-36 110 -71 150q-59 66 -167 43l-15 -10q-91 -3 -104 -25q-8 1 28 0q16 0 17 -10q-10 2 -21 -1q-12 -4 -19 -4q-2 -20 25 -74 q8 23 26 27q15 4 31 -8q15 -11 18 -30q4 -20 -11 -39q-1 0 -4 -2q-3 -3 -6 -3q-13 1 -39 20q-17 -29 -9 -56q9 -26 38 -38q-1 21 16 33t34 2q-10 -49 -88 -66q-104 -24 -130 -43q-22 -17 -83 -91q-45 -55 -95 -68q7 -24 79 -79q-16 -11 -50 -48q-31 -33 -54 -46 q-20 24 -55 27q-37 2 -59 -22q29 7 25 -35q44 6 49 -14q-43 6 -54 4q-1 -12 -17 -27q-15 -13 -13 -32zM430 731q0 -14 12 -14t12 -43t15 -43q14 0 14 43t12 43t12 14q0 15 -38 15q-39 0 -39 -15zM443 1413q-1 -11 2 -22q2 -11 9 -20l35 -46q7 -9 17 -15q9 -5 20 -7 q11 -1 22 1q11 3 21 10q9 7 15 17q5 10 7 21q1 10 -1 21q-3 12 -10 21l-34 46q-7 9 -17 15q-10 5 -21 7q-11 1 -22 -1q-11 -3 -20 -10q-10 -7 -15 -17q-6 -10 -8 -21zM486 1407q1 6 5 10q5 3 11 3q6 -1 9 -6l35 -46q3 -5 3 -10q-1 -6 -6 -10t-11 -3t-9 6l-34 46q-4 5 -3 10z M531 257q35 6 35 -30q11 0 25 18q13 16 19 12q-41 -47 -44 -79q8 8 26 3q37 -10 28 -8q5 26 4 23q4 12 16 11q-13 -21 -15 -46q-3 -30 15 -43q3 22 20 30q27 -13 53 7q33 26 46 28q21 -21 20 -35q22 20 109 32q80 11 99 42q-51 29 -81 81q-39 66 16 97q9 2 40 -14v54l-36 27 q-17 18 -9 42q-53 39 -107 -1q-70 -53 -101 -53q-2 -25 16 -38q5 -4 17 -11q11 -6 17 -10q-1 -35 26 -74q31 -43 33 -55q-72 -18 -133 28q-64 49 -109 41q11 -3 9 -13q-5 -21 -4 -22q3 0 12 -1q9 0 12 -1q14 -2 15 -12q-27 9 -54 0t-35 -30zM567 1475l41 -82q18 -36 43 -23 q15 7 26 13q11 5 18 14t10 19q4 11 3 22q0 11 -6 22l-25 51q-6 10 -14 18q-9 7 -20 10q-10 4 -21 3q-12 0 -22 -6l-26 -13q-25 -13 -7 -48zM613 1495q3 1 6 3q5 3 11 1t8 -7l26 -51q3 -6 1 -11q-2 -6 -7 -9l-7 -3q-6 -3 -24 32l-3 6q-18 35 -11 39zM645 1024q17 -63 123 -22 q23 9 83 38q46 22 61 24q-40 9 -118 -17q-64 -21 -95 7q-8 7 3 27q8 16 -3 18q-31 -1 -47 -22t-7 -53zM685 -158q0 -11 4 -19q4 -7 11 -12q8 -5 17 -7q10 -2 21 -2q5 0 9 -4t4 -9q0 -6 -4 -9q-4 -4 -9 -4t-8 2q-1 1 -3 2q-2 3 -19 -6q-19 -10 -10 -20q5 -6 11 -10 q13 -8 29 -8q10 0 20 4t17 12q7 7 11 16q5 10 5 21t-5 18q-4 8 -11 13q-7 4 -17 6q-9 3 -20 3q-6 0 -10 3q-4 4 -4 10q0 5 4 9t10 4q4 0 7 -2q2 -1 3 -3q2 -2 19 6q20 10 10 21q-5 5 -11 9q-13 9 -28 9q-11 0 -21 -5q-10 -4 -17 -11t-11 -17q-4 -9 -4 -20zM711 1549 q-2 -11 1 -23l15 -55q3 -11 10 -20t16 -15q10 -5 21 -7t23 1q11 3 20 10q9 6 15 14q6 7 8 16q2 4 2 8q0 8 -24 10q-21 1 -22 -4q0 -3 -2 -6q-3 -5 -8 -6q-6 -2 -11 1t-7 9l-15 55q-1 6 2 11t8 7q6 1 11 -2q3 -1 5 -3q3 -5 21 7q20 13 15 20q-2 3 -5 6q-6 7 -15 11 q-9 3 -20 4t-23 -2q-11 -3 -20 -10t-14 -16q-6 -10 -7 -21zM804 -155v-59q0 -50 20 -50q19 0 19 26q0 27 7 27h7q10 0 20 4t17 11q7 8 11 17q5 10 5 21t-5 20q-4 10 -11 17t-17 11q-10 5 -20 5h-33q-20 0 -20 -50zM808 1381q21 -56 25 -149h248q-3 92 19 149q-19 -1 -37 -17 q-21 -19 -32 -23q1 -8 14 -18q11 -9 6 -26q-2 -1 -5 -3q-2 -2 -5 -2q-22 6 -54 0q-2 3 -5 10q-4 6 -5 10q1 4 11 11q8 6 8 13q-8 8 -19 30t-20 30h-5q8 4 -40 -60q0 -7 10 -17q9 -9 5 -22q-8 0 -21 -2q-16 -2 -20 -2q-21 -1 -33 14q0 8 9 15q10 7 11 14q-42 41 -65 45z M843 -158q0 13 7 13h7q5 0 9 -4t4 -9q0 -6 -4 -10q-4 -3 -9 -3h-7q-7 0 -7 13zM861 1581l3 -75q0 -12 5 -22t13 -18q8 -7 19 -11t22 -4q12 1 22 6q11 5 18 13t12 18q4 11 3 23l-3 74q-1 40 -23 39q-21 -1 -20 -41l3 -74q1 -6 -3 -11q-4 -4 -10 -4t-11 4q-4 4 -4 10l-3 74 q-2 40 -23 39q-22 -1 -20 -40zM884 9q1 3 5 11q3 7 3 9q9 -6 2 -17q-9 -15 -6 -23q-9 6 -4 20zM927 -215q-4 -49 16 -49q19 0 21 20t11 20q10 0 12 -20t22 -20t15 49l-5 60q-1 21 -14 35q-13 15 -29 15q-17 0 -30 -15q-12 -14 -14 -35zM942 1153v20q48 -4 49 -5 q-20 -11 -49 -15zM970 -171q2 26 5 26q4 0 6 -26q2 -27 -5 -27q-8 0 -6 27zM1020 1602q-3 -21 14 -24q18 -3 11 -43l-8 -48q-6 -39 15 -43q21 -3 27 36l9 48q6 40 24 37q17 -3 21 18t-36 27l-34 6q-39 7 -43 -14zM1042 -155v-59q0 -50 20 -50q19 0 19 50v59q0 50 -19 50 q-20 0 -20 -50zM1056 1168q9 4 17 -5q7 -8 10 -22q6 -36 -22 -37q15 11 13 33t-18 31zM1095 -155v-59q0 -50 19 -50q20 0 20 40q0 16 4 16t10 -16q13 -40 33 -40q19 0 19 50v59q0 50 -19 50q-20 0 -20 -40q0 -16 -4 -16t-9 16q-14 40 -34 40q-19 0 -19 -50zM1170 1457 q-14 -37 6 -44q21 -8 34 30l17 46q14 37 30 31q17 -6 24 14q8 21 -30 34l-32 12q-38 14 -45 -7q-7 -20 9 -26q17 -6 4 -43zM1244 841q12 -43 40 -59q92 9 94 -45q36 -2 39 30q43 -2 75 39v10q-16 19 -52 38q-47 25 -57 32q-10 -1 -12 -18q-2 -19 -8 -22q6 2 -119 -5z M1260 1393q4 -16 19 -24l30 -17q35 -20 45 -1q11 18 -20 36t-24 30q7 13 32 -1q25 -15 32 -2q7 12 -18 26q-25 15 -18 27t38 -5q31 -18 42 1q11 18 -24 38l-30 17q-15 8 -30 4q-16 -4 -25 -19l-45 -80q-8 -14 -4 -30zM1373 1311q16 -14 35 7q18 22 22 19q3 -3 -8 -31 q-12 -28 4 -42q17 -14 31 19q13 32 26 34q7 1 13 3q13 5 22 16q8 9 11 20q3 10 3 21q-1 11 -6 22q-5 10 -14 18l-10 9l-17 14q-16 14 -42 -16l-60 -69q-27 -30 -10 -44zM1460 1238q0 -9 5 -16q6 -7 15 -8q9 0 16 5q6 6 7 15t-5 16q-6 6 -14 7q-9 1 -16 -5t-8 -14zM1460 1367 q-5 5 4 16t15 6l5 -5q5 -4 5 -9q0 -6 -3 -11q-4 -4 -10 -5q-6 0 -11 4zM1497 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4q7 0 13 3q3 1 5 2q6 3 11 0l6 -2q6 -3 13 -3q8 0 15 4q7 3 12 8t8 12t3 15v38q0 38 -14 38q-15 0 -15 -38v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v28 q0 29 -14 29q-15 0 -15 -29v-28q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v38q0 38 -14 38t-14 -38v-38zM1507 1192q-4 -16 5 -30l19 -29q21 -34 39 -22q18 11 -1 41q-19 31 -7 38q12 8 27 -16q16 -25 28 -17t-3 32q-16 24 -4 32q13 7 32 -23t37 -19q18 12 -3 45l-19 30 q-9 14 -25 17q-16 4 -30 -5l-78 -49q-14 -9 -17 -25zM1578 1065q-4 -16 3 -31q4 -11 12 -19q9 -8 19 -12q10 -5 21 -5t22 4q11 5 17 12t8 16t0 20t-6 21q-3 6 0 11q2 6 7 8q6 2 11 0q6 -2 8 -8q2 -4 1 -8q-1 -2 -1 -4q-2 -3 13 -17q18 -15 25 -1q4 7 5 15q3 16 -3 31 q-5 11 -13 19t-18 12q-10 5 -22 5q-11 0 -22 -4q-11 -5 -16 -12q-6 -7 -8 -16t0 -20q2 -10 6 -21q2 -6 0 -11q-2 -6 -8 -8q-5 -2 -11 0q-5 2 -7 8q-2 4 -1 8q0 2 1 4q2 4 -14 17q-18 16 -25 1q-3 -7 -4 -15zM1631 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4t15 4q7 3 12 8t8 12 t3 15v38q0 8 -3 15t-8 12t-12 8t-15 3t-15 -3t-12 -8t-8 -12t-3 -15v-38zM1659 686v38q0 4 3 7t7 3t7 -3q2 -3 2 -7v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7zM1717 697q0 -50 14 -50t14 20q0 19 4 19q3 0 9 -19q7 -20 21 -20t7 23q-8 22 -2 29q3 4 5 8q4 8 4 17q0 8 -3 15 t-8 12t-12 8t-15 3h-24q-14 0 -14 -49v-16zM1745 724q0 10 5 10h5q4 0 7 -3t3 -7t-3 -7t-7 -3h-5q-5 0 -5 10zM1803 697q0 -50 14 -50q15 0 15 24t1 24q2 0 10 -24t22 -24t5 29q-10 29 0 58q9 28 -5 28t-22 -24t-10 -24q-1 0 -1 24t-15 24q-14 0 -14 -49v-16zM1889 724 q0 -8 3 -13q3 -6 8 -9q6 -4 13 -5q6 -2 14 -2q4 0 7 -2q3 -3 3 -7t-3 -7t-7 -3q-3 0 -5 2q-1 0 -2 2q-2 2 -14 -5q-14 -7 -7 -15q3 -4 8 -7q9 -6 20 -6q8 0 15 4q7 3 12 8q6 5 9 12t3 15t-3 13q-3 6 -9 9q-5 3 -12 5q-7 1 -15 1q-4 0 -6 3q-3 3 -3 7t3 7q2 3 6 3q3 0 6 -2 l2 -2q1 -2 14 5q14 7 7 15q-4 4 -8 6q-9 6 -21 6q-7 0 -14 -3t-13 -8q-5 -5 -8 -12t-3 -15z" unicode="&amp;"/><glyph horiz-adv-x="346" unicode="'"/><glyph horiz-adv-x="758" unicode="("/><glyph horiz-adv-x="758" unicode=")"/><glyph horiz-adv-x="1024" unicode="*"/><glyph horiz-adv-x="1014" unicode="+"/><glyph horiz-adv-x="557" unicode=","/><glyph horiz-adv-x="670" unicode="-"/><glyph horiz-adv-x="557" unicode="."/><glyph horiz-adv-x="569" unicode="/"/><glyph d="M172 680q0 -49 14 -49q15 0 15 24t19 24t19 9q0 10 -19 10t-19 9q0 10 24 10t24 14q0 15 -39 15q-16 0 -27 -15q-11 -14 -11 -35v-16zM186 1146q-12 -18 20 -41l60 -44q10 -7 21 -10q11 -2 22 0q10 1 20 7t17 15q6 8 9 18q1 4 2 9q1 9 9 13q4 2 8 5q8 5 14 13q7 10 10 21 q2 11 0 22q-1 10 -7 20t-15 17l-61 44q-32 23 -44 6q-13 -17 19 -41l60 -44q5 -3 6 -9t-2 -11q-4 -4 -10 -5t-10 2l-38 27q-32 24 -44 7q-13 -18 19 -41l37 -27q5 -4 6 -10t-3 -10q-3 -5 -9 -6t-11 2l-60 45q-32 23 -45 6zM258 669q0 -8 3 -15t8 -12q6 -5 13 -8t14 -3 q8 0 15 3t12 8q6 5 9 12t3 15v38q0 8 -3 15t-9 12q-5 5 -12 8q-7 4 -15 4q-7 0 -14 -4q-7 -3 -13 -8q-5 -5 -8 -12t-3 -15v-38zM287 669v38q0 4 3 7q2 3 6 3t7 -3t3 -7v-38q0 -4 -3 -7t-7 -3t-6 3q-3 3 -3 7zM334 1309q0 -11 5 -22q4 -11 12 -19l41 -40q8 -8 19 -12 q10 -5 21 -5q11 1 22 5q10 4 19 12q8 9 12 19q4 11 4 22t-4 21q-4 11 -13 19l-40 40q-9 9 -19 13q-11 4 -22 4t-21 -4q-11 -5 -19 -13q-9 -8 -13 -19q-4 -10 -4 -21zM344 680q0 -49 15 -49q14 0 14 28q0 12 3 12t7 -12q9 -28 24 -28q14 0 14 49v16q0 50 -14 50 q-15 0 -15 -29q0 -12 -3 -12q-2 0 -6 12q-10 29 -24 29q-15 0 -15 -50v-16zM377 1309q0 6 4 10t10 4t10 -4l41 -40q4 -5 4 -10q0 -6 -4 -11q-4 -4 -10 -4t-10 4l-41 41q-4 4 -4 10zM397 970q21 -21 15 -60q4 -4 25 -14q16 -8 20 -20q-12 -12 -11 -36q1 -21 -19 -29 q10 -10 30 -9q27 1 34 0q7 3 15 15q8 11 15 14q18 -5 44 -44q24 -36 40 -35q26 1 60 74q-8 15 -44 45q-31 26 -36 54q-1 11 1 32q4 26 4 34q1 38 -34 48q-11 -39 -10 -74q-12 27 -33 45q-26 21 -51 14q0 -17 14 -44q15 -28 15 -40q-8 4 -17 17q-10 14 -17 18q-37 -7 -60 -5z M402 440q16 9 23 5q2 -1 7 -6q6 -6 10 -9q12 -1 28 16q14 14 21 9q-45 -36 -39 -94q19 14 59 5q11 6 24 21q15 19 21 23q4 -4 30 -9q19 -5 19 -20q14 12 19 42q4 31 -9 47q33 36 45 39q19 -16 53 -8t41 28q-34 9 -35 30q37 69 173 -20q83 -53 90 -84q4 -20 -2 -63 q-6 -46 -3 -66q4 -30 23 -61q27 -44 31 -53q2 -13 -5 -39q18 -5 43 18q21 18 36 1q-114 -166 -232 -94q-10 -8 -39 -15q-24 -5 -31 -24q1 -1 9 -1q8 -1 12 -3q15 -5 9 -26q10 0 22 19q11 16 18 11q2 3 -31 -36q-18 -22 -14 -53q7 -7 12 2q6 12 13 13q13 -12 17 -13 q8 -2 13 13q2 -5 4 -35q2 -23 15 -25q5 29 40 25q0 -1 -1 33q0 19 11 21q-8 -18 5 -89q8 1 10 -5h5q-4 28 23 31q47 4 46 4q20 9 33 50q13 38 41 49q8 1 17 -9q6 -8 13 -1q1 38 62 125q48 70 17 133q-4 -31 -34 -35q-59 21 -50 96q9 74 64 92q21 -41 65 -61q41 -19 87 -14 q47 5 78 34q35 31 38 81q2 38 -19 76q-26 47 -31 72q8 25 55 20q-3 32 -43 34t-51 -24q-3 30 -85 97q-75 61 -64 121q6 32 43 57q41 28 81 12q6 -3 11 -18t14 -17q100 57 109 70v5q-30 43 -70 39q-17 34 -44 30q-5 -4 -10 -22q-5 -16 -15 -18q-81 -3 -129 -46 q-47 -41 -49 -107q-3 -76 64 -130q82 -67 94 -98q-14 4 -59 13q-39 7 -58 15q-57 25 -21 96q-1 1 -25 54q-32 -34 -38 -81q-5 -44 16 -82q22 -40 63 -55q45 -18 102 1q-26 -16 -18 -63q8 -48 38 -37q-8 10 -5 40q31 26 56 11q22 -14 25 -48q4 -34 -16 -56q-24 -25 -70 -16 q-35 7 -82 60q-11 12 -41 48q-25 30 -40 46q-121 126 -124 128q73 48 89 134l15 -11q10 -7 15 1q-3 15 4 81q5 57 -9 83q5 -6 17 -6q13 1 13 11q-36 110 -71 150q-59 66 -167 43l-15 -10q-91 -3 -104 -25q-8 1 28 0q16 0 17 -10q-10 2 -21 -1q-12 -4 -19 -4q-2 -20 25 -74 q8 23 26 27q15 4 31 -8q15 -11 18 -30q4 -20 -11 -39q-1 0 -4 -2q-3 -3 -6 -3q-13 1 -39 20q-17 -29 -9 -56q9 -26 38 -38q-1 21 16 33t34 2q-10 -49 -88 -66q-104 -24 -130 -43q-22 -17 -83 -91q-45 -55 -95 -68q7 -24 79 -79q-16 -11 -50 -48q-31 -33 -54 -46 q-20 24 -55 27q-37 2 -59 -22q29 7 25 -35q44 6 49 -14q-43 6 -54 4q-1 -12 -17 -27q-15 -13 -13 -32zM430 731q0 -14 12 -14t12 -43t15 -43q14 0 14 43t12 43t12 14q0 15 -38 15q-39 0 -39 -15zM443 1413q-1 -11 2 -22q2 -11 9 -20l35 -46q7 -9 17 -15q9 -5 20 -7 q11 -1 22 1q11 3 21 10q9 7 15 17q5 10 7 21q1 10 -1 21q-3 12 -10 21l-34 46q-7 9 -17 15q-10 5 -21 7q-11 1 -22 -1q-11 -3 -20 -10q-10 -7 -15 -17q-6 -10 -8 -21zM486 1407q1 6 5 10q5 3 11 3q6 -1 9 -6l35 -46q3 -5 3 -10q-1 -6 -6 -10t-11 -3t-9 6l-34 46q-4 5 -3 10z M531 257q35 6 35 -30q11 0 25 18q13 16 19 12q-41 -47 -44 -79q8 8 26 3q37 -10 28 -8q5 26 4 23q4 12 16 11q-13 -21 -15 -46q-3 -30 15 -43q3 22 20 30q27 -13 53 7q33 26 46 28q21 -21 20 -35q22 20 109 32q80 11 99 42q-51 29 -81 81q-39 66 16 97q9 2 40 -14v54l-36 27 q-17 18 -9 42q-53 39 -107 -1q-70 -53 -101 -53q-2 -25 16 -38q5 -4 17 -11q11 -6 17 -10q-1 -35 26 -74q31 -43 33 -55q-72 -18 -133 28q-64 49 -109 41q11 -3 9 -13q-5 -21 -4 -22q3 0 12 -1q9 0 12 -1q14 -2 15 -12q-27 9 -54 0t-35 -30zM567 1475l41 -82q18 -36 43 -23 q15 7 26 13q11 5 18 14t10 19q4 11 3 22q0 11 -6 22l-25 51q-6 10 -14 18q-9 7 -20 10q-10 4 -21 3q-12 0 -22 -6l-26 -13q-25 -13 -7 -48zM613 1495q3 1 6 3q5 3 11 1t8 -7l26 -51q3 -6 1 -11q-2 -6 -7 -9l-7 -3q-6 -3 -24 32l-3 6q-18 35 -11 39zM645 1024q17 -63 123 -22 q23 9 83 38q46 22 61 24q-40 9 -118 -17q-64 -21 -95 7q-8 7 3 27q8 16 -3 18q-31 -1 -47 -22t-7 -53zM685 -158q0 -11 4 -19q4 -7 11 -12q8 -5 17 -7q10 -2 21 -2q5 0 9 -4t4 -9q0 -6 -4 -9q-4 -4 -9 -4t-8 2q-1 1 -3 2q-2 3 -19 -6q-19 -10 -10 -20q5 -6 11 -10 q13 -8 29 -8q10 0 20 4t17 12q7 7 11 16q5 10 5 21t-5 18q-4 8 -11 13q-7 4 -17 6q-9 3 -20 3q-6 0 -10 3q-4 4 -4 10q0 5 4 9t10 4q4 0 7 -2q2 -1 3 -3q2 -2 19 6q20 10 10 21q-5 5 -11 9q-13 9 -28 9q-11 0 -21 -5q-10 -4 -17 -11t-11 -17q-4 -9 -4 -20zM711 1549 q-2 -11 1 -23l15 -55q3 -11 10 -20t16 -15q10 -5 21 -7t23 1q11 3 20 10q9 6 15 14q6 7 8 16q2 4 2 8q0 8 -24 10q-21 1 -22 -4q0 -3 -2 -6q-3 -5 -8 -6q-6 -2 -11 1t-7 9l-15 55q-1 6 2 11t8 7q6 1 11 -2q3 -1 5 -3q3 -5 21 7q20 13 15 20q-2 3 -5 6q-6 7 -15 11 q-9 3 -20 4t-23 -2q-11 -3 -20 -10t-14 -16q-6 -10 -7 -21zM804 -155v-59q0 -50 20 -50q19 0 19 26q0 27 7 27h7q10 0 20 4t17 11q7 8 11 17q5 10 5 21t-5 20q-4 10 -11 17t-17 11q-10 5 -20 5h-33q-20 0 -20 -50zM808 1381q21 -56 25 -149h248q-3 92 19 149q-19 -1 -37 -17 q-21 -19 -32 -23q1 -8 14 -18q11 -9 6 -26q-2 -1 -5 -3q-2 -2 -5 -2q-22 6 -54 0q-2 3 -5 10q-4 6 -5 10q1 4 11 11q8 6 8 13q-8 8 -19 30t-20 30h-5q8 4 -40 -60q0 -7 10 -17q9 -9 5 -22q-8 0 -21 -2q-16 -2 -20 -2q-21 -1 -33 14q0 8 9 15q10 7 11 14q-42 41 -65 45z M843 -158q0 13 7 13h7q5 0 9 -4t4 -9q0 -6 -4 -10q-4 -3 -9 -3h-7q-7 0 -7 13zM861 1581l3 -75q0 -12 5 -22t13 -18q8 -7 19 -11t22 -4q12 1 22 6q11 5 18 13t12 18q4 11 3 23l-3 74q-1 40 -23 39q-21 -1 -20 -41l3 -74q1 -6 -3 -11q-4 -4 -10 -4t-11 4q-4 4 -4 10l-3 74 q-2 40 -23 39q-22 -1 -20 -40zM884 9q1 3 5 11q3 7 3 9q9 -6 2 -17q-9 -15 -6 -23q-9 6 -4 20zM927 -215q-4 -49 16 -49q19 0 21 20t11 20q10 0 12 -20t22 -20t15 49l-5 60q-1 21 -14 35q-13 15 -29 15q-17 0 -30 -15q-12 -14 -14 -35zM942 1153v20q48 -4 49 -5 q-20 -11 -49 -15zM970 -171q2 26 5 26q4 0 6 -26q2 -27 -5 -27q-8 0 -6 27zM1020 1602q-3 -21 14 -24q18 -3 11 -43l-8 -48q-6 -39 15 -43q21 -3 27 36l9 48q6 40 24 37q17 -3 21 18t-36 27l-34 6q-39 7 -43 -14zM1042 -155v-59q0 -50 20 -50q19 0 19 50v59q0 50 -19 50 q-20 0 -20 -50zM1056 1168q9 4 17 -5q7 -8 10 -22q6 -36 -22 -37q15 11 13 33t-18 31zM1095 -155v-59q0 -50 19 -50q20 0 20 40q0 16 4 16t10 -16q13 -40 33 -40q19 0 19 50v59q0 50 -19 50q-20 0 -20 -40q0 -16 -4 -16t-9 16q-14 40 -34 40q-19 0 -19 -50zM1170 1457 q-14 -37 6 -44q21 -8 34 30l17 46q14 37 30 31q17 -6 24 14q8 21 -30 34l-32 12q-38 14 -45 -7q-7 -20 9 -26q17 -6 4 -43zM1244 841q12 -43 40 -59q92 9 94 -45q36 -2 39 30q43 -2 75 39v10q-16 19 -52 38q-47 25 -57 32q-10 -1 -12 -18q-2 -19 -8 -22q6 2 -119 -5z M1260 1393q4 -16 19 -24l30 -17q35 -20 45 -1q11 18 -20 36t-24 30q7 13 32 -1q25 -15 32 -2q7 12 -18 26q-25 15 -18 27t38 -5q31 -18 42 1q11 18 -24 38l-30 17q-15 8 -30 4q-16 -4 -25 -19l-45 -80q-8 -14 -4 -30zM1373 1311q16 -14 35 7q18 22 22 19q3 -3 -8 -31 q-12 -28 4 -42q17 -14 31 19q13 32 26 34q7 1 13 3q13 5 22 16q8 9 11 20q3 10 3 21q-1 11 -6 22q-5 10 -14 18l-10 9l-17 14q-16 14 -42 -16l-60 -69q-27 -30 -10 -44zM1460 1238q0 -9 5 -16q6 -7 15 -8q9 0 16 5q6 6 7 15t-5 16q-6 6 -14 7q-9 1 -16 -5t-8 -14zM1460 1367 q-5 5 4 16t15 6l5 -5q5 -4 5 -9q0 -6 -3 -11q-4 -4 -10 -5q-6 0 -11 4zM1497 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4q7 0 13 3q3 1 5 2q6 3 11 0l6 -2q6 -3 13 -3q8 0 15 4q7 3 12 8t8 12t3 15v38q0 38 -14 38q-15 0 -15 -38v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v28 q0 29 -14 29q-15 0 -15 -29v-28q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v38q0 38 -14 38t-14 -38v-38zM1507 1192q-4 -16 5 -30l19 -29q21 -34 39 -22q18 11 -1 41q-19 31 -7 38q12 8 27 -16q16 -25 28 -17t-3 32q-16 24 -4 32q13 7 32 -23t37 -19q18 12 -3 45l-19 30 q-9 14 -25 17q-16 4 -30 -5l-78 -49q-14 -9 -17 -25zM1578 1065q-4 -16 3 -31q4 -11 12 -19q9 -8 19 -12q10 -5 21 -5t22 4q11 5 17 12t8 16t0 20t-6 21q-3 6 0 11q2 6 7 8q6 2 11 0q6 -2 8 -8q2 -4 1 -8q-1 -2 -1 -4q-2 -3 13 -17q18 -15 25 -1q4 7 5 15q3 16 -3 31 q-5 11 -13 19t-18 12q-10 5 -22 5q-11 0 -22 -4q-11 -5 -16 -12q-6 -7 -8 -16t0 -20q2 -10 6 -21q2 -6 0 -11q-2 -6 -8 -8q-5 -2 -11 0q-5 2 -7 8q-2 4 -1 8q0 2 1 4q2 4 -14 17q-18 16 -25 1q-3 -7 -4 -15zM1631 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4t15 4q7 3 12 8t8 12 t3 15v38q0 8 -3 15t-8 12t-12 8t-15 3t-15 -3t-12 -8t-8 -12t-3 -15v-38zM1659 686v38q0 4 3 7t7 3t7 -3q2 -3 2 -7v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7zM1717 697q0 -50 14 -50t14 20q0 19 4 19q3 0 9 -19q7 -20 21 -20t7 23q-8 22 -2 29q3 4 5 8q4 8 4 17q0 8 -3 15 t-8 12t-12 8t-15 3h-24q-14 0 -14 -49v-16zM1745 724q0 10 5 10h5q4 0 7 -3t3 -7t-3 -7t-7 -3h-5q-5 0 -5 10zM1803 697q0 -50 14 -50q15 0 15 24t1 24q2 0 10 -24t22 -24t5 29q-10 29 0 58q9 28 -5 28t-22 -24t-10 -24q-1 0 -1 24t-15 24q-14 0 -14 -49v-16zM1889 724 q0 -8 3 -13q3 -6 8 -9q6 -4 13 -5q6 -2 14 -2q4 0 7 -2q3 -3 3 -7t-3 -7t-7 -3q-3 0 -5 2q-1 0 -2 2q-2 2 -14 -5q-14 -7 -7 -15q3 -4 8 -7q9 -6 20 -6q8 0 15 4q7 3 12 8q6 5 9 12t3 15t-3 13q-3 6 -9 9q-5 3 -12 5q-7 1 -15 1q-4 0 -6 3q-3 3 -3 7t3 7q2 3 6 3q3 0 6 -2 l2 -2q1 -2 14 5q14 7 7 15q-4 4 -8 6q-9 6 -21 6q-7 0 -14 -3t-13 -8q-5 -5 -8 -12t-3 -15z" unicode="0"/><glyph d="M172 680q0 -49 14 -49q15 0 15 24t19 24t19 9q0 10 -19 10t-19 9q0 10 24 10t24 14q0 15 -39 15q-16 0 -27 -15q-11 -14 -11 -35v-16zM186 1146q-12 -18 20 -41l60 -44q10 -7 21 -10q11 -2 22 0q10 1 20 7t17 15q6 8 9 18q1 4 2 9q1 9 9 13q4 2 8 5q8 5 14 13q7 10 10 21 q2 11 0 22q-1 10 -7 20t-15 17l-61 44q-32 23 -44 6q-13 -17 19 -41l60 -44q5 -3 6 -9t-2 -11q-4 -4 -10 -5t-10 2l-38 27q-32 24 -44 7q-13 -18 19 -41l37 -27q5 -4 6 -10t-3 -10q-3 -5 -9 -6t-11 2l-60 45q-32 23 -45 6zM258 669q0 -8 3 -15t8 -12q6 -5 13 -8t14 -3 q8 0 15 3t12 8q6 5 9 12t3 15v38q0 8 -3 15t-9 12q-5 5 -12 8q-7 4 -15 4q-7 0 -14 -4q-7 -3 -13 -8q-5 -5 -8 -12t-3 -15v-38zM287 669v38q0 4 3 7q2 3 6 3t7 -3t3 -7v-38q0 -4 -3 -7t-7 -3t-6 3q-3 3 -3 7zM334 1309q0 -11 5 -22q4 -11 12 -19l41 -40q8 -8 19 -12 q10 -5 21 -5q11 1 22 5q10 4 19 12q8 9 12 19q4 11 4 22t-4 21q-4 11 -13 19l-40 40q-9 9 -19 13q-11 4 -22 4t-21 -4q-11 -5 -19 -13q-9 -8 -13 -19q-4 -10 -4 -21zM344 680q0 -49 15 -49q14 0 14 28q0 12 3 12t7 -12q9 -28 24 -28q14 0 14 49v16q0 50 -14 50 q-15 0 -15 -29q0 -12 -3 -12q-2 0 -6 12q-10 29 -24 29q-15 0 -15 -50v-16zM377 1309q0 6 4 10t10 4t10 -4l41 -40q4 -5 4 -10q0 -6 -4 -11q-4 -4 -10 -4t-10 4l-41 41q-4 4 -4 10zM397 970q21 -21 15 -60q4 -4 25 -14q16 -8 20 -20q-12 -12 -11 -36q1 -21 -19 -29 q10 -10 30 -9q27 1 34 0q7 3 15 15q8 11 15 14q18 -5 44 -44q24 -36 40 -35q26 1 60 74q-8 15 -44 45q-31 26 -36 54q-1 11 1 32q4 26 4 34q1 38 -34 48q-11 -39 -10 -74q-12 27 -33 45q-26 21 -51 14q0 -17 14 -44q15 -28 15 -40q-8 4 -17 17q-10 14 -17 18q-37 -7 -60 -5z M402 440q16 9 23 5q2 -1 7 -6q6 -6 10 -9q12 -1 28 16q14 14 21 9q-45 -36 -39 -94q19 14 59 5q11 6 24 21q15 19 21 23q4 -4 30 -9q19 -5 19 -20q14 12 19 42q4 31 -9 47q33 36 45 39q19 -16 53 -8t41 28q-34 9 -35 30q37 69 173 -20q83 -53 90 -84q4 -20 -2 -63 q-6 -46 -3 -66q4 -30 23 -61q27 -44 31 -53q2 -13 -5 -39q18 -5 43 18q21 18 36 1q-114 -166 -232 -94q-10 -8 -39 -15q-24 -5 -31 -24q1 -1 9 -1q8 -1 12 -3q15 -5 9 -26q10 0 22 19q11 16 18 11q2 3 -31 -36q-18 -22 -14 -53q7 -7 12 2q6 12 13 13q13 -12 17 -13 q8 -2 13 13q2 -5 4 -35q2 -23 15 -25q5 29 40 25q0 -1 -1 33q0 19 11 21q-8 -18 5 -89q8 1 10 -5h5q-4 28 23 31q47 4 46 4q20 9 33 50q13 38 41 49q8 1 17 -9q6 -8 13 -1q1 38 62 125q48 70 17 133q-4 -31 -34 -35q-59 21 -50 96q9 74 64 92q21 -41 65 -61q41 -19 87 -14 q47 5 78 34q35 31 38 81q2 38 -19 76q-26 47 -31 72q8 25 55 20q-3 32 -43 34t-51 -24q-3 30 -85 97q-75 61 -64 121q6 32 43 57q41 28 81 12q6 -3 11 -18t14 -17q100 57 109 70v5q-30 43 -70 39q-17 34 -44 30q-5 -4 -10 -22q-5 -16 -15 -18q-81 -3 -129 -46 q-47 -41 -49 -107q-3 -76 64 -130q82 -67 94 -98q-14 4 -59 13q-39 7 -58 15q-57 25 -21 96q-1 1 -25 54q-32 -34 -38 -81q-5 -44 16 -82q22 -40 63 -55q45 -18 102 1q-26 -16 -18 -63q8 -48 38 -37q-8 10 -5 40q31 26 56 11q22 -14 25 -48q4 -34 -16 -56q-24 -25 -70 -16 q-35 7 -82 60q-11 12 -41 48q-25 30 -40 46q-121 126 -124 128q73 48 89 134l15 -11q10 -7 15 1q-3 15 4 81q5 57 -9 83q5 -6 17 -6q13 1 13 11q-36 110 -71 150q-59 66 -167 43l-15 -10q-91 -3 -104 -25q-8 1 28 0q16 0 17 -10q-10 2 -21 -1q-12 -4 -19 -4q-2 -20 25 -74 q8 23 26 27q15 4 31 -8q15 -11 18 -30q4 -20 -11 -39q-1 0 -4 -2q-3 -3 -6 -3q-13 1 -39 20q-17 -29 -9 -56q9 -26 38 -38q-1 21 16 33t34 2q-10 -49 -88 -66q-104 -24 -130 -43q-22 -17 -83 -91q-45 -55 -95 -68q7 -24 79 -79q-16 -11 -50 -48q-31 -33 -54 -46 q-20 24 -55 27q-37 2 -59 -22q29 7 25 -35q44 6 49 -14q-43 6 -54 4q-1 -12 -17 -27q-15 -13 -13 -32zM430 731q0 -14 12 -14t12 -43t15 -43q14 0 14 43t12 43t12 14q0 15 -38 15q-39 0 -39 -15zM443 1413q-1 -11 2 -22q2 -11 9 -20l35 -46q7 -9 17 -15q9 -5 20 -7 q11 -1 22 1q11 3 21 10q9 7 15 17q5 10 7 21q1 10 -1 21q-3 12 -10 21l-34 46q-7 9 -17 15q-10 5 -21 7q-11 1 -22 -1q-11 -3 -20 -10q-10 -7 -15 -17q-6 -10 -8 -21zM486 1407q1 6 5 10q5 3 11 3q6 -1 9 -6l35 -46q3 -5 3 -10q-1 -6 -6 -10t-11 -3t-9 6l-34 46q-4 5 -3 10z M531 257q35 6 35 -30q11 0 25 18q13 16 19 12q-41 -47 -44 -79q8 8 26 3q37 -10 28 -8q5 26 4 23q4 12 16 11q-13 -21 -15 -46q-3 -30 15 -43q3 22 20 30q27 -13 53 7q33 26 46 28q21 -21 20 -35q22 20 109 32q80 11 99 42q-51 29 -81 81q-39 66 16 97q9 2 40 -14v54l-36 27 q-17 18 -9 42q-53 39 -107 -1q-70 -53 -101 -53q-2 -25 16 -38q5 -4 17 -11q11 -6 17 -10q-1 -35 26 -74q31 -43 33 -55q-72 -18 -133 28q-64 49 -109 41q11 -3 9 -13q-5 -21 -4 -22q3 0 12 -1q9 0 12 -1q14 -2 15 -12q-27 9 -54 0t-35 -30zM567 1475l41 -82q18 -36 43 -23 q15 7 26 13q11 5 18 14t10 19q4 11 3 22q0 11 -6 22l-25 51q-6 10 -14 18q-9 7 -20 10q-10 4 -21 3q-12 0 -22 -6l-26 -13q-25 -13 -7 -48zM613 1495q3 1 6 3q5 3 11 1t8 -7l26 -51q3 -6 1 -11q-2 -6 -7 -9l-7 -3q-6 -3 -24 32l-3 6q-18 35 -11 39zM645 1024q17 -63 123 -22 q23 9 83 38q46 22 61 24q-40 9 -118 -17q-64 -21 -95 7q-8 7 3 27q8 16 -3 18q-31 -1 -47 -22t-7 -53zM685 -158q0 -11 4 -19q4 -7 11 -12q8 -5 17 -7q10 -2 21 -2q5 0 9 -4t4 -9q0 -6 -4 -9q-4 -4 -9 -4t-8 2q-1 1 -3 2q-2 3 -19 -6q-19 -10 -10 -20q5 -6 11 -10 q13 -8 29 -8q10 0 20 4t17 12q7 7 11 16q5 10 5 21t-5 18q-4 8 -11 13q-7 4 -17 6q-9 3 -20 3q-6 0 -10 3q-4 4 -4 10q0 5 4 9t10 4q4 0 7 -2q2 -1 3 -3q2 -2 19 6q20 10 10 21q-5 5 -11 9q-13 9 -28 9q-11 0 -21 -5q-10 -4 -17 -11t-11 -17q-4 -9 -4 -20zM711 1549 q-2 -11 1 -23l15 -55q3 -11 10 -20t16 -15q10 -5 21 -7t23 1q11 3 20 10q9 6 15 14q6 7 8 16q2 4 2 8q0 8 -24 10q-21 1 -22 -4q0 -3 -2 -6q-3 -5 -8 -6q-6 -2 -11 1t-7 9l-15 55q-1 6 2 11t8 7q6 1 11 -2q3 -1 5 -3q3 -5 21 7q20 13 15 20q-2 3 -5 6q-6 7 -15 11 q-9 3 -20 4t-23 -2q-11 -3 -20 -10t-14 -16q-6 -10 -7 -21zM804 -155v-59q0 -50 20 -50q19 0 19 26q0 27 7 27h7q10 0 20 4t17 11q7 8 11 17q5 10 5 21t-5 20q-4 10 -11 17t-17 11q-10 5 -20 5h-33q-20 0 -20 -50zM808 1381q21 -56 25 -149h248q-3 92 19 149q-19 -1 -37 -17 q-21 -19 -32 -23q1 -8 14 -18q11 -9 6 -26q-2 -1 -5 -3q-2 -2 -5 -2q-22 6 -54 0q-2 3 -5 10q-4 6 -5 10q1 4 11 11q8 6 8 13q-8 8 -19 30t-20 30h-5q8 4 -40 -60q0 -7 10 -17q9 -9 5 -22q-8 0 -21 -2q-16 -2 -20 -2q-21 -1 -33 14q0 8 9 15q10 7 11 14q-42 41 -65 45z M843 -158q0 13 7 13h7q5 0 9 -4t4 -9q0 -6 -4 -10q-4 -3 -9 -3h-7q-7 0 -7 13zM861 1581l3 -75q0 -12 5 -22t13 -18q8 -7 19 -11t22 -4q12 1 22 6q11 5 18 13t12 18q4 11 3 23l-3 74q-1 40 -23 39q-21 -1 -20 -41l3 -74q1 -6 -3 -11q-4 -4 -10 -4t-11 4q-4 4 -4 10l-3 74 q-2 40 -23 39q-22 -1 -20 -40zM884 9q1 3 5 11q3 7 3 9q9 -6 2 -17q-9 -15 -6 -23q-9 6 -4 20zM927 -215q-4 -49 16 -49q19 0 21 20t11 20q10 0 12 -20t22 -20t15 49l-5 60q-1 21 -14 35q-13 15 -29 15q-17 0 -30 -15q-12 -14 -14 -35zM942 1153v20q48 -4 49 -5 q-20 -11 -49 -15zM970 -171q2 26 5 26q4 0 6 -26q2 -27 -5 -27q-8 0 -6 27zM1020 1602q-3 -21 14 -24q18 -3 11 -43l-8 -48q-6 -39 15 -43q21 -3 27 36l9 48q6 40 24 37q17 -3 21 18t-36 27l-34 6q-39 7 -43 -14zM1042 -155v-59q0 -50 20 -50q19 0 19 50v59q0 50 -19 50 q-20 0 -20 -50zM1056 1168q9 4 17 -5q7 -8 10 -22q6 -36 -22 -37q15 11 13 33t-18 31zM1095 -155v-59q0 -50 19 -50q20 0 20 40q0 16 4 16t10 -16q13 -40 33 -40q19 0 19 50v59q0 50 -19 50q-20 0 -20 -40q0 -16 -4 -16t-9 16q-14 40 -34 40q-19 0 -19 -50zM1170 1457 q-14 -37 6 -44q21 -8 34 30l17 46q14 37 30 31q17 -6 24 14q8 21 -30 34l-32 12q-38 14 -45 -7q-7 -20 9 -26q17 -6 4 -43zM1244 841q12 -43 40 -59q92 9 94 -45q36 -2 39 30q43 -2 75 39v10q-16 19 -52 38q-47 25 -57 32q-10 -1 -12 -18q-2 -19 -8 -22q6 2 -119 -5z M1260 1393q4 -16 19 -24l30 -17q35 -20 45 -1q11 18 -20 36t-24 30q7 13 32 -1q25 -15 32 -2q7 12 -18 26q-25 15 -18 27t38 -5q31 -18 42 1q11 18 -24 38l-30 17q-15 8 -30 4q-16 -4 -25 -19l-45 -80q-8 -14 -4 -30zM1373 1311q16 -14 35 7q18 22 22 19q3 -3 -8 -31 q-12 -28 4 -42q17 -14 31 19q13 32 26 34q7 1 13 3q13 5 22 16q8 9 11 20q3 10 3 21q-1 11 -6 22q-5 10 -14 18l-10 9l-17 14q-16 14 -42 -16l-60 -69q-27 -30 -10 -44zM1460 1238q0 -9 5 -16q6 -7 15 -8q9 0 16 5q6 6 7 15t-5 16q-6 6 -14 7q-9 1 -16 -5t-8 -14zM1460 1367 q-5 5 4 16t15 6l5 -5q5 -4 5 -9q0 -6 -3 -11q-4 -4 -10 -5q-6 0 -11 4zM1497 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4q7 0 13 3q3 1 5 2q6 3 11 0l6 -2q6 -3 13 -3q8 0 15 4q7 3 12 8t8 12t3 15v38q0 38 -14 38q-15 0 -15 -38v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v28 q0 29 -14 29q-15 0 -15 -29v-28q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v38q0 38 -14 38t-14 -38v-38zM1507 1192q-4 -16 5 -30l19 -29q21 -34 39 -22q18 11 -1 41q-19 31 -7 38q12 8 27 -16q16 -25 28 -17t-3 32q-16 24 -4 32q13 7 32 -23t37 -19q18 12 -3 45l-19 30 q-9 14 -25 17q-16 4 -30 -5l-78 -49q-14 -9 -17 -25zM1578 1065q-4 -16 3 -31q4 -11 12 -19q9 -8 19 -12q10 -5 21 -5t22 4q11 5 17 12t8 16t0 20t-6 21q-3 6 0 11q2 6 7 8q6 2 11 0q6 -2 8 -8q2 -4 1 -8q-1 -2 -1 -4q-2 -3 13 -17q18 -15 25 -1q4 7 5 15q3 16 -3 31 q-5 11 -13 19t-18 12q-10 5 -22 5q-11 0 -22 -4q-11 -5 -16 -12q-6 -7 -8 -16t0 -20q2 -10 6 -21q2 -6 0 -11q-2 -6 -8 -8q-5 -2 -11 0q-5 2 -7 8q-2 4 -1 8q0 2 1 4q2 4 -14 17q-18 16 -25 1q-3 -7 -4 -15zM1631 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4t15 4q7 3 12 8t8 12 t3 15v38q0 8 -3 15t-8 12t-12 8t-15 3t-15 -3t-12 -8t-8 -12t-3 -15v-38zM1659 686v38q0 4 3 7t7 3t7 -3q2 -3 2 -7v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7zM1717 697q0 -50 14 -50t14 20q0 19 4 19q3 0 9 -19q7 -20 21 -20t7 23q-8 22 -2 29q3 4 5 8q4 8 4 17q0 8 -3 15 t-8 12t-12 8t-15 3h-24q-14 0 -14 -49v-16zM1745 724q0 10 5 10h5q4 0 7 -3t3 -7t-3 -7t-7 -3h-5q-5 0 -5 10zM1803 697q0 -50 14 -50q15 0 15 24t1 24q2 0 10 -24t22 -24t5 29q-10 29 0 58q9 28 -5 28t-22 -24t-10 -24q-1 0 -1 24t-15 24q-14 0 -14 -49v-16zM1889 724 q0 -8 3 -13q3 -6 8 -9q6 -4 13 -5q6 -2 14 -2q4 0 7 -2q3 -3 3 -7t-3 -7t-7 -3q-3 0 -5 2q-1 0 -2 2q-2 2 -14 -5q-14 -7 -7 -15q3 -4 8 -7q9 -6 20 -6q8 0 15 4q7 3 12 8q6 5 9 12t3 15t-3 13q-3 6 -9 9q-5 3 -12 5q-7 1 -15 1q-4 0 -6 3q-3 3 -3 7t3 7q2 3 6 3q3 0 6 -2 l2 -2q1 -2 14 5q14 7 7 15q-4 4 -8 6q-9 6 -21 6q-7 0 -14 -3t-13 -8q-5 -5 -8 -12t-3 -15z" unicode="1"/><glyph d="M172 680q0 -49 14 -49q15 0 15 24t19 24t19 9q0 10 -19 10t-19 9q0 10 24 10t24 14q0 15 -39 15q-16 0 -27 -15q-11 -14 -11 -35v-16zM186 1146q-12 -18 20 -41l60 -44q10 -7 21 -10q11 -2 22 0q10 1 20 7t17 15q6 8 9 18q1 4 2 9q1 9 9 13q4 2 8 5q8 5 14 13q7 10 10 21 q2 11 0 22q-1 10 -7 20t-15 17l-61 44q-32 23 -44 6q-13 -17 19 -41l60 -44q5 -3 6 -9t-2 -11q-4 -4 -10 -5t-10 2l-38 27q-32 24 -44 7q-13 -18 19 -41l37 -27q5 -4 6 -10t-3 -10q-3 -5 -9 -6t-11 2l-60 45q-32 23 -45 6zM258 669q0 -8 3 -15t8 -12q6 -5 13 -8t14 -3 q8 0 15 3t12 8q6 5 9 12t3 15v38q0 8 -3 15t-9 12q-5 5 -12 8q-7 4 -15 4q-7 0 -14 -4q-7 -3 -13 -8q-5 -5 -8 -12t-3 -15v-38zM287 669v38q0 4 3 7q2 3 6 3t7 -3t3 -7v-38q0 -4 -3 -7t-7 -3t-6 3q-3 3 -3 7zM334 1309q0 -11 5 -22q4 -11 12 -19l41 -40q8 -8 19 -12 q10 -5 21 -5q11 1 22 5q10 4 19 12q8 9 12 19q4 11 4 22t-4 21q-4 11 -13 19l-40 40q-9 9 -19 13q-11 4 -22 4t-21 -4q-11 -5 -19 -13q-9 -8 -13 -19q-4 -10 -4 -21zM344 680q0 -49 15 -49q14 0 14 28q0 12 3 12t7 -12q9 -28 24 -28q14 0 14 49v16q0 50 -14 50 q-15 0 -15 -29q0 -12 -3 -12q-2 0 -6 12q-10 29 -24 29q-15 0 -15 -50v-16zM377 1309q0 6 4 10t10 4t10 -4l41 -40q4 -5 4 -10q0 -6 -4 -11q-4 -4 -10 -4t-10 4l-41 41q-4 4 -4 10zM397 970q21 -21 15 -60q4 -4 25 -14q16 -8 20 -20q-12 -12 -11 -36q1 -21 -19 -29 q10 -10 30 -9q27 1 34 0q7 3 15 15q8 11 15 14q18 -5 44 -44q24 -36 40 -35q26 1 60 74q-8 15 -44 45q-31 26 -36 54q-1 11 1 32q4 26 4 34q1 38 -34 48q-11 -39 -10 -74q-12 27 -33 45q-26 21 -51 14q0 -17 14 -44q15 -28 15 -40q-8 4 -17 17q-10 14 -17 18q-37 -7 -60 -5z M402 440q16 9 23 5q2 -1 7 -6q6 -6 10 -9q12 -1 28 16q14 14 21 9q-45 -36 -39 -94q19 14 59 5q11 6 24 21q15 19 21 23q4 -4 30 -9q19 -5 19 -20q14 12 19 42q4 31 -9 47q33 36 45 39q19 -16 53 -8t41 28q-34 9 -35 30q37 69 173 -20q83 -53 90 -84q4 -20 -2 -63 q-6 -46 -3 -66q4 -30 23 -61q27 -44 31 -53q2 -13 -5 -39q18 -5 43 18q21 18 36 1q-114 -166 -232 -94q-10 -8 -39 -15q-24 -5 -31 -24q1 -1 9 -1q8 -1 12 -3q15 -5 9 -26q10 0 22 19q11 16 18 11q2 3 -31 -36q-18 -22 -14 -53q7 -7 12 2q6 12 13 13q13 -12 17 -13 q8 -2 13 13q2 -5 4 -35q2 -23 15 -25q5 29 40 25q0 -1 -1 33q0 19 11 21q-8 -18 5 -89q8 1 10 -5h5q-4 28 23 31q47 4 46 4q20 9 33 50q13 38 41 49q8 1 17 -9q6 -8 13 -1q1 38 62 125q48 70 17 133q-4 -31 -34 -35q-59 21 -50 96q9 74 64 92q21 -41 65 -61q41 -19 87 -14 q47 5 78 34q35 31 38 81q2 38 -19 76q-26 47 -31 72q8 25 55 20q-3 32 -43 34t-51 -24q-3 30 -85 97q-75 61 -64 121q6 32 43 57q41 28 81 12q6 -3 11 -18t14 -17q100 57 109 70v5q-30 43 -70 39q-17 34 -44 30q-5 -4 -10 -22q-5 -16 -15 -18q-81 -3 -129 -46 q-47 -41 -49 -107q-3 -76 64 -130q82 -67 94 -98q-14 4 -59 13q-39 7 -58 15q-57 25 -21 96q-1 1 -25 54q-32 -34 -38 -81q-5 -44 16 -82q22 -40 63 -55q45 -18 102 1q-26 -16 -18 -63q8 -48 38 -37q-8 10 -5 40q31 26 56 11q22 -14 25 -48q4 -34 -16 -56q-24 -25 -70 -16 q-35 7 -82 60q-11 12 -41 48q-25 30 -40 46q-121 126 -124 128q73 48 89 134l15 -11q10 -7 15 1q-3 15 4 81q5 57 -9 83q5 -6 17 -6q13 1 13 11q-36 110 -71 150q-59 66 -167 43l-15 -10q-91 -3 -104 -25q-8 1 28 0q16 0 17 -10q-10 2 -21 -1q-12 -4 -19 -4q-2 -20 25 -74 q8 23 26 27q15 4 31 -8q15 -11 18 -30q4 -20 -11 -39q-1 0 -4 -2q-3 -3 -6 -3q-13 1 -39 20q-17 -29 -9 -56q9 -26 38 -38q-1 21 16 33t34 2q-10 -49 -88 -66q-104 -24 -130 -43q-22 -17 -83 -91q-45 -55 -95 -68q7 -24 79 -79q-16 -11 -50 -48q-31 -33 -54 -46 q-20 24 -55 27q-37 2 -59 -22q29 7 25 -35q44 6 49 -14q-43 6 -54 4q-1 -12 -17 -27q-15 -13 -13 -32zM430 731q0 -14 12 -14t12 -43t15 -43q14 0 14 43t12 43t12 14q0 15 -38 15q-39 0 -39 -15zM443 1413q-1 -11 2 -22q2 -11 9 -20l35 -46q7 -9 17 -15q9 -5 20 -7 q11 -1 22 1q11 3 21 10q9 7 15 17q5 10 7 21q1 10 -1 21q-3 12 -10 21l-34 46q-7 9 -17 15q-10 5 -21 7q-11 1 -22 -1q-11 -3 -20 -10q-10 -7 -15 -17q-6 -10 -8 -21zM486 1407q1 6 5 10q5 3 11 3q6 -1 9 -6l35 -46q3 -5 3 -10q-1 -6 -6 -10t-11 -3t-9 6l-34 46q-4 5 -3 10z M531 257q35 6 35 -30q11 0 25 18q13 16 19 12q-41 -47 -44 -79q8 8 26 3q37 -10 28 -8q5 26 4 23q4 12 16 11q-13 -21 -15 -46q-3 -30 15 -43q3 22 20 30q27 -13 53 7q33 26 46 28q21 -21 20 -35q22 20 109 32q80 11 99 42q-51 29 -81 81q-39 66 16 97q9 2 40 -14v54l-36 27 q-17 18 -9 42q-53 39 -107 -1q-70 -53 -101 -53q-2 -25 16 -38q5 -4 17 -11q11 -6 17 -10q-1 -35 26 -74q31 -43 33 -55q-72 -18 -133 28q-64 49 -109 41q11 -3 9 -13q-5 -21 -4 -22q3 0 12 -1q9 0 12 -1q14 -2 15 -12q-27 9 -54 0t-35 -30zM567 1475l41 -82q18 -36 43 -23 q15 7 26 13q11 5 18 14t10 19q4 11 3 22q0 11 -6 22l-25 51q-6 10 -14 18q-9 7 -20 10q-10 4 -21 3q-12 0 -22 -6l-26 -13q-25 -13 -7 -48zM613 1495q3 1 6 3q5 3 11 1t8 -7l26 -51q3 -6 1 -11q-2 -6 -7 -9l-7 -3q-6 -3 -24 32l-3 6q-18 35 -11 39zM645 1024q17 -63 123 -22 q23 9 83 38q46 22 61 24q-40 9 -118 -17q-64 -21 -95 7q-8 7 3 27q8 16 -3 18q-31 -1 -47 -22t-7 -53zM685 -158q0 -11 4 -19q4 -7 11 -12q8 -5 17 -7q10 -2 21 -2q5 0 9 -4t4 -9q0 -6 -4 -9q-4 -4 -9 -4t-8 2q-1 1 -3 2q-2 3 -19 -6q-19 -10 -10 -20q5 -6 11 -10 q13 -8 29 -8q10 0 20 4t17 12q7 7 11 16q5 10 5 21t-5 18q-4 8 -11 13q-7 4 -17 6q-9 3 -20 3q-6 0 -10 3q-4 4 -4 10q0 5 4 9t10 4q4 0 7 -2q2 -1 3 -3q2 -2 19 6q20 10 10 21q-5 5 -11 9q-13 9 -28 9q-11 0 -21 -5q-10 -4 -17 -11t-11 -17q-4 -9 -4 -20zM711 1549 q-2 -11 1 -23l15 -55q3 -11 10 -20t16 -15q10 -5 21 -7t23 1q11 3 20 10q9 6 15 14q6 7 8 16q2 4 2 8q0 8 -24 10q-21 1 -22 -4q0 -3 -2 -6q-3 -5 -8 -6q-6 -2 -11 1t-7 9l-15 55q-1 6 2 11t8 7q6 1 11 -2q3 -1 5 -3q3 -5 21 7q20 13 15 20q-2 3 -5 6q-6 7 -15 11 q-9 3 -20 4t-23 -2q-11 -3 -20 -10t-14 -16q-6 -10 -7 -21zM804 -155v-59q0 -50 20 -50q19 0 19 26q0 27 7 27h7q10 0 20 4t17 11q7 8 11 17q5 10 5 21t-5 20q-4 10 -11 17t-17 11q-10 5 -20 5h-33q-20 0 -20 -50zM808 1381q21 -56 25 -149h248q-3 92 19 149q-19 -1 -37 -17 q-21 -19 -32 -23q1 -8 14 -18q11 -9 6 -26q-2 -1 -5 -3q-2 -2 -5 -2q-22 6 -54 0q-2 3 -5 10q-4 6 -5 10q1 4 11 11q8 6 8 13q-8 8 -19 30t-20 30h-5q8 4 -40 -60q0 -7 10 -17q9 -9 5 -22q-8 0 -21 -2q-16 -2 -20 -2q-21 -1 -33 14q0 8 9 15q10 7 11 14q-42 41 -65 45z M843 -158q0 13 7 13h7q5 0 9 -4t4 -9q0 -6 -4 -10q-4 -3 -9 -3h-7q-7 0 -7 13zM861 1581l3 -75q0 -12 5 -22t13 -18q8 -7 19 -11t22 -4q12 1 22 6q11 5 18 13t12 18q4 11 3 23l-3 74q-1 40 -23 39q-21 -1 -20 -41l3 -74q1 -6 -3 -11q-4 -4 -10 -4t-11 4q-4 4 -4 10l-3 74 q-2 40 -23 39q-22 -1 -20 -40zM884 9q1 3 5 11q3 7 3 9q9 -6 2 -17q-9 -15 -6 -23q-9 6 -4 20zM927 -215q-4 -49 16 -49q19 0 21 20t11 20q10 0 12 -20t22 -20t15 49l-5 60q-1 21 -14 35q-13 15 -29 15q-17 0 -30 -15q-12 -14 -14 -35zM942 1153v20q48 -4 49 -5 q-20 -11 -49 -15zM970 -171q2 26 5 26q4 0 6 -26q2 -27 -5 -27q-8 0 -6 27zM1020 1602q-3 -21 14 -24q18 -3 11 -43l-8 -48q-6 -39 15 -43q21 -3 27 36l9 48q6 40 24 37q17 -3 21 18t-36 27l-34 6q-39 7 -43 -14zM1042 -155v-59q0 -50 20 -50q19 0 19 50v59q0 50 -19 50 q-20 0 -20 -50zM1056 1168q9 4 17 -5q7 -8 10 -22q6 -36 -22 -37q15 11 13 33t-18 31zM1095 -155v-59q0 -50 19 -50q20 0 20 40q0 16 4 16t10 -16q13 -40 33 -40q19 0 19 50v59q0 50 -19 50q-20 0 -20 -40q0 -16 -4 -16t-9 16q-14 40 -34 40q-19 0 -19 -50zM1170 1457 q-14 -37 6 -44q21 -8 34 30l17 46q14 37 30 31q17 -6 24 14q8 21 -30 34l-32 12q-38 14 -45 -7q-7 -20 9 -26q17 -6 4 -43zM1244 841q12 -43 40 -59q92 9 94 -45q36 -2 39 30q43 -2 75 39v10q-16 19 -52 38q-47 25 -57 32q-10 -1 -12 -18q-2 -19 -8 -22q6 2 -119 -5z M1260 1393q4 -16 19 -24l30 -17q35 -20 45 -1q11 18 -20 36t-24 30q7 13 32 -1q25 -15 32 -2q7 12 -18 26q-25 15 -18 27t38 -5q31 -18 42 1q11 18 -24 38l-30 17q-15 8 -30 4q-16 -4 -25 -19l-45 -80q-8 -14 -4 -30zM1373 1311q16 -14 35 7q18 22 22 19q3 -3 -8 -31 q-12 -28 4 -42q17 -14 31 19q13 32 26 34q7 1 13 3q13 5 22 16q8 9 11 20q3 10 3 21q-1 11 -6 22q-5 10 -14 18l-10 9l-17 14q-16 14 -42 -16l-60 -69q-27 -30 -10 -44zM1460 1238q0 -9 5 -16q6 -7 15 -8q9 0 16 5q6 6 7 15t-5 16q-6 6 -14 7q-9 1 -16 -5t-8 -14zM1460 1367 q-5 5 4 16t15 6l5 -5q5 -4 5 -9q0 -6 -3 -11q-4 -4 -10 -5q-6 0 -11 4zM1497 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4q7 0 13 3q3 1 5 2q6 3 11 0l6 -2q6 -3 13 -3q8 0 15 4q7 3 12 8t8 12t3 15v38q0 38 -14 38q-15 0 -15 -38v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v28 q0 29 -14 29q-15 0 -15 -29v-28q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v38q0 38 -14 38t-14 -38v-38zM1507 1192q-4 -16 5 -30l19 -29q21 -34 39 -22q18 11 -1 41q-19 31 -7 38q12 8 27 -16q16 -25 28 -17t-3 32q-16 24 -4 32q13 7 32 -23t37 -19q18 12 -3 45l-19 30 q-9 14 -25 17q-16 4 -30 -5l-78 -49q-14 -9 -17 -25zM1578 1065q-4 -16 3 -31q4 -11 12 -19q9 -8 19 -12q10 -5 21 -5t22 4q11 5 17 12t8 16t0 20t-6 21q-3 6 0 11q2 6 7 8q6 2 11 0q6 -2 8 -8q2 -4 1 -8q-1 -2 -1 -4q-2 -3 13 -17q18 -15 25 -1q4 7 5 15q3 16 -3 31 q-5 11 -13 19t-18 12q-10 5 -22 5q-11 0 -22 -4q-11 -5 -16 -12q-6 -7 -8 -16t0 -20q2 -10 6 -21q2 -6 0 -11q-2 -6 -8 -8q-5 -2 -11 0q-5 2 -7 8q-2 4 -1 8q0 2 1 4q2 4 -14 17q-18 16 -25 1q-3 -7 -4 -15zM1631 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4t15 4q7 3 12 8t8 12 t3 15v38q0 8 -3 15t-8 12t-12 8t-15 3t-15 -3t-12 -8t-8 -12t-3 -15v-38zM1659 686v38q0 4 3 7t7 3t7 -3q2 -3 2 -7v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7zM1717 697q0 -50 14 -50t14 20q0 19 4 19q3 0 9 -19q7 -20 21 -20t7 23q-8 22 -2 29q3 4 5 8q4 8 4 17q0 8 -3 15 t-8 12t-12 8t-15 3h-24q-14 0 -14 -49v-16zM1745 724q0 10 5 10h5q4 0 7 -3t3 -7t-3 -7t-7 -3h-5q-5 0 -5 10zM1803 697q0 -50 14 -50q15 0 15 24t1 24q2 0 10 -24t22 -24t5 29q-10 29 0 58q9 28 -5 28t-22 -24t-10 -24q-1 0 -1 24t-15 24q-14 0 -14 -49v-16zM1889 724 q0 -8 3 -13q3 -6 8 -9q6 -4 13 -5q6 -2 14 -2q4 0 7 -2q3 -3 3 -7t-3 -7t-7 -3q-3 0 -5 2q-1 0 -2 2q-2 2 -14 -5q-14 -7 -7 -15q3 -4 8 -7q9 -6 20 -6q8 0 15 4q7 3 12 8q6 5 9 12t3 15t-3 13q-3 6 -9 9q-5 3 -12 5q-7 1 -15 1q-4 0 -6 3q-3 3 -3 7t3 7q2 3 6 3q3 0 6 -2 l2 -2q1 -2 14 5q14 7 7 15q-4 4 -8 6q-9 6 -21 6q-7 0 -14 -3t-13 -8q-5 -5 -8 -12t-3 -15z" unicode="2"/><glyph d="M172 680q0 -49 14 -49q15 0 15 24t19 24t19 9q0 10 -19 10t-19 9q0 10 24 10t24 14q0 15 -39 15q-16 0 -27 -15q-11 -14 -11 -35v-16zM186 1146q-12 -18 20 -41l60 -44q10 -7 21 -10q11 -2 22 0q10 1 20 7t17 15q6 8 9 18q1 4 2 9q1 9 9 13q4 2 8 5q8 5 14 13q7 10 10 21 q2 11 0 22q-1 10 -7 20t-15 17l-61 44q-32 23 -44 6q-13 -17 19 -41l60 -44q5 -3 6 -9t-2 -11q-4 -4 -10 -5t-10 2l-38 27q-32 24 -44 7q-13 -18 19 -41l37 -27q5 -4 6 -10t-3 -10q-3 -5 -9 -6t-11 2l-60 45q-32 23 -45 6zM258 669q0 -8 3 -15t8 -12q6 -5 13 -8t14 -3 q8 0 15 3t12 8q6 5 9 12t3 15v38q0 8 -3 15t-9 12q-5 5 -12 8q-7 4 -15 4q-7 0 -14 -4q-7 -3 -13 -8q-5 -5 -8 -12t-3 -15v-38zM287 669v38q0 4 3 7q2 3 6 3t7 -3t3 -7v-38q0 -4 -3 -7t-7 -3t-6 3q-3 3 -3 7zM334 1309q0 -11 5 -22q4 -11 12 -19l41 -40q8 -8 19 -12 q10 -5 21 -5q11 1 22 5q10 4 19 12q8 9 12 19q4 11 4 22t-4 21q-4 11 -13 19l-40 40q-9 9 -19 13q-11 4 -22 4t-21 -4q-11 -5 -19 -13q-9 -8 -13 -19q-4 -10 -4 -21zM344 680q0 -49 15 -49q14 0 14 28q0 12 3 12t7 -12q9 -28 24 -28q14 0 14 49v16q0 50 -14 50 q-15 0 -15 -29q0 -12 -3 -12q-2 0 -6 12q-10 29 -24 29q-15 0 -15 -50v-16zM377 1309q0 6 4 10t10 4t10 -4l41 -40q4 -5 4 -10q0 -6 -4 -11q-4 -4 -10 -4t-10 4l-41 41q-4 4 -4 10zM397 970q21 -21 15 -60q4 -4 25 -14q16 -8 20 -20q-12 -12 -11 -36q1 -21 -19 -29 q10 -10 30 -9q27 1 34 0q7 3 15 15q8 11 15 14q18 -5 44 -44q24 -36 40 -35q26 1 60 74q-8 15 -44 45q-31 26 -36 54q-1 11 1 32q4 26 4 34q1 38 -34 48q-11 -39 -10 -74q-12 27 -33 45q-26 21 -51 14q0 -17 14 -44q15 -28 15 -40q-8 4 -17 17q-10 14 -17 18q-37 -7 -60 -5z M402 440q16 9 23 5q2 -1 7 -6q6 -6 10 -9q12 -1 28 16q14 14 21 9q-45 -36 -39 -94q19 14 59 5q11 6 24 21q15 19 21 23q4 -4 30 -9q19 -5 19 -20q14 12 19 42q4 31 -9 47q33 36 45 39q19 -16 53 -8t41 28q-34 9 -35 30q37 69 173 -20q83 -53 90 -84q4 -20 -2 -63 q-6 -46 -3 -66q4 -30 23 -61q27 -44 31 -53q2 -13 -5 -39q18 -5 43 18q21 18 36 1q-114 -166 -232 -94q-10 -8 -39 -15q-24 -5 -31 -24q1 -1 9 -1q8 -1 12 -3q15 -5 9 -26q10 0 22 19q11 16 18 11q2 3 -31 -36q-18 -22 -14 -53q7 -7 12 2q6 12 13 13q13 -12 17 -13 q8 -2 13 13q2 -5 4 -35q2 -23 15 -25q5 29 40 25q0 -1 -1 33q0 19 11 21q-8 -18 5 -89q8 1 10 -5h5q-4 28 23 31q47 4 46 4q20 9 33 50q13 38 41 49q8 1 17 -9q6 -8 13 -1q1 38 62 125q48 70 17 133q-4 -31 -34 -35q-59 21 -50 96q9 74 64 92q21 -41 65 -61q41 -19 87 -14 q47 5 78 34q35 31 38 81q2 38 -19 76q-26 47 -31 72q8 25 55 20q-3 32 -43 34t-51 -24q-3 30 -85 97q-75 61 -64 121q6 32 43 57q41 28 81 12q6 -3 11 -18t14 -17q100 57 109 70v5q-30 43 -70 39q-17 34 -44 30q-5 -4 -10 -22q-5 -16 -15 -18q-81 -3 -129 -46 q-47 -41 -49 -107q-3 -76 64 -130q82 -67 94 -98q-14 4 -59 13q-39 7 -58 15q-57 25 -21 96q-1 1 -25 54q-32 -34 -38 -81q-5 -44 16 -82q22 -40 63 -55q45 -18 102 1q-26 -16 -18 -63q8 -48 38 -37q-8 10 -5 40q31 26 56 11q22 -14 25 -48q4 -34 -16 -56q-24 -25 -70 -16 q-35 7 -82 60q-11 12 -41 48q-25 30 -40 46q-121 126 -124 128q73 48 89 134l15 -11q10 -7 15 1q-3 15 4 81q5 57 -9 83q5 -6 17 -6q13 1 13 11q-36 110 -71 150q-59 66 -167 43l-15 -10q-91 -3 -104 -25q-8 1 28 0q16 0 17 -10q-10 2 -21 -1q-12 -4 -19 -4q-2 -20 25 -74 q8 23 26 27q15 4 31 -8q15 -11 18 -30q4 -20 -11 -39q-1 0 -4 -2q-3 -3 -6 -3q-13 1 -39 20q-17 -29 -9 -56q9 -26 38 -38q-1 21 16 33t34 2q-10 -49 -88 -66q-104 -24 -130 -43q-22 -17 -83 -91q-45 -55 -95 -68q7 -24 79 -79q-16 -11 -50 -48q-31 -33 -54 -46 q-20 24 -55 27q-37 2 -59 -22q29 7 25 -35q44 6 49 -14q-43 6 -54 4q-1 -12 -17 -27q-15 -13 -13 -32zM430 731q0 -14 12 -14t12 -43t15 -43q14 0 14 43t12 43t12 14q0 15 -38 15q-39 0 -39 -15zM443 1413q-1 -11 2 -22q2 -11 9 -20l35 -46q7 -9 17 -15q9 -5 20 -7 q11 -1 22 1q11 3 21 10q9 7 15 17q5 10 7 21q1 10 -1 21q-3 12 -10 21l-34 46q-7 9 -17 15q-10 5 -21 7q-11 1 -22 -1q-11 -3 -20 -10q-10 -7 -15 -17q-6 -10 -8 -21zM486 1407q1 6 5 10q5 3 11 3q6 -1 9 -6l35 -46q3 -5 3 -10q-1 -6 -6 -10t-11 -3t-9 6l-34 46q-4 5 -3 10z M531 257q35 6 35 -30q11 0 25 18q13 16 19 12q-41 -47 -44 -79q8 8 26 3q37 -10 28 -8q5 26 4 23q4 12 16 11q-13 -21 -15 -46q-3 -30 15 -43q3 22 20 30q27 -13 53 7q33 26 46 28q21 -21 20 -35q22 20 109 32q80 11 99 42q-51 29 -81 81q-39 66 16 97q9 2 40 -14v54l-36 27 q-17 18 -9 42q-53 39 -107 -1q-70 -53 -101 -53q-2 -25 16 -38q5 -4 17 -11q11 -6 17 -10q-1 -35 26 -74q31 -43 33 -55q-72 -18 -133 28q-64 49 -109 41q11 -3 9 -13q-5 -21 -4 -22q3 0 12 -1q9 0 12 -1q14 -2 15 -12q-27 9 -54 0t-35 -30zM567 1475l41 -82q18 -36 43 -23 q15 7 26 13q11 5 18 14t10 19q4 11 3 22q0 11 -6 22l-25 51q-6 10 -14 18q-9 7 -20 10q-10 4 -21 3q-12 0 -22 -6l-26 -13q-25 -13 -7 -48zM613 1495q3 1 6 3q5 3 11 1t8 -7l26 -51q3 -6 1 -11q-2 -6 -7 -9l-7 -3q-6 -3 -24 32l-3 6q-18 35 -11 39zM645 1024q17 -63 123 -22 q23 9 83 38q46 22 61 24q-40 9 -118 -17q-64 -21 -95 7q-8 7 3 27q8 16 -3 18q-31 -1 -47 -22t-7 -53zM685 -158q0 -11 4 -19q4 -7 11 -12q8 -5 17 -7q10 -2 21 -2q5 0 9 -4t4 -9q0 -6 -4 -9q-4 -4 -9 -4t-8 2q-1 1 -3 2q-2 3 -19 -6q-19 -10 -10 -20q5 -6 11 -10 q13 -8 29 -8q10 0 20 4t17 12q7 7 11 16q5 10 5 21t-5 18q-4 8 -11 13q-7 4 -17 6q-9 3 -20 3q-6 0 -10 3q-4 4 -4 10q0 5 4 9t10 4q4 0 7 -2q2 -1 3 -3q2 -2 19 6q20 10 10 21q-5 5 -11 9q-13 9 -28 9q-11 0 -21 -5q-10 -4 -17 -11t-11 -17q-4 -9 -4 -20zM711 1549 q-2 -11 1 -23l15 -55q3 -11 10 -20t16 -15q10 -5 21 -7t23 1q11 3 20 10q9 6 15 14q6 7 8 16q2 4 2 8q0 8 -24 10q-21 1 -22 -4q0 -3 -2 -6q-3 -5 -8 -6q-6 -2 -11 1t-7 9l-15 55q-1 6 2 11t8 7q6 1 11 -2q3 -1 5 -3q3 -5 21 7q20 13 15 20q-2 3 -5 6q-6 7 -15 11 q-9 3 -20 4t-23 -2q-11 -3 -20 -10t-14 -16q-6 -10 -7 -21zM804 -155v-59q0 -50 20 -50q19 0 19 26q0 27 7 27h7q10 0 20 4t17 11q7 8 11 17q5 10 5 21t-5 20q-4 10 -11 17t-17 11q-10 5 -20 5h-33q-20 0 -20 -50zM808 1381q21 -56 25 -149h248q-3 92 19 149q-19 -1 -37 -17 q-21 -19 -32 -23q1 -8 14 -18q11 -9 6 -26q-2 -1 -5 -3q-2 -2 -5 -2q-22 6 -54 0q-2 3 -5 10q-4 6 -5 10q1 4 11 11q8 6 8 13q-8 8 -19 30t-20 30h-5q8 4 -40 -60q0 -7 10 -17q9 -9 5 -22q-8 0 -21 -2q-16 -2 -20 -2q-21 -1 -33 14q0 8 9 15q10 7 11 14q-42 41 -65 45z M843 -158q0 13 7 13h7q5 0 9 -4t4 -9q0 -6 -4 -10q-4 -3 -9 -3h-7q-7 0 -7 13zM861 1581l3 -75q0 -12 5 -22t13 -18q8 -7 19 -11t22 -4q12 1 22 6q11 5 18 13t12 18q4 11 3 23l-3 74q-1 40 -23 39q-21 -1 -20 -41l3 -74q1 -6 -3 -11q-4 -4 -10 -4t-11 4q-4 4 -4 10l-3 74 q-2 40 -23 39q-22 -1 -20 -40zM884 9q1 3 5 11q3 7 3 9q9 -6 2 -17q-9 -15 -6 -23q-9 6 -4 20zM927 -215q-4 -49 16 -49q19 0 21 20t11 20q10 0 12 -20t22 -20t15 49l-5 60q-1 21 -14 35q-13 15 -29 15q-17 0 -30 -15q-12 -14 -14 -35zM942 1153v20q48 -4 49 -5 q-20 -11 -49 -15zM970 -171q2 26 5 26q4 0 6 -26q2 -27 -5 -27q-8 0 -6 27zM1020 1602q-3 -21 14 -24q18 -3 11 -43l-8 -48q-6 -39 15 -43q21 -3 27 36l9 48q6 40 24 37q17 -3 21 18t-36 27l-34 6q-39 7 -43 -14zM1042 -155v-59q0 -50 20 -50q19 0 19 50v59q0 50 -19 50 q-20 0 -20 -50zM1056 1168q9 4 17 -5q7 -8 10 -22q6 -36 -22 -37q15 11 13 33t-18 31zM1095 -155v-59q0 -50 19 -50q20 0 20 40q0 16 4 16t10 -16q13 -40 33 -40q19 0 19 50v59q0 50 -19 50q-20 0 -20 -40q0 -16 -4 -16t-9 16q-14 40 -34 40q-19 0 -19 -50zM1170 1457 q-14 -37 6 -44q21 -8 34 30l17 46q14 37 30 31q17 -6 24 14q8 21 -30 34l-32 12q-38 14 -45 -7q-7 -20 9 -26q17 -6 4 -43zM1244 841q12 -43 40 -59q92 9 94 -45q36 -2 39 30q43 -2 75 39v10q-16 19 -52 38q-47 25 -57 32q-10 -1 -12 -18q-2 -19 -8 -22q6 2 -119 -5z M1260 1393q4 -16 19 -24l30 -17q35 -20 45 -1q11 18 -20 36t-24 30q7 13 32 -1q25 -15 32 -2q7 12 -18 26q-25 15 -18 27t38 -5q31 -18 42 1q11 18 -24 38l-30 17q-15 8 -30 4q-16 -4 -25 -19l-45 -80q-8 -14 -4 -30zM1373 1311q16 -14 35 7q18 22 22 19q3 -3 -8 -31 q-12 -28 4 -42q17 -14 31 19q13 32 26 34q7 1 13 3q13 5 22 16q8 9 11 20q3 10 3 21q-1 11 -6 22q-5 10 -14 18l-10 9l-17 14q-16 14 -42 -16l-60 -69q-27 -30 -10 -44zM1460 1238q0 -9 5 -16q6 -7 15 -8q9 0 16 5q6 6 7 15t-5 16q-6 6 -14 7q-9 1 -16 -5t-8 -14zM1460 1367 q-5 5 4 16t15 6l5 -5q5 -4 5 -9q0 -6 -3 -11q-4 -4 -10 -5q-6 0 -11 4zM1497 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4q7 0 13 3q3 1 5 2q6 3 11 0l6 -2q6 -3 13 -3q8 0 15 4q7 3 12 8t8 12t3 15v38q0 38 -14 38q-15 0 -15 -38v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v28 q0 29 -14 29q-15 0 -15 -29v-28q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v38q0 38 -14 38t-14 -38v-38zM1507 1192q-4 -16 5 -30l19 -29q21 -34 39 -22q18 11 -1 41q-19 31 -7 38q12 8 27 -16q16 -25 28 -17t-3 32q-16 24 -4 32q13 7 32 -23t37 -19q18 12 -3 45l-19 30 q-9 14 -25 17q-16 4 -30 -5l-78 -49q-14 -9 -17 -25zM1578 1065q-4 -16 3 -31q4 -11 12 -19q9 -8 19 -12q10 -5 21 -5t22 4q11 5 17 12t8 16t0 20t-6 21q-3 6 0 11q2 6 7 8q6 2 11 0q6 -2 8 -8q2 -4 1 -8q-1 -2 -1 -4q-2 -3 13 -17q18 -15 25 -1q4 7 5 15q3 16 -3 31 q-5 11 -13 19t-18 12q-10 5 -22 5q-11 0 -22 -4q-11 -5 -16 -12q-6 -7 -8 -16t0 -20q2 -10 6 -21q2 -6 0 -11q-2 -6 -8 -8q-5 -2 -11 0q-5 2 -7 8q-2 4 -1 8q0 2 1 4q2 4 -14 17q-18 16 -25 1q-3 -7 -4 -15zM1631 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4t15 4q7 3 12 8t8 12 t3 15v38q0 8 -3 15t-8 12t-12 8t-15 3t-15 -3t-12 -8t-8 -12t-3 -15v-38zM1659 686v38q0 4 3 7t7 3t7 -3q2 -3 2 -7v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7zM1717 697q0 -50 14 -50t14 20q0 19 4 19q3 0 9 -19q7 -20 21 -20t7 23q-8 22 -2 29q3 4 5 8q4 8 4 17q0 8 -3 15 t-8 12t-12 8t-15 3h-24q-14 0 -14 -49v-16zM1745 724q0 10 5 10h5q4 0 7 -3t3 -7t-3 -7t-7 -3h-5q-5 0 -5 10zM1803 697q0 -50 14 -50q15 0 15 24t1 24q2 0 10 -24t22 -24t5 29q-10 29 0 58q9 28 -5 28t-22 -24t-10 -24q-1 0 -1 24t-15 24q-14 0 -14 -49v-16zM1889 724 q0 -8 3 -13q3 -6 8 -9q6 -4 13 -5q6 -2 14 -2q4 0 7 -2q3 -3 3 -7t-3 -7t-7 -3q-3 0 -5 2q-1 0 -2 2q-2 2 -14 -5q-14 -7 -7 -15q3 -4 8 -7q9 -6 20 -6q8 0 15 4q7 3 12 8q6 5 9 12t3 15t-3 13q-3 6 -9 9q-5 3 -12 5q-7 1 -15 1q-4 0 -6 3q-3 3 -3 7t3 7q2 3 6 3q3 0 6 -2 l2 -2q1 -2 14 5q14 7 7 15q-4 4 -8 6q-9 6 -21 6q-7 0 -14 -3t-13 -8q-5 -5 -8 -12t-3 -15z" unicode="3"/><glyph d="M172 680q0 -49 14 -49q15 0 15 24t19 24t19 9q0 10 -19 10t-19 9q0 10 24 10t24 14q0 15 -39 15q-16 0 -27 -15q-11 -14 -11 -35v-16zM186 1146q-12 -18 20 -41l60 -44q10 -7 21 -10q11 -2 22 0q10 1 20 7t17 15q6 8 9 18q1 4 2 9q1 9 9 13q4 2 8 5q8 5 14 13q7 10 10 21 q2 11 0 22q-1 10 -7 20t-15 17l-61 44q-32 23 -44 6q-13 -17 19 -41l60 -44q5 -3 6 -9t-2 -11q-4 -4 -10 -5t-10 2l-38 27q-32 24 -44 7q-13 -18 19 -41l37 -27q5 -4 6 -10t-3 -10q-3 -5 -9 -6t-11 2l-60 45q-32 23 -45 6zM258 669q0 -8 3 -15t8 -12q6 -5 13 -8t14 -3 q8 0 15 3t12 8q6 5 9 12t3 15v38q0 8 -3 15t-9 12q-5 5 -12 8q-7 4 -15 4q-7 0 -14 -4q-7 -3 -13 -8q-5 -5 -8 -12t-3 -15v-38zM287 669v38q0 4 3 7q2 3 6 3t7 -3t3 -7v-38q0 -4 -3 -7t-7 -3t-6 3q-3 3 -3 7zM334 1309q0 -11 5 -22q4 -11 12 -19l41 -40q8 -8 19 -12 q10 -5 21 -5q11 1 22 5q10 4 19 12q8 9 12 19q4 11 4 22t-4 21q-4 11 -13 19l-40 40q-9 9 -19 13q-11 4 -22 4t-21 -4q-11 -5 -19 -13q-9 -8 -13 -19q-4 -10 -4 -21zM344 680q0 -49 15 -49q14 0 14 28q0 12 3 12t7 -12q9 -28 24 -28q14 0 14 49v16q0 50 -14 50 q-15 0 -15 -29q0 -12 -3 -12q-2 0 -6 12q-10 29 -24 29q-15 0 -15 -50v-16zM377 1309q0 6 4 10t10 4t10 -4l41 -40q4 -5 4 -10q0 -6 -4 -11q-4 -4 -10 -4t-10 4l-41 41q-4 4 -4 10zM397 970q21 -21 15 -60q4 -4 25 -14q16 -8 20 -20q-12 -12 -11 -36q1 -21 -19 -29 q10 -10 30 -9q27 1 34 0q7 3 15 15q8 11 15 14q18 -5 44 -44q24 -36 40 -35q26 1 60 74q-8 15 -44 45q-31 26 -36 54q-1 11 1 32q4 26 4 34q1 38 -34 48q-11 -39 -10 -74q-12 27 -33 45q-26 21 -51 14q0 -17 14 -44q15 -28 15 -40q-8 4 -17 17q-10 14 -17 18q-37 -7 -60 -5z M402 440q16 9 23 5q2 -1 7 -6q6 -6 10 -9q12 -1 28 16q14 14 21 9q-45 -36 -39 -94q19 14 59 5q11 6 24 21q15 19 21 23q4 -4 30 -9q19 -5 19 -20q14 12 19 42q4 31 -9 47q33 36 45 39q19 -16 53 -8t41 28q-34 9 -35 30q37 69 173 -20q83 -53 90 -84q4 -20 -2 -63 q-6 -46 -3 -66q4 -30 23 -61q27 -44 31 -53q2 -13 -5 -39q18 -5 43 18q21 18 36 1q-114 -166 -232 -94q-10 -8 -39 -15q-24 -5 -31 -24q1 -1 9 -1q8 -1 12 -3q15 -5 9 -26q10 0 22 19q11 16 18 11q2 3 -31 -36q-18 -22 -14 -53q7 -7 12 2q6 12 13 13q13 -12 17 -13 q8 -2 13 13q2 -5 4 -35q2 -23 15 -25q5 29 40 25q0 -1 -1 33q0 19 11 21q-8 -18 5 -89q8 1 10 -5h5q-4 28 23 31q47 4 46 4q20 9 33 50q13 38 41 49q8 1 17 -9q6 -8 13 -1q1 38 62 125q48 70 17 133q-4 -31 -34 -35q-59 21 -50 96q9 74 64 92q21 -41 65 -61q41 -19 87 -14 q47 5 78 34q35 31 38 81q2 38 -19 76q-26 47 -31 72q8 25 55 20q-3 32 -43 34t-51 -24q-3 30 -85 97q-75 61 -64 121q6 32 43 57q41 28 81 12q6 -3 11 -18t14 -17q100 57 109 70v5q-30 43 -70 39q-17 34 -44 30q-5 -4 -10 -22q-5 -16 -15 -18q-81 -3 -129 -46 q-47 -41 -49 -107q-3 -76 64 -130q82 -67 94 -98q-14 4 -59 13q-39 7 -58 15q-57 25 -21 96q-1 1 -25 54q-32 -34 -38 -81q-5 -44 16 -82q22 -40 63 -55q45 -18 102 1q-26 -16 -18 -63q8 -48 38 -37q-8 10 -5 40q31 26 56 11q22 -14 25 -48q4 -34 -16 -56q-24 -25 -70 -16 q-35 7 -82 60q-11 12 -41 48q-25 30 -40 46q-121 126 -124 128q73 48 89 134l15 -11q10 -7 15 1q-3 15 4 81q5 57 -9 83q5 -6 17 -6q13 1 13 11q-36 110 -71 150q-59 66 -167 43l-15 -10q-91 -3 -104 -25q-8 1 28 0q16 0 17 -10q-10 2 -21 -1q-12 -4 -19 -4q-2 -20 25 -74 q8 23 26 27q15 4 31 -8q15 -11 18 -30q4 -20 -11 -39q-1 0 -4 -2q-3 -3 -6 -3q-13 1 -39 20q-17 -29 -9 -56q9 -26 38 -38q-1 21 16 33t34 2q-10 -49 -88 -66q-104 -24 -130 -43q-22 -17 -83 -91q-45 -55 -95 -68q7 -24 79 -79q-16 -11 -50 -48q-31 -33 -54 -46 q-20 24 -55 27q-37 2 -59 -22q29 7 25 -35q44 6 49 -14q-43 6 -54 4q-1 -12 -17 -27q-15 -13 -13 -32zM430 731q0 -14 12 -14t12 -43t15 -43q14 0 14 43t12 43t12 14q0 15 -38 15q-39 0 -39 -15zM443 1413q-1 -11 2 -22q2 -11 9 -20l35 -46q7 -9 17 -15q9 -5 20 -7 q11 -1 22 1q11 3 21 10q9 7 15 17q5 10 7 21q1 10 -1 21q-3 12 -10 21l-34 46q-7 9 -17 15q-10 5 -21 7q-11 1 -22 -1q-11 -3 -20 -10q-10 -7 -15 -17q-6 -10 -8 -21zM486 1407q1 6 5 10q5 3 11 3q6 -1 9 -6l35 -46q3 -5 3 -10q-1 -6 -6 -10t-11 -3t-9 6l-34 46q-4 5 -3 10z M531 257q35 6 35 -30q11 0 25 18q13 16 19 12q-41 -47 -44 -79q8 8 26 3q37 -10 28 -8q5 26 4 23q4 12 16 11q-13 -21 -15 -46q-3 -30 15 -43q3 22 20 30q27 -13 53 7q33 26 46 28q21 -21 20 -35q22 20 109 32q80 11 99 42q-51 29 -81 81q-39 66 16 97q9 2 40 -14v54l-36 27 q-17 18 -9 42q-53 39 -107 -1q-70 -53 -101 -53q-2 -25 16 -38q5 -4 17 -11q11 -6 17 -10q-1 -35 26 -74q31 -43 33 -55q-72 -18 -133 28q-64 49 -109 41q11 -3 9 -13q-5 -21 -4 -22q3 0 12 -1q9 0 12 -1q14 -2 15 -12q-27 9 -54 0t-35 -30zM567 1475l41 -82q18 -36 43 -23 q15 7 26 13q11 5 18 14t10 19q4 11 3 22q0 11 -6 22l-25 51q-6 10 -14 18q-9 7 -20 10q-10 4 -21 3q-12 0 -22 -6l-26 -13q-25 -13 -7 -48zM613 1495q3 1 6 3q5 3 11 1t8 -7l26 -51q3 -6 1 -11q-2 -6 -7 -9l-7 -3q-6 -3 -24 32l-3 6q-18 35 -11 39zM645 1024q17 -63 123 -22 q23 9 83 38q46 22 61 24q-40 9 -118 -17q-64 -21 -95 7q-8 7 3 27q8 16 -3 18q-31 -1 -47 -22t-7 -53zM685 -158q0 -11 4 -19q4 -7 11 -12q8 -5 17 -7q10 -2 21 -2q5 0 9 -4t4 -9q0 -6 -4 -9q-4 -4 -9 -4t-8 2q-1 1 -3 2q-2 3 -19 -6q-19 -10 -10 -20q5 -6 11 -10 q13 -8 29 -8q10 0 20 4t17 12q7 7 11 16q5 10 5 21t-5 18q-4 8 -11 13q-7 4 -17 6q-9 3 -20 3q-6 0 -10 3q-4 4 -4 10q0 5 4 9t10 4q4 0 7 -2q2 -1 3 -3q2 -2 19 6q20 10 10 21q-5 5 -11 9q-13 9 -28 9q-11 0 -21 -5q-10 -4 -17 -11t-11 -17q-4 -9 -4 -20zM711 1549 q-2 -11 1 -23l15 -55q3 -11 10 -20t16 -15q10 -5 21 -7t23 1q11 3 20 10q9 6 15 14q6 7 8 16q2 4 2 8q0 8 -24 10q-21 1 -22 -4q0 -3 -2 -6q-3 -5 -8 -6q-6 -2 -11 1t-7 9l-15 55q-1 6 2 11t8 7q6 1 11 -2q3 -1 5 -3q3 -5 21 7q20 13 15 20q-2 3 -5 6q-6 7 -15 11 q-9 3 -20 4t-23 -2q-11 -3 -20 -10t-14 -16q-6 -10 -7 -21zM804 -155v-59q0 -50 20 -50q19 0 19 26q0 27 7 27h7q10 0 20 4t17 11q7 8 11 17q5 10 5 21t-5 20q-4 10 -11 17t-17 11q-10 5 -20 5h-33q-20 0 -20 -50zM808 1381q21 -56 25 -149h248q-3 92 19 149q-19 -1 -37 -17 q-21 -19 -32 -23q1 -8 14 -18q11 -9 6 -26q-2 -1 -5 -3q-2 -2 -5 -2q-22 6 -54 0q-2 3 -5 10q-4 6 -5 10q1 4 11 11q8 6 8 13q-8 8 -19 30t-20 30h-5q8 4 -40 -60q0 -7 10 -17q9 -9 5 -22q-8 0 -21 -2q-16 -2 -20 -2q-21 -1 -33 14q0 8 9 15q10 7 11 14q-42 41 -65 45z M843 -158q0 13 7 13h7q5 0 9 -4t4 -9q0 -6 -4 -10q-4 -3 -9 -3h-7q-7 0 -7 13zM861 1581l3 -75q0 -12 5 -22t13 -18q8 -7 19 -11t22 -4q12 1 22 6q11 5 18 13t12 18q4 11 3 23l-3 74q-1 40 -23 39q-21 -1 -20 -41l3 -74q1 -6 -3 -11q-4 -4 -10 -4t-11 4q-4 4 -4 10l-3 74 q-2 40 -23 39q-22 -1 -20 -40zM884 9q1 3 5 11q3 7 3 9q9 -6 2 -17q-9 -15 -6 -23q-9 6 -4 20zM927 -215q-4 -49 16 -49q19 0 21 20t11 20q10 0 12 -20t22 -20t15 49l-5 60q-1 21 -14 35q-13 15 -29 15q-17 0 -30 -15q-12 -14 -14 -35zM942 1153v20q48 -4 49 -5 q-20 -11 -49 -15zM970 -171q2 26 5 26q4 0 6 -26q2 -27 -5 -27q-8 0 -6 27zM1020 1602q-3 -21 14 -24q18 -3 11 -43l-8 -48q-6 -39 15 -43q21 -3 27 36l9 48q6 40 24 37q17 -3 21 18t-36 27l-34 6q-39 7 -43 -14zM1042 -155v-59q0 -50 20 -50q19 0 19 50v59q0 50 -19 50 q-20 0 -20 -50zM1056 1168q9 4 17 -5q7 -8 10 -22q6 -36 -22 -37q15 11 13 33t-18 31zM1095 -155v-59q0 -50 19 -50q20 0 20 40q0 16 4 16t10 -16q13 -40 33 -40q19 0 19 50v59q0 50 -19 50q-20 0 -20 -40q0 -16 -4 -16t-9 16q-14 40 -34 40q-19 0 -19 -50zM1170 1457 q-14 -37 6 -44q21 -8 34 30l17 46q14 37 30 31q17 -6 24 14q8 21 -30 34l-32 12q-38 14 -45 -7q-7 -20 9 -26q17 -6 4 -43zM1244 841q12 -43 40 -59q92 9 94 -45q36 -2 39 30q43 -2 75 39v10q-16 19 -52 38q-47 25 -57 32q-10 -1 -12 -18q-2 -19 -8 -22q6 2 -119 -5z M1260 1393q4 -16 19 -24l30 -17q35 -20 45 -1q11 18 -20 36t-24 30q7 13 32 -1q25 -15 32 -2q7 12 -18 26q-25 15 -18 27t38 -5q31 -18 42 1q11 18 -24 38l-30 17q-15 8 -30 4q-16 -4 -25 -19l-45 -80q-8 -14 -4 -30zM1373 1311q16 -14 35 7q18 22 22 19q3 -3 -8 -31 q-12 -28 4 -42q17 -14 31 19q13 32 26 34q7 1 13 3q13 5 22 16q8 9 11 20q3 10 3 21q-1 11 -6 22q-5 10 -14 18l-10 9l-17 14q-16 14 -42 -16l-60 -69q-27 -30 -10 -44zM1460 1238q0 -9 5 -16q6 -7 15 -8q9 0 16 5q6 6 7 15t-5 16q-6 6 -14 7q-9 1 -16 -5t-8 -14zM1460 1367 q-5 5 4 16t15 6l5 -5q5 -4 5 -9q0 -6 -3 -11q-4 -4 -10 -5q-6 0 -11 4zM1497 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4q7 0 13 3q3 1 5 2q6 3 11 0l6 -2q6 -3 13 -3q8 0 15 4q7 3 12 8t8 12t3 15v38q0 38 -14 38q-15 0 -15 -38v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v28 q0 29 -14 29q-15 0 -15 -29v-28q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v38q0 38 -14 38t-14 -38v-38zM1507 1192q-4 -16 5 -30l19 -29q21 -34 39 -22q18 11 -1 41q-19 31 -7 38q12 8 27 -16q16 -25 28 -17t-3 32q-16 24 -4 32q13 7 32 -23t37 -19q18 12 -3 45l-19 30 q-9 14 -25 17q-16 4 -30 -5l-78 -49q-14 -9 -17 -25zM1578 1065q-4 -16 3 -31q4 -11 12 -19q9 -8 19 -12q10 -5 21 -5t22 4q11 5 17 12t8 16t0 20t-6 21q-3 6 0 11q2 6 7 8q6 2 11 0q6 -2 8 -8q2 -4 1 -8q-1 -2 -1 -4q-2 -3 13 -17q18 -15 25 -1q4 7 5 15q3 16 -3 31 q-5 11 -13 19t-18 12q-10 5 -22 5q-11 0 -22 -4q-11 -5 -16 -12q-6 -7 -8 -16t0 -20q2 -10 6 -21q2 -6 0 -11q-2 -6 -8 -8q-5 -2 -11 0q-5 2 -7 8q-2 4 -1 8q0 2 1 4q2 4 -14 17q-18 16 -25 1q-3 -7 -4 -15zM1631 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4t15 4q7 3 12 8t8 12 t3 15v38q0 8 -3 15t-8 12t-12 8t-15 3t-15 -3t-12 -8t-8 -12t-3 -15v-38zM1659 686v38q0 4 3 7t7 3t7 -3q2 -3 2 -7v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7zM1717 697q0 -50 14 -50t14 20q0 19 4 19q3 0 9 -19q7 -20 21 -20t7 23q-8 22 -2 29q3 4 5 8q4 8 4 17q0 8 -3 15 t-8 12t-12 8t-15 3h-24q-14 0 -14 -49v-16zM1745 724q0 10 5 10h5q4 0 7 -3t3 -7t-3 -7t-7 -3h-5q-5 0 -5 10zM1803 697q0 -50 14 -50q15 0 15 24t1 24q2 0 10 -24t22 -24t5 29q-10 29 0 58q9 28 -5 28t-22 -24t-10 -24q-1 0 -1 24t-15 24q-14 0 -14 -49v-16zM1889 724 q0 -8 3 -13q3 -6 8 -9q6 -4 13 -5q6 -2 14 -2q4 0 7 -2q3 -3 3 -7t-3 -7t-7 -3q-3 0 -5 2q-1 0 -2 2q-2 2 -14 -5q-14 -7 -7 -15q3 -4 8 -7q9 -6 20 -6q8 0 15 4q7 3 12 8q6 5 9 12t3 15t-3 13q-3 6 -9 9q-5 3 -12 5q-7 1 -15 1q-4 0 -6 3q-3 3 -3 7t3 7q2 3 6 3q3 0 6 -2 l2 -2q1 -2 14 5q14 7 7 15q-4 4 -8 6q-9 6 -21 6q-7 0 -14 -3t-13 -8q-5 -5 -8 -12t-3 -15z" unicode="4"/><glyph d="M172 680q0 -49 14 -49q15 0 15 24t19 24t19 9q0 10 -19 10t-19 9q0 10 24 10t24 14q0 15 -39 15q-16 0 -27 -15q-11 -14 -11 -35v-16zM186 1146q-12 -18 20 -41l60 -44q10 -7 21 -10q11 -2 22 0q10 1 20 7t17 15q6 8 9 18q1 4 2 9q1 9 9 13q4 2 8 5q8 5 14 13q7 10 10 21 q2 11 0 22q-1 10 -7 20t-15 17l-61 44q-32 23 -44 6q-13 -17 19 -41l60 -44q5 -3 6 -9t-2 -11q-4 -4 -10 -5t-10 2l-38 27q-32 24 -44 7q-13 -18 19 -41l37 -27q5 -4 6 -10t-3 -10q-3 -5 -9 -6t-11 2l-60 45q-32 23 -45 6zM258 669q0 -8 3 -15t8 -12q6 -5 13 -8t14 -3 q8 0 15 3t12 8q6 5 9 12t3 15v38q0 8 -3 15t-9 12q-5 5 -12 8q-7 4 -15 4q-7 0 -14 -4q-7 -3 -13 -8q-5 -5 -8 -12t-3 -15v-38zM287 669v38q0 4 3 7q2 3 6 3t7 -3t3 -7v-38q0 -4 -3 -7t-7 -3t-6 3q-3 3 -3 7zM334 1309q0 -11 5 -22q4 -11 12 -19l41 -40q8 -8 19 -12 q10 -5 21 -5q11 1 22 5q10 4 19 12q8 9 12 19q4 11 4 22t-4 21q-4 11 -13 19l-40 40q-9 9 -19 13q-11 4 -22 4t-21 -4q-11 -5 -19 -13q-9 -8 -13 -19q-4 -10 -4 -21zM344 680q0 -49 15 -49q14 0 14 28q0 12 3 12t7 -12q9 -28 24 -28q14 0 14 49v16q0 50 -14 50 q-15 0 -15 -29q0 -12 -3 -12q-2 0 -6 12q-10 29 -24 29q-15 0 -15 -50v-16zM377 1309q0 6 4 10t10 4t10 -4l41 -40q4 -5 4 -10q0 -6 -4 -11q-4 -4 -10 -4t-10 4l-41 41q-4 4 -4 10zM397 970q21 -21 15 -60q4 -4 25 -14q16 -8 20 -20q-12 -12 -11 -36q1 -21 -19 -29 q10 -10 30 -9q27 1 34 0q7 3 15 15q8 11 15 14q18 -5 44 -44q24 -36 40 -35q26 1 60 74q-8 15 -44 45q-31 26 -36 54q-1 11 1 32q4 26 4 34q1 38 -34 48q-11 -39 -10 -74q-12 27 -33 45q-26 21 -51 14q0 -17 14 -44q15 -28 15 -40q-8 4 -17 17q-10 14 -17 18q-37 -7 -60 -5z M402 440q16 9 23 5q2 -1 7 -6q6 -6 10 -9q12 -1 28 16q14 14 21 9q-45 -36 -39 -94q19 14 59 5q11 6 24 21q15 19 21 23q4 -4 30 -9q19 -5 19 -20q14 12 19 42q4 31 -9 47q33 36 45 39q19 -16 53 -8t41 28q-34 9 -35 30q37 69 173 -20q83 -53 90 -84q4 -20 -2 -63 q-6 -46 -3 -66q4 -30 23 -61q27 -44 31 -53q2 -13 -5 -39q18 -5 43 18q21 18 36 1q-114 -166 -232 -94q-10 -8 -39 -15q-24 -5 -31 -24q1 -1 9 -1q8 -1 12 -3q15 -5 9 -26q10 0 22 19q11 16 18 11q2 3 -31 -36q-18 -22 -14 -53q7 -7 12 2q6 12 13 13q13 -12 17 -13 q8 -2 13 13q2 -5 4 -35q2 -23 15 -25q5 29 40 25q0 -1 -1 33q0 19 11 21q-8 -18 5 -89q8 1 10 -5h5q-4 28 23 31q47 4 46 4q20 9 33 50q13 38 41 49q8 1 17 -9q6 -8 13 -1q1 38 62 125q48 70 17 133q-4 -31 -34 -35q-59 21 -50 96q9 74 64 92q21 -41 65 -61q41 -19 87 -14 q47 5 78 34q35 31 38 81q2 38 -19 76q-26 47 -31 72q8 25 55 20q-3 32 -43 34t-51 -24q-3 30 -85 97q-75 61 -64 121q6 32 43 57q41 28 81 12q6 -3 11 -18t14 -17q100 57 109 70v5q-30 43 -70 39q-17 34 -44 30q-5 -4 -10 -22q-5 -16 -15 -18q-81 -3 -129 -46 q-47 -41 -49 -107q-3 -76 64 -130q82 -67 94 -98q-14 4 -59 13q-39 7 -58 15q-57 25 -21 96q-1 1 -25 54q-32 -34 -38 -81q-5 -44 16 -82q22 -40 63 -55q45 -18 102 1q-26 -16 -18 -63q8 -48 38 -37q-8 10 -5 40q31 26 56 11q22 -14 25 -48q4 -34 -16 -56q-24 -25 -70 -16 q-35 7 -82 60q-11 12 -41 48q-25 30 -40 46q-121 126 -124 128q73 48 89 134l15 -11q10 -7 15 1q-3 15 4 81q5 57 -9 83q5 -6 17 -6q13 1 13 11q-36 110 -71 150q-59 66 -167 43l-15 -10q-91 -3 -104 -25q-8 1 28 0q16 0 17 -10q-10 2 -21 -1q-12 -4 -19 -4q-2 -20 25 -74 q8 23 26 27q15 4 31 -8q15 -11 18 -30q4 -20 -11 -39q-1 0 -4 -2q-3 -3 -6 -3q-13 1 -39 20q-17 -29 -9 -56q9 -26 38 -38q-1 21 16 33t34 2q-10 -49 -88 -66q-104 -24 -130 -43q-22 -17 -83 -91q-45 -55 -95 -68q7 -24 79 -79q-16 -11 -50 -48q-31 -33 -54 -46 q-20 24 -55 27q-37 2 -59 -22q29 7 25 -35q44 6 49 -14q-43 6 -54 4q-1 -12 -17 -27q-15 -13 -13 -32zM430 731q0 -14 12 -14t12 -43t15 -43q14 0 14 43t12 43t12 14q0 15 -38 15q-39 0 -39 -15zM443 1413q-1 -11 2 -22q2 -11 9 -20l35 -46q7 -9 17 -15q9 -5 20 -7 q11 -1 22 1q11 3 21 10q9 7 15 17q5 10 7 21q1 10 -1 21q-3 12 -10 21l-34 46q-7 9 -17 15q-10 5 -21 7q-11 1 -22 -1q-11 -3 -20 -10q-10 -7 -15 -17q-6 -10 -8 -21zM486 1407q1 6 5 10q5 3 11 3q6 -1 9 -6l35 -46q3 -5 3 -10q-1 -6 -6 -10t-11 -3t-9 6l-34 46q-4 5 -3 10z M531 257q35 6 35 -30q11 0 25 18q13 16 19 12q-41 -47 -44 -79q8 8 26 3q37 -10 28 -8q5 26 4 23q4 12 16 11q-13 -21 -15 -46q-3 -30 15 -43q3 22 20 30q27 -13 53 7q33 26 46 28q21 -21 20 -35q22 20 109 32q80 11 99 42q-51 29 -81 81q-39 66 16 97q9 2 40 -14v54l-36 27 q-17 18 -9 42q-53 39 -107 -1q-70 -53 -101 -53q-2 -25 16 -38q5 -4 17 -11q11 -6 17 -10q-1 -35 26 -74q31 -43 33 -55q-72 -18 -133 28q-64 49 -109 41q11 -3 9 -13q-5 -21 -4 -22q3 0 12 -1q9 0 12 -1q14 -2 15 -12q-27 9 -54 0t-35 -30zM567 1475l41 -82q18 -36 43 -23 q15 7 26 13q11 5 18 14t10 19q4 11 3 22q0 11 -6 22l-25 51q-6 10 -14 18q-9 7 -20 10q-10 4 -21 3q-12 0 -22 -6l-26 -13q-25 -13 -7 -48zM613 1495q3 1 6 3q5 3 11 1t8 -7l26 -51q3 -6 1 -11q-2 -6 -7 -9l-7 -3q-6 -3 -24 32l-3 6q-18 35 -11 39zM645 1024q17 -63 123 -22 q23 9 83 38q46 22 61 24q-40 9 -118 -17q-64 -21 -95 7q-8 7 3 27q8 16 -3 18q-31 -1 -47 -22t-7 -53zM685 -158q0 -11 4 -19q4 -7 11 -12q8 -5 17 -7q10 -2 21 -2q5 0 9 -4t4 -9q0 -6 -4 -9q-4 -4 -9 -4t-8 2q-1 1 -3 2q-2 3 -19 -6q-19 -10 -10 -20q5 -6 11 -10 q13 -8 29 -8q10 0 20 4t17 12q7 7 11 16q5 10 5 21t-5 18q-4 8 -11 13q-7 4 -17 6q-9 3 -20 3q-6 0 -10 3q-4 4 -4 10q0 5 4 9t10 4q4 0 7 -2q2 -1 3 -3q2 -2 19 6q20 10 10 21q-5 5 -11 9q-13 9 -28 9q-11 0 -21 -5q-10 -4 -17 -11t-11 -17q-4 -9 -4 -20zM711 1549 q-2 -11 1 -23l15 -55q3 -11 10 -20t16 -15q10 -5 21 -7t23 1q11 3 20 10q9 6 15 14q6 7 8 16q2 4 2 8q0 8 -24 10q-21 1 -22 -4q0 -3 -2 -6q-3 -5 -8 -6q-6 -2 -11 1t-7 9l-15 55q-1 6 2 11t8 7q6 1 11 -2q3 -1 5 -3q3 -5 21 7q20 13 15 20q-2 3 -5 6q-6 7 -15 11 q-9 3 -20 4t-23 -2q-11 -3 -20 -10t-14 -16q-6 -10 -7 -21zM804 -155v-59q0 -50 20 -50q19 0 19 26q0 27 7 27h7q10 0 20 4t17 11q7 8 11 17q5 10 5 21t-5 20q-4 10 -11 17t-17 11q-10 5 -20 5h-33q-20 0 -20 -50zM808 1381q21 -56 25 -149h248q-3 92 19 149q-19 -1 -37 -17 q-21 -19 -32 -23q1 -8 14 -18q11 -9 6 -26q-2 -1 -5 -3q-2 -2 -5 -2q-22 6 -54 0q-2 3 -5 10q-4 6 -5 10q1 4 11 11q8 6 8 13q-8 8 -19 30t-20 30h-5q8 4 -40 -60q0 -7 10 -17q9 -9 5 -22q-8 0 -21 -2q-16 -2 -20 -2q-21 -1 -33 14q0 8 9 15q10 7 11 14q-42 41 -65 45z M843 -158q0 13 7 13h7q5 0 9 -4t4 -9q0 -6 -4 -10q-4 -3 -9 -3h-7q-7 0 -7 13zM861 1581l3 -75q0 -12 5 -22t13 -18q8 -7 19 -11t22 -4q12 1 22 6q11 5 18 13t12 18q4 11 3 23l-3 74q-1 40 -23 39q-21 -1 -20 -41l3 -74q1 -6 -3 -11q-4 -4 -10 -4t-11 4q-4 4 -4 10l-3 74 q-2 40 -23 39q-22 -1 -20 -40zM884 9q1 3 5 11q3 7 3 9q9 -6 2 -17q-9 -15 -6 -23q-9 6 -4 20zM927 -215q-4 -49 16 -49q19 0 21 20t11 20q10 0 12 -20t22 -20t15 49l-5 60q-1 21 -14 35q-13 15 -29 15q-17 0 -30 -15q-12 -14 -14 -35zM942 1153v20q48 -4 49 -5 q-20 -11 -49 -15zM970 -171q2 26 5 26q4 0 6 -26q2 -27 -5 -27q-8 0 -6 27zM1020 1602q-3 -21 14 -24q18 -3 11 -43l-8 -48q-6 -39 15 -43q21 -3 27 36l9 48q6 40 24 37q17 -3 21 18t-36 27l-34 6q-39 7 -43 -14zM1042 -155v-59q0 -50 20 -50q19 0 19 50v59q0 50 -19 50 q-20 0 -20 -50zM1056 1168q9 4 17 -5q7 -8 10 -22q6 -36 -22 -37q15 11 13 33t-18 31zM1095 -155v-59q0 -50 19 -50q20 0 20 40q0 16 4 16t10 -16q13 -40 33 -40q19 0 19 50v59q0 50 -19 50q-20 0 -20 -40q0 -16 -4 -16t-9 16q-14 40 -34 40q-19 0 -19 -50zM1170 1457 q-14 -37 6 -44q21 -8 34 30l17 46q14 37 30 31q17 -6 24 14q8 21 -30 34l-32 12q-38 14 -45 -7q-7 -20 9 -26q17 -6 4 -43zM1244 841q12 -43 40 -59q92 9 94 -45q36 -2 39 30q43 -2 75 39v10q-16 19 -52 38q-47 25 -57 32q-10 -1 -12 -18q-2 -19 -8 -22q6 2 -119 -5z M1260 1393q4 -16 19 -24l30 -17q35 -20 45 -1q11 18 -20 36t-24 30q7 13 32 -1q25 -15 32 -2q7 12 -18 26q-25 15 -18 27t38 -5q31 -18 42 1q11 18 -24 38l-30 17q-15 8 -30 4q-16 -4 -25 -19l-45 -80q-8 -14 -4 -30zM1373 1311q16 -14 35 7q18 22 22 19q3 -3 -8 -31 q-12 -28 4 -42q17 -14 31 19q13 32 26 34q7 1 13 3q13 5 22 16q8 9 11 20q3 10 3 21q-1 11 -6 22q-5 10 -14 18l-10 9l-17 14q-16 14 -42 -16l-60 -69q-27 -30 -10 -44zM1460 1238q0 -9 5 -16q6 -7 15 -8q9 0 16 5q6 6 7 15t-5 16q-6 6 -14 7q-9 1 -16 -5t-8 -14zM1460 1367 q-5 5 4 16t15 6l5 -5q5 -4 5 -9q0 -6 -3 -11q-4 -4 -10 -5q-6 0 -11 4zM1497 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4q7 0 13 3q3 1 5 2q6 3 11 0l6 -2q6 -3 13 -3q8 0 15 4q7 3 12 8t8 12t3 15v38q0 38 -14 38q-15 0 -15 -38v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v28 q0 29 -14 29q-15 0 -15 -29v-28q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v38q0 38 -14 38t-14 -38v-38zM1507 1192q-4 -16 5 -30l19 -29q21 -34 39 -22q18 11 -1 41q-19 31 -7 38q12 8 27 -16q16 -25 28 -17t-3 32q-16 24 -4 32q13 7 32 -23t37 -19q18 12 -3 45l-19 30 q-9 14 -25 17q-16 4 -30 -5l-78 -49q-14 -9 -17 -25zM1578 1065q-4 -16 3 -31q4 -11 12 -19q9 -8 19 -12q10 -5 21 -5t22 4q11 5 17 12t8 16t0 20t-6 21q-3 6 0 11q2 6 7 8q6 2 11 0q6 -2 8 -8q2 -4 1 -8q-1 -2 -1 -4q-2 -3 13 -17q18 -15 25 -1q4 7 5 15q3 16 -3 31 q-5 11 -13 19t-18 12q-10 5 -22 5q-11 0 -22 -4q-11 -5 -16 -12q-6 -7 -8 -16t0 -20q2 -10 6 -21q2 -6 0 -11q-2 -6 -8 -8q-5 -2 -11 0q-5 2 -7 8q-2 4 -1 8q0 2 1 4q2 4 -14 17q-18 16 -25 1q-3 -7 -4 -15zM1631 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4t15 4q7 3 12 8t8 12 t3 15v38q0 8 -3 15t-8 12t-12 8t-15 3t-15 -3t-12 -8t-8 -12t-3 -15v-38zM1659 686v38q0 4 3 7t7 3t7 -3q2 -3 2 -7v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7zM1717 697q0 -50 14 -50t14 20q0 19 4 19q3 0 9 -19q7 -20 21 -20t7 23q-8 22 -2 29q3 4 5 8q4 8 4 17q0 8 -3 15 t-8 12t-12 8t-15 3h-24q-14 0 -14 -49v-16zM1745 724q0 10 5 10h5q4 0 7 -3t3 -7t-3 -7t-7 -3h-5q-5 0 -5 10zM1803 697q0 -50 14 -50q15 0 15 24t1 24q2 0 10 -24t22 -24t5 29q-10 29 0 58q9 28 -5 28t-22 -24t-10 -24q-1 0 -1 24t-15 24q-14 0 -14 -49v-16zM1889 724 q0 -8 3 -13q3 -6 8 -9q6 -4 13 -5q6 -2 14 -2q4 0 7 -2q3 -3 3 -7t-3 -7t-7 -3q-3 0 -5 2q-1 0 -2 2q-2 2 -14 -5q-14 -7 -7 -15q3 -4 8 -7q9 -6 20 -6q8 0 15 4q7 3 12 8q6 5 9 12t3 15t-3 13q-3 6 -9 9q-5 3 -12 5q-7 1 -15 1q-4 0 -6 3q-3 3 -3 7t3 7q2 3 6 3q3 0 6 -2 l2 -2q1 -2 14 5q14 7 7 15q-4 4 -8 6q-9 6 -21 6q-7 0 -14 -3t-13 -8q-5 -5 -8 -12t-3 -15z" unicode="5"/><glyph d="M172 680q0 -49 14 -49q15 0 15 24t19 24t19 9q0 10 -19 10t-19 9q0 10 24 10t24 14q0 15 -39 15q-16 0 -27 -15q-11 -14 -11 -35v-16zM186 1146q-12 -18 20 -41l60 -44q10 -7 21 -10q11 -2 22 0q10 1 20 7t17 15q6 8 9 18q1 4 2 9q1 9 9 13q4 2 8 5q8 5 14 13q7 10 10 21 q2 11 0 22q-1 10 -7 20t-15 17l-61 44q-32 23 -44 6q-13 -17 19 -41l60 -44q5 -3 6 -9t-2 -11q-4 -4 -10 -5t-10 2l-38 27q-32 24 -44 7q-13 -18 19 -41l37 -27q5 -4 6 -10t-3 -10q-3 -5 -9 -6t-11 2l-60 45q-32 23 -45 6zM258 669q0 -8 3 -15t8 -12q6 -5 13 -8t14 -3 q8 0 15 3t12 8q6 5 9 12t3 15v38q0 8 -3 15t-9 12q-5 5 -12 8q-7 4 -15 4q-7 0 -14 -4q-7 -3 -13 -8q-5 -5 -8 -12t-3 -15v-38zM287 669v38q0 4 3 7q2 3 6 3t7 -3t3 -7v-38q0 -4 -3 -7t-7 -3t-6 3q-3 3 -3 7zM334 1309q0 -11 5 -22q4 -11 12 -19l41 -40q8 -8 19 -12 q10 -5 21 -5q11 1 22 5q10 4 19 12q8 9 12 19q4 11 4 22t-4 21q-4 11 -13 19l-40 40q-9 9 -19 13q-11 4 -22 4t-21 -4q-11 -5 -19 -13q-9 -8 -13 -19q-4 -10 -4 -21zM344 680q0 -49 15 -49q14 0 14 28q0 12 3 12t7 -12q9 -28 24 -28q14 0 14 49v16q0 50 -14 50 q-15 0 -15 -29q0 -12 -3 -12q-2 0 -6 12q-10 29 -24 29q-15 0 -15 -50v-16zM377 1309q0 6 4 10t10 4t10 -4l41 -40q4 -5 4 -10q0 -6 -4 -11q-4 -4 -10 -4t-10 4l-41 41q-4 4 -4 10zM397 970q21 -21 15 -60q4 -4 25 -14q16 -8 20 -20q-12 -12 -11 -36q1 -21 -19 -29 q10 -10 30 -9q27 1 34 0q7 3 15 15q8 11 15 14q18 -5 44 -44q24 -36 40 -35q26 1 60 74q-8 15 -44 45q-31 26 -36 54q-1 11 1 32q4 26 4 34q1 38 -34 48q-11 -39 -10 -74q-12 27 -33 45q-26 21 -51 14q0 -17 14 -44q15 -28 15 -40q-8 4 -17 17q-10 14 -17 18q-37 -7 -60 -5z M402 440q16 9 23 5q2 -1 7 -6q6 -6 10 -9q12 -1 28 16q14 14 21 9q-45 -36 -39 -94q19 14 59 5q11 6 24 21q15 19 21 23q4 -4 30 -9q19 -5 19 -20q14 12 19 42q4 31 -9 47q33 36 45 39q19 -16 53 -8t41 28q-34 9 -35 30q37 69 173 -20q83 -53 90 -84q4 -20 -2 -63 q-6 -46 -3 -66q4 -30 23 -61q27 -44 31 -53q2 -13 -5 -39q18 -5 43 18q21 18 36 1q-114 -166 -232 -94q-10 -8 -39 -15q-24 -5 -31 -24q1 -1 9 -1q8 -1 12 -3q15 -5 9 -26q10 0 22 19q11 16 18 11q2 3 -31 -36q-18 -22 -14 -53q7 -7 12 2q6 12 13 13q13 -12 17 -13 q8 -2 13 13q2 -5 4 -35q2 -23 15 -25q5 29 40 25q0 -1 -1 33q0 19 11 21q-8 -18 5 -89q8 1 10 -5h5q-4 28 23 31q47 4 46 4q20 9 33 50q13 38 41 49q8 1 17 -9q6 -8 13 -1q1 38 62 125q48 70 17 133q-4 -31 -34 -35q-59 21 -50 96q9 74 64 92q21 -41 65 -61q41 -19 87 -14 q47 5 78 34q35 31 38 81q2 38 -19 76q-26 47 -31 72q8 25 55 20q-3 32 -43 34t-51 -24q-3 30 -85 97q-75 61 -64 121q6 32 43 57q41 28 81 12q6 -3 11 -18t14 -17q100 57 109 70v5q-30 43 -70 39q-17 34 -44 30q-5 -4 -10 -22q-5 -16 -15 -18q-81 -3 -129 -46 q-47 -41 -49 -107q-3 -76 64 -130q82 -67 94 -98q-14 4 -59 13q-39 7 -58 15q-57 25 -21 96q-1 1 -25 54q-32 -34 -38 -81q-5 -44 16 -82q22 -40 63 -55q45 -18 102 1q-26 -16 -18 -63q8 -48 38 -37q-8 10 -5 40q31 26 56 11q22 -14 25 -48q4 -34 -16 -56q-24 -25 -70 -16 q-35 7 -82 60q-11 12 -41 48q-25 30 -40 46q-121 126 -124 128q73 48 89 134l15 -11q10 -7 15 1q-3 15 4 81q5 57 -9 83q5 -6 17 -6q13 1 13 11q-36 110 -71 150q-59 66 -167 43l-15 -10q-91 -3 -104 -25q-8 1 28 0q16 0 17 -10q-10 2 -21 -1q-12 -4 -19 -4q-2 -20 25 -74 q8 23 26 27q15 4 31 -8q15 -11 18 -30q4 -20 -11 -39q-1 0 -4 -2q-3 -3 -6 -3q-13 1 -39 20q-17 -29 -9 -56q9 -26 38 -38q-1 21 16 33t34 2q-10 -49 -88 -66q-104 -24 -130 -43q-22 -17 -83 -91q-45 -55 -95 -68q7 -24 79 -79q-16 -11 -50 -48q-31 -33 -54 -46 q-20 24 -55 27q-37 2 -59 -22q29 7 25 -35q44 6 49 -14q-43 6 -54 4q-1 -12 -17 -27q-15 -13 -13 -32zM430 731q0 -14 12 -14t12 -43t15 -43q14 0 14 43t12 43t12 14q0 15 -38 15q-39 0 -39 -15zM443 1413q-1 -11 2 -22q2 -11 9 -20l35 -46q7 -9 17 -15q9 -5 20 -7 q11 -1 22 1q11 3 21 10q9 7 15 17q5 10 7 21q1 10 -1 21q-3 12 -10 21l-34 46q-7 9 -17 15q-10 5 -21 7q-11 1 -22 -1q-11 -3 -20 -10q-10 -7 -15 -17q-6 -10 -8 -21zM486 1407q1 6 5 10q5 3 11 3q6 -1 9 -6l35 -46q3 -5 3 -10q-1 -6 -6 -10t-11 -3t-9 6l-34 46q-4 5 -3 10z M531 257q35 6 35 -30q11 0 25 18q13 16 19 12q-41 -47 -44 -79q8 8 26 3q37 -10 28 -8q5 26 4 23q4 12 16 11q-13 -21 -15 -46q-3 -30 15 -43q3 22 20 30q27 -13 53 7q33 26 46 28q21 -21 20 -35q22 20 109 32q80 11 99 42q-51 29 -81 81q-39 66 16 97q9 2 40 -14v54l-36 27 q-17 18 -9 42q-53 39 -107 -1q-70 -53 -101 -53q-2 -25 16 -38q5 -4 17 -11q11 -6 17 -10q-1 -35 26 -74q31 -43 33 -55q-72 -18 -133 28q-64 49 -109 41q11 -3 9 -13q-5 -21 -4 -22q3 0 12 -1q9 0 12 -1q14 -2 15 -12q-27 9 -54 0t-35 -30zM567 1475l41 -82q18 -36 43 -23 q15 7 26 13q11 5 18 14t10 19q4 11 3 22q0 11 -6 22l-25 51q-6 10 -14 18q-9 7 -20 10q-10 4 -21 3q-12 0 -22 -6l-26 -13q-25 -13 -7 -48zM613 1495q3 1 6 3q5 3 11 1t8 -7l26 -51q3 -6 1 -11q-2 -6 -7 -9l-7 -3q-6 -3 -24 32l-3 6q-18 35 -11 39zM645 1024q17 -63 123 -22 q23 9 83 38q46 22 61 24q-40 9 -118 -17q-64 -21 -95 7q-8 7 3 27q8 16 -3 18q-31 -1 -47 -22t-7 -53zM685 -158q0 -11 4 -19q4 -7 11 -12q8 -5 17 -7q10 -2 21 -2q5 0 9 -4t4 -9q0 -6 -4 -9q-4 -4 -9 -4t-8 2q-1 1 -3 2q-2 3 -19 -6q-19 -10 -10 -20q5 -6 11 -10 q13 -8 29 -8q10 0 20 4t17 12q7 7 11 16q5 10 5 21t-5 18q-4 8 -11 13q-7 4 -17 6q-9 3 -20 3q-6 0 -10 3q-4 4 -4 10q0 5 4 9t10 4q4 0 7 -2q2 -1 3 -3q2 -2 19 6q20 10 10 21q-5 5 -11 9q-13 9 -28 9q-11 0 -21 -5q-10 -4 -17 -11t-11 -17q-4 -9 -4 -20zM711 1549 q-2 -11 1 -23l15 -55q3 -11 10 -20t16 -15q10 -5 21 -7t23 1q11 3 20 10q9 6 15 14q6 7 8 16q2 4 2 8q0 8 -24 10q-21 1 -22 -4q0 -3 -2 -6q-3 -5 -8 -6q-6 -2 -11 1t-7 9l-15 55q-1 6 2 11t8 7q6 1 11 -2q3 -1 5 -3q3 -5 21 7q20 13 15 20q-2 3 -5 6q-6 7 -15 11 q-9 3 -20 4t-23 -2q-11 -3 -20 -10t-14 -16q-6 -10 -7 -21zM804 -155v-59q0 -50 20 -50q19 0 19 26q0 27 7 27h7q10 0 20 4t17 11q7 8 11 17q5 10 5 21t-5 20q-4 10 -11 17t-17 11q-10 5 -20 5h-33q-20 0 -20 -50zM808 1381q21 -56 25 -149h248q-3 92 19 149q-19 -1 -37 -17 q-21 -19 -32 -23q1 -8 14 -18q11 -9 6 -26q-2 -1 -5 -3q-2 -2 -5 -2q-22 6 -54 0q-2 3 -5 10q-4 6 -5 10q1 4 11 11q8 6 8 13q-8 8 -19 30t-20 30h-5q8 4 -40 -60q0 -7 10 -17q9 -9 5 -22q-8 0 -21 -2q-16 -2 -20 -2q-21 -1 -33 14q0 8 9 15q10 7 11 14q-42 41 -65 45z M843 -158q0 13 7 13h7q5 0 9 -4t4 -9q0 -6 -4 -10q-4 -3 -9 -3h-7q-7 0 -7 13zM861 1581l3 -75q0 -12 5 -22t13 -18q8 -7 19 -11t22 -4q12 1 22 6q11 5 18 13t12 18q4 11 3 23l-3 74q-1 40 -23 39q-21 -1 -20 -41l3 -74q1 -6 -3 -11q-4 -4 -10 -4t-11 4q-4 4 -4 10l-3 74 q-2 40 -23 39q-22 -1 -20 -40zM884 9q1 3 5 11q3 7 3 9q9 -6 2 -17q-9 -15 -6 -23q-9 6 -4 20zM927 -215q-4 -49 16 -49q19 0 21 20t11 20q10 0 12 -20t22 -20t15 49l-5 60q-1 21 -14 35q-13 15 -29 15q-17 0 -30 -15q-12 -14 -14 -35zM942 1153v20q48 -4 49 -5 q-20 -11 -49 -15zM970 -171q2 26 5 26q4 0 6 -26q2 -27 -5 -27q-8 0 -6 27zM1020 1602q-3 -21 14 -24q18 -3 11 -43l-8 -48q-6 -39 15 -43q21 -3 27 36l9 48q6 40 24 37q17 -3 21 18t-36 27l-34 6q-39 7 -43 -14zM1042 -155v-59q0 -50 20 -50q19 0 19 50v59q0 50 -19 50 q-20 0 -20 -50zM1056 1168q9 4 17 -5q7 -8 10 -22q6 -36 -22 -37q15 11 13 33t-18 31zM1095 -155v-59q0 -50 19 -50q20 0 20 40q0 16 4 16t10 -16q13 -40 33 -40q19 0 19 50v59q0 50 -19 50q-20 0 -20 -40q0 -16 -4 -16t-9 16q-14 40 -34 40q-19 0 -19 -50zM1170 1457 q-14 -37 6 -44q21 -8 34 30l17 46q14 37 30 31q17 -6 24 14q8 21 -30 34l-32 12q-38 14 -45 -7q-7 -20 9 -26q17 -6 4 -43zM1244 841q12 -43 40 -59q92 9 94 -45q36 -2 39 30q43 -2 75 39v10q-16 19 -52 38q-47 25 -57 32q-10 -1 -12 -18q-2 -19 -8 -22q6 2 -119 -5z M1260 1393q4 -16 19 -24l30 -17q35 -20 45 -1q11 18 -20 36t-24 30q7 13 32 -1q25 -15 32 -2q7 12 -18 26q-25 15 -18 27t38 -5q31 -18 42 1q11 18 -24 38l-30 17q-15 8 -30 4q-16 -4 -25 -19l-45 -80q-8 -14 -4 -30zM1373 1311q16 -14 35 7q18 22 22 19q3 -3 -8 -31 q-12 -28 4 -42q17 -14 31 19q13 32 26 34q7 1 13 3q13 5 22 16q8 9 11 20q3 10 3 21q-1 11 -6 22q-5 10 -14 18l-10 9l-17 14q-16 14 -42 -16l-60 -69q-27 -30 -10 -44zM1460 1238q0 -9 5 -16q6 -7 15 -8q9 0 16 5q6 6 7 15t-5 16q-6 6 -14 7q-9 1 -16 -5t-8 -14zM1460 1367 q-5 5 4 16t15 6l5 -5q5 -4 5 -9q0 -6 -3 -11q-4 -4 -10 -5q-6 0 -11 4zM1497 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4q7 0 13 3q3 1 5 2q6 3 11 0l6 -2q6 -3 13 -3q8 0 15 4q7 3 12 8t8 12t3 15v38q0 38 -14 38q-15 0 -15 -38v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v28 q0 29 -14 29q-15 0 -15 -29v-28q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v38q0 38 -14 38t-14 -38v-38zM1507 1192q-4 -16 5 -30l19 -29q21 -34 39 -22q18 11 -1 41q-19 31 -7 38q12 8 27 -16q16 -25 28 -17t-3 32q-16 24 -4 32q13 7 32 -23t37 -19q18 12 -3 45l-19 30 q-9 14 -25 17q-16 4 -30 -5l-78 -49q-14 -9 -17 -25zM1578 1065q-4 -16 3 -31q4 -11 12 -19q9 -8 19 -12q10 -5 21 -5t22 4q11 5 17 12t8 16t0 20t-6 21q-3 6 0 11q2 6 7 8q6 2 11 0q6 -2 8 -8q2 -4 1 -8q-1 -2 -1 -4q-2 -3 13 -17q18 -15 25 -1q4 7 5 15q3 16 -3 31 q-5 11 -13 19t-18 12q-10 5 -22 5q-11 0 -22 -4q-11 -5 -16 -12q-6 -7 -8 -16t0 -20q2 -10 6 -21q2 -6 0 -11q-2 -6 -8 -8q-5 -2 -11 0q-5 2 -7 8q-2 4 -1 8q0 2 1 4q2 4 -14 17q-18 16 -25 1q-3 -7 -4 -15zM1631 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4t15 4q7 3 12 8t8 12 t3 15v38q0 8 -3 15t-8 12t-12 8t-15 3t-15 -3t-12 -8t-8 -12t-3 -15v-38zM1659 686v38q0 4 3 7t7 3t7 -3q2 -3 2 -7v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7zM1717 697q0 -50 14 -50t14 20q0 19 4 19q3 0 9 -19q7 -20 21 -20t7 23q-8 22 -2 29q3 4 5 8q4 8 4 17q0 8 -3 15 t-8 12t-12 8t-15 3h-24q-14 0 -14 -49v-16zM1745 724q0 10 5 10h5q4 0 7 -3t3 -7t-3 -7t-7 -3h-5q-5 0 -5 10zM1803 697q0 -50 14 -50q15 0 15 24t1 24q2 0 10 -24t22 -24t5 29q-10 29 0 58q9 28 -5 28t-22 -24t-10 -24q-1 0 -1 24t-15 24q-14 0 -14 -49v-16zM1889 724 q0 -8 3 -13q3 -6 8 -9q6 -4 13 -5q6 -2 14 -2q4 0 7 -2q3 -3 3 -7t-3 -7t-7 -3q-3 0 -5 2q-1 0 -2 2q-2 2 -14 -5q-14 -7 -7 -15q3 -4 8 -7q9 -6 20 -6q8 0 15 4q7 3 12 8q6 5 9 12t3 15t-3 13q-3 6 -9 9q-5 3 -12 5q-7 1 -15 1q-4 0 -6 3q-3 3 -3 7t3 7q2 3 6 3q3 0 6 -2 l2 -2q1 -2 14 5q14 7 7 15q-4 4 -8 6q-9 6 -21 6q-7 0 -14 -3t-13 -8q-5 -5 -8 -12t-3 -15z" unicode="6"/><glyph d="M172 680q0 -49 14 -49q15 0 15 24t19 24t19 9q0 10 -19 10t-19 9q0 10 24 10t24 14q0 15 -39 15q-16 0 -27 -15q-11 -14 -11 -35v-16zM186 1146q-12 -18 20 -41l60 -44q10 -7 21 -10q11 -2 22 0q10 1 20 7t17 15q6 8 9 18q1 4 2 9q1 9 9 13q4 2 8 5q8 5 14 13q7 10 10 21 q2 11 0 22q-1 10 -7 20t-15 17l-61 44q-32 23 -44 6q-13 -17 19 -41l60 -44q5 -3 6 -9t-2 -11q-4 -4 -10 -5t-10 2l-38 27q-32 24 -44 7q-13 -18 19 -41l37 -27q5 -4 6 -10t-3 -10q-3 -5 -9 -6t-11 2l-60 45q-32 23 -45 6zM258 669q0 -8 3 -15t8 -12q6 -5 13 -8t14 -3 q8 0 15 3t12 8q6 5 9 12t3 15v38q0 8 -3 15t-9 12q-5 5 -12 8q-7 4 -15 4q-7 0 -14 -4q-7 -3 -13 -8q-5 -5 -8 -12t-3 -15v-38zM287 669v38q0 4 3 7q2 3 6 3t7 -3t3 -7v-38q0 -4 -3 -7t-7 -3t-6 3q-3 3 -3 7zM334 1309q0 -11 5 -22q4 -11 12 -19l41 -40q8 -8 19 -12 q10 -5 21 -5q11 1 22 5q10 4 19 12q8 9 12 19q4 11 4 22t-4 21q-4 11 -13 19l-40 40q-9 9 -19 13q-11 4 -22 4t-21 -4q-11 -5 -19 -13q-9 -8 -13 -19q-4 -10 -4 -21zM344 680q0 -49 15 -49q14 0 14 28q0 12 3 12t7 -12q9 -28 24 -28q14 0 14 49v16q0 50 -14 50 q-15 0 -15 -29q0 -12 -3 -12q-2 0 -6 12q-10 29 -24 29q-15 0 -15 -50v-16zM377 1309q0 6 4 10t10 4t10 -4l41 -40q4 -5 4 -10q0 -6 -4 -11q-4 -4 -10 -4t-10 4l-41 41q-4 4 -4 10zM397 970q21 -21 15 -60q4 -4 25 -14q16 -8 20 -20q-12 -12 -11 -36q1 -21 -19 -29 q10 -10 30 -9q27 1 34 0q7 3 15 15q8 11 15 14q18 -5 44 -44q24 -36 40 -35q26 1 60 74q-8 15 -44 45q-31 26 -36 54q-1 11 1 32q4 26 4 34q1 38 -34 48q-11 -39 -10 -74q-12 27 -33 45q-26 21 -51 14q0 -17 14 -44q15 -28 15 -40q-8 4 -17 17q-10 14 -17 18q-37 -7 -60 -5z M402 440q16 9 23 5q2 -1 7 -6q6 -6 10 -9q12 -1 28 16q14 14 21 9q-45 -36 -39 -94q19 14 59 5q11 6 24 21q15 19 21 23q4 -4 30 -9q19 -5 19 -20q14 12 19 42q4 31 -9 47q33 36 45 39q19 -16 53 -8t41 28q-34 9 -35 30q37 69 173 -20q83 -53 90 -84q4 -20 -2 -63 q-6 -46 -3 -66q4 -30 23 -61q27 -44 31 -53q2 -13 -5 -39q18 -5 43 18q21 18 36 1q-114 -166 -232 -94q-10 -8 -39 -15q-24 -5 -31 -24q1 -1 9 -1q8 -1 12 -3q15 -5 9 -26q10 0 22 19q11 16 18 11q2 3 -31 -36q-18 -22 -14 -53q7 -7 12 2q6 12 13 13q13 -12 17 -13 q8 -2 13 13q2 -5 4 -35q2 -23 15 -25q5 29 40 25q0 -1 -1 33q0 19 11 21q-8 -18 5 -89q8 1 10 -5h5q-4 28 23 31q47 4 46 4q20 9 33 50q13 38 41 49q8 1 17 -9q6 -8 13 -1q1 38 62 125q48 70 17 133q-4 -31 -34 -35q-59 21 -50 96q9 74 64 92q21 -41 65 -61q41 -19 87 -14 q47 5 78 34q35 31 38 81q2 38 -19 76q-26 47 -31 72q8 25 55 20q-3 32 -43 34t-51 -24q-3 30 -85 97q-75 61 -64 121q6 32 43 57q41 28 81 12q6 -3 11 -18t14 -17q100 57 109 70v5q-30 43 -70 39q-17 34 -44 30q-5 -4 -10 -22q-5 -16 -15 -18q-81 -3 -129 -46 q-47 -41 -49 -107q-3 -76 64 -130q82 -67 94 -98q-14 4 -59 13q-39 7 -58 15q-57 25 -21 96q-1 1 -25 54q-32 -34 -38 -81q-5 -44 16 -82q22 -40 63 -55q45 -18 102 1q-26 -16 -18 -63q8 -48 38 -37q-8 10 -5 40q31 26 56 11q22 -14 25 -48q4 -34 -16 -56q-24 -25 -70 -16 q-35 7 -82 60q-11 12 -41 48q-25 30 -40 46q-121 126 -124 128q73 48 89 134l15 -11q10 -7 15 1q-3 15 4 81q5 57 -9 83q5 -6 17 -6q13 1 13 11q-36 110 -71 150q-59 66 -167 43l-15 -10q-91 -3 -104 -25q-8 1 28 0q16 0 17 -10q-10 2 -21 -1q-12 -4 -19 -4q-2 -20 25 -74 q8 23 26 27q15 4 31 -8q15 -11 18 -30q4 -20 -11 -39q-1 0 -4 -2q-3 -3 -6 -3q-13 1 -39 20q-17 -29 -9 -56q9 -26 38 -38q-1 21 16 33t34 2q-10 -49 -88 -66q-104 -24 -130 -43q-22 -17 -83 -91q-45 -55 -95 -68q7 -24 79 -79q-16 -11 -50 -48q-31 -33 -54 -46 q-20 24 -55 27q-37 2 -59 -22q29 7 25 -35q44 6 49 -14q-43 6 -54 4q-1 -12 -17 -27q-15 -13 -13 -32zM430 731q0 -14 12 -14t12 -43t15 -43q14 0 14 43t12 43t12 14q0 15 -38 15q-39 0 -39 -15zM443 1413q-1 -11 2 -22q2 -11 9 -20l35 -46q7 -9 17 -15q9 -5 20 -7 q11 -1 22 1q11 3 21 10q9 7 15 17q5 10 7 21q1 10 -1 21q-3 12 -10 21l-34 46q-7 9 -17 15q-10 5 -21 7q-11 1 -22 -1q-11 -3 -20 -10q-10 -7 -15 -17q-6 -10 -8 -21zM486 1407q1 6 5 10q5 3 11 3q6 -1 9 -6l35 -46q3 -5 3 -10q-1 -6 -6 -10t-11 -3t-9 6l-34 46q-4 5 -3 10z M531 257q35 6 35 -30q11 0 25 18q13 16 19 12q-41 -47 -44 -79q8 8 26 3q37 -10 28 -8q5 26 4 23q4 12 16 11q-13 -21 -15 -46q-3 -30 15 -43q3 22 20 30q27 -13 53 7q33 26 46 28q21 -21 20 -35q22 20 109 32q80 11 99 42q-51 29 -81 81q-39 66 16 97q9 2 40 -14v54l-36 27 q-17 18 -9 42q-53 39 -107 -1q-70 -53 -101 -53q-2 -25 16 -38q5 -4 17 -11q11 -6 17 -10q-1 -35 26 -74q31 -43 33 -55q-72 -18 -133 28q-64 49 -109 41q11 -3 9 -13q-5 -21 -4 -22q3 0 12 -1q9 0 12 -1q14 -2 15 -12q-27 9 -54 0t-35 -30zM567 1475l41 -82q18 -36 43 -23 q15 7 26 13q11 5 18 14t10 19q4 11 3 22q0 11 -6 22l-25 51q-6 10 -14 18q-9 7 -20 10q-10 4 -21 3q-12 0 -22 -6l-26 -13q-25 -13 -7 -48zM613 1495q3 1 6 3q5 3 11 1t8 -7l26 -51q3 -6 1 -11q-2 -6 -7 -9l-7 -3q-6 -3 -24 32l-3 6q-18 35 -11 39zM645 1024q17 -63 123 -22 q23 9 83 38q46 22 61 24q-40 9 -118 -17q-64 -21 -95 7q-8 7 3 27q8 16 -3 18q-31 -1 -47 -22t-7 -53zM685 -158q0 -11 4 -19q4 -7 11 -12q8 -5 17 -7q10 -2 21 -2q5 0 9 -4t4 -9q0 -6 -4 -9q-4 -4 -9 -4t-8 2q-1 1 -3 2q-2 3 -19 -6q-19 -10 -10 -20q5 -6 11 -10 q13 -8 29 -8q10 0 20 4t17 12q7 7 11 16q5 10 5 21t-5 18q-4 8 -11 13q-7 4 -17 6q-9 3 -20 3q-6 0 -10 3q-4 4 -4 10q0 5 4 9t10 4q4 0 7 -2q2 -1 3 -3q2 -2 19 6q20 10 10 21q-5 5 -11 9q-13 9 -28 9q-11 0 -21 -5q-10 -4 -17 -11t-11 -17q-4 -9 -4 -20zM711 1549 q-2 -11 1 -23l15 -55q3 -11 10 -20t16 -15q10 -5 21 -7t23 1q11 3 20 10q9 6 15 14q6 7 8 16q2 4 2 8q0 8 -24 10q-21 1 -22 -4q0 -3 -2 -6q-3 -5 -8 -6q-6 -2 -11 1t-7 9l-15 55q-1 6 2 11t8 7q6 1 11 -2q3 -1 5 -3q3 -5 21 7q20 13 15 20q-2 3 -5 6q-6 7 -15 11 q-9 3 -20 4t-23 -2q-11 -3 -20 -10t-14 -16q-6 -10 -7 -21zM804 -155v-59q0 -50 20 -50q19 0 19 26q0 27 7 27h7q10 0 20 4t17 11q7 8 11 17q5 10 5 21t-5 20q-4 10 -11 17t-17 11q-10 5 -20 5h-33q-20 0 -20 -50zM808 1381q21 -56 25 -149h248q-3 92 19 149q-19 -1 -37 -17 q-21 -19 -32 -23q1 -8 14 -18q11 -9 6 -26q-2 -1 -5 -3q-2 -2 -5 -2q-22 6 -54 0q-2 3 -5 10q-4 6 -5 10q1 4 11 11q8 6 8 13q-8 8 -19 30t-20 30h-5q8 4 -40 -60q0 -7 10 -17q9 -9 5 -22q-8 0 -21 -2q-16 -2 -20 -2q-21 -1 -33 14q0 8 9 15q10 7 11 14q-42 41 -65 45z M843 -158q0 13 7 13h7q5 0 9 -4t4 -9q0 -6 -4 -10q-4 -3 -9 -3h-7q-7 0 -7 13zM861 1581l3 -75q0 -12 5 -22t13 -18q8 -7 19 -11t22 -4q12 1 22 6q11 5 18 13t12 18q4 11 3 23l-3 74q-1 40 -23 39q-21 -1 -20 -41l3 -74q1 -6 -3 -11q-4 -4 -10 -4t-11 4q-4 4 -4 10l-3 74 q-2 40 -23 39q-22 -1 -20 -40zM884 9q1 3 5 11q3 7 3 9q9 -6 2 -17q-9 -15 -6 -23q-9 6 -4 20zM927 -215q-4 -49 16 -49q19 0 21 20t11 20q10 0 12 -20t22 -20t15 49l-5 60q-1 21 -14 35q-13 15 -29 15q-17 0 -30 -15q-12 -14 -14 -35zM942 1153v20q48 -4 49 -5 q-20 -11 -49 -15zM970 -171q2 26 5 26q4 0 6 -26q2 -27 -5 -27q-8 0 -6 27zM1020 1602q-3 -21 14 -24q18 -3 11 -43l-8 -48q-6 -39 15 -43q21 -3 27 36l9 48q6 40 24 37q17 -3 21 18t-36 27l-34 6q-39 7 -43 -14zM1042 -155v-59q0 -50 20 -50q19 0 19 50v59q0 50 -19 50 q-20 0 -20 -50zM1056 1168q9 4 17 -5q7 -8 10 -22q6 -36 -22 -37q15 11 13 33t-18 31zM1095 -155v-59q0 -50 19 -50q20 0 20 40q0 16 4 16t10 -16q13 -40 33 -40q19 0 19 50v59q0 50 -19 50q-20 0 -20 -40q0 -16 -4 -16t-9 16q-14 40 -34 40q-19 0 -19 -50zM1170 1457 q-14 -37 6 -44q21 -8 34 30l17 46q14 37 30 31q17 -6 24 14q8 21 -30 34l-32 12q-38 14 -45 -7q-7 -20 9 -26q17 -6 4 -43zM1244 841q12 -43 40 -59q92 9 94 -45q36 -2 39 30q43 -2 75 39v10q-16 19 -52 38q-47 25 -57 32q-10 -1 -12 -18q-2 -19 -8 -22q6 2 -119 -5z M1260 1393q4 -16 19 -24l30 -17q35 -20 45 -1q11 18 -20 36t-24 30q7 13 32 -1q25 -15 32 -2q7 12 -18 26q-25 15 -18 27t38 -5q31 -18 42 1q11 18 -24 38l-30 17q-15 8 -30 4q-16 -4 -25 -19l-45 -80q-8 -14 -4 -30zM1373 1311q16 -14 35 7q18 22 22 19q3 -3 -8 -31 q-12 -28 4 -42q17 -14 31 19q13 32 26 34q7 1 13 3q13 5 22 16q8 9 11 20q3 10 3 21q-1 11 -6 22q-5 10 -14 18l-10 9l-17 14q-16 14 -42 -16l-60 -69q-27 -30 -10 -44zM1460 1238q0 -9 5 -16q6 -7 15 -8q9 0 16 5q6 6 7 15t-5 16q-6 6 -14 7q-9 1 -16 -5t-8 -14zM1460 1367 q-5 5 4 16t15 6l5 -5q5 -4 5 -9q0 -6 -3 -11q-4 -4 -10 -5q-6 0 -11 4zM1497 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4q7 0 13 3q3 1 5 2q6 3 11 0l6 -2q6 -3 13 -3q8 0 15 4q7 3 12 8t8 12t3 15v38q0 38 -14 38q-15 0 -15 -38v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v28 q0 29 -14 29q-15 0 -15 -29v-28q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v38q0 38 -14 38t-14 -38v-38zM1507 1192q-4 -16 5 -30l19 -29q21 -34 39 -22q18 11 -1 41q-19 31 -7 38q12 8 27 -16q16 -25 28 -17t-3 32q-16 24 -4 32q13 7 32 -23t37 -19q18 12 -3 45l-19 30 q-9 14 -25 17q-16 4 -30 -5l-78 -49q-14 -9 -17 -25zM1578 1065q-4 -16 3 -31q4 -11 12 -19q9 -8 19 -12q10 -5 21 -5t22 4q11 5 17 12t8 16t0 20t-6 21q-3 6 0 11q2 6 7 8q6 2 11 0q6 -2 8 -8q2 -4 1 -8q-1 -2 -1 -4q-2 -3 13 -17q18 -15 25 -1q4 7 5 15q3 16 -3 31 q-5 11 -13 19t-18 12q-10 5 -22 5q-11 0 -22 -4q-11 -5 -16 -12q-6 -7 -8 -16t0 -20q2 -10 6 -21q2 -6 0 -11q-2 -6 -8 -8q-5 -2 -11 0q-5 2 -7 8q-2 4 -1 8q0 2 1 4q2 4 -14 17q-18 16 -25 1q-3 -7 -4 -15zM1631 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4t15 4q7 3 12 8t8 12 t3 15v38q0 8 -3 15t-8 12t-12 8t-15 3t-15 -3t-12 -8t-8 -12t-3 -15v-38zM1659 686v38q0 4 3 7t7 3t7 -3q2 -3 2 -7v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7zM1717 697q0 -50 14 -50t14 20q0 19 4 19q3 0 9 -19q7 -20 21 -20t7 23q-8 22 -2 29q3 4 5 8q4 8 4 17q0 8 -3 15 t-8 12t-12 8t-15 3h-24q-14 0 -14 -49v-16zM1745 724q0 10 5 10h5q4 0 7 -3t3 -7t-3 -7t-7 -3h-5q-5 0 -5 10zM1803 697q0 -50 14 -50q15 0 15 24t1 24q2 0 10 -24t22 -24t5 29q-10 29 0 58q9 28 -5 28t-22 -24t-10 -24q-1 0 -1 24t-15 24q-14 0 -14 -49v-16zM1889 724 q0 -8 3 -13q3 -6 8 -9q6 -4 13 -5q6 -2 14 -2q4 0 7 -2q3 -3 3 -7t-3 -7t-7 -3q-3 0 -5 2q-1 0 -2 2q-2 2 -14 -5q-14 -7 -7 -15q3 -4 8 -7q9 -6 20 -6q8 0 15 4q7 3 12 8q6 5 9 12t3 15t-3 13q-3 6 -9 9q-5 3 -12 5q-7 1 -15 1q-4 0 -6 3q-3 3 -3 7t3 7q2 3 6 3q3 0 6 -2 l2 -2q1 -2 14 5q14 7 7 15q-4 4 -8 6q-9 6 -21 6q-7 0 -14 -3t-13 -8q-5 -5 -8 -12t-3 -15z" unicode="7"/><glyph d="M172 680q0 -49 14 -49q15 0 15 24t19 24t19 9q0 10 -19 10t-19 9q0 10 24 10t24 14q0 15 -39 15q-16 0 -27 -15q-11 -14 -11 -35v-16zM186 1146q-12 -18 20 -41l60 -44q10 -7 21 -10q11 -2 22 0q10 1 20 7t17 15q6 8 9 18q1 4 2 9q1 9 9 13q4 2 8 5q8 5 14 13q7 10 10 21 q2 11 0 22q-1 10 -7 20t-15 17l-61 44q-32 23 -44 6q-13 -17 19 -41l60 -44q5 -3 6 -9t-2 -11q-4 -4 -10 -5t-10 2l-38 27q-32 24 -44 7q-13 -18 19 -41l37 -27q5 -4 6 -10t-3 -10q-3 -5 -9 -6t-11 2l-60 45q-32 23 -45 6zM258 669q0 -8 3 -15t8 -12q6 -5 13 -8t14 -3 q8 0 15 3t12 8q6 5 9 12t3 15v38q0 8 -3 15t-9 12q-5 5 -12 8q-7 4 -15 4q-7 0 -14 -4q-7 -3 -13 -8q-5 -5 -8 -12t-3 -15v-38zM287 669v38q0 4 3 7q2 3 6 3t7 -3t3 -7v-38q0 -4 -3 -7t-7 -3t-6 3q-3 3 -3 7zM334 1309q0 -11 5 -22q4 -11 12 -19l41 -40q8 -8 19 -12 q10 -5 21 -5q11 1 22 5q10 4 19 12q8 9 12 19q4 11 4 22t-4 21q-4 11 -13 19l-40 40q-9 9 -19 13q-11 4 -22 4t-21 -4q-11 -5 -19 -13q-9 -8 -13 -19q-4 -10 -4 -21zM344 680q0 -49 15 -49q14 0 14 28q0 12 3 12t7 -12q9 -28 24 -28q14 0 14 49v16q0 50 -14 50 q-15 0 -15 -29q0 -12 -3 -12q-2 0 -6 12q-10 29 -24 29q-15 0 -15 -50v-16zM377 1309q0 6 4 10t10 4t10 -4l41 -40q4 -5 4 -10q0 -6 -4 -11q-4 -4 -10 -4t-10 4l-41 41q-4 4 -4 10zM397 970q21 -21 15 -60q4 -4 25 -14q16 -8 20 -20q-12 -12 -11 -36q1 -21 -19 -29 q10 -10 30 -9q27 1 34 0q7 3 15 15q8 11 15 14q18 -5 44 -44q24 -36 40 -35q26 1 60 74q-8 15 -44 45q-31 26 -36 54q-1 11 1 32q4 26 4 34q1 38 -34 48q-11 -39 -10 -74q-12 27 -33 45q-26 21 -51 14q0 -17 14 -44q15 -28 15 -40q-8 4 -17 17q-10 14 -17 18q-37 -7 -60 -5z M402 440q16 9 23 5q2 -1 7 -6q6 -6 10 -9q12 -1 28 16q14 14 21 9q-45 -36 -39 -94q19 14 59 5q11 6 24 21q15 19 21 23q4 -4 30 -9q19 -5 19 -20q14 12 19 42q4 31 -9 47q33 36 45 39q19 -16 53 -8t41 28q-34 9 -35 30q37 69 173 -20q83 -53 90 -84q4 -20 -2 -63 q-6 -46 -3 -66q4 -30 23 -61q27 -44 31 -53q2 -13 -5 -39q18 -5 43 18q21 18 36 1q-114 -166 -232 -94q-10 -8 -39 -15q-24 -5 -31 -24q1 -1 9 -1q8 -1 12 -3q15 -5 9 -26q10 0 22 19q11 16 18 11q2 3 -31 -36q-18 -22 -14 -53q7 -7 12 2q6 12 13 13q13 -12 17 -13 q8 -2 13 13q2 -5 4 -35q2 -23 15 -25q5 29 40 25q0 -1 -1 33q0 19 11 21q-8 -18 5 -89q8 1 10 -5h5q-4 28 23 31q47 4 46 4q20 9 33 50q13 38 41 49q8 1 17 -9q6 -8 13 -1q1 38 62 125q48 70 17 133q-4 -31 -34 -35q-59 21 -50 96q9 74 64 92q21 -41 65 -61q41 -19 87 -14 q47 5 78 34q35 31 38 81q2 38 -19 76q-26 47 -31 72q8 25 55 20q-3 32 -43 34t-51 -24q-3 30 -85 97q-75 61 -64 121q6 32 43 57q41 28 81 12q6 -3 11 -18t14 -17q100 57 109 70v5q-30 43 -70 39q-17 34 -44 30q-5 -4 -10 -22q-5 -16 -15 -18q-81 -3 -129 -46 q-47 -41 -49 -107q-3 -76 64 -130q82 -67 94 -98q-14 4 -59 13q-39 7 -58 15q-57 25 -21 96q-1 1 -25 54q-32 -34 -38 -81q-5 -44 16 -82q22 -40 63 -55q45 -18 102 1q-26 -16 -18 -63q8 -48 38 -37q-8 10 -5 40q31 26 56 11q22 -14 25 -48q4 -34 -16 -56q-24 -25 -70 -16 q-35 7 -82 60q-11 12 -41 48q-25 30 -40 46q-121 126 -124 128q73 48 89 134l15 -11q10 -7 15 1q-3 15 4 81q5 57 -9 83q5 -6 17 -6q13 1 13 11q-36 110 -71 150q-59 66 -167 43l-15 -10q-91 -3 -104 -25q-8 1 28 0q16 0 17 -10q-10 2 -21 -1q-12 -4 -19 -4q-2 -20 25 -74 q8 23 26 27q15 4 31 -8q15 -11 18 -30q4 -20 -11 -39q-1 0 -4 -2q-3 -3 -6 -3q-13 1 -39 20q-17 -29 -9 -56q9 -26 38 -38q-1 21 16 33t34 2q-10 -49 -88 -66q-104 -24 -130 -43q-22 -17 -83 -91q-45 -55 -95 -68q7 -24 79 -79q-16 -11 -50 -48q-31 -33 -54 -46 q-20 24 -55 27q-37 2 -59 -22q29 7 25 -35q44 6 49 -14q-43 6 -54 4q-1 -12 -17 -27q-15 -13 -13 -32zM430 731q0 -14 12 -14t12 -43t15 -43q14 0 14 43t12 43t12 14q0 15 -38 15q-39 0 -39 -15zM443 1413q-1 -11 2 -22q2 -11 9 -20l35 -46q7 -9 17 -15q9 -5 20 -7 q11 -1 22 1q11 3 21 10q9 7 15 17q5 10 7 21q1 10 -1 21q-3 12 -10 21l-34 46q-7 9 -17 15q-10 5 -21 7q-11 1 -22 -1q-11 -3 -20 -10q-10 -7 -15 -17q-6 -10 -8 -21zM486 1407q1 6 5 10q5 3 11 3q6 -1 9 -6l35 -46q3 -5 3 -10q-1 -6 -6 -10t-11 -3t-9 6l-34 46q-4 5 -3 10z M531 257q35 6 35 -30q11 0 25 18q13 16 19 12q-41 -47 -44 -79q8 8 26 3q37 -10 28 -8q5 26 4 23q4 12 16 11q-13 -21 -15 -46q-3 -30 15 -43q3 22 20 30q27 -13 53 7q33 26 46 28q21 -21 20 -35q22 20 109 32q80 11 99 42q-51 29 -81 81q-39 66 16 97q9 2 40 -14v54l-36 27 q-17 18 -9 42q-53 39 -107 -1q-70 -53 -101 -53q-2 -25 16 -38q5 -4 17 -11q11 -6 17 -10q-1 -35 26 -74q31 -43 33 -55q-72 -18 -133 28q-64 49 -109 41q11 -3 9 -13q-5 -21 -4 -22q3 0 12 -1q9 0 12 -1q14 -2 15 -12q-27 9 -54 0t-35 -30zM567 1475l41 -82q18 -36 43 -23 q15 7 26 13q11 5 18 14t10 19q4 11 3 22q0 11 -6 22l-25 51q-6 10 -14 18q-9 7 -20 10q-10 4 -21 3q-12 0 -22 -6l-26 -13q-25 -13 -7 -48zM613 1495q3 1 6 3q5 3 11 1t8 -7l26 -51q3 -6 1 -11q-2 -6 -7 -9l-7 -3q-6 -3 -24 32l-3 6q-18 35 -11 39zM645 1024q17 -63 123 -22 q23 9 83 38q46 22 61 24q-40 9 -118 -17q-64 -21 -95 7q-8 7 3 27q8 16 -3 18q-31 -1 -47 -22t-7 -53zM685 -158q0 -11 4 -19q4 -7 11 -12q8 -5 17 -7q10 -2 21 -2q5 0 9 -4t4 -9q0 -6 -4 -9q-4 -4 -9 -4t-8 2q-1 1 -3 2q-2 3 -19 -6q-19 -10 -10 -20q5 -6 11 -10 q13 -8 29 -8q10 0 20 4t17 12q7 7 11 16q5 10 5 21t-5 18q-4 8 -11 13q-7 4 -17 6q-9 3 -20 3q-6 0 -10 3q-4 4 -4 10q0 5 4 9t10 4q4 0 7 -2q2 -1 3 -3q2 -2 19 6q20 10 10 21q-5 5 -11 9q-13 9 -28 9q-11 0 -21 -5q-10 -4 -17 -11t-11 -17q-4 -9 -4 -20zM711 1549 q-2 -11 1 -23l15 -55q3 -11 10 -20t16 -15q10 -5 21 -7t23 1q11 3 20 10q9 6 15 14q6 7 8 16q2 4 2 8q0 8 -24 10q-21 1 -22 -4q0 -3 -2 -6q-3 -5 -8 -6q-6 -2 -11 1t-7 9l-15 55q-1 6 2 11t8 7q6 1 11 -2q3 -1 5 -3q3 -5 21 7q20 13 15 20q-2 3 -5 6q-6 7 -15 11 q-9 3 -20 4t-23 -2q-11 -3 -20 -10t-14 -16q-6 -10 -7 -21zM804 -155v-59q0 -50 20 -50q19 0 19 26q0 27 7 27h7q10 0 20 4t17 11q7 8 11 17q5 10 5 21t-5 20q-4 10 -11 17t-17 11q-10 5 -20 5h-33q-20 0 -20 -50zM808 1381q21 -56 25 -149h248q-3 92 19 149q-19 -1 -37 -17 q-21 -19 -32 -23q1 -8 14 -18q11 -9 6 -26q-2 -1 -5 -3q-2 -2 -5 -2q-22 6 -54 0q-2 3 -5 10q-4 6 -5 10q1 4 11 11q8 6 8 13q-8 8 -19 30t-20 30h-5q8 4 -40 -60q0 -7 10 -17q9 -9 5 -22q-8 0 -21 -2q-16 -2 -20 -2q-21 -1 -33 14q0 8 9 15q10 7 11 14q-42 41 -65 45z M843 -158q0 13 7 13h7q5 0 9 -4t4 -9q0 -6 -4 -10q-4 -3 -9 -3h-7q-7 0 -7 13zM861 1581l3 -75q0 -12 5 -22t13 -18q8 -7 19 -11t22 -4q12 1 22 6q11 5 18 13t12 18q4 11 3 23l-3 74q-1 40 -23 39q-21 -1 -20 -41l3 -74q1 -6 -3 -11q-4 -4 -10 -4t-11 4q-4 4 -4 10l-3 74 q-2 40 -23 39q-22 -1 -20 -40zM884 9q1 3 5 11q3 7 3 9q9 -6 2 -17q-9 -15 -6 -23q-9 6 -4 20zM927 -215q-4 -49 16 -49q19 0 21 20t11 20q10 0 12 -20t22 -20t15 49l-5 60q-1 21 -14 35q-13 15 -29 15q-17 0 -30 -15q-12 -14 -14 -35zM942 1153v20q48 -4 49 -5 q-20 -11 -49 -15zM970 -171q2 26 5 26q4 0 6 -26q2 -27 -5 -27q-8 0 -6 27zM1020 1602q-3 -21 14 -24q18 -3 11 -43l-8 -48q-6 -39 15 -43q21 -3 27 36l9 48q6 40 24 37q17 -3 21 18t-36 27l-34 6q-39 7 -43 -14zM1042 -155v-59q0 -50 20 -50q19 0 19 50v59q0 50 -19 50 q-20 0 -20 -50zM1056 1168q9 4 17 -5q7 -8 10 -22q6 -36 -22 -37q15 11 13 33t-18 31zM1095 -155v-59q0 -50 19 -50q20 0 20 40q0 16 4 16t10 -16q13 -40 33 -40q19 0 19 50v59q0 50 -19 50q-20 0 -20 -40q0 -16 -4 -16t-9 16q-14 40 -34 40q-19 0 -19 -50zM1170 1457 q-14 -37 6 -44q21 -8 34 30l17 46q14 37 30 31q17 -6 24 14q8 21 -30 34l-32 12q-38 14 -45 -7q-7 -20 9 -26q17 -6 4 -43zM1244 841q12 -43 40 -59q92 9 94 -45q36 -2 39 30q43 -2 75 39v10q-16 19 -52 38q-47 25 -57 32q-10 -1 -12 -18q-2 -19 -8 -22q6 2 -119 -5z M1260 1393q4 -16 19 -24l30 -17q35 -20 45 -1q11 18 -20 36t-24 30q7 13 32 -1q25 -15 32 -2q7 12 -18 26q-25 15 -18 27t38 -5q31 -18 42 1q11 18 -24 38l-30 17q-15 8 -30 4q-16 -4 -25 -19l-45 -80q-8 -14 -4 -30zM1373 1311q16 -14 35 7q18 22 22 19q3 -3 -8 -31 q-12 -28 4 -42q17 -14 31 19q13 32 26 34q7 1 13 3q13 5 22 16q8 9 11 20q3 10 3 21q-1 11 -6 22q-5 10 -14 18l-10 9l-17 14q-16 14 -42 -16l-60 -69q-27 -30 -10 -44zM1460 1238q0 -9 5 -16q6 -7 15 -8q9 0 16 5q6 6 7 15t-5 16q-6 6 -14 7q-9 1 -16 -5t-8 -14zM1460 1367 q-5 5 4 16t15 6l5 -5q5 -4 5 -9q0 -6 -3 -11q-4 -4 -10 -5q-6 0 -11 4zM1497 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4q7 0 13 3q3 1 5 2q6 3 11 0l6 -2q6 -3 13 -3q8 0 15 4q7 3 12 8t8 12t3 15v38q0 38 -14 38q-15 0 -15 -38v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v28 q0 29 -14 29q-15 0 -15 -29v-28q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v38q0 38 -14 38t-14 -38v-38zM1507 1192q-4 -16 5 -30l19 -29q21 -34 39 -22q18 11 -1 41q-19 31 -7 38q12 8 27 -16q16 -25 28 -17t-3 32q-16 24 -4 32q13 7 32 -23t37 -19q18 12 -3 45l-19 30 q-9 14 -25 17q-16 4 -30 -5l-78 -49q-14 -9 -17 -25zM1578 1065q-4 -16 3 -31q4 -11 12 -19q9 -8 19 -12q10 -5 21 -5t22 4q11 5 17 12t8 16t0 20t-6 21q-3 6 0 11q2 6 7 8q6 2 11 0q6 -2 8 -8q2 -4 1 -8q-1 -2 -1 -4q-2 -3 13 -17q18 -15 25 -1q4 7 5 15q3 16 -3 31 q-5 11 -13 19t-18 12q-10 5 -22 5q-11 0 -22 -4q-11 -5 -16 -12q-6 -7 -8 -16t0 -20q2 -10 6 -21q2 -6 0 -11q-2 -6 -8 -8q-5 -2 -11 0q-5 2 -7 8q-2 4 -1 8q0 2 1 4q2 4 -14 17q-18 16 -25 1q-3 -7 -4 -15zM1631 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4t15 4q7 3 12 8t8 12 t3 15v38q0 8 -3 15t-8 12t-12 8t-15 3t-15 -3t-12 -8t-8 -12t-3 -15v-38zM1659 686v38q0 4 3 7t7 3t7 -3q2 -3 2 -7v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7zM1717 697q0 -50 14 -50t14 20q0 19 4 19q3 0 9 -19q7 -20 21 -20t7 23q-8 22 -2 29q3 4 5 8q4 8 4 17q0 8 -3 15 t-8 12t-12 8t-15 3h-24q-14 0 -14 -49v-16zM1745 724q0 10 5 10h5q4 0 7 -3t3 -7t-3 -7t-7 -3h-5q-5 0 -5 10zM1803 697q0 -50 14 -50q15 0 15 24t1 24q2 0 10 -24t22 -24t5 29q-10 29 0 58q9 28 -5 28t-22 -24t-10 -24q-1 0 -1 24t-15 24q-14 0 -14 -49v-16zM1889 724 q0 -8 3 -13q3 -6 8 -9q6 -4 13 -5q6 -2 14 -2q4 0 7 -2q3 -3 3 -7t-3 -7t-7 -3q-3 0 -5 2q-1 0 -2 2q-2 2 -14 -5q-14 -7 -7 -15q3 -4 8 -7q9 -6 20 -6q8 0 15 4q7 3 12 8q6 5 9 12t3 15t-3 13q-3 6 -9 9q-5 3 -12 5q-7 1 -15 1q-4 0 -6 3q-3 3 -3 7t3 7q2 3 6 3q3 0 6 -2 l2 -2q1 -2 14 5q14 7 7 15q-4 4 -8 6q-9 6 -21 6q-7 0 -14 -3t-13 -8q-5 -5 -8 -12t-3 -15z" unicode="8"/><glyph d="M172 680q0 -49 14 -49q15 0 15 24t19 24t19 9q0 10 -19 10t-19 9q0 10 24 10t24 14q0 15 -39 15q-16 0 -27 -15q-11 -14 -11 -35v-16zM186 1146q-12 -18 20 -41l60 -44q10 -7 21 -10q11 -2 22 0q10 1 20 7t17 15q6 8 9 18q1 4 2 9q1 9 9 13q4 2 8 5q8 5 14 13q7 10 10 21 q2 11 0 22q-1 10 -7 20t-15 17l-61 44q-32 23 -44 6q-13 -17 19 -41l60 -44q5 -3 6 -9t-2 -11q-4 -4 -10 -5t-10 2l-38 27q-32 24 -44 7q-13 -18 19 -41l37 -27q5 -4 6 -10t-3 -10q-3 -5 -9 -6t-11 2l-60 45q-32 23 -45 6zM258 669q0 -8 3 -15t8 -12q6 -5 13 -8t14 -3 q8 0 15 3t12 8q6 5 9 12t3 15v38q0 8 -3 15t-9 12q-5 5 -12 8q-7 4 -15 4q-7 0 -14 -4q-7 -3 -13 -8q-5 -5 -8 -12t-3 -15v-38zM287 669v38q0 4 3 7q2 3 6 3t7 -3t3 -7v-38q0 -4 -3 -7t-7 -3t-6 3q-3 3 -3 7zM334 1309q0 -11 5 -22q4 -11 12 -19l41 -40q8 -8 19 -12 q10 -5 21 -5q11 1 22 5q10 4 19 12q8 9 12 19q4 11 4 22t-4 21q-4 11 -13 19l-40 40q-9 9 -19 13q-11 4 -22 4t-21 -4q-11 -5 -19 -13q-9 -8 -13 -19q-4 -10 -4 -21zM344 680q0 -49 15 -49q14 0 14 28q0 12 3 12t7 -12q9 -28 24 -28q14 0 14 49v16q0 50 -14 50 q-15 0 -15 -29q0 -12 -3 -12q-2 0 -6 12q-10 29 -24 29q-15 0 -15 -50v-16zM377 1309q0 6 4 10t10 4t10 -4l41 -40q4 -5 4 -10q0 -6 -4 -11q-4 -4 -10 -4t-10 4l-41 41q-4 4 -4 10zM397 970q21 -21 15 -60q4 -4 25 -14q16 -8 20 -20q-12 -12 -11 -36q1 -21 -19 -29 q10 -10 30 -9q27 1 34 0q7 3 15 15q8 11 15 14q18 -5 44 -44q24 -36 40 -35q26 1 60 74q-8 15 -44 45q-31 26 -36 54q-1 11 1 32q4 26 4 34q1 38 -34 48q-11 -39 -10 -74q-12 27 -33 45q-26 21 -51 14q0 -17 14 -44q15 -28 15 -40q-8 4 -17 17q-10 14 -17 18q-37 -7 -60 -5z M402 440q16 9 23 5q2 -1 7 -6q6 -6 10 -9q12 -1 28 16q14 14 21 9q-45 -36 -39 -94q19 14 59 5q11 6 24 21q15 19 21 23q4 -4 30 -9q19 -5 19 -20q14 12 19 42q4 31 -9 47q33 36 45 39q19 -16 53 -8t41 28q-34 9 -35 30q37 69 173 -20q83 -53 90 -84q4 -20 -2 -63 q-6 -46 -3 -66q4 -30 23 -61q27 -44 31 -53q2 -13 -5 -39q18 -5 43 18q21 18 36 1q-114 -166 -232 -94q-10 -8 -39 -15q-24 -5 -31 -24q1 -1 9 -1q8 -1 12 -3q15 -5 9 -26q10 0 22 19q11 16 18 11q2 3 -31 -36q-18 -22 -14 -53q7 -7 12 2q6 12 13 13q13 -12 17 -13 q8 -2 13 13q2 -5 4 -35q2 -23 15 -25q5 29 40 25q0 -1 -1 33q0 19 11 21q-8 -18 5 -89q8 1 10 -5h5q-4 28 23 31q47 4 46 4q20 9 33 50q13 38 41 49q8 1 17 -9q6 -8 13 -1q1 38 62 125q48 70 17 133q-4 -31 -34 -35q-59 21 -50 96q9 74 64 92q21 -41 65 -61q41 -19 87 -14 q47 5 78 34q35 31 38 81q2 38 -19 76q-26 47 -31 72q8 25 55 20q-3 32 -43 34t-51 -24q-3 30 -85 97q-75 61 -64 121q6 32 43 57q41 28 81 12q6 -3 11 -18t14 -17q100 57 109 70v5q-30 43 -70 39q-17 34 -44 30q-5 -4 -10 -22q-5 -16 -15 -18q-81 -3 -129 -46 q-47 -41 -49 -107q-3 -76 64 -130q82 -67 94 -98q-14 4 -59 13q-39 7 -58 15q-57 25 -21 96q-1 1 -25 54q-32 -34 -38 -81q-5 -44 16 -82q22 -40 63 -55q45 -18 102 1q-26 -16 -18 -63q8 -48 38 -37q-8 10 -5 40q31 26 56 11q22 -14 25 -48q4 -34 -16 -56q-24 -25 -70 -16 q-35 7 -82 60q-11 12 -41 48q-25 30 -40 46q-121 126 -124 128q73 48 89 134l15 -11q10 -7 15 1q-3 15 4 81q5 57 -9 83q5 -6 17 -6q13 1 13 11q-36 110 -71 150q-59 66 -167 43l-15 -10q-91 -3 -104 -25q-8 1 28 0q16 0 17 -10q-10 2 -21 -1q-12 -4 -19 -4q-2 -20 25 -74 q8 23 26 27q15 4 31 -8q15 -11 18 -30q4 -20 -11 -39q-1 0 -4 -2q-3 -3 -6 -3q-13 1 -39 20q-17 -29 -9 -56q9 -26 38 -38q-1 21 16 33t34 2q-10 -49 -88 -66q-104 -24 -130 -43q-22 -17 -83 -91q-45 -55 -95 -68q7 -24 79 -79q-16 -11 -50 -48q-31 -33 -54 -46 q-20 24 -55 27q-37 2 -59 -22q29 7 25 -35q44 6 49 -14q-43 6 -54 4q-1 -12 -17 -27q-15 -13 -13 -32zM430 731q0 -14 12 -14t12 -43t15 -43q14 0 14 43t12 43t12 14q0 15 -38 15q-39 0 -39 -15zM443 1413q-1 -11 2 -22q2 -11 9 -20l35 -46q7 -9 17 -15q9 -5 20 -7 q11 -1 22 1q11 3 21 10q9 7 15 17q5 10 7 21q1 10 -1 21q-3 12 -10 21l-34 46q-7 9 -17 15q-10 5 -21 7q-11 1 -22 -1q-11 -3 -20 -10q-10 -7 -15 -17q-6 -10 -8 -21zM486 1407q1 6 5 10q5 3 11 3q6 -1 9 -6l35 -46q3 -5 3 -10q-1 -6 -6 -10t-11 -3t-9 6l-34 46q-4 5 -3 10z M531 257q35 6 35 -30q11 0 25 18q13 16 19 12q-41 -47 -44 -79q8 8 26 3q37 -10 28 -8q5 26 4 23q4 12 16 11q-13 -21 -15 -46q-3 -30 15 -43q3 22 20 30q27 -13 53 7q33 26 46 28q21 -21 20 -35q22 20 109 32q80 11 99 42q-51 29 -81 81q-39 66 16 97q9 2 40 -14v54l-36 27 q-17 18 -9 42q-53 39 -107 -1q-70 -53 -101 -53q-2 -25 16 -38q5 -4 17 -11q11 -6 17 -10q-1 -35 26 -74q31 -43 33 -55q-72 -18 -133 28q-64 49 -109 41q11 -3 9 -13q-5 -21 -4 -22q3 0 12 -1q9 0 12 -1q14 -2 15 -12q-27 9 -54 0t-35 -30zM567 1475l41 -82q18 -36 43 -23 q15 7 26 13q11 5 18 14t10 19q4 11 3 22q0 11 -6 22l-25 51q-6 10 -14 18q-9 7 -20 10q-10 4 -21 3q-12 0 -22 -6l-26 -13q-25 -13 -7 -48zM613 1495q3 1 6 3q5 3 11 1t8 -7l26 -51q3 -6 1 -11q-2 -6 -7 -9l-7 -3q-6 -3 -24 32l-3 6q-18 35 -11 39zM645 1024q17 -63 123 -22 q23 9 83 38q46 22 61 24q-40 9 -118 -17q-64 -21 -95 7q-8 7 3 27q8 16 -3 18q-31 -1 -47 -22t-7 -53zM685 -158q0 -11 4 -19q4 -7 11 -12q8 -5 17 -7q10 -2 21 -2q5 0 9 -4t4 -9q0 -6 -4 -9q-4 -4 -9 -4t-8 2q-1 1 -3 2q-2 3 -19 -6q-19 -10 -10 -20q5 -6 11 -10 q13 -8 29 -8q10 0 20 4t17 12q7 7 11 16q5 10 5 21t-5 18q-4 8 -11 13q-7 4 -17 6q-9 3 -20 3q-6 0 -10 3q-4 4 -4 10q0 5 4 9t10 4q4 0 7 -2q2 -1 3 -3q2 -2 19 6q20 10 10 21q-5 5 -11 9q-13 9 -28 9q-11 0 -21 -5q-10 -4 -17 -11t-11 -17q-4 -9 -4 -20zM711 1549 q-2 -11 1 -23l15 -55q3 -11 10 -20t16 -15q10 -5 21 -7t23 1q11 3 20 10q9 6 15 14q6 7 8 16q2 4 2 8q0 8 -24 10q-21 1 -22 -4q0 -3 -2 -6q-3 -5 -8 -6q-6 -2 -11 1t-7 9l-15 55q-1 6 2 11t8 7q6 1 11 -2q3 -1 5 -3q3 -5 21 7q20 13 15 20q-2 3 -5 6q-6 7 -15 11 q-9 3 -20 4t-23 -2q-11 -3 -20 -10t-14 -16q-6 -10 -7 -21zM804 -155v-59q0 -50 20 -50q19 0 19 26q0 27 7 27h7q10 0 20 4t17 11q7 8 11 17q5 10 5 21t-5 20q-4 10 -11 17t-17 11q-10 5 -20 5h-33q-20 0 -20 -50zM808 1381q21 -56 25 -149h248q-3 92 19 149q-19 -1 -37 -17 q-21 -19 -32 -23q1 -8 14 -18q11 -9 6 -26q-2 -1 -5 -3q-2 -2 -5 -2q-22 6 -54 0q-2 3 -5 10q-4 6 -5 10q1 4 11 11q8 6 8 13q-8 8 -19 30t-20 30h-5q8 4 -40 -60q0 -7 10 -17q9 -9 5 -22q-8 0 -21 -2q-16 -2 -20 -2q-21 -1 -33 14q0 8 9 15q10 7 11 14q-42 41 -65 45z M843 -158q0 13 7 13h7q5 0 9 -4t4 -9q0 -6 -4 -10q-4 -3 -9 -3h-7q-7 0 -7 13zM861 1581l3 -75q0 -12 5 -22t13 -18q8 -7 19 -11t22 -4q12 1 22 6q11 5 18 13t12 18q4 11 3 23l-3 74q-1 40 -23 39q-21 -1 -20 -41l3 -74q1 -6 -3 -11q-4 -4 -10 -4t-11 4q-4 4 -4 10l-3 74 q-2 40 -23 39q-22 -1 -20 -40zM884 9q1 3 5 11q3 7 3 9q9 -6 2 -17q-9 -15 -6 -23q-9 6 -4 20zM927 -215q-4 -49 16 -49q19 0 21 20t11 20q10 0 12 -20t22 -20t15 49l-5 60q-1 21 -14 35q-13 15 -29 15q-17 0 -30 -15q-12 -14 -14 -35zM942 1153v20q48 -4 49 -5 q-20 -11 -49 -15zM970 -171q2 26 5 26q4 0 6 -26q2 -27 -5 -27q-8 0 -6 27zM1020 1602q-3 -21 14 -24q18 -3 11 -43l-8 -48q-6 -39 15 -43q21 -3 27 36l9 48q6 40 24 37q17 -3 21 18t-36 27l-34 6q-39 7 -43 -14zM1042 -155v-59q0 -50 20 -50q19 0 19 50v59q0 50 -19 50 q-20 0 -20 -50zM1056 1168q9 4 17 -5q7 -8 10 -22q6 -36 -22 -37q15 11 13 33t-18 31zM1095 -155v-59q0 -50 19 -50q20 0 20 40q0 16 4 16t10 -16q13 -40 33 -40q19 0 19 50v59q0 50 -19 50q-20 0 -20 -40q0 -16 -4 -16t-9 16q-14 40 -34 40q-19 0 -19 -50zM1170 1457 q-14 -37 6 -44q21 -8 34 30l17 46q14 37 30 31q17 -6 24 14q8 21 -30 34l-32 12q-38 14 -45 -7q-7 -20 9 -26q17 -6 4 -43zM1244 841q12 -43 40 -59q92 9 94 -45q36 -2 39 30q43 -2 75 39v10q-16 19 -52 38q-47 25 -57 32q-10 -1 -12 -18q-2 -19 -8 -22q6 2 -119 -5z M1260 1393q4 -16 19 -24l30 -17q35 -20 45 -1q11 18 -20 36t-24 30q7 13 32 -1q25 -15 32 -2q7 12 -18 26q-25 15 -18 27t38 -5q31 -18 42 1q11 18 -24 38l-30 17q-15 8 -30 4q-16 -4 -25 -19l-45 -80q-8 -14 -4 -30zM1373 1311q16 -14 35 7q18 22 22 19q3 -3 -8 -31 q-12 -28 4 -42q17 -14 31 19q13 32 26 34q7 1 13 3q13 5 22 16q8 9 11 20q3 10 3 21q-1 11 -6 22q-5 10 -14 18l-10 9l-17 14q-16 14 -42 -16l-60 -69q-27 -30 -10 -44zM1460 1238q0 -9 5 -16q6 -7 15 -8q9 0 16 5q6 6 7 15t-5 16q-6 6 -14 7q-9 1 -16 -5t-8 -14zM1460 1367 q-5 5 4 16t15 6l5 -5q5 -4 5 -9q0 -6 -3 -11q-4 -4 -10 -5q-6 0 -11 4zM1497 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4q7 0 13 3q3 1 5 2q6 3 11 0l6 -2q6 -3 13 -3q8 0 15 4q7 3 12 8t8 12t3 15v38q0 38 -14 38q-15 0 -15 -38v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v28 q0 29 -14 29q-15 0 -15 -29v-28q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v38q0 38 -14 38t-14 -38v-38zM1507 1192q-4 -16 5 -30l19 -29q21 -34 39 -22q18 11 -1 41q-19 31 -7 38q12 8 27 -16q16 -25 28 -17t-3 32q-16 24 -4 32q13 7 32 -23t37 -19q18 12 -3 45l-19 30 q-9 14 -25 17q-16 4 -30 -5l-78 -49q-14 -9 -17 -25zM1578 1065q-4 -16 3 -31q4 -11 12 -19q9 -8 19 -12q10 -5 21 -5t22 4q11 5 17 12t8 16t0 20t-6 21q-3 6 0 11q2 6 7 8q6 2 11 0q6 -2 8 -8q2 -4 1 -8q-1 -2 -1 -4q-2 -3 13 -17q18 -15 25 -1q4 7 5 15q3 16 -3 31 q-5 11 -13 19t-18 12q-10 5 -22 5q-11 0 -22 -4q-11 -5 -16 -12q-6 -7 -8 -16t0 -20q2 -10 6 -21q2 -6 0 -11q-2 -6 -8 -8q-5 -2 -11 0q-5 2 -7 8q-2 4 -1 8q0 2 1 4q2 4 -14 17q-18 16 -25 1q-3 -7 -4 -15zM1631 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4t15 4q7 3 12 8t8 12 t3 15v38q0 8 -3 15t-8 12t-12 8t-15 3t-15 -3t-12 -8t-8 -12t-3 -15v-38zM1659 686v38q0 4 3 7t7 3t7 -3q2 -3 2 -7v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7zM1717 697q0 -50 14 -50t14 20q0 19 4 19q3 0 9 -19q7 -20 21 -20t7 23q-8 22 -2 29q3 4 5 8q4 8 4 17q0 8 -3 15 t-8 12t-12 8t-15 3h-24q-14 0 -14 -49v-16zM1745 724q0 10 5 10h5q4 0 7 -3t3 -7t-3 -7t-7 -3h-5q-5 0 -5 10zM1803 697q0 -50 14 -50q15 0 15 24t1 24q2 0 10 -24t22 -24t5 29q-10 29 0 58q9 28 -5 28t-22 -24t-10 -24q-1 0 -1 24t-15 24q-14 0 -14 -49v-16zM1889 724 q0 -8 3 -13q3 -6 8 -9q6 -4 13 -5q6 -2 14 -2q4 0 7 -2q3 -3 3 -7t-3 -7t-7 -3q-3 0 -5 2q-1 0 -2 2q-2 2 -14 -5q-14 -7 -7 -15q3 -4 8 -7q9 -6 20 -6q8 0 15 4q7 3 12 8q6 5 9 12t3 15t-3 13q-3 6 -9 9q-5 3 -12 5q-7 1 -15 1q-4 0 -6 3q-3 3 -3 7t3 7q2 3 6 3q3 0 6 -2 l2 -2q1 -2 14 5q14 7 7 15q-4 4 -8 6q-9 6 -21 6q-7 0 -14 -3t-13 -8q-5 -5 -8 -12t-3 -15z" unicode="9"/><glyph horiz-adv-x="557" unicode=":"/><glyph horiz-adv-x="557" unicode=";"/><glyph horiz-adv-x="1014" unicode="&lt;"/><glyph horiz-adv-x="1014" unicode="="/><glyph horiz-adv-x="1014" unicode="&gt;"/><glyph horiz-adv-x="748" unicode="?"/><glyph d="M172 680q0 -49 14 -49q15 0 15 24t19 24t19 9q0 10 -19 10t-19 9q0 10 24 10t24 14q0 15 -39 15q-16 0 -27 -15q-11 -14 -11 -35v-16zM186 1146q-12 -18 20 -41l60 -44q10 -7 21 -10q11 -2 22 0q10 1 20 7t17 15q6 8 9 18q1 4 2 9q1 9 9 13q4 2 8 5q8 5 14 13q7 10 10 21 q2 11 0 22q-1 10 -7 20t-15 17l-61 44q-32 23 -44 6q-13 -17 19 -41l60 -44q5 -3 6 -9t-2 -11q-4 -4 -10 -5t-10 2l-38 27q-32 24 -44 7q-13 -18 19 -41l37 -27q5 -4 6 -10t-3 -10q-3 -5 -9 -6t-11 2l-60 45q-32 23 -45 6zM258 669q0 -8 3 -15t8 -12q6 -5 13 -8t14 -3 q8 0 15 3t12 8q6 5 9 12t3 15v38q0 8 -3 15t-9 12q-5 5 -12 8q-7 4 -15 4q-7 0 -14 -4q-7 -3 -13 -8q-5 -5 -8 -12t-3 -15v-38zM287 669v38q0 4 3 7q2 3 6 3t7 -3t3 -7v-38q0 -4 -3 -7t-7 -3t-6 3q-3 3 -3 7zM334 1309q0 -11 5 -22q4 -11 12 -19l41 -40q8 -8 19 -12 q10 -5 21 -5q11 1 22 5q10 4 19 12q8 9 12 19q4 11 4 22t-4 21q-4 11 -13 19l-40 40q-9 9 -19 13q-11 4 -22 4t-21 -4q-11 -5 -19 -13q-9 -8 -13 -19q-4 -10 -4 -21zM344 680q0 -49 15 -49q14 0 14 28q0 12 3 12t7 -12q9 -28 24 -28q14 0 14 49v16q0 50 -14 50 q-15 0 -15 -29q0 -12 -3 -12q-2 0 -6 12q-10 29 -24 29q-15 0 -15 -50v-16zM377 1309q0 6 4 10t10 4t10 -4l41 -40q4 -5 4 -10q0 -6 -4 -11q-4 -4 -10 -4t-10 4l-41 41q-4 4 -4 10zM397 970q21 -21 15 -60q4 -4 25 -14q16 -8 20 -20q-12 -12 -11 -36q1 -21 -19 -29 q10 -10 30 -9q27 1 34 0q7 3 15 15q8 11 15 14q18 -5 44 -44q24 -36 40 -35q26 1 60 74q-8 15 -44 45q-31 26 -36 54q-1 11 1 32q4 26 4 34q1 38 -34 48q-11 -39 -10 -74q-12 27 -33 45q-26 21 -51 14q0 -17 14 -44q15 -28 15 -40q-8 4 -17 17q-10 14 -17 18q-37 -7 -60 -5z M402 440q16 9 23 5q2 -1 7 -6q6 -6 10 -9q12 -1 28 16q14 14 21 9q-45 -36 -39 -94q19 14 59 5q11 6 24 21q15 19 21 23q4 -4 30 -9q19 -5 19 -20q14 12 19 42q4 31 -9 47q33 36 45 39q19 -16 53 -8t41 28q-34 9 -35 30q37 69 173 -20q83 -53 90 -84q4 -20 -2 -63 q-6 -46 -3 -66q4 -30 23 -61q27 -44 31 -53q2 -13 -5 -39q18 -5 43 18q21 18 36 1q-114 -166 -232 -94q-10 -8 -39 -15q-24 -5 -31 -24q1 -1 9 -1q8 -1 12 -3q15 -5 9 -26q10 0 22 19q11 16 18 11q2 3 -31 -36q-18 -22 -14 -53q7 -7 12 2q6 12 13 13q13 -12 17 -13 q8 -2 13 13q2 -5 4 -35q2 -23 15 -25q5 29 40 25q0 -1 -1 33q0 19 11 21q-8 -18 5 -89q8 1 10 -5h5q-4 28 23 31q47 4 46 4q20 9 33 50q13 38 41 49q8 1 17 -9q6 -8 13 -1q1 38 62 125q48 70 17 133q-4 -31 -34 -35q-59 21 -50 96q9 74 64 92q21 -41 65 -61q41 -19 87 -14 q47 5 78 34q35 31 38 81q2 38 -19 76q-26 47 -31 72q8 25 55 20q-3 32 -43 34t-51 -24q-3 30 -85 97q-75 61 -64 121q6 32 43 57q41 28 81 12q6 -3 11 -18t14 -17q100 57 109 70v5q-30 43 -70 39q-17 34 -44 30q-5 -4 -10 -22q-5 -16 -15 -18q-81 -3 -129 -46 q-47 -41 -49 -107q-3 -76 64 -130q82 -67 94 -98q-14 4 -59 13q-39 7 -58 15q-57 25 -21 96q-1 1 -25 54q-32 -34 -38 -81q-5 -44 16 -82q22 -40 63 -55q45 -18 102 1q-26 -16 -18 -63q8 -48 38 -37q-8 10 -5 40q31 26 56 11q22 -14 25 -48q4 -34 -16 -56q-24 -25 -70 -16 q-35 7 -82 60q-11 12 -41 48q-25 30 -40 46q-121 126 -124 128q73 48 89 134l15 -11q10 -7 15 1q-3 15 4 81q5 57 -9 83q5 -6 17 -6q13 1 13 11q-36 110 -71 150q-59 66 -167 43l-15 -10q-91 -3 -104 -25q-8 1 28 0q16 0 17 -10q-10 2 -21 -1q-12 -4 -19 -4q-2 -20 25 -74 q8 23 26 27q15 4 31 -8q15 -11 18 -30q4 -20 -11 -39q-1 0 -4 -2q-3 -3 -6 -3q-13 1 -39 20q-17 -29 -9 -56q9 -26 38 -38q-1 21 16 33t34 2q-10 -49 -88 -66q-104 -24 -130 -43q-22 -17 -83 -91q-45 -55 -95 -68q7 -24 79 -79q-16 -11 -50 -48q-31 -33 -54 -46 q-20 24 -55 27q-37 2 -59 -22q29 7 25 -35q44 6 49 -14q-43 6 -54 4q-1 -12 -17 -27q-15 -13 -13 -32zM430 731q0 -14 12 -14t12 -43t15 -43q14 0 14 43t12 43t12 14q0 15 -38 15q-39 0 -39 -15zM443 1413q-1 -11 2 -22q2 -11 9 -20l35 -46q7 -9 17 -15q9 -5 20 -7 q11 -1 22 1q11 3 21 10q9 7 15 17q5 10 7 21q1 10 -1 21q-3 12 -10 21l-34 46q-7 9 -17 15q-10 5 -21 7q-11 1 -22 -1q-11 -3 -20 -10q-10 -7 -15 -17q-6 -10 -8 -21zM486 1407q1 6 5 10q5 3 11 3q6 -1 9 -6l35 -46q3 -5 3 -10q-1 -6 -6 -10t-11 -3t-9 6l-34 46q-4 5 -3 10z M531 257q35 6 35 -30q11 0 25 18q13 16 19 12q-41 -47 -44 -79q8 8 26 3q37 -10 28 -8q5 26 4 23q4 12 16 11q-13 -21 -15 -46q-3 -30 15 -43q3 22 20 30q27 -13 53 7q33 26 46 28q21 -21 20 -35q22 20 109 32q80 11 99 42q-51 29 -81 81q-39 66 16 97q9 2 40 -14v54l-36 27 q-17 18 -9 42q-53 39 -107 -1q-70 -53 -101 -53q-2 -25 16 -38q5 -4 17 -11q11 -6 17 -10q-1 -35 26 -74q31 -43 33 -55q-72 -18 -133 28q-64 49 -109 41q11 -3 9 -13q-5 -21 -4 -22q3 0 12 -1q9 0 12 -1q14 -2 15 -12q-27 9 -54 0t-35 -30zM567 1475l41 -82q18 -36 43 -23 q15 7 26 13q11 5 18 14t10 19q4 11 3 22q0 11 -6 22l-25 51q-6 10 -14 18q-9 7 -20 10q-10 4 -21 3q-12 0 -22 -6l-26 -13q-25 -13 -7 -48zM613 1495q3 1 6 3q5 3 11 1t8 -7l26 -51q3 -6 1 -11q-2 -6 -7 -9l-7 -3q-6 -3 -24 32l-3 6q-18 35 -11 39zM645 1024q17 -63 123 -22 q23 9 83 38q46 22 61 24q-40 9 -118 -17q-64 -21 -95 7q-8 7 3 27q8 16 -3 18q-31 -1 -47 -22t-7 -53zM685 -158q0 -11 4 -19q4 -7 11 -12q8 -5 17 -7q10 -2 21 -2q5 0 9 -4t4 -9q0 -6 -4 -9q-4 -4 -9 -4t-8 2q-1 1 -3 2q-2 3 -19 -6q-19 -10 -10 -20q5 -6 11 -10 q13 -8 29 -8q10 0 20 4t17 12q7 7 11 16q5 10 5 21t-5 18q-4 8 -11 13q-7 4 -17 6q-9 3 -20 3q-6 0 -10 3q-4 4 -4 10q0 5 4 9t10 4q4 0 7 -2q2 -1 3 -3q2 -2 19 6q20 10 10 21q-5 5 -11 9q-13 9 -28 9q-11 0 -21 -5q-10 -4 -17 -11t-11 -17q-4 -9 -4 -20zM711 1549 q-2 -11 1 -23l15 -55q3 -11 10 -20t16 -15q10 -5 21 -7t23 1q11 3 20 10q9 6 15 14q6 7 8 16q2 4 2 8q0 8 -24 10q-21 1 -22 -4q0 -3 -2 -6q-3 -5 -8 -6q-6 -2 -11 1t-7 9l-15 55q-1 6 2 11t8 7q6 1 11 -2q3 -1 5 -3q3 -5 21 7q20 13 15 20q-2 3 -5 6q-6 7 -15 11 q-9 3 -20 4t-23 -2q-11 -3 -20 -10t-14 -16q-6 -10 -7 -21zM804 -155v-59q0 -50 20 -50q19 0 19 26q0 27 7 27h7q10 0 20 4t17 11q7 8 11 17q5 10 5 21t-5 20q-4 10 -11 17t-17 11q-10 5 -20 5h-33q-20 0 -20 -50zM808 1381q21 -56 25 -149h248q-3 92 19 149q-19 -1 -37 -17 q-21 -19 -32 -23q1 -8 14 -18q11 -9 6 -26q-2 -1 -5 -3q-2 -2 -5 -2q-22 6 -54 0q-2 3 -5 10q-4 6 -5 10q1 4 11 11q8 6 8 13q-8 8 -19 30t-20 30h-5q8 4 -40 -60q0 -7 10 -17q9 -9 5 -22q-8 0 -21 -2q-16 -2 -20 -2q-21 -1 -33 14q0 8 9 15q10 7 11 14q-42 41 -65 45z M843 -158q0 13 7 13h7q5 0 9 -4t4 -9q0 -6 -4 -10q-4 -3 -9 -3h-7q-7 0 -7 13zM861 1581l3 -75q0 -12 5 -22t13 -18q8 -7 19 -11t22 -4q12 1 22 6q11 5 18 13t12 18q4 11 3 23l-3 74q-1 40 -23 39q-21 -1 -20 -41l3 -74q1 -6 -3 -11q-4 -4 -10 -4t-11 4q-4 4 -4 10l-3 74 q-2 40 -23 39q-22 -1 -20 -40zM884 9q1 3 5 11q3 7 3 9q9 -6 2 -17q-9 -15 -6 -23q-9 6 -4 20zM927 -215q-4 -49 16 -49q19 0 21 20t11 20q10 0 12 -20t22 -20t15 49l-5 60q-1 21 -14 35q-13 15 -29 15q-17 0 -30 -15q-12 -14 -14 -35zM942 1153v20q48 -4 49 -5 q-20 -11 -49 -15zM970 -171q2 26 5 26q4 0 6 -26q2 -27 -5 -27q-8 0 -6 27zM1020 1602q-3 -21 14 -24q18 -3 11 -43l-8 -48q-6 -39 15 -43q21 -3 27 36l9 48q6 40 24 37q17 -3 21 18t-36 27l-34 6q-39 7 -43 -14zM1042 -155v-59q0 -50 20 -50q19 0 19 50v59q0 50 -19 50 q-20 0 -20 -50zM1056 1168q9 4 17 -5q7 -8 10 -22q6 -36 -22 -37q15 11 13 33t-18 31zM1095 -155v-59q0 -50 19 -50q20 0 20 40q0 16 4 16t10 -16q13 -40 33 -40q19 0 19 50v59q0 50 -19 50q-20 0 -20 -40q0 -16 -4 -16t-9 16q-14 40 -34 40q-19 0 -19 -50zM1170 1457 q-14 -37 6 -44q21 -8 34 30l17 46q14 37 30 31q17 -6 24 14q8 21 -30 34l-32 12q-38 14 -45 -7q-7 -20 9 -26q17 -6 4 -43zM1244 841q12 -43 40 -59q92 9 94 -45q36 -2 39 30q43 -2 75 39v10q-16 19 -52 38q-47 25 -57 32q-10 -1 -12 -18q-2 -19 -8 -22q6 2 -119 -5z M1260 1393q4 -16 19 -24l30 -17q35 -20 45 -1q11 18 -20 36t-24 30q7 13 32 -1q25 -15 32 -2q7 12 -18 26q-25 15 -18 27t38 -5q31 -18 42 1q11 18 -24 38l-30 17q-15 8 -30 4q-16 -4 -25 -19l-45 -80q-8 -14 -4 -30zM1373 1311q16 -14 35 7q18 22 22 19q3 -3 -8 -31 q-12 -28 4 -42q17 -14 31 19q13 32 26 34q7 1 13 3q13 5 22 16q8 9 11 20q3 10 3 21q-1 11 -6 22q-5 10 -14 18l-10 9l-17 14q-16 14 -42 -16l-60 -69q-27 -30 -10 -44zM1460 1238q0 -9 5 -16q6 -7 15 -8q9 0 16 5q6 6 7 15t-5 16q-6 6 -14 7q-9 1 -16 -5t-8 -14zM1460 1367 q-5 5 4 16t15 6l5 -5q5 -4 5 -9q0 -6 -3 -11q-4 -4 -10 -5q-6 0 -11 4zM1497 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4q7 0 13 3q3 1 5 2q6 3 11 0l6 -2q6 -3 13 -3q8 0 15 4q7 3 12 8t8 12t3 15v38q0 38 -14 38q-15 0 -15 -38v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v28 q0 29 -14 29q-15 0 -15 -29v-28q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v38q0 38 -14 38t-14 -38v-38zM1507 1192q-4 -16 5 -30l19 -29q21 -34 39 -22q18 11 -1 41q-19 31 -7 38q12 8 27 -16q16 -25 28 -17t-3 32q-16 24 -4 32q13 7 32 -23t37 -19q18 12 -3 45l-19 30 q-9 14 -25 17q-16 4 -30 -5l-78 -49q-14 -9 -17 -25zM1578 1065q-4 -16 3 -31q4 -11 12 -19q9 -8 19 -12q10 -5 21 -5t22 4q11 5 17 12t8 16t0 20t-6 21q-3 6 0 11q2 6 7 8q6 2 11 0q6 -2 8 -8q2 -4 1 -8q-1 -2 -1 -4q-2 -3 13 -17q18 -15 25 -1q4 7 5 15q3 16 -3 31 q-5 11 -13 19t-18 12q-10 5 -22 5q-11 0 -22 -4q-11 -5 -16 -12q-6 -7 -8 -16t0 -20q2 -10 6 -21q2 -6 0 -11q-2 -6 -8 -8q-5 -2 -11 0q-5 2 -7 8q-2 4 -1 8q0 2 1 4q2 4 -14 17q-18 16 -25 1q-3 -7 -4 -15zM1631 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4t15 4q7 3 12 8t8 12 t3 15v38q0 8 -3 15t-8 12t-12 8t-15 3t-15 -3t-12 -8t-8 -12t-3 -15v-38zM1659 686v38q0 4 3 7t7 3t7 -3q2 -3 2 -7v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7zM1717 697q0 -50 14 -50t14 20q0 19 4 19q3 0 9 -19q7 -20 21 -20t7 23q-8 22 -2 29q3 4 5 8q4 8 4 17q0 8 -3 15 t-8 12t-12 8t-15 3h-24q-14 0 -14 -49v-16zM1745 724q0 10 5 10h5q4 0 7 -3t3 -7t-3 -7t-7 -3h-5q-5 0 -5 10zM1803 697q0 -50 14 -50q15 0 15 24t1 24q2 0 10 -24t22 -24t5 29q-10 29 0 58q9 28 -5 28t-22 -24t-10 -24q-1 0 -1 24t-15 24q-14 0 -14 -49v-16zM1889 724 q0 -8 3 -13q3 -6 8 -9q6 -4 13 -5q6 -2 14 -2q4 0 7 -2q3 -3 3 -7t-3 -7t-7 -3q-3 0 -5 2q-1 0 -2 2q-2 2 -14 -5q-14 -7 -7 -15q3 -4 8 -7q9 -6 20 -6q8 0 15 4q7 3 12 8q6 5 9 12t3 15t-3 13q-3 6 -9 9q-5 3 -12 5q-7 1 -15 1q-4 0 -6 3q-3 3 -3 7t3 7q2 3 6 3q3 0 6 -2 l2 -2q1 -2 14 5q14 7 7 15q-4 4 -8 6q-9 6 -21 6q-7 0 -14 -3t-13 -8q-5 -5 -8 -12t-3 -15z" unicode="@"/><glyph d="M76 716q0 -296 210 -506t507 -210q296 0 506 210t210 506q0 297 -210 507t-506 210q-297 0 -507 -210t-210 -507zM150 770q12 176 128 334q112 151 254 199q1 -1 3 -2q1 -2 3 -2q0 -106 1 -588v-117q0 -282 -4 -467q-53 14 -120 68q-2 64 -3 225q-1 144 -4 222 q-15 6 -45.5 6t-75.5 -6q-3 -12 -3 -25q0 -31 18 -70q35 -76 37 -87q4 -20 4 -50q0 -20 -2 -46q-2 -29 -2 -52q0 -27 3 -44q-24 5 -72 72q-122 172 -122 380q0 25 2 50zM284 787q20 -7 124 -10q3 14 3 175q0 76 -10 86q-85 -79 -117 -251zM600 1337q73 32 188 32h7 q122 0 190 -35q4 -309 4.5 -617.5t-4.5 -617.5q-34 -29 -90 -29q-14 0 -30 2q-4 65 -4 183q0 47 1 102q0 32 1 62q0 147 -5 223q-16 9 -62 8q-59 -1 -62 -1q-7 -78 -7 -220v-66q1 -69 1 -125q0 -111 -4 -166q-13 -2 -26 -2q-45 0 -94 26q-7 491 -7 840q0 232 3 401zM731 783 q22 -3 88 -3h36q10 113 9.5 226.5t-9.5 227.5q-19 4 -55 4q-51 -1 -59 -1q-7 -3 -10 -10q-4 -110 -4 -221t4 -223zM1054 709v387v200q0 8 7 10q176 -83 280 -232q107 -155 107 -346q0 -25 -2 -51q-13 -191 -120 -337q-45 -62 -72 -72q1 14 1 34q0 26 -2 62q-2 25 -2 46 q0 24 3 40q3 19 36 88q23 47 23 85q0 7 -1 13q-13 11 -58 11q-67 -1 -62 -1q-8 -70 -8 -191v-27q1 -125 1 -184v-42q-50 -55 -127 -75q-4 185 -4 466v116zM1188 777h13q16 0 45 1q43 3 59 2q-2 137 -110 261h-7q-4 -65 -4 -131t4 -133z" horiz-adv-x="1604" unicode="A"/><glyph d="M56 717q0 -297 210 -507t507 -210q296 0 506 210t210 507q0 296 -210 506t-506 210q-297 0 -507 -210t-210 -506zM239 1092q97 138 264 224h4q10 -17 10 -106v-347q-4 -25 -41 -70q-34 -43 -35 -68q0 -23 35 -69q37 -50 41 -69v-230q0 -183 -3 -224q-177 77 -279 224 q-110 157 -110 364q0 210 114 371zM383 388q7 198 7 199q-5 19 -25 39q-23 23 -27 30q-20 4 -52 4h-13q-10 -6 -10 -13q0 -161 120 -259zM263 790h-1q0 1 5 1q14 0 68 -4q9 7 55 69v99q0 83 -10 93h-4q-109 -119 -113 -258zM593 106q-4 310 -4 620t4 621q94 32 187 32 q98 0 195 -35q3 -41 3 -241v-240q-6 -31 -41 -74q-36 -44 -42 -64q3 -26 39 -66q38 -42 44 -68v-482q-82 -33 -191 -34h-7q-105 0 -187 31zM717 206q30 -13 62.5 -13t67.5 13q4 59 4 153v39q0 80 -0.5 129t0.5 67q-42 67 -92 67q-18 0 -36 -8q-4 -49 -6 -447zM720 794h1 q6 0 75 -7q1 2 32 32q22 22 26 44q3 15 3 40q0 20 -2 46q-4 82 -4 99q0 159 -4 189q-24 11 -63 11q-40 0 -64 -11q-4 -110 -4 -221t4 -222zM1043 1303q0 8 7 10q183 -62 303 -289q62 -117 62 -162q0 -22 -30 -69q-28 -44 -29 -68q0 -26 28 -70q31 -48 31 -71q0 -40 -52 -151 q-28 -61 -82 -124q-113 -132 -234 -172v196q0 489 -4 970zM1171 522q3 -112 3 -124h1q29 0 71 76q38 66 38 113t-38 73q-70 -6 -72 -7q-4 -31 -4 -79q0 -24 1 -52zM1174 790q18 -6 37.5 -6t41.5 6q32 25 32 67q0 32 -18 73q-34 80 -86 118h-7q-4 -64 -4 -129t4 -129z" horiz-adv-x="1550" unicode="B"/><glyph d="M58 717q0 -297 210 -507t507 -210q296 0 506 210t210 507q0 296 -210 506t-506 210q-297 0 -507 -210t-210 -506zM120 769q12 184 126 331q100 130 256 206q1 -1 3 -2q2 -2 3 -2q5 -96 5 -193t-5 -195q-53 -10 -88 -10q-19 0 -32 3q-8 13 -8 46q0 10 1 22q1 19 1 33 q0 24 -4 33q-31 -10 -69 -76q-64 -113 -64 -255q0 -52 9 -109q22 -145 120 -231q12 15 9 61q-3 40 -3 61q0 10 1 16q32 5 63.5 5t63.5 -5q4 -80 4 -178t-4 -214q-190 87 -291 242q-99 152 -99 353q0 29 2 58zM581 92q-4 310 -4.5 620t4.5 621q75 30 187 30h7q116 -1 191 -33 q2 -171 2 -276t-2 -144q-44 -5 -75 -5t-49 5v53v103v40q0 76 -4 121q-28 11 -59.5 11t-67.5 -11q-3 -157 -3 -392v-122v-341.5v-176.5q19 -18 64 -18q42 0 66 14q0 14 1 53t-1 104q0 22 1 42q0 78 3 118q31 5 62 5l62 -5q4 -104 4 -208t-4 -208q-76 -34 -193 -34t-192 34z M1038 123v1165q0 3 1 6q2 3 3 5q261 -109 347 -389q-19 -8 -56 -8q-30 0 -71 5q-14 15 -42 68q-24 45 -48 62q-10 -11 -10 -75q0 -486 3 -588q30 6 54 53q3 5 19 40q12 25 20 37q33 6 65.5 6t65.5 -6q-88 -285 -351 -381z" horiz-adv-x="1555" unicode="C"/><glyph d="M65 716q0 -296 210 -506t507 -210q296 0 506 210t210 506q0 297 -210 507t-506 210q-297 0 -507 -210t-210 -507zM172 965q93 228 337 354q1 0 3 -2t4 -2q4 -362 4 -658.5t-4 -527.5q-168 63 -279 237q-62 97 -62 110q0 9 7 23q9 17 10 25v196q0 214 -20 245zM319 462 q6 -28 28 -52q22 -25 41 -23q5 236 5 423q0 94 -1 175v26q1 16 0 23q-2 22 -17 20q-49 -31 -53 -131v-23q0 -28 1 -73q1 -34 1 -60.5t-1 -46.5q-6 -142 -6 -208q0 -39 2 -50zM584 1222q5 21 4 60v44v20q72 31 187 31h7q115 -1 194 -31q-3 -1237 -3 -1238q-72 -39 -191 -39 h-6q-113 0 -188 36q1 14 0 41q-2 34 -1 43q0 48 28 53q-3 140 -3 836q0 12 1 47q2 29 1 43q-3 45 -30 54zM736 1130q0 -766 3 -929q21 -10 48 -10t59 10q7 113 7 282q0 107 -3 237q-5 253 -5 400q0 73 1 120q-16 15 -52 15q-21 0 -48 -5q-10 -20 -10 -120zM1040 187 q-1 13 -1 25q0 19 3 34q1 8 10 22q9 15 10 22v747q4 104 4 103q-2 9 -12 24t-12 24q-3 12 -3 29q0 14 2 30q4 40 1 58q-1 8 7 10q176 -80 280 -238q103 -156 103 -351q0 -28 -2 -57q-26 -363 -385 -537q0 5 -5 55zM1186 1016q4 -95 4 -536q0 -5 -1 -18q-1 -12 -1 -19 q0 -22 12 -32q104 95 104 314q0 215 -108 301h-6q0 -4 -4 -10z" horiz-adv-x="1561" unicode="D"/><glyph d="M54 715q0 -296 210 -505q209 -210 506 -210q296 0 505 210q210 209 211 505q0 297 -211 506q-209 210 -505 210q-297 0 -506 -210q-210 -209 -210 -506zM113 667q-2 24 -2 48.5t2 50.5q28 363 378 557h4q7 -57 7 -151v-44q-1 -112 -1 -165v-39q-32 -5 -63 -5t-60 5 q-4 16 -4 44v20q2 49 0 60q-38 -11 -82 -107q-40 -85 -41 -147q13 -10 60 -7q47 2 60 -7q1 -24 1 -46q0 -43 -5 -74q-17 -6 -63 -3q-44 3 -57 -4v-11q0 -54 41 -144q47 -98 83 -113q5 11 5 39q0 12 -1 26v18q0 34 6 48q30 5 59 5t58 -5q4 -98 4 -196t-4 -196 q-162 76 -261 209q-108 145 -124 334zM577 93q-4 313 -4 625.5t4 624.5q65 38 180 38h12q119 -2 193 -38v-71v-140v-42q0 -102 -4 -166q-28 -5 -58 -5t-62 5q-5 76 -5.5 153.5t5.5 155.5q-16 18 -65 19q-45 0 -72 -12q-4 -112 -4.5 -225t4.5 -225q12 -6 58 -3q14 1 25 1 q28 0 40 -4q9 -19 9 -57q0 -28 -5 -67q-20 -4 -63 -4q-44 -1 -58 -3q-10 -35 -10 -220v-226q17 -15 62 -15h8q34 0 61 8q4 25 4 84q0 29 -1 67q-1 30 -1 55q0 76 5 113q11 2 31 2q33 0 92 -5q4 -104 4 -209t-4 -210q-78 -30 -189 -30h-8q-106 0 -184 26zM1030 128 q-4 298 -4 595.5t4 595.5q269 -115 351 -395q-33 -5 -65 -5t-63 5q-91 116 -91 126q0 1 1 1h1q-3 -16 -7 -261q12 -5 63 -4h14q36 0 50 -9q6 -28 6 -57t-6 -60q-19 -5 -63 -4q-51 1 -60 0q-6 -39 -5.5 -107.5t5.5 -166.5q30 16 53 63q36 72 39 77q11 0 66 1q41 1 62 -4 q-91 -283 -351 -391z" horiz-adv-x="1555" unicode="E"/><glyph d="M67 716q0 -297 210 -506q209 -210 506 -210q296 0 505 210q210 209 210 506q0 296 -210 505q-209 210 -505 210q-297 0 -506 -210q-210 -209 -210 -505zM135 757q11 185 120 337q100 137 258 213h3q11 -13 11 -93q0 -252 -4 -302q-10 0 -64 -1q-39 0 -59 4v21.5v44.5 q0 40 -4 61q-39 -17 -86 -113q-41 -85 -41 -143v-5q13 -6 55 -6q48 0 65 -4q5 -20 4 -58q-1 -54 0 -62q-17 -5 -62 -4q-45 2 -62 -3q9 -131 110 -261q56 -72 55 -69q2 -11 2 -26q0 -18 -3 -40q-6 -38 -6 -61v-10q-83 38 -172 161q-121 168 -121 378q0 20 1 41zM595 94v1237 q66 33 189 33h7q124 -1 196 -33q0 -19 -0.5 -72t0.5 -140v-42q0 -101 -4 -165h-123q-4 40 -4 123v35q1 31 0 57q0 66 -3 101q-24 14 -57 14q-30 0 -67 -11q-7 -67 -7 -206q0 -104 4 -247q9 -2 63 0h16q33 0 48 -7q5 -27 5 -54q0 -36 -9 -70q1 0 -28 0.5t-88 -0.5 q-11 -47 -11 -285v-295q-12 -1 -24 -1q-56 0 -103 28zM1052 709v387v200q3 8 10 11q262 -133 340 -392q-20 -4 -61 -4q-55 1 -66 1q-54 111 -86 134q-10 -18 -10 -131q0 -115 4 -137q14 -7 59 -4q25 2 41 2t23 -2q9 -19 9 -58q0 -29 -5 -69q-21 -4 -60 -4q-55 1 -64 1 q-7 -50 -7 -330v-110q-11 -39 -124 -79q-3 178 -3 445v139z" horiz-adv-x="1566" unicode="F"/><glyph d="M67 716q0 -297 210 -506q209 -210 506 -210q296 0 505 210q210 209 210 506q0 296 -210 505q-209 210 -505 210q-297 0 -506 -210q-210 -209 -210 -505zM139 654q-2 25 -2 50q0 131 57 263q94 216 323 333h3q11 -13 11 -93q0 -248 -4 -298q-23 -9 -62 -9q-28 0 -65 5 q0 10 1 64q0 40 -4 60q-45 -22 -89 -134q-37 -92 -37 -196q0 -45 7 -92q24 -164 115 -234q7 11 7 123v138q-6 8 -32 7q-29 -1 -36 3q-6 31 -6 62t6 62q11 1 37 1q51 0 158 -5q5 -163 5 -326t-5 -326q-162 76 -263 209q-109 145 -125 333zM599 88q-4 310 -4 621t4 622 q79 27 191 27q111 0 191 -27q7 -159 7 -274q0 -86 -4 -148q-31 -5 -62 -5l-62 5q-2 31 -2 79q0 32 1 72q2 66 2 110q0 29 -1 48q-17 17 -65 18h-6q-44 0 -62 -15q-4 -162 -4 -408v-102q1 -211 1 -339t-1 -174q15 -17 61 -19h8q35 0 62 8q3 66 3 168v53q-1 93 -1 149.5 t1 76.5q-6 8 -31 7q-27 -1 -34 3q-5 31 -5 62t5 62q49 4 97 4t95 -4q4 -168 4 -336.5t-4 -336.5q-65 -39 -189 -39h-7q-113 0 -189 32zM1053 119v1167q0 8 7 11q259 -113 343 -388q-53 -6 -87 -6q-19 0 -33 2q-13 13 -41 71q-22 47 -52 60q-11 -151 -11 -376q0 -133 4 -291 q36 16 83 114q41 85 44 147q-2 11 -25 11q-28 0 -33 3q-5 30 -5 60t5 60q46 5 92.5 5t92.5 -5q2 -29 2 -58q0 -312 -242 -505q-87 -69 -144 -82z" horiz-adv-x="1555" unicode="G"/><glyph d="M74 716q0 -297 210 -506q209 -210 506 -210q296 0 505 210q210 209 210 506q0 296 -210 505q-209 210 -505 210q-297 0 -506 -210q-210 -209 -210 -505zM140 842q25 150 130 282q4 5 12 17t13 17q16 19 33 21q-2 -15 -2 -35q0 -30 4 -70q2 -26 2 -46q0 -29 -4 -48 q-2 -12 -13 -28q-14 -20 -18 -27q-20 -45 -34 -134q-1 1 6 1q21 0 118 -5q0 5 10 454q17 19 113 72l4 -2q1 -2 3 -2q5 -310 5 -765q0 -195 -1 -416q-60 16 -127 75q1 202 1 313.5t-1 133.5q-18 8 -54 8q-29 0 -70 -5q-4 -13 -4 -28q0 -33 20 -75q40 -82 42 -92q4 -19 4 -47 q0 -20 -2 -45q-4 -39 -4 -68q0 -19 2 -33q-25 11 -75 83q-123 175 -123 375q0 59 10 119zM589 104q0 56 0.5 211t-0.5 409v123q0 297 4 493q51 24 123 28q6 -54 6 -144q0 -63 -3 -143q-4 -94 -4 -164q0 -79 5 -130q18 -8 56 -8q30 0 71 5q8 73 7 204v84q-1 60 -1 109 q0 124 4 183q9 1 18 1q51 0 106 -28q0 -56 -0.5 -210.5t0.5 -408.5v-123q0 -296 -4 -491q-36 -30 -92 -30q-14 0 -28 2q-4 107 -4 283q1 236 1 287q-20 9 -60 9q-30 0 -71 -5q0 -60 -5 -287q-3 -123 -3 -211q0 -44 1 -79q-72 0 -127 31zM1045 712q2 245 2 408q0 108 -1 179 q0 8 7 10q71 -18 120 -68q0 -20 0.5 -77.5t-0.5 -151.5v-45q0 -110 4 -180q17 -8 54 -8q29 0 69 5q3 12 3 26q0 31 -17 68q-34 74 -37 88q-3 15 -3 43q0 23 2 54q3 42 3 69q0 22 -2 36q60 -41 117 -154q73 -147 73 -298q0 -69 -15 -138q-26 -123 -120 -251q-40 -54 -59 -58 q2 16 2 38q0 27 -3 64q-2 28 -2 50q0 26 3 43q3 12 37 82q23 48 23 86q0 7 -1 14q-18 8 -57 8q-28 0 -67 -4q-7 -50 -7 -333v-110q-7 -25 -55 -49q-37 -19 -72 -27q-2 122 -2 307q0 123 1 274z" horiz-adv-x="1579" unicode="H"/><glyph d="M63 716q0 -297 210 -506q209 -210 506 -210q296 0 505 210q210 209 210 506q0 296 -210 505q-209 210 -505 210q-297 0 -506 -210q-210 -209 -210 -505zM167 507q17 8 58 7q57 -1 66 -1q7 -2 13 -17q6 -14 14 -17q12 8 12 32q0 6 -1 20v17q4 106 4.5 204t-4.5 187 q-13 4 -20 -11q-10 -19 -21 -23q-19 -6 -59 -2q-50 6 -62 5q22 114 127 234q92 104 217 165h3l-1 1q-2 0 -2 -10q0 -27 13 -125q-5 -6 -35 -26q-22 -16 -30 -33v-807q5 -15 30 -31q29 -18 35 -27q0 -11 1 -66q1 -40 -4 -61q-264 101 -354 385zM593 98v120q8 -1 62 -18 q38 -12 62 -9q8 172 8 453v64q-2 259 -2 395q0 90 1 125q-10 2 -20 2q-22 0 -48 -8q-61 -18 -63 -18q5 137 4 134q81 26 192 26q110 0 192 -26q3 -26 3 -60t-3 -78q-120 31 -123 31q-11 -21 -11 -123q0 -756 7 -914q25 -3 62 9q49 17 62 19q5 -30 5 -62t-5 -66 q-82 -31 -194 -31q-116 0 -191 35zM1046 185v43v21q5 5 38 28q23 17 31 34v797q-4 16 -29 31q-30 19 -36 27q-2 43 -2 77.5t2 59.5q121 -48 218 -156q97 -109 132 -239h-120q-9 4 -16 16q-6 10 -15 12q-10 -112 -9.5 -224.5t9.5 -225.5q12 -1 17 14q6 16 14 17q16 -5 58 -4 q43 2 59 -3q-89 -275 -347 -385q-4 17 -4 47v13z" horiz-adv-x="1563" unicode="I"/><glyph d="M83 716q0 -296 210 -506t507 -210q296 0 506 210t210 506q0 297 -210 507t-506 210q-297 0 -507 -210t-210 -507zM164 582q31 5 61.5 5t59.5 -5q11 -18 25 -54q15 -41 23 -56q39 -73 72 -86q8 140 8 374v53q-1 237 -1 349v80q25 31 110 69q16 -6 16 -28q1 -7 -1 -18 q-1 -12 -1 -16q0 -924 -4 -1121q-305 132 -368 454zM605 104q1 309 7 481q28 5 57 5t59 -5q4 -44 4 -130v-61q-1 -37 -1 -69q0 -79 4 -121q18 -12 62 -12q40 0 66 8q7 178 7 449v126q-1 320 -1 473v111q1 1 3 6q2 4 4 4q70 -3 117 -27q5 -310 5 -621t-5 -621 q-78 -31 -196 -31q-122 0 -192 35zM1062 585q16 3 39 3q33 0 81 -6q4 -22 4 -66v-32q-1 -20 -1 -36q0 -41 4 -62q26 4 42 32q29 50 27 47v705q31 -27 71 -79q51 -65 56 -100v-540q-11 -65 -99 -165q-94 -106 -221 -155q-6 68 -6 209q0 103 3 245z" horiz-adv-x="1596" unicode="J"/><glyph d="M59 715q0 -296 210 -505q209 -210 506 -210q296 0 505 210q210 209 210 505q0 297 -210 506q-209 210 -505 210q-297 0 -506 -210q-210 -209 -210 -506zM121 785q27 198 155 350q24 30 37 28q-4 -23 -4 -57q0 -19 1 -42q2 -32 2 -56t-2 -38q-3 -17 -38 -90 q-22 -46 -22 -84q0 -9 1 -18q20 -7 39 -7q25 0 46 13q31 20 49 63q-3 100 -3 384q41 39 117 72q1 0 3 -2q2 -1 4 -1q3 -38 3 -227v-230q-5 -28 -38 -69t-38 -61q4 -25 39 -69q35 -45 40 -72q1 -7 1 -38q0 -56 -4 -189q0 -12 -0.5 -40.5t0.5 -73.5v-26q0 -51 -3 -83 q-68 16 -124 72v189q0 20 4 98q2 25 1 44q0 23 -2 37q-3 20 -22 48q-19 29 -33 34q-11 5 -35 2q-30 -3 -40 -2q-4 -14 -4 -29q0 -35 20 -76q40 -83 42 -94q4 -15 4 -41q0 -22 -3 -53q-2 -26 -2 -46q0 -33 5 -52q-17 1 -48 37q-75 87 -117 211q-36 105 -36 207q0 39 5 77z M578 95q-4 309 -4 618t4 618q91 31 110 31h3q18 -4 18 -44q0 -11 -2 -35t-2 -35q-1 -81 -1 -154q0 -182 4 -313q9 -11 34 -9q31 2 38 -1q53 50 59 76v257q0 214 3 254q13 2 25 2q49 0 95 -29q4 -76 4 -193v-49v-162.5v-83.5q-12 -21 -40 -65q-27 -41 -39 -65q3 -26 39 -67 q37 -43 43 -71q1 -2 1 -13q0 -27 -4 -107q-1 -19 -1 -65t1 -120v-40q0 -87 -7 -139q-64 -25 -103 -25q-8 0 -14 1q-3 42 -3 254q0 28 3 102q3 41 3 70q0 14 -1 25q-5 100 -60 129q-62 -6 -73 -6h-3q-3 -92 -3 -286q-1 -199 -4 -288q-69 3 -123 28zM1038 125q-4 294 -4 587.5 t4 587.5q67 -23 124 -69v-228v-134.5v-87.5q18 -7 34 -7q24 0 45 16q31 24 34 60q2 26 -17 57q-24 36 -28 56q-4 19 -4 46q0 23 3 51q3 35 3 61q0 21 -2 35q42 -25 107 -138q68 -120 68 -166q0 -18 -37 -74q-42 -61 -42 -62q-1 -24 37 -71q42 -52 42 -78q0 -47 -68 -170 q-27 -48 -48 -76q-41 -52 -59 -55q2 14 2 35q0 25 -3 58q-3 27 -3 49q0 26 4 44q4 21 30 60q21 33 18 60q-4 35 -38 59q-21 16 -43 16q-17 0 -35 -10v-72.5v-149.5v-46q0 -111 -4 -171q-41 -57 -120 -73z" horiz-adv-x="1555" unicode="K"/><glyph d="M64 716q0 -297 210 -506q209 -210 506 -210q296 0 505 210q210 209 209 506q0 296 -209 505q-209 210 -505 209q-297 0 -506 -209q-210 -209 -210 -505zM198 765v223q10 49 121 175q6 -70 6 -419v-106q0 -142 3 -163q11 -77 63 -95q7 23 7 74v24q-1 21 -1 39q0 44 4 62 q28 6 58.5 5.5t61.5 -5.5q4 -114 4.5 -227t-4.5 -226q-149 48 -261 210q-54 78 -58 96q-4 16 -2 53q2 46 2 57q-4 86 -4 223zM590 95v211.5v409.5v146q0 281 3 470q43 23 117 27q8 -153 8 -414q0 -78 -1 -166q-1 -119 -1 -217q0 -247 4 -371q21 -8 59 -8q30 0 69 5 q4 44 4 124q0 32 -1 70t-1 70q0 80 4 124q28 5 58.5 5t62.5 -5q6 -191 6 -323q0 -96 -3 -161q-77 -32 -196 -32q-121 1 -192 35zM1046 704q1 484 1 590q-1 8 7 10q74 -26 116 -69v-145.5v-283.5v-85q0 -206 4 -341q22 1 55 52q17 27 65 147q69 0 124 -6q-70 -312 -368 -454 q-4 187 -4 468v117z" horiz-adv-x="1563" unicode="L"/><glyph d="M69 716q0 -297 210 -506q209 -210 505 -210q297 0 506 210q210 209 210 506q0 296 -210 505q-209 210 -506 210q-296 0 -505 -210q-210 -209 -210 -505zM134 685q-2 22 -2 44q0 185 122 361q18 -15 37 -59q20 -45 35 -61q14 18 41 127q3 10 14 73q7 44 17 65q13 26 49 43 q6 3 32 13q21 9 33 16h3q12 -10 12 -31q1 -6 0 -18q-2 -12 -2 -17q0 -191 -6 -1119q-74 22 -117 75q0 20 -1 65q0 90 2 278v42q0 183 -8 295q-20 -15 -36 -58q-21 -60 -26 -69q-14 8 -25 40t-26 39q-10 -5 -14 -48q-3 -28 -3 -56q0 -90 30 -181q4 -10 17 -40q12 -25 14 -39 q4 -20 4 -51q0 -22 -2 -48q-4 -41 -4 -70q0 -19 2 -33q-65 56 -117 154q-64 123 -75 268zM598 98q-4 309 -4 618t4 618q49 32 89 32q7 0 14 -1q22 -3 46 -83q26 -86 39 -95q24 24 43 85q23 71 36 93q89 -11 117 -34q-1 -60 -1 -148q0 -177 3 -468q1 -147 1 -269 q0 -204 -3 -341q-37 -31 -108 -31h-9q-4 116 -4 320q0 82 1 178t1 178q0 204 -4 320q-19 -11 -42 -86q-26 -85 -34 -93q-1 6 -27 93q-24 78 -31 86q-7 -13 -7 -114q0 -727 -4 -882q-10 -1 -19 -1q-48 0 -97 25zM1047 707v401.5v187.5q0 3 2 6t2 5q72 -17 120 -69 q7 -24 32 -135q19 -83 37 -129q-5 -4 68 116q34 -22 61 -79q4 -9 20 -48q13 -30 23 -48q28 -84 28 -174q0 -144 -73 -300q-60 -128 -120 -175q2 16 2 38q0 27 -3 64q-2 28 -2 51q0 27 3 46q3 17 17 49q16 36 20 51q23 77 23 148q0 60 -16 116q-17 -6 -27 -34 q-14 -34 -21 -41q-17 16 -32 64q-16 50 -30 66q-10 -11 -10 -79v-601q-10 -36 -117 -79q-7 197 -7 504v78z" horiz-adv-x="1577" unicode="M"/><glyph d="M83 716q0 -297 210 -506q209 -210 506 -210q296 0 505 210q210 209 210 506q0 296 -210 505q-209 210 -505 210q-297 0 -506 -210q-210 -209 -210 -505zM157 835q41 226 185 337q6 -37 13 -97q9 -79 11 -99q18 -133 35 -186q7 11 7 55v21q-2 35 -2 94q0 39 1 89 q1 88 1 142v46q38 40 116 72h7q7 -185 7 -574q0 -260 -3 -611q-51 9 -127 72q-17 83 -40 231q-27 167 -39 236q-18 100 -35 148q-24 -25 -24 -110q0 -26 9 -69q10 -53 12 -68q3 -27 3 -62q0 -28 -2 -62q-5 -103 -5 -124q-79 92 -116 225q-25 88 -25 177q0 58 11 117z M603 100q0 56 0.5 211.5t-0.5 410.5v123q0 298 4 495q18 8 54 14q50 8 59 10h1q2 0 3 -4q18 -39 37 -144q51 -272 93 -450q13 18 13 60q0 11 -1 38q-2 26 -2 40q0 379 4 456q7 1 15 1q49 0 105 -28q4 -309 4 -618t-4 -618q-46 -20 -117 -28q-1 6 -96 443q-28 132 -34 144 q-11 -19 -11 -140q0 -367 -3 -443q-13 -2 -26 -2q-45 0 -98 29zM1064 128q-4 294 -4 588.5t4 588.5q58 -17 127 -72q9 -49 53 -307q31 -189 57 -304q21 12 21 82q0 12 -1 25q-1 33 -14 89q-14 64 -17 86q-2 21 -2 53q0 24 1 55q2 43 2 73q0 23 -1 38q57 -40 107 -151 q56 -122 56 -251q0 -59 -12 -120q-14 -75 -61 -168q-56 -107 -97 -134q-14 46 -40 155q-25 103 -42 154q-10 -12 -10 -92v-309q-11 -35 -127 -79z" horiz-adv-x="1587" unicode="N"/><glyph d="M62 717q0 -297 210 -507t507 -210q296 0 506 210t210 507q0 296 -210 506t-506 210q-297 0 -507 -210t-210 -506zM124 613q-7 50 -7 99q0 177 92 327q102 165 287 258h3q12 -10 12 -31q1 -7 0 -18q-2 -12 -2 -16v-1118q-152 64 -252 186q-108 133 -133 313zM260 815 q-12 -62 -12 -122q0 -72 17 -142q9 -36 45 -100q27 -48 27 -49q19 -26 42 -30q4 165 4.5 330t-4.5 330h-7q1 5 -5 2q-5 -3 -5 -5q-75 -78 -102 -214zM582 83q-4 310 -4 620.5t4 621.5q75 30 189 30h8q107 0 184 -27q4 -310 4.5 -621t-4.5 -621q-74 -32 -189 -32 q-109 0 -192 29zM702 1104q0 -775 4 -918q24 -13 59 -13q30 0 68 10q9 260 9 518.5t-9 516.5q-7 0 -24 4q-20 4 -30 5q-38 6 -60 -6q-15 -8 -17 -43q0 6 0 -74zM1035 696q1 482 1 587q-1 8 7 11q99 -45 190 -135q92 -91 136 -192q58 -130 58 -265q0 -71 -16 -144 q-34 -151 -137 -269q-96 -111 -235 -175q-4 185 -4 466v116zM1162 391q0 -15 11 -19q58 41 91 133q31 86 32 191q0 106 -30 194q-33 94 -93 139h-7q0 -2 -2 -5t-1 -6v-58q0 -147 3 -537q0 -4 -1 -14q-3 -17 -3 -18z" horiz-adv-x="1550" unicode="O"/><glyph d="M71 717q0 -297 210 -507t507 -210q296 0 506 210t210 507q0 296 -210 506t-506 210q-297 0 -507 -210t-210 -506zM150 615q-13 68 -13 131q0 103 34 196q79 219 347 368h3q12 -12 13 -36q0 -8 -1 -21q-1 -14 -1 -19q0 -481 -4 -581q-32 -4 -97 -4h-28q-25 1 -46 1 q-53 0 -80 -4q5 -114 110 -251q81 -106 79 -100q4 -14 4 -34q0 -15 -2 -33q-4 -28 -4 -48q0 -13 2 -23q-113 52 -206 186q-81 117 -110 272zM277 776q5 1 15 1q19 0 55 -3q37 -3 54 9q3 25 3 96v38q-1 109 -10 124q-104 -105 -117 -265zM600 720v124q0 299 4 496 q78 26 192 26q116 -1 190 -29q4 -171 4 -342t-4 -342q-32 -4 -98 -4h-28q-25 1 -46 1q-52 0 -79 -4q-8 -84 -8 -248v-38q0 -201 -6 -289q-8 -1 -17 -1q-45 0 -103 26q0 112 -1 624zM723 1163q1 -21 1 -29q0 -298 7 -354q26 -1 50 -1q42 0 77 4q5 112 5 222.5t-5 221.5 q-14 14 -62 14q-25 0 -58 -4q-14 -15 -15 -47v-11v-16zM1057 711q1 321 1 476v112q0 8 7 11q185 -93 280 -244q97 -153 97 -357q0 -28 -2 -56q-32 -4 -98 -4h-28q-25 1 -46 1q-52 0 -79 -4q-4 -35 -4 -220v-220q-10 -36 -124 -80q-4 223 -4 585zM1189 783q4 -2 34.5 -2 t85.5 2q-7 156 -114 262q0 -3 -3 -4t-3 -3q-5 -63 -5 -127t5 -128z" horiz-adv-x="1577" unicode="P"/><glyph d="M71 715q0 -296 210 -505q209 -210 506 -210q296 0 505 210q210 209 210 505q0 297 -210 506q-209 210 -505 210q-297 0 -506 -210q-210 -209 -210 -506zM256 1097q103 139 264 218q1 -1 3 -2q2 -2 4 -2v-287q0 -549 3 -894q-80 23 -161 92q-230 199 -230 523 q0 194 117 352zM276 823q-10 -57 -10 -110q0 -152 79 -274q31 -48 53 -48h2q-2 16 1 49q3 27 -1 43q-5 18 -32 42q-27 23 -30 37q1 -5 3 114q8 -4 24 -25q12 -17 31 -16q4 56 4 156v42v137.5v72.5q-3 1 -6 4q-2 3 -5 3q0 -2 -3 -4q-3 -1 -3 -3q-85 -90 -107 -220zM595 102 v1233q70 34 190 35h8q110 0 187 -28q4 -310 4 -621t-4 -622q-81 -28 -194 -28q-116 1 -191 31zM719 1229q4 -119 4 -330q0 -85 -1 -184v-110q0 -262 4 -403q34 -14 66 -14t61 14q5 19 4 58q-1 52 -1 62q-4 13 -33 38q-27 24 -32 44l4 107q11 -3 26 -23q14 -18 32 -18 q5 184 5 374t-5 388q-31 13 -63 13q-35 0 -71 -16zM1056 133v1171q0 3 5 6q2 1 3 1q3 0 2 -3q140 -60 227 -169q127 -158 147 -346q4 -40 4 -78q0 -274 -220 -475q-98 -90 -168 -107zM1186 1036q-3 -191 -3 -333q0 -212 7 -312q75 64 75 106q0 16 -16 31q-18 15 -22 28 q1 10 0 60q-1 38 4 56q11 -4 34 -28q19 -21 35 -20q19 52 19 109q0 59 -21 124q-34 107 -105 179h-7z" horiz-adv-x="1566" unicode="Q"/><glyph d="M75 714q0 -296 209 -505t505 -209t505 209t209 505t-209 505t-505 209t-505 -209t-209 -505zM138 672q-1 22 -1 43q0 186 102 342q104 161 276 239q15 -2 16 -20q0 -6 -1 -15q-1 -10 -1 -13v-408q-6 -30 -39 -71q-35 -43 -40 -63q4 -23 39 -66q34 -43 40 -71v-229 q0 -185 -3 -223q-63 11 -124 65q0 28 1 94q0 66 -1 101q-4 142 -4 178q0 12 1 11l-55 75q-58 -3 -69 -3h-3q-1 -7 -1 -15q0 -36 20 -81q40 -90 39 -89q9 -28 9 -72q0 -12 -1 -25q-2 -49 -2 -80q0 -20 1 -32q-12 -1 -41 34q-144 175 -158 394zM272 772q-2 0 76 -4 q43 23 50 104q2 21 2 53v22q-1 70 -1 78q-3 1 -5 3q-3 3 -5 4q-106 -113 -117 -260zM598 1320q68 36 185 36h6q116 0 196 -33q0 -30 -0.5 -75.5t0.5 -108.5q1 -60 1 -106.5t-1 -79.5q-3 -113 -3 -116q-2 -8 -38 -65q-38 -60 -38 -66q0 -23 36 -67q39 -49 43 -66v-244 q0 -197 -3 -239q-55 -31 -120 -31q-4 37 -4 253v257q-8 37 -44 60q-24 15 -51 15q-17 0 -35 -6q-4 -66 -4 -184q0 -48 1 -104v-62q0 -149 -4 -226q-11 -2 -22 -2q-43 0 -98 30q-5 617 -5 941q0 202 2 289zM728 772q-2 0 75 -4q46 24 54 100q1 10 1 161q0 161 -3 191 q-22 8 -57 8h-8q-42 0 -62 -11q-4 -111 -4 -222t4 -223zM1049 699q1 339 1 488v102q0 3 1 6q2 2 3 4q218 -91 329 -329q41 -90 41 -128q0 -22 -32 -69q-30 -42 -30 -67q0 -22 27 -65q29 -45 31 -68v-11q0 -62 -61 -174q-10 -17 -52 -72q-42 -56 -58 -59q2 16 1.5 39t-1.5 52 q-2 28 -2 50t2 38q3 23 16 55q19 46 20 50q6 18 6 34q0 35 -28 63q-18 6 -37.5 6t-41.5 -6q-4 -69 -4 -177v-45v-150.5v-76.5q-51 -49 -123 -72q-8 200 -8 511v71zM1184 768h-1q0 2 16 2q19 0 60 -2q31 32 31 77q0 30 -15 66q-27 70 -84 121h-7q-5 -66 -5 -132t5 -132z" horiz-adv-x="1579" unicode="R"/><glyph d="M69 717q0 -297 210 -507t507 -210q296 0 506 210t210 507q0 296 -210 506t-506 210q-297 0 -507 -210t-210 -506zM142 657q-2 27 -2 54q0 209 99 359q92 140 277 241q12 -10 13 -34q0 -7 -1 -20t-1 -18v-324q-30 -5 -60.5 -5t-63.5 5q-4 15 -4 49v15q1 13 1 24 q0 27 -4 40q-46 -19 -89 -107q-38 -77 -38 -148q29 -12 94 -12q14 0 29 1q33 1 59 1q51 0 72 -4q4 -162 4.5 -323t-4.5 -323q-101 30 -213 151q-109 119 -138 234q34 5 66 5t62 -5q10 -11 38 -67q21 -43 51 -53q10 16 10 123q0 110 -3 131q-29 8 -87 8q-17 0 -38 -1 q-27 -1 -49 -1q-56 0 -80 4zM596 516q20 9 57 9q28 0 66 -5q2 -4 2 -49t-2 -130q-1 -39 -1 -67q0 -66 5 -74q11 -20 56 -19q38 0 68 12q10 128 10 270q0 89 -4 184q-28 8 -87 8q-18 0 -38 -1q-27 -1 -49 -1q-55 0 -80 4q-6 308 -6 490q0 128 3 195q73 27 184 27h8 q111 -1 193 -27q4 -106 4.5 -212t-4.5 -211q-30 -5 -60.5 -5t-60.5 5q-4 58 -4 158q1 134 1 162q-18 16 -62 17h-12q-35 0 -57 -10q-4 -62 -4 -176v-48q1 -193 1 -227q21 -8 172 -14l86 -3q4 -169 4.5 -338.5t-4.5 -339.5q-79 -32 -192 -33q-115 0 -190 33q-7 76 -7 199 q0 94 4 217zM1056 128q-4 96 -4 192t4 193q30 5 61 5t63 -5q4 -12 4 -38q0 -13 -1 -29q-2 -47 4 -60q107 82 120 258q-32 7 -95 7h-30q-54 -1 -85.5 -1t-40.5 1q-4 165 -4 330t4 330q280 -123 348 -396q-32 -5 -63 -5t-61 5q-11 13 -40 70q-23 45 -50 61q-6 -12 -6 -127 v-134q37 -8 105 -8h16q73 1 106 1h24q2 -29 2 -57q0 -204 -96 -355q-98 -151 -285 -238z" horiz-adv-x="1577" unicode="S"/><glyph d="M78 715q0 -296 210 -505q209 -210 506 -210q296 0 505 210q210 209 210 505q0 297 -210 506q-209 210 -505 209q-297 0 -506 -209q-210 -209 -210 -506zM181 902q78 265 343 399q16 -13 16 -60v-6q-1 -14 -3 -43q-2 -26 -2 -36q-7 -7 -31 -19q-21 -10 -28 -22 q-4 -184 -4 -484q1 -400 1 -488q-9 5 -33 17t-37 20q-43 25 -54 53q-3 8 -3 178v529q-14 0 -21 -17q-7 -21 -14 -24h-67q-42 -1 -63 3zM606 1263q0 43 4 65q94 28 189.5 28t191.5 -28q5 -34 5 -68t-5 -69q-126 23 -120 24q-4 -191 -7 -571q-4 -425 -7 -586q-40 -5 -68 -5 q-35 0 -52 8q-4 135 -4 373q0 95 1 206v124q0 296 -4 454q-8 2 -17 2q-20 0 -48 -10q-45 -16 -58 -16q0 12 -1 69zM1060 1156q4 70 4 112q0 17 -1 29q263 -108 354 -395q-21 -5 -127 -7q-8 3 -14 22q-6 17 -20 16q-9 -157 -9 -371q0 -99 2 -209q2 -112 3 -107 q-11 -34 -54 -60q-10 -7 -36 -20q-23 -12 -33 -19q-7 378 -7 841v120q-5 16 -26 27q-29 15 -36 21z" horiz-adv-x="1601" unicode="T"/><glyph d="M82 717q0 -297 210 -507t507 -210q296 0 506 210t210 507q0 296 -210 506t-506 210q-297 0 -507 -210t-210 -506zM148 801q15 97 72 210q65 125 117 158q-1 -6 -1 -15q0 -26 5 -78q3 -32 3 -57t-3 -42q-4 -23 -32 -87q-26 -62 -30 -99q-4 -32 -4 -64q0 -109 45 -222 q36 -91 76 -113q15 12 16 40q0 8 -1 25q-2 17 -2 24v757q33 36 114 72q12 -7 12 -28q0 -6 -1 -16q-1 -11 -1 -14v-987q-9 -3 -57 -37q-41 -29 -63 -29q-32 1 -120 103q-78 90 -118 211q-33 100 -33 200q0 44 6 88zM609 96q-4 310 -4.5 619.5t4.5 618.5q12 15 49 22 q48 8 58 13h6q8 -165 8 -461v-123q-1 -139 -1 -250q0 -222 4 -332q16 -20 60 -21h6q34 0 64 10q5 144 5 403q0 86 -1 185q-1 113 -1 210q0 241 4 379q87 -7 124 -31q4 -310 4 -619t-4 -619q-74 -34 -191 -35h-7q-112 0 -187 31zM1063 265v1035q0 8 7 10q-1 1 63 -30 q44 -21 54 -46v-127q0 -100 3 -273q3 -183 4 -267q0 -156 10 -175q33 15 69 96q50 114 50 229q0 49 -9 98q-5 29 -28 80q-23 50 -27 75q-3 18 -3 46q0 23 2 53q3 38 3 64q0 21 -2 33q12 3 38 -28q160 -196 160 -424q0 -27 -2 -54q-18 -224 -200 -406q-57 -57 -68 -58h1 q0 6 -125 69z" horiz-adv-x="1582" unicode="U"/><glyph d="M73 715q0 -296 210 -505q209 -210 506 -210q296 0 505 210q210 209 210 505q0 297 -210 506q-209 210 -505 210q-297 0 -506 -210q-210 -209 -210 -506zM147 808q16 95 72 203q62 118 113 154q0 -21 5 -89q3 -39 3 -65q0 -16 -1 -28q-3 -28 -29 -87q-27 -62 -33 -95 q-6 -40 -6 -80q0 -111 48 -226q38 -91 82 -123q8 117 8 291q0 64 -1 135q-4 290 -4 397v35q25 29 117 76q1 0 3 -2q2 -1 4 -1v-1178q-187 74 -297 251q-93 150 -93 321q0 54 9 111zM597 365v244q0 600 3 724q87 28 106 28h1q17 -1 18 -41q1 -12 0 -33q-1 -25 -1 -29v-835 q5 -26 31 -64l34 -49q60 45 72 106v237q0 588 4 708q90 -8 123 -31v-852q0 -14 2 -62q2 -38 -2 -58q0 1 -96 -144q-88 -132 -96 -141q-34 34 -77 103q-63 102 -74 117q-47 66 -48 72zM1057 712q0 238 0.5 384t-0.5 200q1 1 3 6q1 3 4 4q7 -6 65 -33q45 -22 55 -46 q4 -9 4 -210v-631q19 0 32 20q4 6 10 18t9 16q83 134 83 262q0 15 -1 30q-3 53 -24 124q-4 16 -22 54q-15 33 -19 53q-3 19 -3 48q0 24 2 55q3 39 3 66q0 21 -2 33q61 -46 120 -172q69 -144 69 -299q0 -30 -3 -61q-20 -231 -193 -392q-97 -91 -189 -116q-3 177 -3 446v141z" horiz-adv-x="1574" unicode="V"/><glyph d="M97 716q0 -296 210 -506t507 -210q296 0 506 210t210 506q0 297 -210 507t-506 211q-297 0 -507 -211q-210 -210 -210 -507zM158 657q-2 26 -2 52q0 252 195 461q-1 -10 -1 -27q0 -28 3 -73q2 -27 2 -48q0 -31 -4 -52q-5 -21 -20 -57q-17 -42 -22 -60q-20 -73 -20 -142 q0 -56 13 -109q20 5 31 37q12 35 24 42q7 -12 27 -69q16 -44 35 -61q8 103 8 268v69q-1 191 -1 281v66q50 54 110 72q11 -11 11 -79v-1104q-66 9 -124 69q-33 158 -66 268q-23 -14 -41 -55q-24 -55 -31 -65q-112 124 -127 316zM619 97v1238q59 25 117 27q8 -127 8 -352 q0 -68 -1 -144q-1 -118 -1 -212q0 -188 4 -282q16 8 25 35q3 8 7 24q4 18 6 23q24 84 27 90q14 -22 33 -95q17 -64 40 -87q4 110 4 314q0 82 -1 179q-1 98 -1 181q0 208 4 323q3 1 8 1q30 0 109 -25q3 -163 3 -409q0 -337 -6 -829q-47 -28 -100 -28h-10q-19 25 -39 86 q-22 66 -37 90q-16 -6 -26 -33q-3 -7 -7 -25q-5 -17 -8 -25q-7 -19 -20 -48q-14 -36 -18 -45h-12q-62 0 -108 28zM1073 715q3 505 3 592q59 -10 117 -68v-66q0 -92 -1 -284v-42q0 -186 8 -300q20 17 36 62q19 54 29 69q13 -7 25 -39q11 -31 27 -37q15 34 15 103q0 18 -1 38 q-4 66 -21 128q-5 16 -23 54q-15 33 -18 52t-3 45q0 21 2 48q2 36 2 62q0 20 -1 34q23 -6 72 -82q110 -171 124 -354q1 -19 1 -38q0 -176 -125 -351q-16 17 -35 59q-20 45 -34 61q-14 -16 -41 -127q-3 -12 -9 -34q-7 -29 -8 -35q-2 -9 -7 -37q-3 -22 -7 -32q-13 -28 -54 -47 l1 1q0 1 -71 -26q-4 153 -4 364q0 106 1 227z" horiz-adv-x="1617" unicode="W"/><glyph d="M76 716q0 -296 210 -506t507 -210q296 0 506 210t210 506q0 297 -210 507t-506 210q-297 0 -507 -210t-210 -507zM153 865q0 23 38 115q52 125 141 199q-2 -15 -2 -37q0 -27 3 -67q2 -31 2 -55q0 -29 -3 -47q-3 -14 -14 -36q-13 -27 -15 -35q-3 -10 -3 -18q0 -25 32 -38 q18 8 69 75q-1 19 -1 51t1 76q0 42 0.5 73t-0.5 51q-3 64 -4 62q6 23 51 46q10 6 36 18q22 10 30 15h7q3 -62 3 -340v-114q-2 -9 -61 -68t-59 -69q0 -14 59 -72q60 -61 61 -66q7 -22 7 -64q0 -21 -2 -48q-5 -100 -5 -118q4 -76 4 -132t-4 -92q-63 19 -123 73q-2 22 -2 56 q0 26 1 58q3 75 3 106v13q-2 135 -68 159q-34 -17 -38 -45q-2 -20 13 -45q19 -32 22 -48q3 -18 3 -45q0 -23 -2 -52q-3 -37 -3 -63q0 -22 2 -36q-97 83 -148 220q-24 67 -24 91v5q1 11 52 73q51 63 51 68v1q0 22 -52 72q-58 54 -58 74zM593 461v116q7 29 59 70q55 44 65 68 q-12 26 -58 76q-66 70 -66 68v124q0 296 4 358q41 20 113 31q1 0 3 -2t4 -2q4 -34 4 -220v-223q4 -21 28 -41q37 -32 37 -31q62 40 69 68v224q0 186 3 220q14 2 28 2q48 0 99 -29q1 -48 2 -176q2 -115 2 -182v-121q-2 -7 -66 -68q-12 -13 -61 -69q3 -11 61 -72 q61 -64 62 -69v-120q0 -293 -3 -355q-26 -26 -117 -31q-3 34 -3 217v217q-5 22 -30 43q-6 6 -21 17q-13 10 -18 15q-67 -51 -72 -72v-230q0 -185 -4 -210q-76 7 -120 31q-4 62 -4 358zM1051 356q3 137 3 201v27q16 23 61 66q42 41 59 68q-8 22 -58 73q-60 60 -62 68v444 q3 8 10 10q94 -46 117 -75q1 -9 1 -27q0 -40 -6 -123q-4 -51 -4 -89q0 -47 6 -74q4 -18 29 -48t36 -31q15 -1 25 12q2 3 8 13q5 8 9 13q0 17 -17 46q-18 32 -21 50q-3 19 -3 47q0 24 2 54q3 39 3 65q0 21 -2 33q98 -80 151 -220q28 -74 28 -94q0 -10 -55 -74t-56 -69 q0 -21 49 -71q51 -52 55 -70q1 -6 1 -12q0 -53 -63 -174q-41 -78 -110 -134q2 14 2 35q0 26 -3 63q-3 29 -3 51q0 26 4 44q3 15 15 40q14 29 16 38q3 10 3 19q0 28 -34 44q-52 -19 -64 -80q-5 -28 -5 -147v-162q-8 -25 -54 -46q-9 -4 -38 -15q-22 -9 -32 -15q-4 56 -4 138 q0 41 1 88z" horiz-adv-x="1582" unicode="X"/><glyph d="M79 717q0 -297 210 -507t507 -210q296 0 506 210t210 507q0 296 -210 506t-506 210q-297 0 -507 -210t-210 -506zM155 836q-1 4 -1 10q0 37 42 131q40 89 73 103q2 -11 2 -28q0 -24 -4 -61q-2 -24 -2 -42q0 -26 4 -41q5 -21 28 -39l37 -29q10 6 69 89v292q6 22 49 46 q14 8 36 19q26 12 32 14h6q4 -37 4 -209v-214q-4 -16 -62 -89q-63 -78 -65 -83v-48q0 -79 -2 -206q-2 -125 -2 -206v-49q-17 1 -69 52q-54 54 -58 65q-3 10 -3 190v199q-7 31 -58 71q-51 41 -56 63zM595 877q1 21 1 78t-1 150v45q0 109 4 178q13 8 113 27q16 -13 16 -43 q1 -10 -1 -27q-1 -19 -1 -26v-323q-1 3 65 -93q64 65 69 89v214q0 173 4 206q8 1 16 1q49 0 104 -25q3 -41 3 -224v-227q-1 -6 -65 -89q-59 -77 -62 -89v-162q0 -390 -3 -478q-33 -11 -64 -11t-60 11q-7 80 -7 481v159q-2 6 -65 89q-55 72 -66 89zM1053 881v206q0 181 3 213 q82 -28 124 -79v-42.5v-63.5v-62v-45q-3 -70 -4 -69q6 -25 30 -54q32 -38 36 -45q53 13 65 89q0 -3 7 148q32 -18 69 -96q41 -88 41 -125v-6q-1 -10 -58 -76q-46 -53 -59 -72v-385q-3 -14 -58 -69q-52 -51 -69 -52v503q-2 8 -62 92q-66 93 -65 90z" horiz-adv-x="1593" unicode="Y"/><glyph d="M87 717q0 -297 210 -507t507 -210q296 0 506 210t210 507q0 296 -210 506t-506 210q-297 0 -507 -210t-210 -506zM238 605q23 38 58 99q37 65 59 101q53 89 55 100q3 22 0 60q-5 44 -4 63q-33 -11 -58 -56q-34 -60 -45 -71q-30 -5 -60 -5l-60 5q72 267 344 396 q11 -12 12 -41q0 -9 -1 -26q-1 -19 -1 -26v-103q0 -183 -3 -200q-2 -6 -55 -100q-10 -16 -54 -94q-31 -55 -57 -98q-50 -87 -51 -100v-5q0 -60 86 -136q7 17 5 63v20q0 32 5 48q15 1 56 0q23 0 39 -0.5t26 0.5q4 -109 4 -193q0 -121 -8 -189q-181 73 -292 258 q-55 91 -55 126q0 14 55 104zM606 93q-3 29 -3 59q0 66 16 139q8 36 24 90q22 76 25 87q90 334 165 633q27 107 24 127q-28 12 -59 12t-65 -12q-4 -35 -4 -102q0 -27 1 -58v-35q0 -84 -4 -125q-3 0 -62 -1q-43 -1 -58 4q-4 104 -4 209.5t4 210.5q79 25 192 25 q116 -1 189 -28q5 -35 5 -73q0 -64 -15 -133q-8 -35 -25 -93q-20 -68 -26 -93q-5 -18 -98 -372q-60 -225 -92 -371q13 -16 57 -16q34 1 64 9q7 41 7 121v38q-1 34 -1 62q0 70 4 102q30 5 60.5 5t63.5 -5q4 -105 4.5 -210t-4.5 -210q-77 -31 -195 -31h-7q-117 0 -183 35z M1059 309q1 162 1 197q27 48 81 143q68 119 87 152q52 92 52 102q0 28 -29 71q-26 39 -50 58q-17 -10 -15 -56q1 -21 1 -36q0 -25 -3 -32q-30 -5 -60.5 -5t-60.5 5q-4 98 -4.5 195t4.5 194q192 -79 289 -241q65 -110 65 -149q0 -12 -55 -106q-20 -34 -60 -97 q-38 -60 -60 -99q-54 -93 -55 -99v1q2 0 3 -136q25 19 53 67q30 54 47 71q10 -1 62 0q39 1 59 -3q-80 -269 -348 -389q-4 59 -4 153v39z" horiz-adv-x="1620" unicode="Z"/><glyph horiz-adv-x="758" unicode="["/><glyph horiz-adv-x="569" unicode="\"/><glyph horiz-adv-x="758" unicode="]"/><glyph horiz-adv-x="1014" unicode="^"/><glyph horiz-adv-x="1024" unicode="_"/><glyph horiz-adv-x="1024" unicode="`"/><glyph d="M66 771q-2 -28 -2 -56q0 -229 134 -417q52 -74 80 -80q-4 21 -4 54q0 23 2 52t2 52q0 33 -4 54q-3 13 -41 96q-20 42 -20 76q0 15 4 29q50 6 83 5.5t50 -5.5q4 -86 4 -245q1 -177 3 -247q74 -60 133 -76q4 204 4 515v128q-1 531 -1 648q-2 0 -4 2t-3 2 q-156 -53 -279 -219q-128 -174 -141 -368zM213 790q36 190 129 276q13 -12 13 -42q1 -9 -1 -26q-1 -18 -1 -26q0 -177 -3 -194q-115 4 -137 12zM562 1396q-4 -202 -4 -487q0 -370 7 -880q56 -29 106 -29q14 0 27 2q4 61 4 184q0 61 -1 137v67q0 161 8 249q2 0 19 -0.5 t50 0.5h10q42 0 58 -8q4 -71 4 -201q0 -52 -1 -113v-68q0 -163 4 -247q16 -2 30 -2q64 0 103 33q4 340 4.5 679.5t-4.5 679.5q-76 39 -210 39h-7q-127 0 -207 -35zM706 786q-5 122 -5 244.5t5 244.5q3 8 11 11q9 0 65 1q39 0 60 -5q10 -126 10 -251t-10 -249h-34 q-78 0 -102 4zM1061 704v-128q0 -309 4 -513q85 22 140 83q1 22 1 84t-1 165v49q0 119 8 191q-5 0 69 1h6q44 0 58 -13q1 -6 1 -13q0 -41 -26 -94q-36 -76 -40 -97q-3 -18 -3 -45q0 -22 2 -50q3 -38 3 -67q0 -23 -2 -39q30 11 80 80q117 161 132 371q2 29 2 57 q0 211 -118 381q-114 164 -308 255q-8 -3 -7 -12q0 -116 -1 -646zM1209 778q-5 74 -5 147t5 145h8q119 -137 121 -288q-8 1 -20 1q-18 0 -45 -2q-36 -2 -54 -2q-6 -1 -10 -1z" horiz-adv-x="1558" unicode="a"/><glyph d="M71 713q-1 -230 121 -404q112 -161 306 -245q4 44 4 245v253q-5 20 -46 75q-38 51 -37 76q0 28 38 75q40 50 45 76v381q0 99 -12 117h-3q-184 -94 -291 -246q-123 -175 -125 -403zM222 626q0 9 12 16h14q35 0 57 -4q4 -8 30 -33q22 -22 27 -43q0 -1 -8 -219 q-113 94 -132 283zM222 785q5 152 125 283h4q13 -13 13 -45q0 -9 -1 -28q-1 -20 -1 -29v-109q-50 -67 -60 -76q-61 5 -76 5q-5 0 -5 -1h1zM585 34q90 -34 205 -34h7q121 1 210 38v528q-6 29 -48 75q-39 44 -42 72q6 23 46 71q38 46 44 80v264q0 220 -3 265q-106 38 -213 38 q-103 0 -206 -35q-5 -340 -5 -681t5 -681zM721 143q2 437 7 491q20 9 40 9q55 0 100 -73v-73v-143v-43q0 -103 -4 -168q-38 -14 -74 -14t-69 14zM724 789q-5 122 -5 243.5t5 243.5q27 11 70 11q44 0 70 -11q4 -34 4 -208q0 -19 5 -109q2 -29 2 -51q0 -27 -3 -44 q-5 -24 -29 -48q-34 -32 -36 -35q-85 9 -83 8zM1079 1347q4 -528 4 -1064v-215q133 44 257 189q59 69 90 135q57 123 57 167q0 25 -34 78q-30 46 -30 74q0 29 31 77q33 52 33 75q0 50 -68 179q-132 248 -332 317q-8 -3 -8 -12zM1219 491q-1 27 -1 51q0 56 5 92q2 2 79 8 q41 -29 41 -80t-41 -124q-47 -83 -78 -83h-1q0 13 -4 136zM1223 785q-6 71 -5.5 142t5.5 141h7q57 -42 94 -129q20 -46 20 -80q0 -46 -35 -74q-24 -6 -45.5 -6t-40.5 6z" horiz-adv-x="1558" unicode="b"/><glyph d="M76 781q-2 -31 -2 -62q0 -221 109 -389q111 -171 320 -267q4 128 4.5 235.5t-4.5 195.5q-35 6 -70 6l-70 -6q-1 -7 -1 -20q0 -22 3 -64q1 -12 1 -22q0 -33 -10 -45q-108 95 -132 253q-10 63 -10 121q0 156 70 279q41 72 76 83q4 -10 4 -36q0 -15 -1 -36q-1 -12 -1 -22 q0 -38 9 -53q15 -3 36 -3q38 0 96 10q5 108 5 214.5t-5 212.5q-2 0 -4 1q-2 2 -4 3q-171 -84 -280 -226q-125 -162 -139 -363zM582 37q83 -37 211 -37t212 37q5 114 5 228.5t-5 228.5q-34 6 -68 6l-68 -6q-4 -46 -4 -138v-38q0 -71 0.5 -113.5t-0.5 -57.5q-27 -16 -73 -16 q-49 0 -70 19v109q0 149 -1 460q0 349 5 564q39 12 73.5 12t65.5 -12q5 -53 5 -144v-32q-1 -94 -1 -139v-33q20 -6 54 -5.5t82 5.5q2 42 2.5 157.5t-2.5 303.5q-83 36 -210 37h-7q-122 0 -206 -33q-4 -341 -4 -682t4 -681zM1084 71q288 105 385 419q-36 6 -71.5 6t-71.5 -6 v1q1 0 -43 -86q-26 -51 -59 -58q-4 112 -4 645q0 6 -1 22q-1 14 -1 22q1 26 13 39q26 -19 53 -69q30 -57 46 -74q46 -6 78 -6q40 0 61 9q-94 308 -381 427q0 -2 -2 -5t-2 -6v-1280z" horiz-adv-x="1539" unicode="c"/><glyph d="M67 981q22 -32 24 -111q0 -14 0.5 -32.5t-0.5 -42.5q-1 -61 -1 -82v-214q-2 -9 -11 -28q-8 -16 -8 -25q0 -15 68 -120q121 -191 305 -260q4 252 4 577t-4 722q-2 0 -4 2q-3 2 -4 2q-267 -138 -369 -388zM229 431q-3 13 -3 58q0 72 7 224v32q0 35 -1 85q-1 38 -1 64t1 41 q4 110 57 144q17 2 20 -22v-25q-1 -21 -1 -29q1 -89 1 -191q0 -205 -5 -464q-21 -2 -45 26q-24 26 -30 57zM519 1263q29 -10 32 -59q1 -16 0 -47q-2 -39 -2 -52q0 -762 4 -915q-31 -6 -32 -59q0 -10 2 -47q2 -29 0 -45q84 -39 212 -39q131 1 210 43q4 266 4 680 q-1 688 -1 676q-86 33 -213 34h-7q-126 0 -205 -34q0 -5 -0.5 -22.5t0.5 -47.5v-14q0 -33 -4 -52zM685 1162q0 109 11 131q30 6 53 6q38 0 56 -17q-1 -47 -1 -119q0 -162 6 -450q3 -134 3 -247q0 -193 -8 -321q-35 -11 -64 -11t-53 11q-3 179 -3 1017zM1019 129q5 -54 5 -60 q178 86 285 225q122 157 137 363q2 29 2 58q0 216 -113 389q-114 173 -308 261q-7 -2 -7 -11q1 -9 1 -22q0 -17 -2 -42q-2 -19 -2 -33q0 -18 3 -31q2 -10 14 -27q11 -17 12 -26q0 1 -4 -113v-584v-233q-1 -9 -11 -25q-9 -15 -11 -24q-3 -15 -3 -33q0 -15 2 -32zM1178 1037 q4 6 4 12h7q118 -95 118 -331q-1 -240 -114 -344q-13 12 -13 36q0 7 1 21q1 13 1 19q0 483 -4 587z" horiz-adv-x="1526" unicode="d"/><glyph d="M72 653q17 -205 135 -363q108 -145 284 -227q5 106 5 212.5t-5 213.5q-32 6 -63.5 5.5t-63.5 -5.5q-7 -15 -7 -48q0 -11 1 -24v-21q0 -35 -5 -49q-40 16 -90 123q-46 97 -46 155q0 7 1 13q14 8 62 5q18 -1 32 -1q25 0 37 4q5 34 5 81q0 23 -1 50q-11 8 -44 8 q-10 0 -22 -1q-11 -1 -20 -1q-34 0 -45 9q1 67 45 161q48 103 89 115q1 -6 1 -22t-1 -43v-22q0 -31 4 -47q32 -6 66 -6t69 6q-1 15 -1 54q0 58 2 167v24q0 119 -9 188h-4q-171 -94 -275 -235q-120 -163 -136 -370q-2 -28 -2 -55.5t2 -53.5zM577 29q85 -29 201 -29h8 q121 1 206 33q5 114 5 228.5t-5 227.5q-67 6 -104 6q-20 0 -31 -2q-4 -36 -4 -105q0 -35 1 -78q1 -37 1 -67q0 -69 -5 -98q-33 -9 -75 -9q-49 1 -67 16v247q0 201 11 239q14 3 62 3q48 1 69 5q5 42 5 73q0 41 -9 62q-14 4 -44 4q-12 0 -27 -1q-50 -2 -63 4q-5 122 -5 245 t5 245q28 12 71 12h7q54 0 71 -20q-6 -85 -5.5 -169t5.5 -167q34 -6 67 -6t64 6q4 70 5 180q0 22 -1 46v152v78q-81 39 -210 41h-12q-126 0 -197 -41q-5 -340 -5 -680.5t5 -680.5zM1070 66q284 118 382 427q-19 4 -53 4h-14q-60 -1 -72 -1q-4 -5 -42 -84q-25 -52 -58 -69 q-6 107 -6 182t6 117h21h44h15q36 0 54 4q6 34 5.5 65.5t-5.5 61.5q-17 11 -62 11h-8h-25q-33 0 -43 4q4 267 7 284h-1t-1 -1q0 -10 99 -137q34 -6 68.5 -6t70.5 6q-89 305 -382 430q-4 -324 -4 -649t4 -649z" horiz-adv-x="1531" unicode="e"/><glyph d="M69 762q-1 -24 -1 -47q0 -231 133 -415q98 -135 189 -178v10q0 25 7 69q4 25 4 44q0 17 -3 29q1 -4 -61 75q-111 144 -121 288q16 4 52 4h16q12 -1 23 -1q32 0 46 5q-1 5 -1 22t1 46v13q0 33 -4 51q-16 4 -55 4h-17q-47 0 -61 7v5q0 64 46 158q52 107 94 125q5 -23 5 -68 q-1 -62 -1 -72q18 -4 52 -4h14h47h23q4 56 4 333q0 89 -11 102h-4q-174 -83 -284 -234q-121 -167 -132 -371zM576 31q52 -31 116 -31q12 0 24 1v326q0 262 11 314q131 0 129 0q10 37 10 76q0 29 -6 60q-17 8 -54 8h-16q-30 -1 -47.5 -1t-22.5 1q-4 159 -4 273q0 152 7 226 q29 9 71 9q46 0 66 -13q4 -44 4 -136v-38q-1 -34 -1 -63q0 -72 4 -111h137q4 71 4 183v46q-1 192 -1 233q-79 36 -216 37h-7q-135 0 -208 -37v-1363zM1079 708v-128q0 -310 4 -515q124 44 136 88v121q0 308 8 363h70h14q34 0 52 4q5 44 5 76q0 43 -9 64q-7 1 -25 1t-45 -1 q-17 -1 -30 -1q-25 0 -36 5q-4 24 -4 151q0 124 12 144q35 -25 94 -148h24.5h48.5h14q34 0 53 4q-86 286 -374 431q-9 -3 -12 -11q1 -58 1 -220t-1 -428z" horiz-adv-x="1550" unicode="f"/><glyph d="M73 659q17 -208 137 -367q111 -147 290 -231q4 180 4 359.5t-4 359.5q-110 5 -166 5q-35 0 -50 -2q-6 -34 -6 -68t6 -68q8 -4 40 -3q29 1 36 -8v-151q0 -124 -8 -136q-101 77 -127 257q-8 52 -8 101q0 115 41 216q49 124 98 148q4 -19 4 -52v-14v-47v-23q42 -6 75 -6 q40 0 65 9q3 55 3 329q0 88 -11 102h-4q-252 -129 -355 -366q-63 -144 -63 -287q0 -28 3 -57zM579 35q83 -35 208 -35h7q137 1 208 43q5 185 5 370t-5 370q-52 5 -104.5 5t-106.5 -5q-5 -34 -5 -68t5 -68q7 -4 38 -3q27 0 33 -8q0 -44 1 -248v-49q0 -119 -4 -194 q-28 -9 -64 -9h-13q-50 2 -67 20q1 51 1 192.5t-1 372.5v112q0 271 4 449q21 17 70 17h5q53 -2 72 -21q1 -21 1 -53q0 -47 -2 -120q-1 -47 -1 -85q0 -49 2 -82q34 -6 68 -6l68 6q4 69 4 166q0 126 -7 299q-88 30 -210 30q-124 0 -210 -30q-5 -342 -5 -684t5 -684zM1078 69 q63 14 159 91q130 104 199 251q67 142 67 309q0 30 -2 60q-51 5 -102 5l-102 -5q-5 -34 -5 -67t5 -66q6 -4 36 -3q26 0 28 -12q-3 -68 -49 -162q-52 -108 -90 -125q-5 182 -5 333q0 239 12 400q33 -14 57 -65q31 -64 45 -78q17 -2 41 -2q37 0 91 5q-92 303 -378 427 q-7 -2 -7 -11v-1285z" horiz-adv-x="1571" unicode="g"/><glyph d="M86 850q-11 -66 -11 -130q0 -223 136 -416q56 -80 84 -91q-2 18 -2 42q0 29 3 69q3 30 3 54q0 28 -4 47q-3 12 -47 102q-23 47 -23 83q0 17 5 31q46 6 78 6q40 0 59 -9q2 -24 1.5 -147.5t-1.5 -346.5q74 -66 140 -83q1 244 0 460q0 502 -4 845q-2 0 -4 2t-3 2 q-107 -58 -126 -79q-10 -496 -11 -501q-101 4 -128 4q-11 0 -9 -1q16 99 38 148q4 8 20 31q12 18 15 30q4 19 4 48q0 25 -3 57q-3 41 -3 71q0 25 2 44q-19 -1 -37 -22q-5 -7 -14 -20q-10 -13 -14 -18q-117 -147 -144 -312zM583 34q61 -34 140 -34q-1 39 -1 87q0 97 4 234 q6 251 5 317q46 5 79 5q44 0 65 -9q0 -28 0.5 -108t-0.5 -210v-63q0 -152 4 -249q18 -2 34 -2q60 0 99 32q4 217 5 544q0 65 -1 135v451v233q-61 31 -116 31q-11 0 -21 -1q-4 -61 -4 -184q0 -62 1 -139v-68q0 -162 -8 -250q-46 -6 -78 -6q-43 0 -63 10q-5 56 -5 143 q0 78 4 182q3 91 3 161q0 97 -6 155q-79 -4 -136 -30q-4 -217 -4 -545v-136v-452.5v-233.5zM1087 706q-1 -179 -1 -322q0 -191 2 -319q38 8 79 29q53 27 61 54v121q0 313 8 369q44 5 75 5q43 0 62 -9q1 -7 1 -14q0 -43 -26 -97q-37 -77 -40 -90q-4 -19 -4 -47q0 -24 3 -56 q3 -40 3 -71q0 -25 -2 -43q21 5 65 65q103 142 132 277q17 78 17 154q0 167 -81 328q-63 125 -129 171q2 -14 2 -35q0 -32 -4 -81q-2 -32 -2 -56q0 -34 4 -52q3 -15 41 -97q19 -42 19 -77q0 -14 -3 -27q-44 -6 -76 -6q-41 0 -61 10q-4 77 -4 198v50q0 104 0.5 167t-0.5 86 q-54 55 -133 75q-7 -2 -7 -11q1 -79 1 -198q0 -180 -2 -451z" horiz-adv-x="1598" unicode="h"/><glyph d="M61 489q99 -312 390 -424q4 19 4 54v14q-1 61 -1 72q-7 10 -38 30q-28 17 -34 35v888q9 19 33 36q33 23 39 29q-15 106 -15 136q0 12 3 12q1 0 1 -1h-4q-137 -66 -238 -181q-116 -132 -140 -258h5q16 0 63 -5q18 -2 32 -2q20 0 32 4q13 4 24 25q8 16 22 12 q5 -98 5 -205.5t-5 -225.5q0 -5 1 -19t1 -21q-1 -27 -14 -35q-8 2 -15 18q-7 17 -15 20q-5 0 -23 -0.5t-50 0.5h-14q-34 0 -49 -8zM530 39q82 -39 210 -39q123 0 213 35q6 37 6 72t-6 68q-14 -2 -67 -20q-33 -11 -56 -11q-7 0 -13 1q-7 174 -7 1006q0 113 11 136 q4 0 136 -34q4 48 3.5 85.5t-3.5 65.5q-90 29 -212 29t-211 -29q1 4 -4 -147q147 25 144 26q-1 -39 -1 -138q0 -149 2 -434v-64q0 -315 -9 -506q-5 -1 -11 -1q-24 0 -57 11q-60 19 -68 20v-132zM1029 135v-14q0 -34 4 -52q284 121 382 424q-15 4 -49 4h-15q-13 -1 -24 -1 q-28 0 -41 4q-9 -1 -15 -19q-6 -16 -19 -15q-10 124 -10.5 248t10.5 248q10 -2 17 -14q7 -13 17 -17q2 0 35 -0.5t98 0.5q-40 143 -146 263q-107 120 -240 172q-2 -28 -2.5 -66t2.5 -85q7 -9 40 -30q27 -16 32 -34v-878q-10 -18 -35 -37q-36 -25 -41 -31v-23v-47z" horiz-adv-x="1491" unicode="i"/><glyph d="M56 564q68 -353 405 -499q4 217 4 1234q0 3 1 17q2 12 2 20q-1 24 -18 31q-94 -42 -122 -76v-88q0 -123 1 -385v-96q0 -230 -8 -373q-37 15 -80 94q-9 17 -25 62q-15 40 -28 59q-32 6 -65 6t-67 -6zM540 38q78 -38 212 -38q130 0 216 34q5 342 5 684t-5 683 q-52 26 -129 30q-3 -1 -4 -5q-2 -5 -3 -6v-123q0 -168 1 -520v-71q0 -346 -9 -562q-27 -9 -72 -9q-49 0 -68 13q-4 55 -4 164v46q1 41 1 76q0 87 -4 134q-34 6 -66.5 6t-62.5 -6q-6 -189 -8 -530zM1044 568q-4 -152 -4 -263q0 -160 8 -236q139 53 242 170q97 110 110 182 v594q-6 38 -62 110q-45 57 -78 86v-383v-392q2 3 -30 -52q-18 -31 -46 -35q-4 23 -4 72v35v36q0 49 -4 72q-54 8 -90 8q-25 0 -42 -4z" horiz-adv-x="1459" unicode="j"/><glyph d="M73 794q-6 -43 -6 -86q0 -113 40 -228q47 -137 129 -232q35 -41 53 -42q-5 20 -5 52q0 24 3 56q2 31 2 54q0 32 -4 50q-2 12 -46 104q-22 46 -22 85q0 16 4 31q11 -1 44 3q26 2 39 -3q15 -6 36 -37q21 -32 25 -54q3 -16 3 -41q0 -21 -2 -48q-5 -86 -5 -108v-208 q61 -62 137 -80q4 37 4 96v24q-1 67 -1 100v26q5 154 5 214q0 30 -1 37q-6 30 -45 80q-38 48 -42 75q5 22 42 68q35 45 41 76v254q0 208 -3 250q-3 0 -4 2q-3 2 -4 2q-84 -37 -129 -79q0 -314 4 -425q-20 -47 -55 -69q-24 -15 -51 -15q-20 0 -42 8q-2 11 -2 23q0 41 24 90 q39 81 42 99q3 17 3 47q0 24 -2 57q-2 27 -2 49q0 36 5 60q-14 2 -41 -31q-141 -168 -171 -386zM577 32q60 -28 137 -31q3 99 3 318q1 215 4 315q-2 -1 84 8q61 -33 66 -143q1 -12 1 -28q0 -31 -3 -77q-4 -81 -4 -112q0 -234 4 -281q8 -1 16 -1q42 0 113 28q8 58 8 156v41 q-1 81 -1 132t1 73q4 82 4 113q0 16 -1 19q-6 30 -48 78q-39 46 -43 74q14 27 44 72q31 49 44 72v92v180v54q0 130 -4 213q-51 32 -106 32q-14 0 -27 -2q-4 -45 -4 -281v-284q-6 -28 -64 -83q-9 3 -43 0q-28 -2 -37 11q-4 144 -4 345q0 81 1 171q0 11 2 38q2 26 2 39 q0 43 -20 48h-3q-20 0 -122 -34q-4 -342 -4 -683t4 -682zM1085 66q88 16 133 79q4 68 4 190v51v165v80q19 10 38 10q25 0 49 -17q37 -27 42 -65v-7q0 -27 -20 -59q-29 -44 -33 -67q-5 -22 -5 -52q0 -23 3 -51q4 -39 4 -67q0 -20 -2 -35q19 3 37 24q6 6 14 18q10 15 13 19 q24 31 53 83q76 137 76 189q0 29 -46 86q-43 51 -41 78l45 68q42 62 42 81q0 51 -76 185q-71 124 -117 151q2 -14 2 -35q0 -29 -4 -71q-3 -29 -3 -53q0 -32 5 -53q4 -22 30 -63q19 -29 19 -55v-7q-4 -40 -37 -66q-23 -18 -50 -18q-18 0 -38 8v96.5v148.5q0 86 0.5 148.5 t-0.5 103.5q-62 50 -137 75q-4 -324 -4 -648t4 -648z" horiz-adv-x="1558" unicode="k"/><glyph d="M74 776q0 -151 4 -246q0 -12 -2 -63q-2 -40 2 -58q4 -19 64 -106q124 -178 288 -231q5 124 5 249t-5 251q-35 6 -68.5 6t-64.5 -6q-4 -19 -4 -63q0 -22 1 -49v-24q0 -58 -8 -84q-57 20 -69 104q-3 24 -3 180q0 490 -8 579q-121 -139 -132 -193v-246zM505 38 q78 -38 212 -38q131 0 216 35q4 69 4 171q0 147 -8 362q-35 6 -68 6t-64 -6q-5 -50 -5 -146q0 -32 1 -68q1 -37 1 -68q0 -95 -5 -145q-44 -6 -77 -6q-40 0 -63 9q-4 127 -4 372q0 123 1 275q1 90 1 171q0 297 -9 469q-81 -4 -129 -30q-4 -217 -4 -544v-135v-451v-233z M1008 710v-111q0 -323 5 -534q328 156 404 499q-60 8 -136 8q-52 -132 -72 -163q-35 -56 -60 -57q-5 178 -5 469q1 259 1 384v90q-47 47 -129 75q-7 -2 -7 -11q0 -117 -1 -649z" horiz-adv-x="1491" unicode="l"/><glyph d="M91 678q12 -160 84 -296q57 -109 129 -172q-2 18 -2 44q0 30 3 71q3 33 3 59q0 30 -4 51q-3 15 -16 43q-14 33 -18 44q-34 102 -34 203q0 30 3 60q5 47 15 53q17 -8 30 -43q12 -36 28 -44q5 9 29 76q17 47 39 65q9 -126 9 -333v-42q-2 -188 -2 -287q0 -66 1 -92 q48 -59 129 -84q8 1029 8 1241q0 5 1 18t1 20q-1 23 -14 34h-4q-13 -7 -35 -17q-30 -12 -36 -14q-40 -19 -54 -49q-11 -23 -20 -72q-12 -69 -14 -80q-30 -121 -46 -141q-17 17 -39 68q-22 48 -41 66q-135 -196 -135 -401q0 -24 2 -49zM605 28q55 -28 109 -28q10 0 20 1 q4 172 4 978q0 111 7 126q8 -8 35 -95q28 -97 30 -103q9 8 38 103q26 83 46 95q4 -150 4 -433v-119q-1 -106 -1 -197q0 -227 4 -355h9q79 0 121 34q3 152 3 378q0 136 -1 299q-3 302 -3 493q0 115 1 189q-32 26 -130 38q-15 -24 -40 -103q-22 -68 -47 -95q-15 11 -44 106 q-26 88 -51 92q-7 1 -15 1q-44 0 -99 -35q-5 -342 -5 -685t5 -685zM1102 702v-71q0 -349 9 -573q118 47 129 88v666q0 75 11 87q15 -18 33 -74q17 -52 36 -70q8 8 23 46q12 30 30 37q17 -62 17 -129q0 -79 -24 -164q-5 -16 -23 -56q-16 -35 -19 -54q-4 -21 -4 -51 q0 -25 3 -57q3 -41 3 -71q0 -24 -2 -42q67 52 133 194q80 173 80 332q0 99 -31 193q-10 20 -24 53q-18 44 -23 54q-29 63 -67 88q-82 -134 -76 -130q-20 51 -41 144q-27 123 -35 149q-53 58 -133 76q0 -2 -3 -5q-2 -3 -1 -6v-113q0 -166 -1 -541z" horiz-adv-x="1641" unicode="m"/><glyph d="M85 846q-12 -65 -12 -130q0 -97 27 -194q41 -148 129 -249q0 23 5 137q2 37 2 69q0 39 -3 68q-2 16 -14 75q-9 47 -9 76q0 94 26 122q18 -53 38 -163q14 -77 44 -261q26 -164 44 -256q84 -70 140 -79q4 396 4 688q0 421 -8 621h-7q-87 -35 -129 -80q1 -25 1 -63 q0 -57 -2 -144q-1 -55 -1 -98q0 -65 2 -104q1 -15 1 -27q0 -46 -9 -57q-19 58 -38 205q-3 22 -12 109q-8 67 -14 107q-160 -122 -205 -372zM578 34q59 -32 110 -32q14 0 27 2q3 84 3 489q0 135 12 156q6 -14 38 -159q104 -483 106 -490q78 8 129 30q5 342 5 684t-5 683 q-63 31 -118 31q-8 0 -15 -1q-3 -86 -3 -505q0 -15 1 -44q2 -29 2 -42q0 -46 -15 -66q-47 197 -102 498q-22 115 -42 159q-1 4 -3 4h-1q-10 -3 -65 -11q-40 -6 -60 -16q-4 -217 -4 -546v-136v-454v-234zM1087 65q129 49 140 87v341q0 89 11 103q20 -57 47 -170 q29 -121 45 -172q45 30 106 148q52 103 68 186q12 66 13 131q0 144 -62 279q-56 122 -118 167q2 -18 2 -44q0 -33 -3 -79q-2 -35 -2 -62q0 -34 3 -58q3 -23 19 -95q14 -62 15 -98q1 -16 1 -30q0 -75 -23 -88q-28 127 -64 336q-48 285 -58 340q-76 60 -140 79 q-5 -326 -5 -651t5 -650z" horiz-adv-x="1596" unicode="n"/><glyph d="M81 614q27 -197 146 -343q110 -135 278 -205v1229q0 5 1 18q1 12 1 19q0 24 -14 35h-3q-203 -102 -315 -284q-101 -164 -101 -360q0 -54 7 -109zM230 837q30 149 112 235q1 3 6 6q6 3 6 -2h7q5 -182 5 -363t-5 -363q-25 4 -46 33q0 1 -30 54q-39 71 -49 109 q-19 78 -19 158q0 66 13 133zM584 32q91 -32 212 -32q126 0 208 36q5 341 5 682.5t-5 682.5q-85 30 -204 30h-8q-126 -1 -208 -34q-4 -341 -4 -682t4 -683zM716 1236q3 39 19 48q17 8 41 8q12 0 26 -2q10 -1 32 -6q18 -4 26 -4q10 -284 10 -568t-10 -570q-42 -11 -75 -11 q-38 0 -65 14q-3 157 -3 1010q0 82 -1 82v-1zM1083 706v-128q0 -308 4 -512q153 71 259 192q113 131 150 296q18 80 18 158q0 149 -64 292q-49 111 -150 211q-99 99 -209 148q-8 -2 -8 -11v-219.5v-426.5zM1225 391q2 10 2 15q-4 446 -4 603v52q0 3 2 6t2 5h8 q66 -49 102 -153q32 -93 32 -205v-7q0 -116 -34 -211q-37 -101 -100 -146q-12 5 -12 20q0 7 2 21z" horiz-adv-x="1585" unicode="o"/><glyph d="M80 601q32 -170 122 -300q102 -148 228 -205q-2 12 -2 30q0 20 3 48q3 22 3 40q0 20 -4 34q2 -6 -87 110q-117 152 -122 278q35 4 108 4h31q28 -1 51 -1q58 0 87 4q4 111 4 643q0 5 1 21q1 14 1 22q0 27 -13 40h-4q-296 -164 -384 -406q-37 -103 -37 -217q0 -70 14 -145z M221 780q14 177 129 293q10 -17 12 -137v-36q0 -84 -4 -112l1 1q0 2 -12 2q-28 0 -126 -11zM578 28q65 -28 114 -28q10 0 19 1q7 96 7 319v42q0 181 8 274q35 4 108 4h31q28 -1 51 -1q58 0 88 4q5 189 5 378.5t-5 378.5q-81 30 -209 31h-8q-121 0 -205 -28q-4 -217 -4 -548 v-137v-455v-235zM713 1238q1 34 17 51q37 4 64 4q53 0 69 -15q5 -122 5 -244.5t-5 -245.5q-40 -6 -86 -6q-26 0 -54 2q-8 62 -8 391q0 9 -1 32q-1 20 -1 31zM1083 708v-129q0 -312 4 -517q126 48 137 87v244q0 204 4 243q35 4 108 4h31q28 -1 51 -1q58 0 87 4q2 35 2 68 q0 450 -416 658q-8 -2 -7 -11q0 -117 -1 -650zM1228 788q-6 70 -6 140.5t6 140.5q0 2 4 3q4 2 4 5q118 -117 125 -289q-61 -2 -94.5 -2t-38.5 2z" horiz-adv-x="1598" unicode="p"/><glyph d="M92 743q0 -357 254 -576q89 -77 177 -103q-3 381 -3 986v316q-2 0 -4 2q-3 2 -4 2q-178 -87 -290 -239q-130 -176 -130 -388zM243 829q25 143 118 242q0 2 4 3q3 2 3 5q3 -1 6 -4q3 -4 6 -4v-80v-152v-46q0 -110 -4 -172q-21 -1 -35 18q-17 23 -26 27q-2 -131 -3 -125 q3 -15 33 -41q29 -27 35 -46q5 -18 2 -48q-4 -36 -2 -54h-3q-24 0 -58 53q-87 133 -87 302q0 59 11 122zM595 34q82 -34 210 -34q125 0 214 30q5 343 5 685.5t-5 684.5q-85 31 -207 31h-8q-132 -1 -209 -38v-1359zM732 1275q28 14 72 15h12q38 0 63 -11q5 -217 5 -427 t-5 -413q-19 1 -35 20q-17 22 -29 25q-4 -118 -4 -117q5 -22 35 -49q32 -27 37 -42q-1 -6 -1 -23t1 -45v-14q0 -32 -4 -50q-25 -12 -70 -12q-43 1 -70 12q-4 155 -4 444v121v145q0 275 -3 421zM1102 68q78 19 186 117q243 223 243 524q0 42 -5 86q-22 207 -162 382 q-96 119 -250 185q1 4 -2 4q-1 0 -3 -1q-6 -4 -7 -6v-1291zM1246 1063h8q78 -80 115 -197q23 -71 23 -137q0 -62 -21 -120q-17 -1 -38 22q-25 27 -38 31q-5 -20 -4 -62q1 -55 1 -66q4 -14 23 -31q18 -17 18 -34q0 -46 -83 -117q-8 109 -8 338q0 158 4 373z" horiz-adv-x="1609" unicode="q"/><glyph d="M80 677q16 -242 175 -435q2 -2 8 -12q6 -8 10 -13q13 -14 27 -13q-1 15 -1 39q0 33 2 85q1 14 1 26q0 50 -10 81q1 -1 -43 99q-22 49 -21 91v15h3q12 0 77 3q58 -83 60 -83v1v-9q0 -34 4 -200v-48v-64v-62v-42q67 -60 136 -72q4 43 4 246v254q-6 31 -45 78q-38 48 -42 73 q5 22 43 69q37 46 44 79v450q0 3 1 14t1 17q-1 20 -17 22q-191 -86 -306 -263q-112 -174 -112 -379q0 -24 1 -47zM228 787q12 163 129 288q2 -1 5 -4t6 -4q0 -9 1 -86v-25q0 -35 -2 -58q-8 -90 -56 -115q-71 4 -81 4h-2zM588 1393q-2 -97 -2 -320q0 -357 5 -1039 q60 -32 108 -32q13 0 25 2q4 84 4 249v69q-1 62 -1 114q0 131 4 204q20 6 38 6q30 0 58 -17q39 -24 48 -65v-284q0 -239 4 -280q72 0 132 34q4 47 4 265v269q-4 19 -47 72q-40 50 -40 75q0 6 42 72q40 64 41 72q1 4 4 129q1 49 1 123v81q-1 93 -1 153v52q-88 35 -216 36h-6 q-130 0 -205 -40zM731 787q-5 124 -5 246.5t5 245.5q23 12 69 13h8q39 0 63 -9q4 -34 4 -212q0 -166 -1 -177q-9 -84 -59 -111q-72 4 -82 4h-2zM1086 707v-71q0 -348 9 -572q79 26 136 80q0 22 0.5 84.5t-0.5 165.5v50q0 120 4 196q24 6 45.5 6t41.5 -6q31 -30 31 -70 q0 -18 -6 -37q-2 -5 -22 -56q-15 -35 -18 -61q-2 -17 -2.5 -41.5t2.5 -55.5q2 -32 2 -56.5t-2 -42.5q19 3 37 25q5 6 14 19q9 14 13 20q47 61 57 79q68 126 68 194v11q-2 25 -34 75q-31 47 -30 72q0 27 32 74q34 49 36 70v6q0 42 -46 142q-122 263 -363 363q0 -2 -2 -5 t-2 -6v-112q0 -165 -1 -540zM1235 783q-6 73 -5.5 146t5.5 146h7q64 -57 94 -133q16 -40 16 -74q0 -49 -34 -85q-45 1 -66 1q-18 0 -18 -1h1z" horiz-adv-x="1577" unicode="r"/><glyph d="M89 650q26 -5 85 -5q25 0 57 1q21 1 39 1q66 0 99 -9q3 -23 3 -144q0 -117 -11 -136q-33 11 -57 59q-30 62 -41 74q-32 6 -67.5 5.5t-72.5 -5.5q31 -128 151 -258q124 -134 235 -166q5 178 5 355.5t-5 355.5q-22 4 -75 4q-30 0 -70 -1h-31q-73 0 -104 12q0 79 41 163 q48 97 99 118q4 -17 4 -54v-16q-1 -15 -1 -27q0 -30 4 -43q36 -6 70 -6t67 6v355q0 6 1 21q1 14 1 22q-1 26 -14 37q-204 -111 -305 -266q-109 -166 -109 -396q0 -28 2 -57zM588 494q-4 -130 -4 -231q0 -142 8 -227q81 -36 203 -36h7q123 1 210 36q5 187 5 373.5t-5 372.5 l-94 4q-167 6 -190 15v81.5v168.5v52q0 125 4 194q25 12 64 12h11q49 -2 69 -20v-59.5v-118.5v-35q0 -85 4 -139q33 -5 66 -5l66 5q5 116 5 232.5t-5 233.5q-90 29 -212 30h-8q-122 0 -204 -30q-2 -67 -2 -189q0 -204 6 -564q28 -4 95 -4h48q21 1 39 1q66 0 98 -9 q4 -103 4 -200q0 -158 -11 -300q-33 -12 -75 -13h-4q-46 0 -58 21q-4 8 -4 69q0 35 1 86q2 94 2 143t-2 54q-42 6 -74 6q-41 0 -63 -10zM1096 67q205 95 312 262q106 165 106 386q0 33 -2 67h-26q-37 0 -117 -1h-16q-76 0 -117 9v147q0 127 7 140q30 -17 55 -66 q32 -64 44 -77q33 -6 67 -6t69 6q-74 300 -382 435q-5 -182 -5 -363.5t5 -363.5h24q35 0 114 1h28q73 0 110 -9q-15 -193 -132 -284q-6 11 -6 41q0 11 1 25q1 18 1 33q0 29 -4 42q-36 6 -70 5.5t-66 -5.5q-5 -106 -5 -212t5 -212z" horiz-adv-x="1604" unicode="s"/><glyph d="M49 937q20 -4 55 -4h15q31 0 49.5 0.5t24.5 -0.5q8 4 15 26q7 20 23 19v-583q0 -187 4 -196q11 -31 59 -59q14 -8 41 -21q26 -13 36 -19q0 97 -1 538v92q0 268 5 442q7 13 30 24q27 13 34 21q0 11 3 40q2 31 3 46v6q0 52 -17 67q-293 -147 -379 -439zM518 1259h2 q16 0 62 17q30 12 53 12q11 0 20 -3q4 -173 4 -501v-137q-1 -123 -1 -228q0 -262 4 -410q19 -9 60 -9q30 0 73 5q3 178 7 647q3 418 8 629q-6 -1 133 -26q6 38 5.5 75.5t-5.5 75.5q-89 27 -211 27t-210 -27q-4 -20 -4 -56v-15v-51v-25zM1018 1217q8 -7 39 -23q24 -13 29 -30 v-133q0 -510 8 -927q12 8 37 21q28 15 40 22q47 28 59 67q-2 -6 -4 117q-2 116 -2 219q0 242 10 421q15 1 22 -18q7 -21 16 -24q116 1 140 8q-101 316 -390 435v-18q0 -48 -4 -137z" horiz-adv-x="1478" unicode="t"/><glyph d="M83 808q-7 -50 -7 -99q0 -109 36 -217q45 -134 129 -232q98 -112 132 -113q25 0 70 32q52 36 62 40v1084q0 3 2 15q1 12 1 18q-1 22 -14 31q-89 -40 -124 -79v-831q0 -8 1 -27q1 -18 1 -27q0 -31 -18 -44q-43 24 -83 124q-49 124 -49 245q0 35 4 69q5 41 34 108 q30 70 34 96q4 20 4 47t-4 62q-4 57 -4 86v16q-57 -36 -128 -174q-64 -123 -79 -230zM589 34q83 -34 206 -34h7q128 1 209 38q5 340 5 679.5t-5 679.5q-40 26 -135 34q-4 -159 -4 -443v-203v-203q0 -284 -4 -442q-36 -12 -77 -12q-49 2 -67 23q-4 121 -4 365q0 122 1 274 q1 91 1 172q0 298 -9 469h-7q-11 -5 -64 -14q-40 -7 -53 -24q-5 -339 -5 -679t5 -680zM1087 219q137 -70 137 -76h-1q12 1 75 65q200 199 219 445q2 30 3 59q0 251 -176 466q-28 34 -42 30q2 -14 2 -37q0 -28 -3 -68q-2 -34 -2 -59q0 -31 3 -51q5 -27 30 -82t31 -88 q10 -53 10 -106q0 -127 -56 -253q-39 -89 -75 -105q-16 31 -16 83v6q0 14 2 50q3 34 2 53q0 93 -4 293q-3 190 -3 300v140q-11 27 -59 50q-70 34 -69 33q-8 -3 -8 -12v-1136z" horiz-adv-x="1593" unicode="u"/><glyph d="M82 818q-11 -63 -11 -124q0 -190 104 -357q123 -197 331 -280v1311q-2 0 -4 1q-3 2 -4 3q-103 -52 -130 -84v-40q0 -120 4 -442q1 -74 1 -141q0 -200 -9 -333q-48 36 -91 138q-53 126 -54 249q0 46 8 91q6 36 36 105q30 66 33 97q1 12 1 27q0 31 -4 77q-5 65 -5 91v8 q-57 -41 -126 -172q-63 -120 -80 -225zM582 325q2 -6 54 -80q12 -17 83 -131q48 -76 85 -114q9 10 107 157q107 161 107 160q3 15 3 38q0 12 -1 26q-2 40 -2 60v10v947q-37 25 -138 35q-4 -134 -4 -787v-264q-23 -118 -80 -118q-1 0 -38 54q-29 42 -34 72v928q0 5 1 32 q1 24 0 38q-2 43 -21 45h-1q-20 0 -117 -31q-4 -138 -4 -806v-271zM1094 711v-131q0 -318 4 -523q102 29 210 130q192 179 214 436q3 35 3 69q0 172 -75 332q-67 140 -134 191q2 -14 2 -38q0 -29 -3 -73q-3 -35 -3 -62q0 -31 4 -52q4 -22 21 -59q20 -42 25 -60 q22 -79 26 -137q1 -16 1 -33q0 -142 -92 -292q-3 -5 -10 -19q-7 -13 -11 -20q-15 -22 -37 -22v340v363q0 223 -3 233q-11 27 -61 51q-66 30 -73 37q-3 -1 -5 -5q-2 -6 -3 -7v-221v-428z" horiz-adv-x="1587" unicode="v"/><glyph d="M75 651q16 -213 141 -350q7 11 34 72q20 45 46 61q36 -122 72 -297q64 -66 137 -76v1222q0 74 -11 87q-67 -20 -122 -80q-1 -27 -1 -94q0 -100 2 -290v-42q0 -206 -9 -331q-22 19 -39 68q-22 63 -29 77q-15 -8 -28 -47q-12 -36 -33 -41q-15 60 -15 123q0 76 22 155 q6 19 25 66q16 40 21 63q5 25 5 61q0 22 -2 49q-4 54 -4 85q0 16 1 26q-99 -106 -155 -236q-60 -138 -60 -279q0 -26 2 -52zM585 31q51 -31 121 -31h12q4 10 20 49q14 33 22 54q3 9 8 27q6 20 9 28q10 30 29 36q16 -26 40 -98q22 -68 43 -96h10q59 0 112 31q8 555 8 933 q0 261 -4 437q-87 27 -120 27q-5 0 -9 -1q-4 -134 -4 -380v-177v-175q0 -243 -4 -371q-26 26 -44 97q-21 80 -36 104q-3 -6 -30 -99q-2 -6 -7 -26q-4 -17 -7 -26q-10 -29 -28 -39q-5 108 -5 333q0 96 1 214q1 78 1 148q0 257 -9 401q-64 -2 -129 -30v-1370zM1087 715 q-1 -100 -1 -191q0 -273 5 -463q4 2 38 13q24 8 39 15q46 20 60 52q5 11 8 35q5 31 7 41q2 7 10 39q6 23 9 37q30 124 46 141q15 -18 37 -67q21 -47 39 -66q139 193 138 387q0 21 -1 43q-16 203 -137 392q-54 84 -80 91q2 -16 2 -39q0 -29 -3 -68q-2 -29 -2 -52q0 -29 3 -50 t21 -58q20 -42 25 -60q19 -68 23 -141q1 -23 1 -44q0 -75 -17 -112q-17 7 -30 41q-12 35 -27 43q-11 -16 -32 -76q-17 -51 -40 -69q-9 127 -9 336v42q2 191 2 292q0 67 -1 95q-63 65 -129 76q0 -96 -4 -655z" horiz-adv-x="1596" unicode="w"/><glyph d="M77 869q2 -22 63 -79q58 -56 58 -80q-1 -6 -57 -75q-55 -68 -57 -80v-5q0 -27 27 -100q55 -151 162 -242q-2 16 -2 40q0 29 3 69q3 32 3 57q0 29 -4 49q-3 18 -24 52q-17 28 -14 50q4 31 42 49q73 -26 75 -174q0 -27 -4 -131q-2 -36 -2 -65q0 -36 3 -60q66 -59 136 -80 q4 40 3.5 101.5t-3.5 144.5v7q0 28 5 123q2 29 2 52q0 46 -7 71q-2 5 -68 72q-65 64 -65 79q1 12 65 76q65 65 68 75v125q0 305 -4 374h-8q-9 -6 -33 -17q-28 -13 -40 -20q-48 -26 -55 -50q0 2 4 -68q1 -22 1 -56.5t-1 -80.5q-1 -49 -1 -83.5t1 -55.5q-56 -74 -76 -83 q-36 14 -36 42q0 9 4 20q3 8 17 38q12 25 15 40q4 20 4 51q0 27 -3 61q-3 43 -3 73q0 25 2 41q-98 -81 -155 -219q-44 -107 -41 -128zM560 427q0 -325 4 -393q49 -26 132 -34q4 27 4 230v254q6 23 79 79q6 -6 21 -17q15 -12 23 -18q27 -24 32 -48v-238q0 -201 4 -238 q100 5 128 34q4 68 4 389v132q-2 6 -68 76q-64 67 -68 79q54 62 68 76q70 67 72 75v132q0 74 -2 201q-2 140 -2 192q-57 33 -110 33q-15 0 -30 -3q-4 -37 -4 -241v-246q-8 -31 -75 -75q0 -1 -41 34q-26 22 -31 45v245q0 204 -4 242q-2 0 -4 2t-3 2q-79 -12 -125 -34 q-4 -68 -4 -393v-136q0 2 72 -75q51 -55 64 -84q-10 -26 -71 -74q-57 -45 -65 -77v-128zM1063 312q-1 -52 -1 -97q0 -90 4 -151q11 6 36 16q32 13 42 17q50 23 58 50v178q0 131 6 162q13 67 70 87q38 -18 38 -49q0 -9 -3 -20q-3 -9 -19 -42q-13 -27 -16 -44q-4 -19 -4 -48 q0 -25 3 -56q3 -39 3 -68q0 -24 -2 -39q76 61 121 147q69 133 69 190q0 7 -1 14q-4 20 -60 78q-53 53 -53 76q0 7 60 77q60 69 60 83q0 23 -30 102q-58 153 -166 241q2 -14 2 -37q0 -29 -3 -71q-3 -34 -3 -60q0 -31 4 -51q3 -19 24 -55q18 -32 18 -50q-5 -5 -10 -14 q-7 -12 -9 -14q-11 -15 -27 -14q-12 1 -40 34q-27 33 -32 53q-7 29 -7 80q0 42 5 99q8 91 8 135q0 20 -2 30q-25 32 -128 83q-8 -3 -12 -12v-245v-242q3 -9 68 -75q56 -57 65 -80q-19 -30 -65 -74q-50 -48 -68 -73q1 -18 1 -46q0 -71 -4 -205z" horiz-adv-x="1547" unicode="x"/><glyph d="M71 864q5 -24 61 -69q56 -44 63 -78v-219q0 -197 4 -207q4 -12 64 -71q56 -56 75 -57v54q0 89 2 225q2 140 2 227v52q3 5 72 90q63 80 67 98v234q0 188 -3 230h-8l-34 -17q-25 -11 -40 -19q-47 -27 -54 -51v-320q-65 -91 -75 -98l-41 32q-25 20 -31 43q-4 15 -4 40 q0 21 3 50q3 37 3 63q0 22 -2 36q-36 -16 -79 -114q-46 -103 -46 -143q0 -6 1 -11zM553 909q11 -19 72 -98q69 -91 71 -98v-173q0 -440 8 -528q32 -12 66 -12t69 12q4 96 4 524v177q4 14 68 98q70 91 72 98v249q0 200 -4 245q-60 27 -112 27q-10 0 -20 -1q-4 -36 -4 -226 v-234q-6 -26 -75 -97q-72 105 -72 101v354q0 8 2 29q1 19 1 29q-1 34 -18 48q-110 -21 -124 -30q-4 -76 -4 -195v-50q1 -102 1 -164.5t-1 -84.5zM1054 913q-1 3 72 -98q65 -92 68 -102v-550q19 0 75 57q60 60 64 75v422q14 21 64 79q63 73 64 83v6q0 41 -45 137 q-40 86 -75 106q-9 -165 -8 -162q-13 -84 -72 -98q-4 8 -38 49q-27 33 -33 60q0 -2 4 75v49v68q-1 41 -1 70t1 47q-46 55 -136 87q-4 -35 -4 -234v-226z" horiz-adv-x="1547" unicode="y"/><glyph d="M108 489q0 -37 61 -139q122 -204 322 -284q9 73 9 201q0 94 -5 219q-21 0 -71 1q-45 0 -62 -1q-6 -15 -6 -47q0 -12 1 -27v-19q0 -36 -6 -51q-95 84 -95 151v5q1 14 57 110q28 47 62 107q49 87 59 105q60 104 61 110q4 19 4 220v113q0 9 1 29q1 19 1 29q-1 32 -14 45 q-299 -142 -379 -436q33 -6 66.5 -6t66.5 6q12 12 49 78q28 49 65 62v-10q0 -21 3 -60q2 -20 2 -37t-2 -29q-1 -12 -60 -110q-24 -40 -65 -111q-39 -68 -64 -109q-61 -100 -61 -115zM574 39q75 -39 211 -39q129 0 214 35q5 116 5 231.5t-5 231.5q-36 6 -70 6t-66 -6 q-5 -35 -5 -110q0 -32 1 -71q1 -26 1 -49q0 -84 -9 -127q-33 -8 -71 -9q-48 0 -62 17v-1q1 0 209 820q7 27 29 102q18 65 27 103q17 78 17 150q0 40 -5 77q-81 31 -208 31q-125 0 -213 -27q-5 -116 -5 -232t5 -231q15 -5 52 -5h13q43 1 59 1h9q4 41 5 120q0 26 -1 57 q-1 30 -1 57q0 79 5 119q24 9 68 9h8q40 0 60 -9q3 -22 -26 -140q-83 -329 -182 -698q-71 -262 -71 -381q0 -18 2 -32zM1074 277v-37q0 -107 5 -174q295 132 382 428q-18 4 -50 4h-14h-45.5h-22.5q-19 -19 -53 -79q-30 -53 -57 -73q0 10 -6 74q-2 18 -2 33q0 23 4 41 q2 7 61 110q24 42 66 108q44 70 66 108q61 105 61 116q0 43 -72 164q-107 179 -318 266q-5 -106 -5 -213.5t5 -215.5q33 -5 66 -5l66 5q4 9 4 40q0 15 -1 35v10q0 42 16 52q27 -21 56 -64q31 -47 31 -77q0 -14 -56 -113q-21 -37 -97 -169q-59 -104 -89 -157q0 -38 -1 -217z" horiz-adv-x="1542" unicode="z"/><glyph horiz-adv-x="1014" unicode="{"/><glyph horiz-adv-x="1014" unicode="|"/><glyph horiz-adv-x="1014" unicode="}"/><glyph horiz-adv-x="1014" unicode="~"/><glyph horiz-adv-x="672" unicode="¡"/><glyph horiz-adv-x="1139" unicode="¢"/><glyph horiz-adv-x="1014" unicode="£"/><glyph horiz-adv-x="1014" unicode="¤"/><glyph horiz-adv-x="1262" unicode="¥"/><glyph horiz-adv-x="1014" unicode="¦"/><glyph horiz-adv-x="1014" unicode="§"/><glyph horiz-adv-x="1024" unicode="¨"/><glyph d="M172 680q0 -49 14 -49q15 0 15 24t19 24t19 9q0 10 -19 10t-19 9q0 10 24 10t24 14q0 15 -39 15q-16 0 -27 -15q-11 -14 -11 -35v-16zM186 1146q-12 -18 20 -41l60 -44q10 -7 21 -10q11 -2 22 0q10 1 20 7t17 15q6 8 9 18q1 4 2 9q1 9 9 13q4 2 8 5q8 5 14 13q7 10 10 21 q2 11 0 22q-1 10 -7 20t-15 17l-61 44q-32 23 -44 6q-13 -17 19 -41l60 -44q5 -3 6 -9t-2 -11q-4 -4 -10 -5t-10 2l-38 27q-32 24 -44 7q-13 -18 19 -41l37 -27q5 -4 6 -10t-3 -10q-3 -5 -9 -6t-11 2l-60 45q-32 23 -45 6zM258 669q0 -8 3 -15t8 -12q6 -5 13 -8t14 -3 q8 0 15 3t12 8q6 5 9 12t3 15v38q0 8 -3 15t-9 12q-5 5 -12 8q-7 4 -15 4q-7 0 -14 -4q-7 -3 -13 -8q-5 -5 -8 -12t-3 -15v-38zM287 669v38q0 4 3 7q2 3 6 3t7 -3t3 -7v-38q0 -4 -3 -7t-7 -3t-6 3q-3 3 -3 7zM334 1309q0 -11 5 -22q4 -11 12 -19l41 -40q8 -8 19 -12 q10 -5 21 -5q11 1 22 5q10 4 19 12q8 9 12 19q4 11 4 22t-4 21q-4 11 -13 19l-40 40q-9 9 -19 13q-11 4 -22 4t-21 -4q-11 -5 -19 -13q-9 -8 -13 -19q-4 -10 -4 -21zM344 680q0 -49 15 -49q14 0 14 28q0 12 3 12t7 -12q9 -28 24 -28q14 0 14 49v16q0 50 -14 50 q-15 0 -15 -29q0 -12 -3 -12q-2 0 -6 12q-10 29 -24 29q-15 0 -15 -50v-16zM377 1309q0 6 4 10t10 4t10 -4l41 -40q4 -5 4 -10q0 -6 -4 -11q-4 -4 -10 -4t-10 4l-41 41q-4 4 -4 10zM397 970q21 -21 15 -60q4 -4 25 -14q16 -8 20 -20q-12 -12 -11 -36q1 -21 -19 -29 q10 -10 30 -9q27 1 34 0q7 3 15 15q8 11 15 14q18 -5 44 -44q24 -36 40 -35q26 1 60 74q-8 15 -44 45q-31 26 -36 54q-1 11 1 32q4 26 4 34q1 38 -34 48q-11 -39 -10 -74q-12 27 -33 45q-26 21 -51 14q0 -17 14 -44q15 -28 15 -40q-8 4 -17 17q-10 14 -17 18q-37 -7 -60 -5z M402 440q16 9 23 5q2 -1 7 -6q6 -6 10 -9q12 -1 28 16q14 14 21 9q-45 -36 -39 -94q19 14 59 5q11 6 24 21q15 19 21 23q4 -4 30 -9q19 -5 19 -20q14 12 19 42q4 31 -9 47q33 36 45 39q19 -16 53 -8t41 28q-34 9 -35 30q37 69 173 -20q83 -53 90 -84q4 -20 -2 -63 q-6 -46 -3 -66q4 -30 23 -61q27 -44 31 -53q2 -13 -5 -39q18 -5 43 18q21 18 36 1q-114 -166 -232 -94q-10 -8 -39 -15q-24 -5 -31 -24q1 -1 9 -1q8 -1 12 -3q15 -5 9 -26q10 0 22 19q11 16 18 11q2 3 -31 -36q-18 -22 -14 -53q7 -7 12 2q6 12 13 13q13 -12 17 -13 q8 -2 13 13q2 -5 4 -35q2 -23 15 -25q5 29 40 25q0 -1 -1 33q0 19 11 21q-8 -18 5 -89q8 1 10 -5h5q-4 28 23 31q47 4 46 4q20 9 33 50q13 38 41 49q8 1 17 -9q6 -8 13 -1q1 38 62 125q48 70 17 133q-4 -31 -34 -35q-59 21 -50 96q9 74 64 92q21 -41 65 -61q41 -19 87 -14 q47 5 78 34q35 31 38 81q2 38 -19 76q-26 47 -31 72q8 25 55 20q-3 32 -43 34t-51 -24q-3 30 -85 97q-75 61 -64 121q6 32 43 57q41 28 81 12q6 -3 11 -18t14 -17q100 57 109 70v5q-30 43 -70 39q-17 34 -44 30q-5 -4 -10 -22q-5 -16 -15 -18q-81 -3 -129 -46 q-47 -41 -49 -107q-3 -76 64 -130q82 -67 94 -98q-14 4 -59 13q-39 7 -58 15q-57 25 -21 96q-1 1 -25 54q-32 -34 -38 -81q-5 -44 16 -82q22 -40 63 -55q45 -18 102 1q-26 -16 -18 -63q8 -48 38 -37q-8 10 -5 40q31 26 56 11q22 -14 25 -48q4 -34 -16 -56q-24 -25 -70 -16 q-35 7 -82 60q-11 12 -41 48q-25 30 -40 46q-121 126 -124 128q73 48 89 134l15 -11q10 -7 15 1q-3 15 4 81q5 57 -9 83q5 -6 17 -6q13 1 13 11q-36 110 -71 150q-59 66 -167 43l-15 -10q-91 -3 -104 -25q-8 1 28 0q16 0 17 -10q-10 2 -21 -1q-12 -4 -19 -4q-2 -20 25 -74 q8 23 26 27q15 4 31 -8q15 -11 18 -30q4 -20 -11 -39q-1 0 -4 -2q-3 -3 -6 -3q-13 1 -39 20q-17 -29 -9 -56q9 -26 38 -38q-1 21 16 33t34 2q-10 -49 -88 -66q-104 -24 -130 -43q-22 -17 -83 -91q-45 -55 -95 -68q7 -24 79 -79q-16 -11 -50 -48q-31 -33 -54 -46 q-20 24 -55 27q-37 2 -59 -22q29 7 25 -35q44 6 49 -14q-43 6 -54 4q-1 -12 -17 -27q-15 -13 -13 -32zM430 731q0 -14 12 -14t12 -43t15 -43q14 0 14 43t12 43t12 14q0 15 -38 15q-39 0 -39 -15zM443 1413q-1 -11 2 -22q2 -11 9 -20l35 -46q7 -9 17 -15q9 -5 20 -7 q11 -1 22 1q11 3 21 10q9 7 15 17q5 10 7 21q1 10 -1 21q-3 12 -10 21l-34 46q-7 9 -17 15q-10 5 -21 7q-11 1 -22 -1q-11 -3 -20 -10q-10 -7 -15 -17q-6 -10 -8 -21zM486 1407q1 6 5 10q5 3 11 3q6 -1 9 -6l35 -46q3 -5 3 -10q-1 -6 -6 -10t-11 -3t-9 6l-34 46q-4 5 -3 10z M531 257q35 6 35 -30q11 0 25 18q13 16 19 12q-41 -47 -44 -79q8 8 26 3q37 -10 28 -8q5 26 4 23q4 12 16 11q-13 -21 -15 -46q-3 -30 15 -43q3 22 20 30q27 -13 53 7q33 26 46 28q21 -21 20 -35q22 20 109 32q80 11 99 42q-51 29 -81 81q-39 66 16 97q9 2 40 -14v54l-36 27 q-17 18 -9 42q-53 39 -107 -1q-70 -53 -101 -53q-2 -25 16 -38q5 -4 17 -11q11 -6 17 -10q-1 -35 26 -74q31 -43 33 -55q-72 -18 -133 28q-64 49 -109 41q11 -3 9 -13q-5 -21 -4 -22q3 0 12 -1q9 0 12 -1q14 -2 15 -12q-27 9 -54 0t-35 -30zM567 1475l41 -82q18 -36 43 -23 q15 7 26 13q11 5 18 14t10 19q4 11 3 22q0 11 -6 22l-25 51q-6 10 -14 18q-9 7 -20 10q-10 4 -21 3q-12 0 -22 -6l-26 -13q-25 -13 -7 -48zM613 1495q3 1 6 3q5 3 11 1t8 -7l26 -51q3 -6 1 -11q-2 -6 -7 -9l-7 -3q-6 -3 -24 32l-3 6q-18 35 -11 39zM645 1024q17 -63 123 -22 q23 9 83 38q46 22 61 24q-40 9 -118 -17q-64 -21 -95 7q-8 7 3 27q8 16 -3 18q-31 -1 -47 -22t-7 -53zM685 -158q0 -11 4 -19q4 -7 11 -12q8 -5 17 -7q10 -2 21 -2q5 0 9 -4t4 -9q0 -6 -4 -9q-4 -4 -9 -4t-8 2q-1 1 -3 2q-2 3 -19 -6q-19 -10 -10 -20q5 -6 11 -10 q13 -8 29 -8q10 0 20 4t17 12q7 7 11 16q5 10 5 21t-5 18q-4 8 -11 13q-7 4 -17 6q-9 3 -20 3q-6 0 -10 3q-4 4 -4 10q0 5 4 9t10 4q4 0 7 -2q2 -1 3 -3q2 -2 19 6q20 10 10 21q-5 5 -11 9q-13 9 -28 9q-11 0 -21 -5q-10 -4 -17 -11t-11 -17q-4 -9 -4 -20zM711 1549 q-2 -11 1 -23l15 -55q3 -11 10 -20t16 -15q10 -5 21 -7t23 1q11 3 20 10q9 6 15 14q6 7 8 16q2 4 2 8q0 8 -24 10q-21 1 -22 -4q0 -3 -2 -6q-3 -5 -8 -6q-6 -2 -11 1t-7 9l-15 55q-1 6 2 11t8 7q6 1 11 -2q3 -1 5 -3q3 -5 21 7q20 13 15 20q-2 3 -5 6q-6 7 -15 11 q-9 3 -20 4t-23 -2q-11 -3 -20 -10t-14 -16q-6 -10 -7 -21zM804 -155v-59q0 -50 20 -50q19 0 19 26q0 27 7 27h7q10 0 20 4t17 11q7 8 11 17q5 10 5 21t-5 20q-4 10 -11 17t-17 11q-10 5 -20 5h-33q-20 0 -20 -50zM808 1381q21 -56 25 -149h248q-3 92 19 149q-19 -1 -37 -17 q-21 -19 -32 -23q1 -8 14 -18q11 -9 6 -26q-2 -1 -5 -3q-2 -2 -5 -2q-22 6 -54 0q-2 3 -5 10q-4 6 -5 10q1 4 11 11q8 6 8 13q-8 8 -19 30t-20 30h-5q8 4 -40 -60q0 -7 10 -17q9 -9 5 -22q-8 0 -21 -2q-16 -2 -20 -2q-21 -1 -33 14q0 8 9 15q10 7 11 14q-42 41 -65 45z M843 -158q0 13 7 13h7q5 0 9 -4t4 -9q0 -6 -4 -10q-4 -3 -9 -3h-7q-7 0 -7 13zM861 1581l3 -75q0 -12 5 -22t13 -18q8 -7 19 -11t22 -4q12 1 22 6q11 5 18 13t12 18q4 11 3 23l-3 74q-1 40 -23 39q-21 -1 -20 -41l3 -74q1 -6 -3 -11q-4 -4 -10 -4t-11 4q-4 4 -4 10l-3 74 q-2 40 -23 39q-22 -1 -20 -40zM884 9q1 3 5 11q3 7 3 9q9 -6 2 -17q-9 -15 -6 -23q-9 6 -4 20zM927 -215q-4 -49 16 -49q19 0 21 20t11 20q10 0 12 -20t22 -20t15 49l-5 60q-1 21 -14 35q-13 15 -29 15q-17 0 -30 -15q-12 -14 -14 -35zM942 1153v20q48 -4 49 -5 q-20 -11 -49 -15zM970 -171q2 26 5 26q4 0 6 -26q2 -27 -5 -27q-8 0 -6 27zM1020 1602q-3 -21 14 -24q18 -3 11 -43l-8 -48q-6 -39 15 -43q21 -3 27 36l9 48q6 40 24 37q17 -3 21 18t-36 27l-34 6q-39 7 -43 -14zM1042 -155v-59q0 -50 20 -50q19 0 19 50v59q0 50 -19 50 q-20 0 -20 -50zM1056 1168q9 4 17 -5q7 -8 10 -22q6 -36 -22 -37q15 11 13 33t-18 31zM1095 -155v-59q0 -50 19 -50q20 0 20 40q0 16 4 16t10 -16q13 -40 33 -40q19 0 19 50v59q0 50 -19 50q-20 0 -20 -40q0 -16 -4 -16t-9 16q-14 40 -34 40q-19 0 -19 -50zM1170 1457 q-14 -37 6 -44q21 -8 34 30l17 46q14 37 30 31q17 -6 24 14q8 21 -30 34l-32 12q-38 14 -45 -7q-7 -20 9 -26q17 -6 4 -43zM1244 841q12 -43 40 -59q92 9 94 -45q36 -2 39 30q43 -2 75 39v10q-16 19 -52 38q-47 25 -57 32q-10 -1 -12 -18q-2 -19 -8 -22q6 2 -119 -5z M1260 1393q4 -16 19 -24l30 -17q35 -20 45 -1q11 18 -20 36t-24 30q7 13 32 -1q25 -15 32 -2q7 12 -18 26q-25 15 -18 27t38 -5q31 -18 42 1q11 18 -24 38l-30 17q-15 8 -30 4q-16 -4 -25 -19l-45 -80q-8 -14 -4 -30zM1373 1311q16 -14 35 7q18 22 22 19q3 -3 -8 -31 q-12 -28 4 -42q17 -14 31 19q13 32 26 34q7 1 13 3q13 5 22 16q8 9 11 20q3 10 3 21q-1 11 -6 22q-5 10 -14 18l-10 9l-17 14q-16 14 -42 -16l-60 -69q-27 -30 -10 -44zM1460 1238q0 -9 5 -16q6 -7 15 -8q9 0 16 5q6 6 7 15t-5 16q-6 6 -14 7q-9 1 -16 -5t-8 -14zM1460 1367 q-5 5 4 16t15 6l5 -5q5 -4 5 -9q0 -6 -3 -11q-4 -4 -10 -5q-6 0 -11 4zM1497 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4q7 0 13 3q3 1 5 2q6 3 11 0l6 -2q6 -3 13 -3q8 0 15 4q7 3 12 8t8 12t3 15v38q0 38 -14 38q-15 0 -15 -38v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v28 q0 29 -14 29q-15 0 -15 -29v-28q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v38q0 38 -14 38t-14 -38v-38zM1507 1192q-4 -16 5 -30l19 -29q21 -34 39 -22q18 11 -1 41q-19 31 -7 38q12 8 27 -16q16 -25 28 -17t-3 32q-16 24 -4 32q13 7 32 -23t37 -19q18 12 -3 45l-19 30 q-9 14 -25 17q-16 4 -30 -5l-78 -49q-14 -9 -17 -25zM1578 1065q-4 -16 3 -31q4 -11 12 -19q9 -8 19 -12q10 -5 21 -5t22 4q11 5 17 12t8 16t0 20t-6 21q-3 6 0 11q2 6 7 8q6 2 11 0q6 -2 8 -8q2 -4 1 -8q-1 -2 -1 -4q-2 -3 13 -17q18 -15 25 -1q4 7 5 15q3 16 -3 31 q-5 11 -13 19t-18 12q-10 5 -22 5q-11 0 -22 -4q-11 -5 -16 -12q-6 -7 -8 -16t0 -20q2 -10 6 -21q2 -6 0 -11q-2 -6 -8 -8q-5 -2 -11 0q-5 2 -7 8q-2 4 -1 8q0 2 1 4q2 4 -14 17q-18 16 -25 1q-3 -7 -4 -15zM1631 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4t15 4q7 3 12 8t8 12 t3 15v38q0 8 -3 15t-8 12t-12 8t-15 3t-15 -3t-12 -8t-8 -12t-3 -15v-38zM1659 686v38q0 4 3 7t7 3t7 -3q2 -3 2 -7v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7zM1717 697q0 -50 14 -50t14 20q0 19 4 19q3 0 9 -19q7 -20 21 -20t7 23q-8 22 -2 29q3 4 5 8q4 8 4 17q0 8 -3 15 t-8 12t-12 8t-15 3h-24q-14 0 -14 -49v-16zM1745 724q0 10 5 10h5q4 0 7 -3t3 -7t-3 -7t-7 -3h-5q-5 0 -5 10zM1803 697q0 -50 14 -50q15 0 15 24t1 24q2 0 10 -24t22 -24t5 29q-10 29 0 58q9 28 -5 28t-22 -24t-10 -24q-1 0 -1 24t-15 24q-14 0 -14 -49v-16zM1889 724 q0 -8 3 -13q3 -6 8 -9q6 -4 13 -5q6 -2 14 -2q4 0 7 -2q3 -3 3 -7t-3 -7t-7 -3q-3 0 -5 2q-1 0 -2 2q-2 2 -14 -5q-14 -7 -7 -15q3 -4 8 -7q9 -6 20 -6q8 0 15 4q7 3 12 8q6 5 9 12t3 15t-3 13q-3 6 -9 9q-5 3 -12 5q-7 1 -15 1q-4 0 -6 3q-3 3 -3 7t3 7q2 3 6 3q3 0 6 -2 l2 -2q1 -2 14 5q14 7 7 15q-4 4 -8 6q-9 6 -21 6q-7 0 -14 -3t-13 -8q-5 -5 -8 -12t-3 -15z" unicode="©"/><glyph horiz-adv-x="648" unicode="ª"/><glyph horiz-adv-x="944" unicode="«"/><glyph horiz-adv-x="1014" unicode="¬"/><glyph horiz-adv-x="670" unicode="­"/><glyph d="M172 680q0 -49 14 -49q15 0 15 24t19 24t19 9q0 10 -19 10t-19 9q0 10 24 10t24 14q0 15 -39 15q-16 0 -27 -15q-11 -14 -11 -35v-16zM186 1146q-12 -18 20 -41l60 -44q10 -7 21 -10q11 -2 22 0q10 1 20 7t17 15q6 8 9 18q1 4 2 9q1 9 9 13q4 2 8 5q8 5 14 13q7 10 10 21 q2 11 0 22q-1 10 -7 20t-15 17l-61 44q-32 23 -44 6q-13 -17 19 -41l60 -44q5 -3 6 -9t-2 -11q-4 -4 -10 -5t-10 2l-38 27q-32 24 -44 7q-13 -18 19 -41l37 -27q5 -4 6 -10t-3 -10q-3 -5 -9 -6t-11 2l-60 45q-32 23 -45 6zM258 669q0 -8 3 -15t8 -12q6 -5 13 -8t14 -3 q8 0 15 3t12 8q6 5 9 12t3 15v38q0 8 -3 15t-9 12q-5 5 -12 8q-7 4 -15 4q-7 0 -14 -4q-7 -3 -13 -8q-5 -5 -8 -12t-3 -15v-38zM287 669v38q0 4 3 7q2 3 6 3t7 -3t3 -7v-38q0 -4 -3 -7t-7 -3t-6 3q-3 3 -3 7zM334 1309q0 -11 5 -22q4 -11 12 -19l41 -40q8 -8 19 -12 q10 -5 21 -5q11 1 22 5q10 4 19 12q8 9 12 19q4 11 4 22t-4 21q-4 11 -13 19l-40 40q-9 9 -19 13q-11 4 -22 4t-21 -4q-11 -5 -19 -13q-9 -8 -13 -19q-4 -10 -4 -21zM344 680q0 -49 15 -49q14 0 14 28q0 12 3 12t7 -12q9 -28 24 -28q14 0 14 49v16q0 50 -14 50 q-15 0 -15 -29q0 -12 -3 -12q-2 0 -6 12q-10 29 -24 29q-15 0 -15 -50v-16zM377 1309q0 6 4 10t10 4t10 -4l41 -40q4 -5 4 -10q0 -6 -4 -11q-4 -4 -10 -4t-10 4l-41 41q-4 4 -4 10zM397 970q21 -21 15 -60q4 -4 25 -14q16 -8 20 -20q-12 -12 -11 -36q1 -21 -19 -29 q10 -10 30 -9q27 1 34 0q7 3 15 15q8 11 15 14q18 -5 44 -44q24 -36 40 -35q26 1 60 74q-8 15 -44 45q-31 26 -36 54q-1 11 1 32q4 26 4 34q1 38 -34 48q-11 -39 -10 -74q-12 27 -33 45q-26 21 -51 14q0 -17 14 -44q15 -28 15 -40q-8 4 -17 17q-10 14 -17 18q-37 -7 -60 -5z M402 440q16 9 23 5q2 -1 7 -6q6 -6 10 -9q12 -1 28 16q14 14 21 9q-45 -36 -39 -94q19 14 59 5q11 6 24 21q15 19 21 23q4 -4 30 -9q19 -5 19 -20q14 12 19 42q4 31 -9 47q33 36 45 39q19 -16 53 -8t41 28q-34 9 -35 30q37 69 173 -20q83 -53 90 -84q4 -20 -2 -63 q-6 -46 -3 -66q4 -30 23 -61q27 -44 31 -53q2 -13 -5 -39q18 -5 43 18q21 18 36 1q-114 -166 -232 -94q-10 -8 -39 -15q-24 -5 -31 -24q1 -1 9 -1q8 -1 12 -3q15 -5 9 -26q10 0 22 19q11 16 18 11q2 3 -31 -36q-18 -22 -14 -53q7 -7 12 2q6 12 13 13q13 -12 17 -13 q8 -2 13 13q2 -5 4 -35q2 -23 15 -25q5 29 40 25q0 -1 -1 33q0 19 11 21q-8 -18 5 -89q8 1 10 -5h5q-4 28 23 31q47 4 46 4q20 9 33 50q13 38 41 49q8 1 17 -9q6 -8 13 -1q1 38 62 125q48 70 17 133q-4 -31 -34 -35q-59 21 -50 96q9 74 64 92q21 -41 65 -61q41 -19 87 -14 q47 5 78 34q35 31 38 81q2 38 -19 76q-26 47 -31 72q8 25 55 20q-3 32 -43 34t-51 -24q-3 30 -85 97q-75 61 -64 121q6 32 43 57q41 28 81 12q6 -3 11 -18t14 -17q100 57 109 70v5q-30 43 -70 39q-17 34 -44 30q-5 -4 -10 -22q-5 -16 -15 -18q-81 -3 -129 -46 q-47 -41 -49 -107q-3 -76 64 -130q82 -67 94 -98q-14 4 -59 13q-39 7 -58 15q-57 25 -21 96q-1 1 -25 54q-32 -34 -38 -81q-5 -44 16 -82q22 -40 63 -55q45 -18 102 1q-26 -16 -18 -63q8 -48 38 -37q-8 10 -5 40q31 26 56 11q22 -14 25 -48q4 -34 -16 -56q-24 -25 -70 -16 q-35 7 -82 60q-11 12 -41 48q-25 30 -40 46q-121 126 -124 128q73 48 89 134l15 -11q10 -7 15 1q-3 15 4 81q5 57 -9 83q5 -6 17 -6q13 1 13 11q-36 110 -71 150q-59 66 -167 43l-15 -10q-91 -3 -104 -25q-8 1 28 0q16 0 17 -10q-10 2 -21 -1q-12 -4 -19 -4q-2 -20 25 -74 q8 23 26 27q15 4 31 -8q15 -11 18 -30q4 -20 -11 -39q-1 0 -4 -2q-3 -3 -6 -3q-13 1 -39 20q-17 -29 -9 -56q9 -26 38 -38q-1 21 16 33t34 2q-10 -49 -88 -66q-104 -24 -130 -43q-22 -17 -83 -91q-45 -55 -95 -68q7 -24 79 -79q-16 -11 -50 -48q-31 -33 -54 -46 q-20 24 -55 27q-37 2 -59 -22q29 7 25 -35q44 6 49 -14q-43 6 -54 4q-1 -12 -17 -27q-15 -13 -13 -32zM430 731q0 -14 12 -14t12 -43t15 -43q14 0 14 43t12 43t12 14q0 15 -38 15q-39 0 -39 -15zM443 1413q-1 -11 2 -22q2 -11 9 -20l35 -46q7 -9 17 -15q9 -5 20 -7 q11 -1 22 1q11 3 21 10q9 7 15 17q5 10 7 21q1 10 -1 21q-3 12 -10 21l-34 46q-7 9 -17 15q-10 5 -21 7q-11 1 -22 -1q-11 -3 -20 -10q-10 -7 -15 -17q-6 -10 -8 -21zM486 1407q1 6 5 10q5 3 11 3q6 -1 9 -6l35 -46q3 -5 3 -10q-1 -6 -6 -10t-11 -3t-9 6l-34 46q-4 5 -3 10z M531 257q35 6 35 -30q11 0 25 18q13 16 19 12q-41 -47 -44 -79q8 8 26 3q37 -10 28 -8q5 26 4 23q4 12 16 11q-13 -21 -15 -46q-3 -30 15 -43q3 22 20 30q27 -13 53 7q33 26 46 28q21 -21 20 -35q22 20 109 32q80 11 99 42q-51 29 -81 81q-39 66 16 97q9 2 40 -14v54l-36 27 q-17 18 -9 42q-53 39 -107 -1q-70 -53 -101 -53q-2 -25 16 -38q5 -4 17 -11q11 -6 17 -10q-1 -35 26 -74q31 -43 33 -55q-72 -18 -133 28q-64 49 -109 41q11 -3 9 -13q-5 -21 -4 -22q3 0 12 -1q9 0 12 -1q14 -2 15 -12q-27 9 -54 0t-35 -30zM567 1475l41 -82q18 -36 43 -23 q15 7 26 13q11 5 18 14t10 19q4 11 3 22q0 11 -6 22l-25 51q-6 10 -14 18q-9 7 -20 10q-10 4 -21 3q-12 0 -22 -6l-26 -13q-25 -13 -7 -48zM613 1495q3 1 6 3q5 3 11 1t8 -7l26 -51q3 -6 1 -11q-2 -6 -7 -9l-7 -3q-6 -3 -24 32l-3 6q-18 35 -11 39zM645 1024q17 -63 123 -22 q23 9 83 38q46 22 61 24q-40 9 -118 -17q-64 -21 -95 7q-8 7 3 27q8 16 -3 18q-31 -1 -47 -22t-7 -53zM685 -158q0 -11 4 -19q4 -7 11 -12q8 -5 17 -7q10 -2 21 -2q5 0 9 -4t4 -9q0 -6 -4 -9q-4 -4 -9 -4t-8 2q-1 1 -3 2q-2 3 -19 -6q-19 -10 -10 -20q5 -6 11 -10 q13 -8 29 -8q10 0 20 4t17 12q7 7 11 16q5 10 5 21t-5 18q-4 8 -11 13q-7 4 -17 6q-9 3 -20 3q-6 0 -10 3q-4 4 -4 10q0 5 4 9t10 4q4 0 7 -2q2 -1 3 -3q2 -2 19 6q20 10 10 21q-5 5 -11 9q-13 9 -28 9q-11 0 -21 -5q-10 -4 -17 -11t-11 -17q-4 -9 -4 -20zM711 1549 q-2 -11 1 -23l15 -55q3 -11 10 -20t16 -15q10 -5 21 -7t23 1q11 3 20 10q9 6 15 14q6 7 8 16q2 4 2 8q0 8 -24 10q-21 1 -22 -4q0 -3 -2 -6q-3 -5 -8 -6q-6 -2 -11 1t-7 9l-15 55q-1 6 2 11t8 7q6 1 11 -2q3 -1 5 -3q3 -5 21 7q20 13 15 20q-2 3 -5 6q-6 7 -15 11 q-9 3 -20 4t-23 -2q-11 -3 -20 -10t-14 -16q-6 -10 -7 -21zM804 -155v-59q0 -50 20 -50q19 0 19 26q0 27 7 27h7q10 0 20 4t17 11q7 8 11 17q5 10 5 21t-5 20q-4 10 -11 17t-17 11q-10 5 -20 5h-33q-20 0 -20 -50zM808 1381q21 -56 25 -149h248q-3 92 19 149q-19 -1 -37 -17 q-21 -19 -32 -23q1 -8 14 -18q11 -9 6 -26q-2 -1 -5 -3q-2 -2 -5 -2q-22 6 -54 0q-2 3 -5 10q-4 6 -5 10q1 4 11 11q8 6 8 13q-8 8 -19 30t-20 30h-5q8 4 -40 -60q0 -7 10 -17q9 -9 5 -22q-8 0 -21 -2q-16 -2 -20 -2q-21 -1 -33 14q0 8 9 15q10 7 11 14q-42 41 -65 45z M843 -158q0 13 7 13h7q5 0 9 -4t4 -9q0 -6 -4 -10q-4 -3 -9 -3h-7q-7 0 -7 13zM861 1581l3 -75q0 -12 5 -22t13 -18q8 -7 19 -11t22 -4q12 1 22 6q11 5 18 13t12 18q4 11 3 23l-3 74q-1 40 -23 39q-21 -1 -20 -41l3 -74q1 -6 -3 -11q-4 -4 -10 -4t-11 4q-4 4 -4 10l-3 74 q-2 40 -23 39q-22 -1 -20 -40zM884 9q1 3 5 11q3 7 3 9q9 -6 2 -17q-9 -15 -6 -23q-9 6 -4 20zM927 -215q-4 -49 16 -49q19 0 21 20t11 20q10 0 12 -20t22 -20t15 49l-5 60q-1 21 -14 35q-13 15 -29 15q-17 0 -30 -15q-12 -14 -14 -35zM942 1153v20q48 -4 49 -5 q-20 -11 -49 -15zM970 -171q2 26 5 26q4 0 6 -26q2 -27 -5 -27q-8 0 -6 27zM1020 1602q-3 -21 14 -24q18 -3 11 -43l-8 -48q-6 -39 15 -43q21 -3 27 36l9 48q6 40 24 37q17 -3 21 18t-36 27l-34 6q-39 7 -43 -14zM1042 -155v-59q0 -50 20 -50q19 0 19 50v59q0 50 -19 50 q-20 0 -20 -50zM1056 1168q9 4 17 -5q7 -8 10 -22q6 -36 -22 -37q15 11 13 33t-18 31zM1095 -155v-59q0 -50 19 -50q20 0 20 40q0 16 4 16t10 -16q13 -40 33 -40q19 0 19 50v59q0 50 -19 50q-20 0 -20 -40q0 -16 -4 -16t-9 16q-14 40 -34 40q-19 0 -19 -50zM1170 1457 q-14 -37 6 -44q21 -8 34 30l17 46q14 37 30 31q17 -6 24 14q8 21 -30 34l-32 12q-38 14 -45 -7q-7 -20 9 -26q17 -6 4 -43zM1244 841q12 -43 40 -59q92 9 94 -45q36 -2 39 30q43 -2 75 39v10q-16 19 -52 38q-47 25 -57 32q-10 -1 -12 -18q-2 -19 -8 -22q6 2 -119 -5z M1260 1393q4 -16 19 -24l30 -17q35 -20 45 -1q11 18 -20 36t-24 30q7 13 32 -1q25 -15 32 -2q7 12 -18 26q-25 15 -18 27t38 -5q31 -18 42 1q11 18 -24 38l-30 17q-15 8 -30 4q-16 -4 -25 -19l-45 -80q-8 -14 -4 -30zM1373 1311q16 -14 35 7q18 22 22 19q3 -3 -8 -31 q-12 -28 4 -42q17 -14 31 19q13 32 26 34q7 1 13 3q13 5 22 16q8 9 11 20q3 10 3 21q-1 11 -6 22q-5 10 -14 18l-10 9l-17 14q-16 14 -42 -16l-60 -69q-27 -30 -10 -44zM1460 1238q0 -9 5 -16q6 -7 15 -8q9 0 16 5q6 6 7 15t-5 16q-6 6 -14 7q-9 1 -16 -5t-8 -14zM1460 1367 q-5 5 4 16t15 6l5 -5q5 -4 5 -9q0 -6 -3 -11q-4 -4 -10 -5q-6 0 -11 4zM1497 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4q7 0 13 3q3 1 5 2q6 3 11 0l6 -2q6 -3 13 -3q8 0 15 4q7 3 12 8t8 12t3 15v38q0 38 -14 38q-15 0 -15 -38v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v28 q0 29 -14 29q-15 0 -15 -29v-28q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v38q0 38 -14 38t-14 -38v-38zM1507 1192q-4 -16 5 -30l19 -29q21 -34 39 -22q18 11 -1 41q-19 31 -7 38q12 8 27 -16q16 -25 28 -17t-3 32q-16 24 -4 32q13 7 32 -23t37 -19q18 12 -3 45l-19 30 q-9 14 -25 17q-16 4 -30 -5l-78 -49q-14 -9 -17 -25zM1578 1065q-4 -16 3 -31q4 -11 12 -19q9 -8 19 -12q10 -5 21 -5t22 4q11 5 17 12t8 16t0 20t-6 21q-3 6 0 11q2 6 7 8q6 2 11 0q6 -2 8 -8q2 -4 1 -8q-1 -2 -1 -4q-2 -3 13 -17q18 -15 25 -1q4 7 5 15q3 16 -3 31 q-5 11 -13 19t-18 12q-10 5 -22 5q-11 0 -22 -4q-11 -5 -16 -12q-6 -7 -8 -16t0 -20q2 -10 6 -21q2 -6 0 -11q-2 -6 -8 -8q-5 -2 -11 0q-5 2 -7 8q-2 4 -1 8q0 2 1 4q2 4 -14 17q-18 16 -25 1q-3 -7 -4 -15zM1631 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4t15 4q7 3 12 8t8 12 t3 15v38q0 8 -3 15t-8 12t-12 8t-15 3t-15 -3t-12 -8t-8 -12t-3 -15v-38zM1659 686v38q0 4 3 7t7 3t7 -3q2 -3 2 -7v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7zM1717 697q0 -50 14 -50t14 20q0 19 4 19q3 0 9 -19q7 -20 21 -20t7 23q-8 22 -2 29q3 4 5 8q4 8 4 17q0 8 -3 15 t-8 12t-12 8t-15 3h-24q-14 0 -14 -49v-16zM1745 724q0 10 5 10h5q4 0 7 -3t3 -7t-3 -7t-7 -3h-5q-5 0 -5 10zM1803 697q0 -50 14 -50q15 0 15 24t1 24q2 0 10 -24t22 -24t5 29q-10 29 0 58q9 28 -5 28t-22 -24t-10 -24q-1 0 -1 24t-15 24q-14 0 -14 -49v-16zM1889 724 q0 -8 3 -13q3 -6 8 -9q6 -4 13 -5q6 -2 14 -2q4 0 7 -2q3 -3 3 -7t-3 -7t-7 -3q-3 0 -5 2q-1 0 -2 2q-2 2 -14 -5q-14 -7 -7 -15q3 -4 8 -7q9 -6 20 -6q8 0 15 4q7 3 12 8q6 5 9 12t3 15t-3 13q-3 6 -9 9q-5 3 -12 5q-7 1 -15 1q-4 0 -6 3q-3 3 -3 7t3 7q2 3 6 3q3 0 6 -2 l2 -2q1 -2 14 5q14 7 7 15q-4 4 -8 6q-9 6 -21 6q-7 0 -14 -3t-13 -8q-5 -5 -8 -12t-3 -15z" unicode="®"/><glyph horiz-adv-x="670" unicode="¯"/><glyph horiz-adv-x="674" unicode="°"/><glyph horiz-adv-x="1014" unicode="±"/><glyph horiz-adv-x="1014" unicode="²"/><glyph horiz-adv-x="1014" unicode="³"/><glyph horiz-adv-x="1024" unicode="´"/><glyph horiz-adv-x="1180" unicode="µ"/><glyph horiz-adv-x="1024" unicode="¶"/><glyph horiz-adv-x="508" unicode="·"/><glyph horiz-adv-x="1024" unicode="¸"/><glyph horiz-adv-x="1014" unicode="¹"/><glyph horiz-adv-x="718" unicode="º"/><glyph horiz-adv-x="944" unicode="»"/><glyph horiz-adv-x="1708" unicode="¼"/><glyph horiz-adv-x="1964" unicode="½"/><glyph horiz-adv-x="1708" unicode="¾"/><glyph horiz-adv-x="748" unicode="¿"/><glyph horiz-adv-x="1540" unicode="À"/><glyph horiz-adv-x="1540" unicode="Á"/><glyph horiz-adv-x="1540" unicode="Â"/><glyph horiz-adv-x="1540" unicode="Ã"/><glyph horiz-adv-x="1540" unicode="Ä"/><glyph horiz-adv-x="1540" unicode="Å"/><glyph horiz-adv-x="2118" unicode="Æ"/><glyph horiz-adv-x="1399" unicode="Ç"/><glyph horiz-adv-x="1151" unicode="È"/><glyph horiz-adv-x="1151" unicode="É"/><glyph horiz-adv-x="1151" unicode="Ê"/><glyph horiz-adv-x="1151" unicode="Ë"/><glyph horiz-adv-x="657" unicode="Ì"/><glyph horiz-adv-x="657" unicode="Í"/><glyph horiz-adv-x="657" unicode="Î"/><glyph horiz-adv-x="657" unicode="Ï"/><glyph horiz-adv-x="1518" unicode="Ð"/><glyph horiz-adv-x="1554" unicode="Ñ"/><glyph horiz-adv-x="1614" unicode="Ò"/><glyph horiz-adv-x="1614" unicode="Ó"/><glyph horiz-adv-x="1614" unicode="Ô"/><glyph horiz-adv-x="1614" unicode="Õ"/><glyph horiz-adv-x="1614" unicode="Ö"/><glyph horiz-adv-x="1014" unicode="×"/><glyph horiz-adv-x="1614" unicode="Ø"/><glyph horiz-adv-x="1501" unicode="Ù"/><glyph horiz-adv-x="1501" unicode="Ú"/><glyph horiz-adv-x="1501" unicode="Û"/><glyph horiz-adv-x="1501" unicode="Ü"/><glyph horiz-adv-x="1233" unicode="Ý"/><glyph horiz-adv-x="1120" unicode="Þ"/><glyph horiz-adv-x="1251" unicode="ß"/><glyph horiz-adv-x="922" unicode="à"/><glyph horiz-adv-x="922" unicode="á"/><glyph horiz-adv-x="922" unicode="â"/><glyph horiz-adv-x="922" unicode="ã"/><glyph horiz-adv-x="922" unicode="ä"/><glyph horiz-adv-x="922" unicode="å"/><glyph horiz-adv-x="1454" unicode="æ"/><glyph horiz-adv-x="905" unicode="ç"/><glyph horiz-adv-x="909" unicode="è"/><glyph horiz-adv-x="909" unicode="é"/><glyph horiz-adv-x="909" unicode="ê"/><glyph horiz-adv-x="909" unicode="ë"/><glyph horiz-adv-x="514" unicode="ì"/><glyph horiz-adv-x="514" unicode="í"/><glyph horiz-adv-x="514" unicode="î"/><glyph horiz-adv-x="514" unicode="ï"/><glyph horiz-adv-x="1139" unicode="ð"/><glyph horiz-adv-x="1108" unicode="ñ"/><glyph horiz-adv-x="1010" unicode="ò"/><glyph horiz-adv-x="1010" unicode="ó"/><glyph horiz-adv-x="1010" unicode="ô"/><glyph horiz-adv-x="1010" unicode="õ"/><glyph horiz-adv-x="1010" unicode="ö"/><glyph horiz-adv-x="1014" unicode="÷"/><glyph horiz-adv-x="1010" unicode="ø"/><glyph horiz-adv-x="1059" unicode="ù"/><glyph horiz-adv-x="1059" unicode="ú"/><glyph horiz-adv-x="1059" unicode="û"/><glyph horiz-adv-x="1059" unicode="ü"/><glyph horiz-adv-x="868" unicode="ý"/><glyph horiz-adv-x="1010" unicode="þ"/><glyph horiz-adv-x="868" unicode="ÿ"/><glyph horiz-adv-x="1024" unicode="ˆ"/><glyph horiz-adv-x="1024" unicode="˜"/><glyph horiz-adv-x="812"/><glyph horiz-adv-x="1624"/><glyph horiz-adv-x="812"/><glyph horiz-adv-x="1624"/><glyph horiz-adv-x="541"/><glyph horiz-adv-x="406"/><glyph horiz-adv-x="270"/><glyph horiz-adv-x="270"/><glyph horiz-adv-x="203"/><glyph horiz-adv-x="324"/><glyph horiz-adv-x="90"/><glyph horiz-adv-x="670" unicode="‐"/><glyph horiz-adv-x="670" unicode="‑"/><glyph horiz-adv-x="670" unicode="‒"/><glyph horiz-adv-x="1108" unicode="–"/><glyph horiz-adv-x="2048" unicode="—"/><glyph horiz-adv-x="557" unicode="‘"/><glyph horiz-adv-x="557" unicode="’"/><glyph horiz-adv-x="557" unicode="‚"/><glyph horiz-adv-x="910" unicode="“"/><glyph horiz-adv-x="910" unicode="”"/><glyph horiz-adv-x="910" unicode="„"/><glyph horiz-adv-x="1024" unicode="•"/><glyph horiz-adv-x="2048" unicode="…"/><glyph horiz-adv-x="324"/><glyph horiz-adv-x="631" unicode="‹"/><glyph horiz-adv-x="631" unicode="›"/><glyph horiz-adv-x="406"/><glyph d="M172 680q0 -49 14 -49q15 0 15 24t19 24t19 9q0 10 -19 10t-19 9q0 10 24 10t24 14q0 15 -39 15q-16 0 -27 -15q-11 -14 -11 -35v-16zM186 1146q-12 -18 20 -41l60 -44q10 -7 21 -10q11 -2 22 0q10 1 20 7t17 15q6 8 9 18q1 4 2 9q1 9 9 13q4 2 8 5q8 5 14 13q7 10 10 21 q2 11 0 22q-1 10 -7 20t-15 17l-61 44q-32 23 -44 6q-13 -17 19 -41l60 -44q5 -3 6 -9t-2 -11q-4 -4 -10 -5t-10 2l-38 27q-32 24 -44 7q-13 -18 19 -41l37 -27q5 -4 6 -10t-3 -10q-3 -5 -9 -6t-11 2l-60 45q-32 23 -45 6zM258 669q0 -8 3 -15t8 -12q6 -5 13 -8t14 -3 q8 0 15 3t12 8q6 5 9 12t3 15v38q0 8 -3 15t-9 12q-5 5 -12 8q-7 4 -15 4q-7 0 -14 -4q-7 -3 -13 -8q-5 -5 -8 -12t-3 -15v-38zM287 669v38q0 4 3 7q2 3 6 3t7 -3t3 -7v-38q0 -4 -3 -7t-7 -3t-6 3q-3 3 -3 7zM334 1309q0 -11 5 -22q4 -11 12 -19l41 -40q8 -8 19 -12 q10 -5 21 -5q11 1 22 5q10 4 19 12q8 9 12 19q4 11 4 22t-4 21q-4 11 -13 19l-40 40q-9 9 -19 13q-11 4 -22 4t-21 -4q-11 -5 -19 -13q-9 -8 -13 -19q-4 -10 -4 -21zM344 680q0 -49 15 -49q14 0 14 28q0 12 3 12t7 -12q9 -28 24 -28q14 0 14 49v16q0 50 -14 50 q-15 0 -15 -29q0 -12 -3 -12q-2 0 -6 12q-10 29 -24 29q-15 0 -15 -50v-16zM377 1309q0 6 4 10t10 4t10 -4l41 -40q4 -5 4 -10q0 -6 -4 -11q-4 -4 -10 -4t-10 4l-41 41q-4 4 -4 10zM397 970q21 -21 15 -60q4 -4 25 -14q16 -8 20 -20q-12 -12 -11 -36q1 -21 -19 -29 q10 -10 30 -9q27 1 34 0q7 3 15 15q8 11 15 14q18 -5 44 -44q24 -36 40 -35q26 1 60 74q-8 15 -44 45q-31 26 -36 54q-1 11 1 32q4 26 4 34q1 38 -34 48q-11 -39 -10 -74q-12 27 -33 45q-26 21 -51 14q0 -17 14 -44q15 -28 15 -40q-8 4 -17 17q-10 14 -17 18q-37 -7 -60 -5z M402 440q16 9 23 5q2 -1 7 -6q6 -6 10 -9q12 -1 28 16q14 14 21 9q-45 -36 -39 -94q19 14 59 5q11 6 24 21q15 19 21 23q4 -4 30 -9q19 -5 19 -20q14 12 19 42q4 31 -9 47q33 36 45 39q19 -16 53 -8t41 28q-34 9 -35 30q37 69 173 -20q83 -53 90 -84q4 -20 -2 -63 q-6 -46 -3 -66q4 -30 23 -61q27 -44 31 -53q2 -13 -5 -39q18 -5 43 18q21 18 36 1q-114 -166 -232 -94q-10 -8 -39 -15q-24 -5 -31 -24q1 -1 9 -1q8 -1 12 -3q15 -5 9 -26q10 0 22 19q11 16 18 11q2 3 -31 -36q-18 -22 -14 -53q7 -7 12 2q6 12 13 13q13 -12 17 -13 q8 -2 13 13q2 -5 4 -35q2 -23 15 -25q5 29 40 25q0 -1 -1 33q0 19 11 21q-8 -18 5 -89q8 1 10 -5h5q-4 28 23 31q47 4 46 4q20 9 33 50q13 38 41 49q8 1 17 -9q6 -8 13 -1q1 38 62 125q48 70 17 133q-4 -31 -34 -35q-59 21 -50 96q9 74 64 92q21 -41 65 -61q41 -19 87 -14 q47 5 78 34q35 31 38 81q2 38 -19 76q-26 47 -31 72q8 25 55 20q-3 32 -43 34t-51 -24q-3 30 -85 97q-75 61 -64 121q6 32 43 57q41 28 81 12q6 -3 11 -18t14 -17q100 57 109 70v5q-30 43 -70 39q-17 34 -44 30q-5 -4 -10 -22q-5 -16 -15 -18q-81 -3 -129 -46 q-47 -41 -49 -107q-3 -76 64 -130q82 -67 94 -98q-14 4 -59 13q-39 7 -58 15q-57 25 -21 96q-1 1 -25 54q-32 -34 -38 -81q-5 -44 16 -82q22 -40 63 -55q45 -18 102 1q-26 -16 -18 -63q8 -48 38 -37q-8 10 -5 40q31 26 56 11q22 -14 25 -48q4 -34 -16 -56q-24 -25 -70 -16 q-35 7 -82 60q-11 12 -41 48q-25 30 -40 46q-121 126 -124 128q73 48 89 134l15 -11q10 -7 15 1q-3 15 4 81q5 57 -9 83q5 -6 17 -6q13 1 13 11q-36 110 -71 150q-59 66 -167 43l-15 -10q-91 -3 -104 -25q-8 1 28 0q16 0 17 -10q-10 2 -21 -1q-12 -4 -19 -4q-2 -20 25 -74 q8 23 26 27q15 4 31 -8q15 -11 18 -30q4 -20 -11 -39q-1 0 -4 -2q-3 -3 -6 -3q-13 1 -39 20q-17 -29 -9 -56q9 -26 38 -38q-1 21 16 33t34 2q-10 -49 -88 -66q-104 -24 -130 -43q-22 -17 -83 -91q-45 -55 -95 -68q7 -24 79 -79q-16 -11 -50 -48q-31 -33 -54 -46 q-20 24 -55 27q-37 2 -59 -22q29 7 25 -35q44 6 49 -14q-43 6 -54 4q-1 -12 -17 -27q-15 -13 -13 -32zM430 731q0 -14 12 -14t12 -43t15 -43q14 0 14 43t12 43t12 14q0 15 -38 15q-39 0 -39 -15zM443 1413q-1 -11 2 -22q2 -11 9 -20l35 -46q7 -9 17 -15q9 -5 20 -7 q11 -1 22 1q11 3 21 10q9 7 15 17q5 10 7 21q1 10 -1 21q-3 12 -10 21l-34 46q-7 9 -17 15q-10 5 -21 7q-11 1 -22 -1q-11 -3 -20 -10q-10 -7 -15 -17q-6 -10 -8 -21zM486 1407q1 6 5 10q5 3 11 3q6 -1 9 -6l35 -46q3 -5 3 -10q-1 -6 -6 -10t-11 -3t-9 6l-34 46q-4 5 -3 10z M531 257q35 6 35 -30q11 0 25 18q13 16 19 12q-41 -47 -44 -79q8 8 26 3q37 -10 28 -8q5 26 4 23q4 12 16 11q-13 -21 -15 -46q-3 -30 15 -43q3 22 20 30q27 -13 53 7q33 26 46 28q21 -21 20 -35q22 20 109 32q80 11 99 42q-51 29 -81 81q-39 66 16 97q9 2 40 -14v54l-36 27 q-17 18 -9 42q-53 39 -107 -1q-70 -53 -101 -53q-2 -25 16 -38q5 -4 17 -11q11 -6 17 -10q-1 -35 26 -74q31 -43 33 -55q-72 -18 -133 28q-64 49 -109 41q11 -3 9 -13q-5 -21 -4 -22q3 0 12 -1q9 0 12 -1q14 -2 15 -12q-27 9 -54 0t-35 -30zM567 1475l41 -82q18 -36 43 -23 q15 7 26 13q11 5 18 14t10 19q4 11 3 22q0 11 -6 22l-25 51q-6 10 -14 18q-9 7 -20 10q-10 4 -21 3q-12 0 -22 -6l-26 -13q-25 -13 -7 -48zM613 1495q3 1 6 3q5 3 11 1t8 -7l26 -51q3 -6 1 -11q-2 -6 -7 -9l-7 -3q-6 -3 -24 32l-3 6q-18 35 -11 39zM645 1024q17 -63 123 -22 q23 9 83 38q46 22 61 24q-40 9 -118 -17q-64 -21 -95 7q-8 7 3 27q8 16 -3 18q-31 -1 -47 -22t-7 -53zM685 -158q0 -11 4 -19q4 -7 11 -12q8 -5 17 -7q10 -2 21 -2q5 0 9 -4t4 -9q0 -6 -4 -9q-4 -4 -9 -4t-8 2q-1 1 -3 2q-2 3 -19 -6q-19 -10 -10 -20q5 -6 11 -10 q13 -8 29 -8q10 0 20 4t17 12q7 7 11 16q5 10 5 21t-5 18q-4 8 -11 13q-7 4 -17 6q-9 3 -20 3q-6 0 -10 3q-4 4 -4 10q0 5 4 9t10 4q4 0 7 -2q2 -1 3 -3q2 -2 19 6q20 10 10 21q-5 5 -11 9q-13 9 -28 9q-11 0 -21 -5q-10 -4 -17 -11t-11 -17q-4 -9 -4 -20zM711 1549 q-2 -11 1 -23l15 -55q3 -11 10 -20t16 -15q10 -5 21 -7t23 1q11 3 20 10q9 6 15 14q6 7 8 16q2 4 2 8q0 8 -24 10q-21 1 -22 -4q0 -3 -2 -6q-3 -5 -8 -6q-6 -2 -11 1t-7 9l-15 55q-1 6 2 11t8 7q6 1 11 -2q3 -1 5 -3q3 -5 21 7q20 13 15 20q-2 3 -5 6q-6 7 -15 11 q-9 3 -20 4t-23 -2q-11 -3 -20 -10t-14 -16q-6 -10 -7 -21zM804 -155v-59q0 -50 20 -50q19 0 19 26q0 27 7 27h7q10 0 20 4t17 11q7 8 11 17q5 10 5 21t-5 20q-4 10 -11 17t-17 11q-10 5 -20 5h-33q-20 0 -20 -50zM808 1381q21 -56 25 -149h248q-3 92 19 149q-19 -1 -37 -17 q-21 -19 -32 -23q1 -8 14 -18q11 -9 6 -26q-2 -1 -5 -3q-2 -2 -5 -2q-22 6 -54 0q-2 3 -5 10q-4 6 -5 10q1 4 11 11q8 6 8 13q-8 8 -19 30t-20 30h-5q8 4 -40 -60q0 -7 10 -17q9 -9 5 -22q-8 0 -21 -2q-16 -2 -20 -2q-21 -1 -33 14q0 8 9 15q10 7 11 14q-42 41 -65 45z M843 -158q0 13 7 13h7q5 0 9 -4t4 -9q0 -6 -4 -10q-4 -3 -9 -3h-7q-7 0 -7 13zM861 1581l3 -75q0 -12 5 -22t13 -18q8 -7 19 -11t22 -4q12 1 22 6q11 5 18 13t12 18q4 11 3 23l-3 74q-1 40 -23 39q-21 -1 -20 -41l3 -74q1 -6 -3 -11q-4 -4 -10 -4t-11 4q-4 4 -4 10l-3 74 q-2 40 -23 39q-22 -1 -20 -40zM884 9q1 3 5 11q3 7 3 9q9 -6 2 -17q-9 -15 -6 -23q-9 6 -4 20zM927 -215q-4 -49 16 -49q19 0 21 20t11 20q10 0 12 -20t22 -20t15 49l-5 60q-1 21 -14 35q-13 15 -29 15q-17 0 -30 -15q-12 -14 -14 -35zM942 1153v20q48 -4 49 -5 q-20 -11 -49 -15zM970 -171q2 26 5 26q4 0 6 -26q2 -27 -5 -27q-8 0 -6 27zM1020 1602q-3 -21 14 -24q18 -3 11 -43l-8 -48q-6 -39 15 -43q21 -3 27 36l9 48q6 40 24 37q17 -3 21 18t-36 27l-34 6q-39 7 -43 -14zM1042 -155v-59q0 -50 20 -50q19 0 19 50v59q0 50 -19 50 q-20 0 -20 -50zM1056 1168q9 4 17 -5q7 -8 10 -22q6 -36 -22 -37q15 11 13 33t-18 31zM1095 -155v-59q0 -50 19 -50q20 0 20 40q0 16 4 16t10 -16q13 -40 33 -40q19 0 19 50v59q0 50 -19 50q-20 0 -20 -40q0 -16 -4 -16t-9 16q-14 40 -34 40q-19 0 -19 -50zM1170 1457 q-14 -37 6 -44q21 -8 34 30l17 46q14 37 30 31q17 -6 24 14q8 21 -30 34l-32 12q-38 14 -45 -7q-7 -20 9 -26q17 -6 4 -43zM1244 841q12 -43 40 -59q92 9 94 -45q36 -2 39 30q43 -2 75 39v10q-16 19 -52 38q-47 25 -57 32q-10 -1 -12 -18q-2 -19 -8 -22q6 2 -119 -5z M1260 1393q4 -16 19 -24l30 -17q35 -20 45 -1q11 18 -20 36t-24 30q7 13 32 -1q25 -15 32 -2q7 12 -18 26q-25 15 -18 27t38 -5q31 -18 42 1q11 18 -24 38l-30 17q-15 8 -30 4q-16 -4 -25 -19l-45 -80q-8 -14 -4 -30zM1373 1311q16 -14 35 7q18 22 22 19q3 -3 -8 -31 q-12 -28 4 -42q17 -14 31 19q13 32 26 34q7 1 13 3q13 5 22 16q8 9 11 20q3 10 3 21q-1 11 -6 22q-5 10 -14 18l-10 9l-17 14q-16 14 -42 -16l-60 -69q-27 -30 -10 -44zM1460 1238q0 -9 5 -16q6 -7 15 -8q9 0 16 5q6 6 7 15t-5 16q-6 6 -14 7q-9 1 -16 -5t-8 -14zM1460 1367 q-5 5 4 16t15 6l5 -5q5 -4 5 -9q0 -6 -3 -11q-4 -4 -10 -5q-6 0 -11 4zM1497 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4q7 0 13 3q3 1 5 2q6 3 11 0l6 -2q6 -3 13 -3q8 0 15 4q7 3 12 8t8 12t3 15v38q0 38 -14 38q-15 0 -15 -38v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v28 q0 29 -14 29q-15 0 -15 -29v-28q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v38q0 38 -14 38t-14 -38v-38zM1507 1192q-4 -16 5 -30l19 -29q21 -34 39 -22q18 11 -1 41q-19 31 -7 38q12 8 27 -16q16 -25 28 -17t-3 32q-16 24 -4 32q13 7 32 -23t37 -19q18 12 -3 45l-19 30 q-9 14 -25 17q-16 4 -30 -5l-78 -49q-14 -9 -17 -25zM1578 1065q-4 -16 3 -31q4 -11 12 -19q9 -8 19 -12q10 -5 21 -5t22 4q11 5 17 12t8 16t0 20t-6 21q-3 6 0 11q2 6 7 8q6 2 11 0q6 -2 8 -8q2 -4 1 -8q-1 -2 -1 -4q-2 -3 13 -17q18 -15 25 -1q4 7 5 15q3 16 -3 31 q-5 11 -13 19t-18 12q-10 5 -22 5q-11 0 -22 -4q-11 -5 -16 -12q-6 -7 -8 -16t0 -20q2 -10 6 -21q2 -6 0 -11q-2 -6 -8 -8q-5 -2 -11 0q-5 2 -7 8q-2 4 -1 8q0 2 1 4q2 4 -14 17q-18 16 -25 1q-3 -7 -4 -15zM1631 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4t15 4q7 3 12 8t8 12 t3 15v38q0 8 -3 15t-8 12t-12 8t-15 3t-15 -3t-12 -8t-8 -12t-3 -15v-38zM1659 686v38q0 4 3 7t7 3t7 -3q2 -3 2 -7v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7zM1717 697q0 -50 14 -50t14 20q0 19 4 19q3 0 9 -19q7 -20 21 -20t7 23q-8 22 -2 29q3 4 5 8q4 8 4 17q0 8 -3 15 t-8 12t-12 8t-15 3h-24q-14 0 -14 -49v-16zM1745 724q0 10 5 10h5q4 0 7 -3t3 -7t-3 -7t-7 -3h-5q-5 0 -5 10zM1803 697q0 -50 14 -50q15 0 15 24t1 24q2 0 10 -24t22 -24t5 29q-10 29 0 58q9 28 -5 28t-22 -24t-10 -24q-1 0 -1 24t-15 24q-14 0 -14 -49v-16zM1889 724 q0 -8 3 -13q3 -6 8 -9q6 -4 13 -5q6 -2 14 -2q4 0 7 -2q3 -3 3 -7t-3 -7t-7 -3q-3 0 -5 2q-1 0 -2 2q-2 2 -14 -5q-14 -7 -7 -15q3 -4 8 -7q9 -6 20 -6q8 0 15 4q7 3 12 8q6 5 9 12t3 15t-3 13q-3 6 -9 9q-5 3 -12 5q-7 1 -15 1q-4 0 -6 3q-3 3 -3 7t3 7q2 3 6 3q3 0 6 -2 l2 -2q1 -2 14 5q14 7 7 15q-4 4 -8 6q-9 6 -21 6q-7 0 -14 -3t-13 -8q-5 -5 -8 -12t-3 -15z" unicode="€"/><glyph d="M172 680q0 -49 14 -49q15 0 15 24t19 24t19 9q0 10 -19 10t-19 9q0 10 24 10t24 14q0 15 -39 15q-16 0 -27 -15q-11 -14 -11 -35v-16zM186 1146q-12 -18 20 -41l60 -44q10 -7 21 -10q11 -2 22 0q10 1 20 7t17 15q6 8 9 18q1 4 2 9q1 9 9 13q4 2 8 5q8 5 14 13q7 10 10 21 q2 11 0 22q-1 10 -7 20t-15 17l-61 44q-32 23 -44 6q-13 -17 19 -41l60 -44q5 -3 6 -9t-2 -11q-4 -4 -10 -5t-10 2l-38 27q-32 24 -44 7q-13 -18 19 -41l37 -27q5 -4 6 -10t-3 -10q-3 -5 -9 -6t-11 2l-60 45q-32 23 -45 6zM258 669q0 -8 3 -15t8 -12q6 -5 13 -8t14 -3 q8 0 15 3t12 8q6 5 9 12t3 15v38q0 8 -3 15t-9 12q-5 5 -12 8q-7 4 -15 4q-7 0 -14 -4q-7 -3 -13 -8q-5 -5 -8 -12t-3 -15v-38zM287 669v38q0 4 3 7q2 3 6 3t7 -3t3 -7v-38q0 -4 -3 -7t-7 -3t-6 3q-3 3 -3 7zM334 1309q0 -11 5 -22q4 -11 12 -19l41 -40q8 -8 19 -12 q10 -5 21 -5q11 1 22 5q10 4 19 12q8 9 12 19q4 11 4 22t-4 21q-4 11 -13 19l-40 40q-9 9 -19 13q-11 4 -22 4t-21 -4q-11 -5 -19 -13q-9 -8 -13 -19q-4 -10 -4 -21zM344 680q0 -49 15 -49q14 0 14 28q0 12 3 12t7 -12q9 -28 24 -28q14 0 14 49v16q0 50 -14 50 q-15 0 -15 -29q0 -12 -3 -12q-2 0 -6 12q-10 29 -24 29q-15 0 -15 -50v-16zM377 1309q0 6 4 10t10 4t10 -4l41 -40q4 -5 4 -10q0 -6 -4 -11q-4 -4 -10 -4t-10 4l-41 41q-4 4 -4 10zM397 970q21 -21 15 -60q4 -4 25 -14q16 -8 20 -20q-12 -12 -11 -36q1 -21 -19 -29 q10 -10 30 -9q27 1 34 0q7 3 15 15q8 11 15 14q18 -5 44 -44q24 -36 40 -35q26 1 60 74q-8 15 -44 45q-31 26 -36 54q-1 11 1 32q4 26 4 34q1 38 -34 48q-11 -39 -10 -74q-12 27 -33 45q-26 21 -51 14q0 -17 14 -44q15 -28 15 -40q-8 4 -17 17q-10 14 -17 18q-37 -7 -60 -5z M402 440q16 9 23 5q2 -1 7 -6q6 -6 10 -9q12 -1 28 16q14 14 21 9q-45 -36 -39 -94q19 14 59 5q11 6 24 21q15 19 21 23q4 -4 30 -9q19 -5 19 -20q14 12 19 42q4 31 -9 47q33 36 45 39q19 -16 53 -8t41 28q-34 9 -35 30q37 69 173 -20q83 -53 90 -84q4 -20 -2 -63 q-6 -46 -3 -66q4 -30 23 -61q27 -44 31 -53q2 -13 -5 -39q18 -5 43 18q21 18 36 1q-114 -166 -232 -94q-10 -8 -39 -15q-24 -5 -31 -24q1 -1 9 -1q8 -1 12 -3q15 -5 9 -26q10 0 22 19q11 16 18 11q2 3 -31 -36q-18 -22 -14 -53q7 -7 12 2q6 12 13 13q13 -12 17 -13 q8 -2 13 13q2 -5 4 -35q2 -23 15 -25q5 29 40 25q0 -1 -1 33q0 19 11 21q-8 -18 5 -89q8 1 10 -5h5q-4 28 23 31q47 4 46 4q20 9 33 50q13 38 41 49q8 1 17 -9q6 -8 13 -1q1 38 62 125q48 70 17 133q-4 -31 -34 -35q-59 21 -50 96q9 74 64 92q21 -41 65 -61q41 -19 87 -14 q47 5 78 34q35 31 38 81q2 38 -19 76q-26 47 -31 72q8 25 55 20q-3 32 -43 34t-51 -24q-3 30 -85 97q-75 61 -64 121q6 32 43 57q41 28 81 12q6 -3 11 -18t14 -17q100 57 109 70v5q-30 43 -70 39q-17 34 -44 30q-5 -4 -10 -22q-5 -16 -15 -18q-81 -3 -129 -46 q-47 -41 -49 -107q-3 -76 64 -130q82 -67 94 -98q-14 4 -59 13q-39 7 -58 15q-57 25 -21 96q-1 1 -25 54q-32 -34 -38 -81q-5 -44 16 -82q22 -40 63 -55q45 -18 102 1q-26 -16 -18 -63q8 -48 38 -37q-8 10 -5 40q31 26 56 11q22 -14 25 -48q4 -34 -16 -56q-24 -25 -70 -16 q-35 7 -82 60q-11 12 -41 48q-25 30 -40 46q-121 126 -124 128q73 48 89 134l15 -11q10 -7 15 1q-3 15 4 81q5 57 -9 83q5 -6 17 -6q13 1 13 11q-36 110 -71 150q-59 66 -167 43l-15 -10q-91 -3 -104 -25q-8 1 28 0q16 0 17 -10q-10 2 -21 -1q-12 -4 -19 -4q-2 -20 25 -74 q8 23 26 27q15 4 31 -8q15 -11 18 -30q4 -20 -11 -39q-1 0 -4 -2q-3 -3 -6 -3q-13 1 -39 20q-17 -29 -9 -56q9 -26 38 -38q-1 21 16 33t34 2q-10 -49 -88 -66q-104 -24 -130 -43q-22 -17 -83 -91q-45 -55 -95 -68q7 -24 79 -79q-16 -11 -50 -48q-31 -33 -54 -46 q-20 24 -55 27q-37 2 -59 -22q29 7 25 -35q44 6 49 -14q-43 6 -54 4q-1 -12 -17 -27q-15 -13 -13 -32zM430 731q0 -14 12 -14t12 -43t15 -43q14 0 14 43t12 43t12 14q0 15 -38 15q-39 0 -39 -15zM443 1413q-1 -11 2 -22q2 -11 9 -20l35 -46q7 -9 17 -15q9 -5 20 -7 q11 -1 22 1q11 3 21 10q9 7 15 17q5 10 7 21q1 10 -1 21q-3 12 -10 21l-34 46q-7 9 -17 15q-10 5 -21 7q-11 1 -22 -1q-11 -3 -20 -10q-10 -7 -15 -17q-6 -10 -8 -21zM486 1407q1 6 5 10q5 3 11 3q6 -1 9 -6l35 -46q3 -5 3 -10q-1 -6 -6 -10t-11 -3t-9 6l-34 46q-4 5 -3 10z M531 257q35 6 35 -30q11 0 25 18q13 16 19 12q-41 -47 -44 -79q8 8 26 3q37 -10 28 -8q5 26 4 23q4 12 16 11q-13 -21 -15 -46q-3 -30 15 -43q3 22 20 30q27 -13 53 7q33 26 46 28q21 -21 20 -35q22 20 109 32q80 11 99 42q-51 29 -81 81q-39 66 16 97q9 2 40 -14v54l-36 27 q-17 18 -9 42q-53 39 -107 -1q-70 -53 -101 -53q-2 -25 16 -38q5 -4 17 -11q11 -6 17 -10q-1 -35 26 -74q31 -43 33 -55q-72 -18 -133 28q-64 49 -109 41q11 -3 9 -13q-5 -21 -4 -22q3 0 12 -1q9 0 12 -1q14 -2 15 -12q-27 9 -54 0t-35 -30zM567 1475l41 -82q18 -36 43 -23 q15 7 26 13q11 5 18 14t10 19q4 11 3 22q0 11 -6 22l-25 51q-6 10 -14 18q-9 7 -20 10q-10 4 -21 3q-12 0 -22 -6l-26 -13q-25 -13 -7 -48zM613 1495q3 1 6 3q5 3 11 1t8 -7l26 -51q3 -6 1 -11q-2 -6 -7 -9l-7 -3q-6 -3 -24 32l-3 6q-18 35 -11 39zM645 1024q17 -63 123 -22 q23 9 83 38q46 22 61 24q-40 9 -118 -17q-64 -21 -95 7q-8 7 3 27q8 16 -3 18q-31 -1 -47 -22t-7 -53zM685 -158q0 -11 4 -19q4 -7 11 -12q8 -5 17 -7q10 -2 21 -2q5 0 9 -4t4 -9q0 -6 -4 -9q-4 -4 -9 -4t-8 2q-1 1 -3 2q-2 3 -19 -6q-19 -10 -10 -20q5 -6 11 -10 q13 -8 29 -8q10 0 20 4t17 12q7 7 11 16q5 10 5 21t-5 18q-4 8 -11 13q-7 4 -17 6q-9 3 -20 3q-6 0 -10 3q-4 4 -4 10q0 5 4 9t10 4q4 0 7 -2q2 -1 3 -3q2 -2 19 6q20 10 10 21q-5 5 -11 9q-13 9 -28 9q-11 0 -21 -5q-10 -4 -17 -11t-11 -17q-4 -9 -4 -20zM711 1549 q-2 -11 1 -23l15 -55q3 -11 10 -20t16 -15q10 -5 21 -7t23 1q11 3 20 10q9 6 15 14q6 7 8 16q2 4 2 8q0 8 -24 10q-21 1 -22 -4q0 -3 -2 -6q-3 -5 -8 -6q-6 -2 -11 1t-7 9l-15 55q-1 6 2 11t8 7q6 1 11 -2q3 -1 5 -3q3 -5 21 7q20 13 15 20q-2 3 -5 6q-6 7 -15 11 q-9 3 -20 4t-23 -2q-11 -3 -20 -10t-14 -16q-6 -10 -7 -21zM804 -155v-59q0 -50 20 -50q19 0 19 26q0 27 7 27h7q10 0 20 4t17 11q7 8 11 17q5 10 5 21t-5 20q-4 10 -11 17t-17 11q-10 5 -20 5h-33q-20 0 -20 -50zM808 1381q21 -56 25 -149h248q-3 92 19 149q-19 -1 -37 -17 q-21 -19 -32 -23q1 -8 14 -18q11 -9 6 -26q-2 -1 -5 -3q-2 -2 -5 -2q-22 6 -54 0q-2 3 -5 10q-4 6 -5 10q1 4 11 11q8 6 8 13q-8 8 -19 30t-20 30h-5q8 4 -40 -60q0 -7 10 -17q9 -9 5 -22q-8 0 -21 -2q-16 -2 -20 -2q-21 -1 -33 14q0 8 9 15q10 7 11 14q-42 41 -65 45z M843 -158q0 13 7 13h7q5 0 9 -4t4 -9q0 -6 -4 -10q-4 -3 -9 -3h-7q-7 0 -7 13zM861 1581l3 -75q0 -12 5 -22t13 -18q8 -7 19 -11t22 -4q12 1 22 6q11 5 18 13t12 18q4 11 3 23l-3 74q-1 40 -23 39q-21 -1 -20 -41l3 -74q1 -6 -3 -11q-4 -4 -10 -4t-11 4q-4 4 -4 10l-3 74 q-2 40 -23 39q-22 -1 -20 -40zM884 9q1 3 5 11q3 7 3 9q9 -6 2 -17q-9 -15 -6 -23q-9 6 -4 20zM927 -215q-4 -49 16 -49q19 0 21 20t11 20q10 0 12 -20t22 -20t15 49l-5 60q-1 21 -14 35q-13 15 -29 15q-17 0 -30 -15q-12 -14 -14 -35zM942 1153v20q48 -4 49 -5 q-20 -11 -49 -15zM970 -171q2 26 5 26q4 0 6 -26q2 -27 -5 -27q-8 0 -6 27zM1020 1602q-3 -21 14 -24q18 -3 11 -43l-8 -48q-6 -39 15 -43q21 -3 27 36l9 48q6 40 24 37q17 -3 21 18t-36 27l-34 6q-39 7 -43 -14zM1042 -155v-59q0 -50 20 -50q19 0 19 50v59q0 50 -19 50 q-20 0 -20 -50zM1056 1168q9 4 17 -5q7 -8 10 -22q6 -36 -22 -37q15 11 13 33t-18 31zM1095 -155v-59q0 -50 19 -50q20 0 20 40q0 16 4 16t10 -16q13 -40 33 -40q19 0 19 50v59q0 50 -19 50q-20 0 -20 -40q0 -16 -4 -16t-9 16q-14 40 -34 40q-19 0 -19 -50zM1170 1457 q-14 -37 6 -44q21 -8 34 30l17 46q14 37 30 31q17 -6 24 14q8 21 -30 34l-32 12q-38 14 -45 -7q-7 -20 9 -26q17 -6 4 -43zM1244 841q12 -43 40 -59q92 9 94 -45q36 -2 39 30q43 -2 75 39v10q-16 19 -52 38q-47 25 -57 32q-10 -1 -12 -18q-2 -19 -8 -22q6 2 -119 -5z M1260 1393q4 -16 19 -24l30 -17q35 -20 45 -1q11 18 -20 36t-24 30q7 13 32 -1q25 -15 32 -2q7 12 -18 26q-25 15 -18 27t38 -5q31 -18 42 1q11 18 -24 38l-30 17q-15 8 -30 4q-16 -4 -25 -19l-45 -80q-8 -14 -4 -30zM1373 1311q16 -14 35 7q18 22 22 19q3 -3 -8 -31 q-12 -28 4 -42q17 -14 31 19q13 32 26 34q7 1 13 3q13 5 22 16q8 9 11 20q3 10 3 21q-1 11 -6 22q-5 10 -14 18l-10 9l-17 14q-16 14 -42 -16l-60 -69q-27 -30 -10 -44zM1460 1238q0 -9 5 -16q6 -7 15 -8q9 0 16 5q6 6 7 15t-5 16q-6 6 -14 7q-9 1 -16 -5t-8 -14zM1460 1367 q-5 5 4 16t15 6l5 -5q5 -4 5 -9q0 -6 -3 -11q-4 -4 -10 -5q-6 0 -11 4zM1497 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4q7 0 13 3q3 1 5 2q6 3 11 0l6 -2q6 -3 13 -3q8 0 15 4q7 3 12 8t8 12t3 15v38q0 38 -14 38q-15 0 -15 -38v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v28 q0 29 -14 29q-15 0 -15 -29v-28q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7v38q0 38 -14 38t-14 -38v-38zM1507 1192q-4 -16 5 -30l19 -29q21 -34 39 -22q18 11 -1 41q-19 31 -7 38q12 8 27 -16q16 -25 28 -17t-3 32q-16 24 -4 32q13 7 32 -23t37 -19q18 12 -3 45l-19 30 q-9 14 -25 17q-16 4 -30 -5l-78 -49q-14 -9 -17 -25zM1578 1065q-4 -16 3 -31q4 -11 12 -19q9 -8 19 -12q10 -5 21 -5t22 4q11 5 17 12t8 16t0 20t-6 21q-3 6 0 11q2 6 7 8q6 2 11 0q6 -2 8 -8q2 -4 1 -8q-1 -2 -1 -4q-2 -3 13 -17q18 -15 25 -1q4 7 5 15q3 16 -3 31 q-5 11 -13 19t-18 12q-10 5 -22 5q-11 0 -22 -4q-11 -5 -16 -12q-6 -7 -8 -16t0 -20q2 -10 6 -21q2 -6 0 -11q-2 -6 -8 -8q-5 -2 -11 0q-5 2 -7 8q-2 4 -1 8q0 2 1 4q2 4 -14 17q-18 16 -25 1q-3 -7 -4 -15zM1631 686q0 -8 3 -15t8 -12t12 -8q7 -4 15 -4t15 4q7 3 12 8t8 12 t3 15v38q0 8 -3 15t-8 12t-12 8t-15 3t-15 -3t-12 -8t-8 -12t-3 -15v-38zM1659 686v38q0 4 3 7t7 3t7 -3q2 -3 2 -7v-38q0 -4 -2 -7q-3 -3 -7 -3t-7 3t-3 7zM1717 697q0 -50 14 -50t14 20q0 19 4 19q3 0 9 -19q7 -20 21 -20t7 23q-8 22 -2 29q3 4 5 8q4 8 4 17q0 8 -3 15 t-8 12t-12 8t-15 3h-24q-14 0 -14 -49v-16zM1745 724q0 10 5 10h5q4 0 7 -3t3 -7t-3 -7t-7 -3h-5q-5 0 -5 10zM1803 697q0 -50 14 -50q15 0 15 24t1 24q2 0 10 -24t22 -24t5 29q-10 29 0 58q9 28 -5 28t-22 -24t-10 -24q-1 0 -1 24t-15 24q-14 0 -14 -49v-16zM1889 724 q0 -8 3 -13q3 -6 8 -9q6 -4 13 -5q6 -2 14 -2q4 0 7 -2q3 -3 3 -7t-3 -7t-7 -3q-3 0 -5 2q-1 0 -2 2q-2 2 -14 -5q-14 -7 -7 -15q3 -4 8 -7q9 -6 20 -6q8 0 15 4q7 3 12 8q6 5 9 12t3 15t-3 13q-3 6 -9 9q-5 3 -12 5q-7 1 -15 1q-4 0 -6 3q-3 3 -3 7t3 7q2 3 6 3q3 0 6 -2 l2 -2q1 -2 14 5q14 7 7 15q-4 4 -8 6q-9 6 -21 6q-7 0 -14 -3t-13 -8q-5 -5 -8 -12t-3 -15z" unicode="™"/><glyph d="M0 0v1430h1430v-1430h-1430z" horiz-adv-x="1430" unicode="◼"/></font></defs></svg>

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/layouts/partials/logo.html
=====================================================
<a id="logo" href='{{ (cond (and (ne .Site.Params.landingPageURL nil) (.Site.IsMultiLingual)) .Site.Params.landingPageURL "/") }}'>

<svg id="grav-logo" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
	width="100%" height="100%"  viewBox="0 0 285.1 69.9" xml:space="preserve">
<g>
	<path d="M35,0c9.6,0,17.9,3.4,24.7,10.3c6.8,6.8,10.3,15,10.3,24.7c0,9.7-3.4,17.9-10.3,24.7c-6.8,6.8-15,10.3-24.7,10.3
		c-9.7,0-17.9-3.4-24.7-10.3C3.4,52.8,0,44.6,0,34.9c0-9.6,3.4-17.9,10.3-24.7C17.1,3.4,25.3,0,35,0z M22.3,63.7
		c0.3-7.4,0.3-14.7,0-22.1c-2.1-0.4-4-0.4-5.9,0c-0.2,0.8-0.2,2.5-0.1,4.9c0.1,2.3,0,3.9-0.3,4.8c-1.7-0.6-2.7-2.1-3.1-4.6
		c-0.1-0.7-0.1-3.3-0.1-8c0-14.5-0.1-23-0.3-25.6c-3.6,4.1-5.6,7-5.9,8.5v10.9c0,4.5,0.1,8.1,0.2,10.9c0,0.4,0,1.3-0.1,2.8
		c-0.1,1.2,0,2.1,0.1,2.6c0.1,0.6,1.1,2.1,2.8,4.7C13.2,58.7,17.5,62.2,22.3,63.7z M44.6,65.4c0.3-5,0.2-12.9-0.1-23.6
		c-2.1-0.3-4.1-0.3-5.9,0c-0.2,2-0.2,5.1-0.1,9.5c0.1,4.3,0,7.5-0.1,9.5c-2.9,0.4-5,0.3-6.2-0.1c-0.2-5.6-0.2-15.2-0.1-28.7
		c0.1-12.4,0-21.8-0.3-28.3c-2.4,0.1-4.3,0.6-5.7,1.3c-0.1,7.7-0.2,17.7-0.1,30.1c0,16.5,0,26.6,0,30.3c2.3,1.1,5.4,1.7,9.4,1.7
		C38.9,66.9,42.1,66.4,44.6,65.4z M48.1,64.1c9.7-4.6,15.7-12,18-22.2c-1.8-0.2-3.8-0.3-6.1-0.3c-1.6,3.9-2.6,6.3-3.2,7.2
		c-1.1,1.7-2,2.5-2.7,2.5C54,46,54,39.1,54,30.5c0-11.5,0-18.4,0-20.9c-1.4-1.4-3.3-2.5-5.7-3.4C48.1,6.3,48,6.4,48,6.7
		c0,3.5,0,13.1,0,28.8C47.9,47.2,48,56.8,48.1,64.1z"/>
</g>
<g>
	<path d="M116.6,51.3h-29c-0.5,0-0.9-0.1-1.3-0.2c-0.4-0.2-0.7-0.4-1-0.7c-0.3-0.3-0.5-0.6-0.7-1c-0.2-0.4-0.2-0.8-0.2-1.3V16.3h6.3
		V45h25.8V51.3z"/>
	<path d="M154.8,51.3h-22.9c-0.9,0-1.8-0.2-2.9-0.5c-1-0.3-2-0.8-2.9-1.5c-0.9-0.7-1.6-1.6-2.2-2.8c-0.6-1.1-0.9-2.5-0.9-4.2V19.5
		c0-0.4,0.1-0.9,0.2-1.2c0.2-0.4,0.4-0.7,0.7-1c0.3-0.3,0.6-0.5,1-0.7c0.4-0.2,0.8-0.2,1.3-0.2h28.6v6.3h-25.4v19.8
		c0,0.8,0.2,1.5,0.7,1.9s1.1,0.7,1.9,0.7h22.9V51.3z M151.9,37h-20v-6.4h20V37z"/>
	<path d="M197.3,51.3H191v-8.6h-22.3v8.6h-6.3V33.8c0-2.6,0.4-4.9,1.3-7.1s2.1-4,3.7-5.5c1.6-1.5,3.4-2.8,5.5-3.6
		c2.1-0.9,4.5-1.3,7-1.3h14.3c0.4,0,0.9,0.1,1.2,0.2c0.4,0.2,0.7,0.4,1,0.7s0.5,0.6,0.7,1c0.2,0.4,0.2,0.8,0.2,1.2V51.3z
		 M168.7,36.4H191V22.6h-11.2c-0.2,0-0.6,0-1.2,0.1c-0.6,0.1-1.4,0.2-2.2,0.4c-0.8,0.2-1.7,0.6-2.6,1c-0.9,0.5-1.8,1.1-2.5,2
		c-0.8,0.8-1.4,1.9-1.9,3.1c-0.5,1.2-0.7,2.8-0.7,4.5V36.4z"/>
	<path d="M241.7,28.1c0,1.4-0.2,2.7-0.5,3.9c-0.4,1.1-0.8,2.1-1.5,3c-0.6,0.9-1.3,1.6-2.1,2.2c-0.8,0.6-1.6,1.1-2.5,1.5
		c-0.9,0.4-1.8,0.7-2.6,0.9c-0.9,0.2-1.7,0.3-2.5,0.3l13.3,11.5h-9.8l-13.2-11.5h-4.6v-6.3H230c0.8-0.1,1.5-0.2,2.2-0.5
		c0.7-0.3,1.2-0.6,1.7-1.1c0.5-0.5,0.9-1,1.1-1.6c0.3-0.6,0.4-1.4,0.4-2.2v-4c0-0.4,0-0.6-0.1-0.8c-0.1-0.2-0.2-0.3-0.3-0.4
		c-0.1-0.1-0.3-0.1-0.4-0.2c-0.2,0-0.3,0-0.4,0h-20.9v28.7h-6.3V19.5c0-0.4,0.1-0.9,0.2-1.2c0.2-0.4,0.4-0.7,0.7-1
		c0.3-0.3,0.6-0.5,1-0.7c0.4-0.2,0.8-0.2,1.3-0.2H234c1.4,0,2.6,0.3,3.6,0.8s1.8,1.2,2.4,1.9c0.6,0.8,1,1.6,1.3,2.5
		c0.3,0.9,0.4,1.7,0.4,2.5V28.1z"/>
	<path d="M285.1,48.6c0,0.5-0.1,0.9-0.3,1.3c-0.2,0.4-0.4,0.7-0.7,1c-0.3,0.3-0.6,0.5-1,0.7c-0.4,0.2-0.8,0.2-1.2,0.2
		c-0.4,0-0.8-0.1-1.2-0.2c-0.4-0.1-0.8-0.4-1.1-0.7l-23.2-24.2v24.7h-6.3V19c0-0.7,0.2-1.2,0.5-1.8c0.4-0.5,0.8-0.9,1.4-1.2
		c0.6-0.2,1.2-0.3,1.9-0.2s1.2,0.4,1.6,0.9l23.2,24.2V16.3h6.3V48.6z"/>
</g>
</svg>

</a>

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/layouts/partials/menu-footer.html
=====================================================
<center>
    <!-- Place this tag where you want the button to render. -->
    <a class="github-button" href="https://github.com/matcornic/hugo-theme-learn/archive/master.zip" data-icon="octicon-cloud-download" aria-label="Download matcornic/hugo-theme-learn on GitHub">Download</a>

    <!-- Place this tag where you want the button to render. -->
    <a class="github-button" href="https://github.com/matcornic/hugo-theme-learn" data-icon="octicon-star" data-show-count="true" aria-label="Star matcornic/hugo-theme-learn on GitHub">Star</a>

    <!-- Place this tag where you want the button to render. -->
    <a class="github-button" href="https://github.com/matcornic/hugo-theme-learn/fork" data-icon="octicon-repo-forked" data-show-count="true" aria-label="Fork matcornic/hugo-theme-learn on GitHub">Fork</a>

    <p>Built with <a href="https://github.com/matcornic/hugo-theme-learn"><i class="fas fa-heart"></i></a> from <a href="https://getgrav.org">Grav</a> and <a href="https://gohugo.io/">Hugo</a></p>
</center>
<!-- Place this tag in your head or just before your close body tag. -->
<script async defer src="https://buttons.github.io/buttons.js"></script>

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/layouts/partials/custom-footer.html
=====================================================
<script>
  (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', 'UA-105947713-1', 'auto');
  ga('send', 'pageview');

</script>

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/layouts/shortcodes/ghcontributors.html
=====================================================
<style type="text/css">
.ghContributors{
display:flex;
flex-flow:  wrap;
align-content: flex-start
}

.ghContributors > div{
width: 50% ;
display: inline-flex;
margin-bottom: 5px;
}
.ghContributors > div label{
padding-left: 4px ;
}
.ghContributors > div span{
font-size: x-small;
padding-left: 4px ;
}

</style>
<div class="ghContributors">
  {{ $url := .Get 0 }}
  {{ range getJSON $url }}
  <div>
    <img src="{{.avatar_url}}" class="inline" width="32" height="32" style="height: 32px;height: 32px;margin-bottom:.25em; vertical-align:middle; ">
    <label><a href="{{.html_url}}">@{{.login}}</a></label>
    <span class="contributions">{{.contributions}} commits</span>
  </div>
  {{ end }}
</div>

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/cont/menushortcuts.en.md
=====================================================
---
date: 2016-04-09T16:50:16+02:00
title: Menu extra shortcuts
weight: 25
---

You can define additional menu entries or shortcuts in the navigation menu without any link to content.

## Basic configuration

Edit the website configuration `config.toml` and add a `[[menu.shortcuts]]` entry for each link your want to add.

Example from the current website:

    [[menu.shortcuts]] 
    name = "<i class='fab fa-github'></i> Github repo"
    identifier = "ds"
    url = "https://github.com/matcornic/hugo-theme-learn"
    weight = 10

    [[menu.shortcuts]]
    name = "<i class='fas fa-camera'></i> Showcases"
    url = "/showcase"
    weight = 11

    [[menu.shortcuts]]
    name = "<i class='fas fa-bookmark'></i> Hugo Documentation"
    identifier = "hugodoc"
    url = "https://gohugo.io/"
    weight = 20

    [[menu.shortcuts]]
    name = "<i class='fas fa-bullhorn'></i> Credits"
    url = "/credits"
    weight = 30

By default, shortcuts are preceded by a title. This title can be disabled by setting `disableShortcutsTitle=true`. 
However, if you want to keep the title but change its value, it can be overriden by changing your local i18n translation string configuration. 

For example, in your local `i18n/en.toml` file, add the following content

    [Shortcuts-Title]
    other = "<Your value>"

Read more about [hugo menu](https://gohugo.io/extras/menus/) and [hugo i18n translation strings](https://gohugo.io/content-management/multilingual/#translation-of-strings)

## Configuration for Multilingual mode {#i18n}

When using a multilingual website, you can set different menus for each language. In the `config.toml` file, prefix your menu configuration by `Languages.<language-id>`. 


=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/cont/archetypes.en.md
=====================================================
---
title: Archetypes
weight: 10
---

Using the command: `hugo new [relative new content path]`, you can start a content file with the date and title automatically set. While this is a welcome feature, active writers need more: [archetypes](https://gohugo.io/content/archetypes/).

It is pre-configured skeleton pages with default front matter. Please refer to the documentation for types of page to understand the differences.

## Chapter {#archetypes-chapter}

To create a Chapter page, run the following commands

```
hugo new --kind chapter <name>/_index.md
```

It will create a page with predefined Front-Matter:

```markdown
+++
title = "{{ replace .Name "-" " " | title }}"
date = {{ .Date }}
weight = 5
chapter = true
pre = "<b>X. </b>"
+++

### Chapter X

# Some Chapter title

Lorem Ipsum.
```

## Default

To create a default page, run either one of the following commands

```
# Either
hugo new <chapter>/<name>/_index.md
# Or
hugo new <chapter>/<name>.md
```

It will create a page with predefined Front-Matter:

```markdown
+++

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/cont/tags.fr.md
=====================================================
---
date: 2018-11-29T08:41:44+01:00
title: Tags
weight: 40
tags: ["documentation", "tutorial"]
---


Le *thème Learn* supporte une des taxonomy par défaut de GoHugo : les tags.

## Configuration 

Il suffit d'ajouter un tableau de tags sur la page  : 

```markdown
---
date: 2018-11-29T08:41:44+01:00
title: Tutoriel pour le thème
weight: 15
tags: ["tutoriel", "theme"] 
---
```

## Comportement

Les tags sont affichés en haut de la page, dans l'ordre dans lequel ils ont été saisis. 

Chaque tag est un lien vers une page *Taxonomy*, qui affiche tous les article avec ce tag.


## Liste des tags

Il est possible de rajouter un raccourci dans le fichier `config.toml` afin d'afficher une page listant tous les tags

```toml
[[menu.shortcuts]]
name = "<i class='fas fa-tags'></i> Tags"
url = "/tags"
weight = 30
```

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/cont/i18n/_index.fr.md
=====================================================
---
date: 2016-04-09T16:50:16+02:00
title: Multi-langue et i18n
weight: 30
---

**Learn** est complètement compatible avec le mode multi-langue d'Hugo.

Il fournit :

- Des *translation strings* pour les valeurs par défaut utilisées par le thème (Anglais et Français). N'hésitez pas à contribuer !
- Génération automatique du menu avec le contenu multi-langue
- Modification de la langue dans le navigateur

![I18n menu](/en/cont/i18n/images/i18n-menu.gif)

## Configuration simple

Après avoir appris [comment Hugo gère les sites multi-langue](https://gohugo.io/content-management/multilingual), définissez vos langues dans votre fichier `config.toml`.

Par exemple, pour ce site, avec du contenu en français et en anglais.

```toml
# Anglais est la langue par défaut
defaultContentLanguage = "en"
# Force d'avoir /en/ma-page et /fr/ma-page routes, même avec la langue par défaut.
defaultContentLanguageInSubdir= true

[Languages]
[Languages.en]
title = "Documentation for Hugo Learn Theme"
weight = 1
languageName = "English"

[Languages.fr]
title = "Documentation du thème Hugo Learn"
weight = 2
languageName = "Français"
```

Puis, pour chaque nouvelle page, ajoutez *l'id* de la langue du fichier.

- Le fichier `my-page.md` est découpé en deux fichiers :
    - en anglais : `my-page.en.md`
    - en français : `my-page.fr.md`
- Le fichier `_index.md` est découpé en deux fichiers :
    - en anglais: `_index.en.md`
    - en français: `_index.fr.md`

{{% notice info %}}

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/cont/i18n/_index.en.md
=====================================================
---
date: 2016-04-09T16:50:16+02:00
title: Multilingual and i18n
weight: 30
---

**Learn theme** is fully compatible with Hugo multilingual mode.

It provides:

- Translation strings for default values (English and French). Feel free to contribute !
- Automatic menu generation from multilingual content
- In-browser language switching

![I18n menu](/en/cont/i18n/images/i18n-menu.gif)

## Basic configuration

After learning [how Hugo handle multilingual websites](https://gohugo.io/content-management/multilingual), define your languages in your `config.toml` file.

For example with current French and English website.

```toml
# English is the default language
defaultContentLanguage = "en"
# Force to have /en/my-page and /fr/my-page routes, even for default language.
defaultContentLanguageInSubdir= true

[Languages]
[Languages.en]
title = "Documentation for Hugo Learn Theme"
weight = 1
languageName = "English"

[Languages.fr]
title = "Documentation du thème Hugo Learn"
weight = 2
languageName = "Français"
```

Then, for each new page, append the *id* of the language to the file.

- Single file `my-page.md` is split in two files:
    - in English: `my-page.en.md`
    - in French: `my-page.fr.md`
- Single file `_index.md` is split in two files:
    - in English: `_index.en.md`
    - in French: `_index.fr.md`

{{% notice info %}}

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/cont/archetypes.fr.md
=====================================================
---
title: Archétypes
weight: 10
---

En utilisant la commande: `hugo new [chemin vers nouveau contenu]`, vous pouvez créer un nouveau fichier avec la date et le title automatiquement initialisé. Même si c'est une fonctionnalité intéressante, elle reste limitée pour les auteurs actifs qui ont besoin de mieux : les [archetypes](https://gohugo.io/content/archetypes/).

Les archétypes sont des squelettes de pages préconfigurées avec un Front Matter par défaut. Merci de vous référer à la documentation pour connaitre les différents types de page.

## Chapitre {#archetypes-chapter}

Pour créer un chapitre, lancez les commandes suivantes

```
hugo new --kind chapter <name>/_index.md
```

Cela crééra une page avec le Front Matter suivant:

```markdown
+++
title = "{{ replace .Name "-" " " | title }}"
date = {{ .Date }}
weight = 5
chapter = true
pre = "<b>X. </b>"
+++

### Chapter X

# Some Chapter title

Lorem Ipsum.
```

## Défaut

Pour créer une page classique, lancer l'une des deux commandes suivantes

```
# Soit
hugo new <chapter>/<name>/_index.md
# Ou
hugo new <chapter>/<name>.md
```

Cela crééra une page avec le Front Matter suivant:

```markdown
+++

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/cont/markdown.fr.md
=====================================================
---
date: 2016-04-09T16:50:16+02:00
title: Syntaxe Markdown
weight: 15
---

{{% notice note %}}
Cette page est une copie de la [doc de Grav](http://learn.getgrav.org/content/markdown).
La seule différence porte sur la personalisation des images ([taille]({{< relref "#resizing-image" >}}), [ajout de classes CSS]({{< relref "#add-css-classes" >}})...)
Pour des raisons évidentes, cette page n'a pas été traduites en français ??
{{% /notice%}}

Let's face it: Writing content for the Web is tiresome. WYSIWYG editors help alleviate this task, but they generally result in horrible code, or worse yet, ugly web pages.

**Markdown** is a better way to write **HTML**, without all the complexities and ugliness that usually accompanies it.

Some of the key benefits are:

1. Markdown is simple to learn, with minimal extra characters so it's also quicker to write content.
2. Less chance of errors when writing in markdown.
3. Produces valid XHTML output.
4. Keeps the content and the visual display separate, so you cannot mess up the look of your site.
5. Write in any text editor or Markdown application you like.
6. Markdown is a joy to use!

John Gruber, the author of Markdown, puts it like this:

> The overriding design goal for Markdown’s formatting syntax is to make it as readable as possible. The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions. While Markdown’s syntax has been influenced by several existing text-to-HTML filters, the single biggest source of inspiration for Markdown’s syntax is the format of plain text email.
> -- <cite>John Gruber</cite>


Grav ships with built-in support for [Markdown](http://daringfireball.net/projects/markdown/) and [Markdown Extra](https://michelf.ca/projects/php-markdown/extra/). You must enable **Markdown Extra** in your `system.yaml` configuration file

Without further delay, let us go over the main elements of Markdown and what the resulting HTML looks like:

{{% notice info %}}
<i class="fas fa-bookmark"></i> Bookmark this page for easy future reference!
{{% /notice %}}

## Headings

Headings from `h1` through `h6` are constructed with a `#` for each level:

```markdown
# h1 Heading
## h2 Heading
### h3 Heading
#### h4 Heading
##### h5 Heading
###### h6 Heading

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/cont/syntaxhighlight.en.md
=====================================================
---
date: 2020-06-01T13:31:12+01:00
title: Code highlighting
weight: 16
---

Learn theme uses [highlight.js](https://highlightjs.org/) to provide code syntax highlighting.

## Markdown syntax

Wrap the code block with three backticks and the name of the language. Highlight will try to auto detect the language if one is not provided.

<!-- markdownlint-disable MD046 -->
```plaintext
    ```json
    [
      {
        "title": "apples",
        "count": [12000, 20000],
        "description": {"text": "...", "sensitive": false}
      },
      {
        "title": "oranges",
        "count": [17500, null],
        "description": {"text": "...", "sensitive": false}
      }
    ]
    ```
```
<!-- markdownlint-disable MD046 -->

Renders to:

```json
[
  {
    "title": "apples",
    "count": [12000, 20000],
    "description": {"text": "...", "sensitive": false}
  },
  {
    "title": "oranges",
    "count": [17500, null],
    "description": {"text": "...", "sensitive": false}
  }
]
```

## Supported languages


=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/cont/_index.fr.md
=====================================================
---
title: Contenu
weight: 10
chapter: true
pre: "<b>2. </b>"
---

### Chapitre 2

# Contenu

Découvrez comment créer et organiser votre contenu facilement et intuitivement.

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/cont/_index.en.md
=====================================================
---
title: Content
weight: 10
chapter: true
pre: "<b>2. </b>"
---

### Chapter 2

# Content

Find out how to create and organize your content quickly and intuitively.

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/cont/tags.en.md
=====================================================
---
date: 2018-11-29T08:41:44+01:00
title: Tags
weight: 40
tags: ["documentation", "tutorial"]
---

*Learn theme* support one default taxonomy of gohugo: the *tag* feature.

## Configuration 

Just add tags to any page: 

```markdown
---
date: 2018-11-29T08:41:44+01:00
title: Theme tutorial
weight: 15
tags: ["tutorial", "theme"] 
---
```

## Behavior


The tags are displayed at the top of the page, in their insertion order.

Each tag is a link to a *Taxonomy* page displaying all the articles with the given tag. 

## List all the tags

In the `config.toml`  file you can add a shortcut to display all the tags

```toml
[[menu.shortcuts]]
name = "<i class='fas fa-tags'></i> Tags"
url = "/tags"
weight = 30
```

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/cont/icons.en.md
=====================================================
---
title: Icons and logos
weight: 27
---

The Learn theme for Hugo loads the [**Font Awesome**](https://fontawesome.com) library, allowing you to easily display any icon or logo available in the Font Awesome free collection.

## Finding an icon

Browse through the available icons in the [Font Awesome Gallery](https://fontawesome.com/icons?d=gallery&m=free). Notice that the **free** filter is enabled, as only the free icons are available by default.

Once on the Font Awesome page for a specific icon, for example the page for the [heart](https://fontawesome.com/icons/heart?style=solid), copy the HTML reference and paste into the markdown content.

The HTML to include the heart icon is:

```
<i class="fas fa-heart"></i>
```

## Including in markdown

Paste the `<i>` HTML into markup and Font Awesome will load the relevant icon.

```
Built with <i class="fas fa-heart"></i> from Grav and Hugo
```

Which appears as

Built with <i class="fas fa-heart"></i> from Grav and Hugo

## Customising icons

Font Awesome provides many ways to modify the icon

* Change colour (by default the icon will inherit the parent colour)
* Increase or decrease size
* Rotate
* Combine with other icons

Check the full documentation on [web fonts with CSS](https://fontawesome.com/how-to-use/web-fonts-with-css) for more.

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/cont/pages/_index.fr.md
=====================================================
---
date: 2016-04-09T16:50:16+02:00
title: Organisation des pages
weight: 5
---

Dans **Hugo**, les pages sont le cœur de votre site. Une fois configurées, les pages sont la valeur ajoutée de votre site de documentation.

## Dossiers

Organisez votre site comme n'importe quel autre [projet Hugo](https://gohugo.io/content/organization/). Typiquement, vous allez avoir un dossier *content* avec vos pages.

    content
    ├── niveau-un 
    │   ├── niveau-deux
    │   │   ├── niveau-trois
    │   │   │   ├── niveau-quatre
    │   │   │   │   ├── _index.md       <-- /niveau-un/niveau-deux/niveau-trois/niveau-quatre
    │   │   │   │   ├── page-4-a.md     <-- /niveau-un/niveau-deux/niveau-trois/niveau-quatre/page-4-a
    │   │   │   │   ├── page-4-b.md     <-- /niveau-un/niveau-deux/niveau-trois/niveau-quatre/page-4-b
    │   │   │   │   └── page-4-c.md     <-- /niveau-un/niveau-deux/niveau-trois/niveau-quatre/page-4-c
    │   │   │   ├── _index.md           <-- /niveau-un/niveau-deux/niveau-trois
    │   │   │   ├── page-3-a.md         <-- /niveau-un/niveau-deux/niveau-trois/page-3-a
    │   │   │   ├── page-3-b.md         <-- /niveau-un/niveau-deux/niveau-trois/page-3-b
    │   │   │   └── page-3-c.md         <-- /niveau-un/niveau-deux/niveau-trois/page-3-c
    │   │   ├── _index.md               <-- /niveau-un/niveau-deux
    │   │   ├── page-2-a.md             <-- /niveau-un/niveau-deux/page-2-a
    │   │   ├── page-2-b.md             <-- /niveau-un/niveau-deux/page-2-b
    │   │   └── page-2-c.md             <-- /niveau-un/niveau-deux/page-2-c
    │   ├── _index.md                   <-- /niveau-un
    │   ├── page-1-a.md                 <-- /niveau-un/page-1-a
    │   ├── page-1-b.md                 <-- /niveau-un/page-1-b
    │   └── page-1-c.md                 <-- /niveau-un/page-1-c
    ├── _index.md                       <-- /
    └── premiere-page.md                <-- /premiere-page

{{% notice note %}}
Le fichier `_index.md` est obligatoire dans chaque dossier, c'est en quelque sorte votre page d'accueil pour le dossier.
{{% /notice %}}

## Types

**Hugo-theme-learn** définit deux types de pages. *Défaut* et *Chapitre*. Les deux sont utilisables à n'importe quel niveau du site, la seule différence est dans l'affichage.

Un **Chapitre** affiche une page vouée à être une introduction pour un ensemble de pages filles. Habituellement, il va seulement contenir un titre et un résumé de la section.
Vous pouvez définir n'importe quel contenu HTML comme préfixe de l'entrée du menu. Dans l'exemple ci-dessous, c'est juste un nombre mais vous pourriez utiliser une [icône](https://fortawesome.github.io/Font-Awesome/).

![Page Chapitre](/en/cont/pages/images/pages-chapter.png?width=50pc)

```markdown

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/cont/pages/_index.en.md
=====================================================
---
date: 2016-04-09T16:50:16+02:00
title: Pages organization
weight: 5
---

In **Hugo**, pages are the core of your site. Once it is configured, pages are definitely the added value to your documentation site.

## Folders

Organize your site like [any other Hugo project](https://gohugo.io/content/organization/). Typically, you will have a *content* folder with all your pages.

    content
    ├── level-one
    │   ├── level-two
    │   │   ├── level-three
    │   │   │   ├── level-four
    │   │   │   │   ├── _index.md       <-- /level-one/level-two/level-three/level-four
    │   │   │   │   ├── page-4-a.md     <-- /level-one/level-two/level-three/level-four/page-4-a
    │   │   │   │   ├── page-4-b.md     <-- /level-one/level-two/level-three/level-four/page-4-b
    │   │   │   │   └── page-4-c.md     <-- /level-one/level-two/level-three/level-four/page-4-c
    │   │   │   ├── _index.md           <-- /level-one/level-two/level-three
    │   │   │   ├── page-3-a.md         <-- /level-one/level-two/level-three/page-3-a
    │   │   │   ├── page-3-b.md         <-- /level-one/level-two/level-three/page-3-b
    │   │   │   └── page-3-c.md         <-- /level-one/level-two/level-three/page-3-c
    │   │   ├── _index.md               <-- /level-one/level-two
    │   │   ├── page-2-a.md             <-- /level-one/level-two/page-2-a
    │   │   ├── page-2-b.md             <-- /level-one/level-two/page-2-b
    │   │   └── page-2-c.md             <-- /level-one/level-two/page-2-c
    │   ├── _index.md                   <-- /level-one
    │   ├── page-1-a.md                 <-- /level-one/page-1-a
    │   ├── page-1-b.md                 <-- /level-one/page-1-b
    │   └── page-1-c.md                 <-- /level-one/page-1-c
    ├── _index.md                       <-- /
    └── page-top.md                     <-- /page-top

{{% notice note %}}
`_index.md` is required in each folder, it’s your “folder home page”
{{% /notice %}}

## Types

**Hugo-theme-learn** defines two types of pages. *Default* and *Chapter*. Both can be used at any level of the documentation, the only difference being layout display.

A **Chapter** displays a page meant to be used as introduction for a set of child pages. Commonly, it contains a simple title and a catch line to define content that can be found under it.
You can define any HTML as prefix for the menu. In the example below, it's just a number but that could be an [icon](https://fortawesome.github.io/Font-Awesome/).

![Chapter page](/en/cont/pages/images/pages-chapter.png?width=50pc)

```markdown

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/cont/menushortcuts.fr.md
=====================================================
---
date: 2016-04-09T16:50:16+02:00
title: Raccourcis du menu
weight: 25
---

Vous pouvez définir des entrées ou raccourcis supplémentaires dans le menu sans avoir besoin d'être lié à un contenu du site.

## Configuration simple

Editez le fichier de configuration `config.toml` et ajoutez une entrée `[[menu.shortcuts]]` pour chaque lien que vous voulez ajouter.

Exemple pour ce site:

    [[menu.shortcuts]] 
    name = "<i class='fab fa-github'></i> Github repo"
    identifier = "ds"
    url = "https://github.com/matcornic/hugo-theme-learn"
    weight = 10

    [[menu.shortcuts]]
    name = "<i class='fas fa-camera'></i> Showcases"
    url = "/showcase"
    weight = 11

    [[menu.shortcuts]]
    name = "<i class='fas fa-bookmark'></i> Hugo Documentation"
    identifier = "hugodoc"
    url = "https://gohugo.io/"
    weight = 20

    [[menu.shortcuts]]
    name = "<i class='fas fa-bullhorn'></i> Credits"
    url = "/credits"
    weight = 30

Par défaut, les raccourcis sont précédés par un titre. Ce titre peut être désactivé en ajouter le paramètre `disableShortcutsTitle=true` dans la section `params` de votre `config.toml`. 
Cependant, si vous voulez garder le titre mais changer sa valeur, vous pouvez modifier votre configuration multilangue locale en changeant les *translation string*. 

Par exemple, dans votre fichier local `i18n/en.toml`, ajouter le contenu

    [Shortcuts-Title]
    other = "<Votre valeur>"

Plus d'infos sur [les menus Hugo](https://gohugo.io/extras/menus/) et sur [les translations strings](https://gohugo.io/content-management/multilingual/#translation-of-strings)

## Configuration pour le mode multi-langue {#i18n}

Quand vous utilisez un site multi-langue, vous pouvez avoir des menus différents pour chaque langage. Dans le fichier de configuration `config.toml`, préfixez votre configuration par `Languages.<language-id>`. 


=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/cont/markdown.en.md
=====================================================
---
date: 2016-04-09T16:50:16+02:00
title: Markdown syntax
weight: 15
---

{{% notice note %}}
This page is a shameful copy of the great [Grav original page](http://learn.getgrav.org/content/markdown).
Only difference is information about image customization ([resizing]({{< relref "#resizing-image" >}}), [add CSS classes]({{< relref "#add-css-classes" >}})...)
{{% /notice%}}

Let's face it: Writing content for the Web is tiresome. WYSIWYG editors help alleviate this task, but they generally result in horrible code, or worse yet, ugly web pages.

**Markdown** is a better way to write **HTML**, without all the complexities and ugliness that usually accompanies it.

Some of the key benefits are:

1. Markdown is simple to learn, with minimal extra characters so it's also quicker to write content.
2. Less chance of errors when writing in markdown.
3. Produces valid XHTML output.
4. Keeps the content and the visual display separate, so you cannot mess up the look of your site.
5. Write in any text editor or Markdown application you like.
6. Markdown is a joy to use!

John Gruber, the author of Markdown, puts it like this:

> The overriding design goal for Markdown’s formatting syntax is to make it as readable as possible. The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions. While Markdown’s syntax has been influenced by several existing text-to-HTML filters, the single biggest source of inspiration for Markdown’s syntax is the format of plain text email.
> -- John Gruber

Grav ships with built-in support for [Markdown](http://daringfireball.net/projects/markdown/) and [Markdown Extra](https://michelf.ca/projects/php-markdown/extra/). You must enable **Markdown Extra** in your `system.yaml` configuration file

Without further delay, let us go over the main elements of Markdown and what the resulting HTML looks like:

{{% notice info %}}
<i class="fas fa-bookmark"></i> Bookmark this page for easy future reference!
{{% /notice %}}

## Headings

Headings from `h1` through `h6` are constructed with a `#` for each level:

```markdown
# h1 Heading
## h2 Heading
### h3 Heading
#### h4 Heading
##### h5 Heading
###### h6 Heading
```


=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/credits.fr.md
=====================================================
---
title: Crédits
disableToc: true
---

## Contributeurs

Merci à eux <i class="fas fa-heart"></i> de rendre le monde Open Source meilleur  !

{{% ghcontributors "https://api.github.com/repos/matcornic/hugo-theme-learn/contributors?per_page=100" %}}

Et un grand merci à [@vjeantet](https://github.com/vjeantet) pour son travail sur [docdock](https://github.com/vjeantet/hugo-theme-docdock), un fork de _hugo-theme-learn_. La v2.0.0 du thème est en grande partie inspirée de son travail.

## Packages et librairies
* [mermaid](https://mermaid-js.github.io/) - géneration de diagrames et graphiques à partir de texte similaire à Markdown
* [font awesome](http://fontawesome.io/) - Le framework de polices iconiques
* [jQuery](https://jquery.com) - La plus connue des librairies Javascript
* [lunr](https://lunrjs.com) - Lunr fournit des fonctions de recherche sans service externe
* [horsey](https://bevacqua.github.io/horsey/) - Autocomplétion de composants (utiliser pour les suggestions de recherche)
* [clipboard.js](https://zenorocha.github.io/clipboard.js) - Copier le texte dans le presse-papier
* [highlight.js](https://highlightjs.org) - Mise en valeur de syntaxes
* [modernizr](https://modernizr.com) - Une boite à outil Javascript qui permet aux développeurs d'utiliser les dernières fonctionnalités de CSS et HTML5, même sur de vieux navigateurs.

## Outils

* [Netlify](https://www.netlify.com) - Déploiement continue et hébergement de cette documentation
* [Hugo](https://gohugo.io/)


=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/basics/configuration/_index.fr.md
=====================================================
---
date: 2016-04-09T16:50:16+02:00
title: Configuration
weight: 20
---

## Paramètres globaux du site

En plus de la [configuration globale d'Hugo](https://gohugo.io/overview/configuration/), **Hugo-theme-learn** vous permet de définir les paramètres suivant dans votre fichier `config.toml` (ci-dessous sont affichées les valeurs par défaut).

Notez que certains de ces paramètres sont expliqués en détails dans d'autres sections de cette documentation.

```toml
[params]
  # L'URL préfixe pour éditer la page courante. Ce paramètre affichera un bouton "Modifier cette page" on haut de de chacune des pages.
  # Pratique pour donner les possibilité à vos utilisateurs de créer une merge request pour votre doc.
  # Allez voir le fichier config.toml de cette documentation pour avoir un exemple.
  editURL = ""
  # Autheur du site, est utilisé dans les informations meta
  author = ""
  # Description du site, est utilisé dans les informations meta
  description = ""
  # Affiche une icône lorsque la page a été visitée
  showVisitedLinks = false
  # Désactive la fonction de recherche. Une valeur à true cache la barre de recherche.
  disableSearch = false
  # Par défaut, le cache Javascript et CSS est automatiquement vidé lorsqu'une nouvelle version du site est générée.
  # Utilisez ce paramètre lorsque vous voulez désactiver ce comportement (c'est parfois incompatible avec certains proxys)
  disableAssetsBusting = false
  # Utilisez ce paramètre pour désactiver le bouton copy-to-clipboard pour le code formatté sur une ligne.
  disableInlineCopyToClipBoard = false
  # Un titre est défini par défaut lorsque vous utilisez un raccourci dans le menu. Utilisez ce paramètre pour le cacher.
  disableShortcutsTitle = false
  # S'il est réglé sur faux, un bouton Accueil apparaîtra sous la barre de recherche dans le menu.
  # Il redirige vers la page d'accueil de la langue actuelle si cela est spécifié. (La valeur par défaut est "/")
  disableLandingPageButton = true
  # Si défini à true, empêche Hugo d'inclure le module "mermaid" s'il n'est pas nécessaire (réduira les temps de chargement et le trafic)
  disableMermaid = false
  # Spécifie l'emplacement distant du mermaid js
  customMermaidURL = "https://unpkg.com/mermaid@8.8.0/dist/mermaid.min.js"
  # Quand vous utilisez un site multi-langue, utilisez ce paramètre pour désactiver le bouton de changement de langue.
  disableLanguageSwitchingButton = false
  # Ordonne les sections dans menu par poids ("weight") ou titre ("title"). Défaut à "weight"
  ordersectionsby = "weight"
  # Utilisez ce paramètre pour modifier le schéma de couleur du site. Les valeurs par défaut sont "red", "blue", "green".
  themeVariant = ""
  # Fournissez une liste de fichiers css personnalisés à charger par rapport depuis le dossier `static/` à la racine du site.
  custom_css = ["css/foo.css", "css/bar.css"]
```


=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/basics/configuration/_index.en.md
=====================================================
---
date: 2016-04-09T16:50:16+02:00
title: Configuration
weight: 20
---

## Global site parameters

On top of [Hugo global configuration](https://gohugo.io/overview/configuration/), **Hugo-theme-learn** lets you define the following parameters in your `config.toml` (here, values are default).

Note that some of these parameters are explained in details in other sections of this documentation.

```toml
[params]
  # Prefix URL to edit current page. Will display an "Edit this page" button on top right hand corner of every page.
  # Useful to give opportunity to people to create merge request for your doc.
  # See the config.toml file from this documentation site to have an example.
  editURL = ""
  # Author of the site, will be used in meta information
  author = ""
  # Description of the site, will be used in meta information
  description = ""
  # Shows a checkmark for visited pages on the menu
  showVisitedLinks = false
  # Disable search function. It will hide search bar
  disableSearch = false
  # Javascript and CSS cache are automatically busted when new version of site is generated.
  # Set this to true to disable this behavior (some proxies don't handle well this optimization)
  disableAssetsBusting = false
  # Set this to true to disable copy-to-clipboard button for inline code.
  disableInlineCopyToClipBoard = false
  # A title for shortcuts in menu is set by default. Set this to true to disable it.
  disableShortcutsTitle = false
  # If set to false, a Home button will appear below the search bar on the menu.
  # It is redirecting to the landing page of the current language if specified. (Default is "/")
  disableLandingPageButton = true
  # When using mulitlingual website, disable the switch language button.
  disableLanguageSwitchingButton = false
  # Hide breadcrumbs in the header and only show the current page title
  disableBreadcrumb = true
  # If set to true, prevents Hugo from including the mermaid module if not needed (will reduce load times and traffic)
  disableMermaid = false
  # Specifies the remote location of the mermaid js
  customMermaidURL = "https://unpkg.com/mermaid@8.8.0/dist/mermaid.min.js"
  # Hide Next and Previous page buttons normally displayed full height beside content
  disableNextPrev = true
  # Order sections in menu by "weight" or "title". Default to "weight"
  ordersectionsby = "weight"
  # Change default color scheme with a variant one. Can be "red", "blue", "green".
  themeVariant = ""

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/basics/_index.fr.md
=====================================================
---
title: Démarrage
weight: 5
pre: "<b>1. </b>"
chapter: true
---

### Chapitre 1

# Démarrage

Découvrez comment utiliser ce thème Hugo et apprenez-en les concepts

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/basics/installation/_index.fr.md
=====================================================
---
title: Installation
weight: 15
---

Les étapes suivantes sont là pour vous aider à initialiser votre site. Si vous ne connaissez pas du tout Hugo, il est fortement conseillé de vous entrainer en suivant ce [super tuto pour débutants](https://gohugo.io/overview/quickstart/).

## Créer votre projet

Hugo fournit une commande `new` pour créer un nouveau site.

```
hugo new site <new_project>
```

## Installer le thème

Installer le thème **Hugo-theme-learn** en suivant [cette documentation](https://gohugo.io/themes/installing/)

Le repo du thème est : https://github.com/matcornic/hugo-theme-learn.git

Sinon, vous pouvez [télécharger le thème sous forme d'un fichier .zip](https://github.com/matcornic/hugo-theme-learn/archive/master.zip) et extrayez le dans votre dossier de thèmes.

## Configuration simple

Lorsque vous générez votre site, vous pouvez définir un thème en utilisant l'option `--theme`. Il est conseillé de modifier votre fichier de configuration `config.toml` and définir votre thème par défaut. En passant, ajoutez les prérequis à l'utilisation de la fonctionnalité de recherche.

```toml
# Modifiez le thème pour qu'il soit utilisé par défaut à chaque génération de site.
theme = "hugo-theme-learn"

# Pour la fonctionnalité de recherche
[outputs]
home = [ "HTML", "RSS", "JSON"]
```

## Créer votre première page chapitre

Les *chapitres* sont des pages contenant d'autre pages filles. Elles ont un affichage spécial et contiennent habituellement juste un _nom_ de chapitre, le _titre_ et un _résumé_ de la section.

```
### Chapitre 1

# Démarrage

Découvrez comment utiliser ce thème Hugo et apprenez en les concepts
```

s'affiche comme


=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/basics/installation/_index.en.md
=====================================================
---
title: Installation
weight: 15
---

The following steps are here to help you initialize your new website. If you don't know Hugo at all, we strongly suggest you learn more about it by following this [great documentation for beginners](https://gohugo.io/overview/quickstart/).

## Create your project

Hugo provides a `new` command to create a new website.

```
hugo new site <new_project>
```

## Install the theme

Install the **Hugo-theme-learn** theme by following [this documentation](https://gohugo.io/getting-started/quick-start/#step-3-add-a-theme)

This theme's repository is: https://github.com/matcornic/hugo-theme-learn.git

Alternatively, you can [download the theme as .zip](https://github.com/matcornic/hugo-theme-learn/archive/master.zip) file and extract it in the `themes` directory

## Basic configuration

When building the website, you can set a theme by using `--theme` option. However, we suggest you modify the configuration file (`config.toml`) and set the theme as the default. You can also add the `[outputs]` section to enable the search functionality.

```toml
# Change the default theme to be use when building the site with Hugo
theme = "hugo-theme-learn"

# For search functionality
[outputs]
home = [ "HTML", "RSS", "JSON"]
```

## Create your first chapter page

Chapters are pages that contain other child pages. It has a special layout style and usually just contains a _chapter name_, the _title_ and a _brief abstract_ of the section.

```
### Chapter 1

# Basics

Discover what this Hugo theme is all about and the core concepts behind it.
```

renders as 


=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/basics/_index.en.md
=====================================================
---
title: Basics
weight: 5
pre: "<b>1. </b>"
chapter: true
---

### Chapter 1

# Basics

Discover what this Hugo theme is all about and the core-concepts behind it.

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/basics/requirements/_index.fr.md
=====================================================
---
title: Prérequis
weight: 10
disableToc: true
---

Grâce à la simplicité d'Hugo, cette page est vide car il n'y a quasi pas de prérequis pour utiliser le thème.

Téléchargez la dernière version du [binaire Hugo (> 0.25)](https://gohugo.io/getting-started/installing/) pour votre Système d'exploitation (Windows, Linux, Mac) : et c'est tout !

![Magic](/en/basics/requirements/images/magic.gif?classes=shadow)

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/basics/requirements/_index.en.md
=====================================================
---
title: Requirements
weight: 10
disableToc: true
---

Thanks to the simplicity of Hugo, this page is as empty as this theme needs requirements.

Just download latest version of [Hugo binary (> 0.25)](https://gohugo.io/getting-started/installing/) for your OS (Windows, Linux, Mac) : it's that simple.

![Magic](/en/basics/requirements/images/magic.gif?classes=shadow)

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/basics/_index.zh.md
=====================================================
---
title: 基础
weight: 5
pre: "<b>1. </b>"
chapter: true
---

### 章节 1

# 基础

了解该 Hugo 主题的特点以及背后的核心概念。

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/basics/style-customization/_index.fr.md
=====================================================
---
date: 2016-04-09T16:50:16+02:00
title: Personnalisation du style
weight: 25
---

**Hugo-theme-learn** a été conçu pour être aussi configurable que possible en définissant plusieurs [partials](https://gohugo.io/templates/partials/)

Dans `themes/hugo-theme-learn/layouts/partials/`, vous pourrez trouver tous les *partials* définis pour ce thème. Si vous avez besoin d'écraser quelque chose, ne modifiez pas le code directement. A la place, [suivez cette page](https://gohugo.io/themes/customizing/). Vous créerez alors un nouveau *partial* dans le dossier `layouts/partials` de votre site local. Ce *partial* aura la priorité.

Ce thème définit les *partials* suivant :

- *header*: l'en-tête de la page page (contient le fil d'Ariane). _Pas voué à être écrasé_
- *custom-header*: En-tête personnalisé. Voué à être écrasé quand vous ajoutez des imports CSS. N'oubliez pas d'inclure la balise HTML `style` dans votre fichier
- *footer*: le pied-de-page de la page (contains les flèches). _Pas voué à être écrasé_
- *custom-footer*:  Pied-de-page personnalisé. Voué à être écrasé quand vous ajoutez du Javascript. N'oubliez pas d'inclure la balise HTML `javascript` dans votre fichier
- *favicon*: le favicon
- *logo*: le logo, affiché un haut à gauche.
- *meta*: les balises HTML meta, que vous pouvez écraser sans problème.
- *menu*: Le menu à gauche. _Pas voué à être écrasé_
- *menu-footer*: Le pied-de-page du menu
- *search*: le champ de recherche
- *toc*: le sommaire

## Changer le logo

Créez un nouveau fichier dans `layouts/partials/`, nommé `logo.html`. Puis, écrivez le code HTML voulu.
Vous pourriez utiliser une balise HTML `img` et référencer une image créée dans le dossier *static*, voire même y coller un code SVG !

{{% notice note %}}
La taille du logo va s'adapter automatiquement
{{% /notice %}}

## Changer le favicon

Si votre favicon est un png, déposez votre image dans votre dossier local `static/images/` et nommez le `favicon.png`

Si vous avez besoin de changer ce comportement par défaut, créer un nouveau fichier dans `layouts/partials/` et nommez le `favicon.html`. Puis ajoutez quelque chose comme:

```html
<link rel="shortcut icon" href="/images/favicon.png" type="image/x-icon" />
```

## Changer les couleurs par défaut {#theme-variant}

**Hugo Learn theme** vous permet de choisir nativement entre 3 schéma de couleurs, mais n'hésitez pas à en ajouter d'autres ! Les couleurs par défaut sont celles de [Grav Learn Theme](https://learn.getgrav.org/).

### Variante rouge

```toml

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/basics/style-customization/_index.en.md
=====================================================
---
date: 2016-04-09T16:50:16+02:00
title: Style customization
weight: 25
---

**Hugo-theme-learn** has been built to be as configurable as possible by defining multiple [partials](https://gohugo.io/templates/partials/)

In `themes/hugo-theme-learn/layouts/partials/`, you will find all the partials defined for this theme. If you need to overwrite something, don't change the code directly. Instead [follow this page](https://gohugo.io/themes/customizing/). You'd create a new partial in the `layouts/partials` folder of your local project. This partial will have the priority.

This theme defines the following partials :

- *header*: the header of the content page (contains the breadcrumbs). _Not meant to be overwritten_
- *custom-header*: custom headers in page. Meant to be overwritten when adding CSS imports. Don't forget to include `style` HTML tag directive in your file
- *footer*: the footer of the content page (contains the arrows). _Not meant to be overwritten_
- *custom-footer*:  custom footer in page. Meant to be overwritten when adding Javacript. Don't forget to include `javascript` HTML tag directive in your file
- *favicon*: the favicon
- *logo*: the logo, on top left hand corner.
- *meta*: HTML meta tags, if you want to change default behavior
- *menu*: left menu. _Not meant to be overwritten_
- *menu-footer*: footer of the the left menu
- *search*: search box
- *toc*: table of contents

## Change the logo

Create a new file in `layouts/partials/` named `logo.html`. Then write any HTML you want.
You could use an `img` HTML tag and reference an image created under the *static* folder, or you could paste a SVG definition !

{{% notice note %}}
The size of the logo will adapt automatically
{{% /notice %}}

## Change the favicon

If your favicon is a png, just drop off your image in your local `static/images/` folder and name it `favicon.png`

If you need to change this default behavior, create a new file in `layouts/partials/` named `favicon.html`. Then write something like this:

```html
<link rel="shortcut icon" href="/images/favicon.png" type="image/x-icon" />
```

## Change default colors {#theme-variant}

**Hugo Learn theme** let you choose between 3 native color scheme variants, but feel free to add one yourself ! Default color scheme is based on [Grav Learn Theme](https://learn.getgrav.org/).

### Red variant

```toml

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/showcase.fr.md
=====================================================
---
title: Vitrine
disableToc: true
slug: vitrine
---

#### [TAT](https://ovh.github.io/tat/overview/) par OVH
![TAT image](/images/showcase/tat.png?width=50pc)

#### [Tshark.dev](https://tshark.dev) par Ross Jacobs
![Tshark.dev image](/images/showcase/tshark_dev.png?width=50pc)

#### [inteliver](https://docs.inteliver.com) by Amir Lavasani
![docs.inteliver.com image](/images/showcase/inteliver_docs.png?width=50pc)

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/credits.en.md
=====================================================
---
title: Credits
disableToc: true
---

## Contributors

Thanks to them <i class="fas fa-heart"></i> for making Open Source Software a better place !

{{% ghcontributors "https://api.github.com/repos/matcornic/hugo-theme-learn/contributors?per_page=100" %}}

And a special thanks to [@vjeantet](https://github.com/vjeantet) for his work on [docdock](https://github.com/vjeantet/hugo-theme-docdock), a fork of hugo-theme-learn. v2.0.0 of this theme is inspired by his work.

## Packages and libraries
* [mermaid](https://mermaid-js.github.io/) - generation of diagram and flowchart from text in a similar manner as markdown
* [font awesome](http://fontawesome.io/) - the iconic font and CSS framework
* [jQuery](https://jquery.com) - The Write Less, Do More, JavaScript Library
* [lunr](https://lunrjs.com) - Lunr enables you to provide a great search experience without the need for external, server-side, search services...
* [horsey](https://bevacqua.github.io/horsey/) - Progressive and customizable autocomplete component
* [clipboard.js](https://zenorocha.github.io/clipboard.js) - copy text to clipboard
* [highlight.js](https://highlightjs.org) - Javascript syntax highlighter
* [modernizr](https://modernizr.com) - A JavaScript toolkit that allows web developers to use new CSS3 and HTML5 features while maintaining a fine level of control over browsers that don't support

## Tooling

* [Netlify](https://www.netlify.com) - Continuous deployement and hosting of this documentation
* [Hugo](https://gohugo.io/)


=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/mermaid.fr.md
=====================================================
---
title : "Mermaid"
description : "Génération de diagrammes à partir de texte, dans le même style que Markdown"
---

[Mermaid](https://mermaidjs.github.io/) est une bibliothèque Javascript qui permet de générer des diagrammes (séquence, état, gantt, etc.) à partir de texte, dans le même style que Markdown.

Insérer votre code Mermaid dans un shortcode `mermaid` et c'est tout.

## Flowchart example
    {{</*mermaid align="left"*/>}}
    graph LR;
        A[Bords droits] -->|Lien texte| B(Bords arondis)
        B --> C{Décision}
        C -->|Un| D[Résultat un]
        C -->|Deux| E[Résultat deux]
    {{</* /mermaid */>}}

renders as

{{<mermaid align="left">}}
graph LR;
    A[Bords droits] -->|Lien texte| B(Bords arondis)
    B --> C{Décision}
    C -->|Un| D[Résultat un]
    C -->|Deux| E[Résultat deux]
{{< /mermaid >}}

## Sequence example

    {{</*mermaid*/>}}
    sequenceDiagram
        participant Alice
        participant Bob
        Alice->>John: Salut John, comment vas-tu?
        loop Vérification
            John->John: Se bat contre l'hyponcodrie.
        end
        Note right of John: Les pensées rationnelles<br/>prédominent...
        John-->Alice: Super!
        John->Bob: Et toi?
        Bob-->John: Au top!
    {{</* /mermaid */>}}

renders as

{{<mermaid>}}
sequenceDiagram
    participant Alice
    participant Bob

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/small_file.txt
=====================================================
Ce fichier a été téléchargé à partir du Hugo Learn Theme.

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/notice.en.md
=====================================================
---
title: Notice
description : "Disclaimers to help you structure your page"
---

The notice shortcode shows 4 types of disclaimers to help you structure your page.

### Note

```
{{%/* notice note */%}}
A notice disclaimer
{{%/* /notice */%}}
```

renders as

{{% notice note %}}
A notice disclaimer
{{% /notice %}}

### Info

```
{{%/* notice info */%}}
An information disclaimer
{{%/* /notice */%}}
```

renders as

{{% notice info %}}
An information disclaimer
{{% /notice %}}

### Tip

```
{{%/* notice tip */%}}
A tip disclaimer
{{%/* /notice */%}}
```

renders as

{{% notice tip %}}
A tip disclaimer
{{% /notice %}}

### Warning

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.md
=====================================================
---
title: Attachments
description : "The Attachments shortcode displays a list of files attached to a page."
---

The Attachments shortcode displays a list of files attached to a page.

{{% attachments /%}}

## Usage

The shortcurt lists files found in a **specific folder**.
Currently, it support two implementations for pages

1. If your page is a markdown file, attachements must be placed in a **folder** named like your page and ending with **.files**.

    > * content
    >   * _index.md
    >   * page.files
    >      * attachment.pdf
    >   * page.md

2. If your page is a **folder**, attachements must be placed in a nested **'files'** folder.

    > * content
    >   * _index.md
    >   * page
    >      * index.md
    >      * files
    >          * attachment.pdf

Be aware that if you use a multilingual website, you will need to have as many folders as languages.

That's all!

### Parameters

| Parameter | Default | Description |
|:--|:--|:--|
| title | "Attachments" | List's title  |
| style | "" | Choose between "orange", "grey", "blue" and "green" for nice style |
| pattern | ".*" | A regular expression, used to filter the attachments by file name. The **pattern** parameter value must be a [regular expression](https://en.wikipedia.org/wiki/Regular_expression). |

For example:

* To match a file suffix of '.jpg', use `.*\.jpg$` (not `*.jpg`).
* To match file names ending in '.jpg' or '.png', use `.*\.(jpg|png)$`.

### Examples


=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/_index.en.md
=====================================================
---
title : Children
description : List the child pages of a page
---

Use the children shortcode to list the child pages of a page and the further descendants (children's children). By default, the shortcode displays links to the child pages.

## Usage

| Parameter | Default | Description |
|:--|:--|:--|
| page | _current_ | Specify the page name (section name) to display children for |
| style | "li" | Choose the style used to display descendants. It could be any HTML tag name |
| showhidden | "false" | When true, child pages hidden from the menu will be displayed |
| description  | "false" | Allows you to include a short text under each page in the list. When no description exists for the page, children shortcode takes the first 70 words of your content. [Read more info about summaries on gohugo.io](https://gohugo.io/content/summaries/) |
| depth | 1 | Enter a number to specify the depth of descendants to display. For example, if the value is 2, the shortcode will display 2 levels of child pages.  **Tips:** set 999 to get all descendants |
| sort | none | Sort children by **Weight** - to sort on menu order, **Name** - to sort alphabetically on menu label, **Identifier** - to sort alphabetically on identifier set in frontmatter, and **URL** - to sort by URL |

## Demo

	{{%/* children  */%}}

{{% children %}}

	{{%/* children description="true" */%}}

{{%children description="true" %}}

	{{%/* children depth="3" showhidden="true" */%}}

{{% children depth="3" showhidden="true" %}}

	{{%/* children style="h2" depth="3" description="true" */%}}

{{% children style="h2" depth="3" description="true" %}}

	{{%/* children style="div" depth="999" */%}}

{{% children style="div" depth="999" %}}







=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/small_file.txt
=====================================================
This file was downloaded from Hugo Learn Theme.

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.md
=====================================================
---
title: Attachments (Pièces jointes)
description : "The Attachments shortcode displays a list of files attached to a page."
---

Le shortcode *Attachments* affiche une liste de pièces jointes d'une page.

{{% attachments /%}}

## Utilisation

Le shortcode affiche la liste de fichiers trouvés dans un **dossier spécifique**
A l'heure actuelle, il supporte deux implémentations

1. Si votre page est un fichier Markdown, les pièces jointes doivent être placée dans un **dossier** nommé comme le nom de la page et suffixé par **.files**.

    > * content
    >   * _index.md
    >   * page.files
    >      * attachment.pdf
    >   * page.md

2. Si votre page est un **dossier**, les pièces jointes doivent être placées dans un dossier fils **'files'**.

    > * content
    >   * _index.md
    >   * page
    >      * index.md
    >      * files
    >          * attachment.pdf

Attention, si votre site est multi-langue, vous devrez avec autant de dossier qu'il y a de langues.

C'est tout !

### Paramètres

| Paramètre | Défaut | Description |
|:--|:--|:--|
| title | "Pièces jointes" | Titre de la liste  |
| style | "" | Choisir entre "orange", "grey", "blue" et "green" pour un style plus sympa |
| pattern | ".*" | Une expression régulière, utilisée pour filtrer les pièces jointes par leur nom de fichier. Le paramètre **pattern** doit être une [expression régulière](https://en.wikipedia.org/wiki/Regular_expression). |

Par exemple:

* Pour trouver les fichiers avec le suffixe '.jpg', utilisez `.*\.jpg$` (pas `*.jpg`).
* Pour trouver les fichiers avec les suffixe '.jpg' ou '.png', utilisez `.*\.(jpg|png)$`.

### Exemples


=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/tabs.en.md
=====================================================
---
title: Tabbed views
description : "Synchronize selection of content in different tabbed views"
---

Choose which content to see across the page. Very handy for providing code
snippets for multiple languages or providing configuration in different formats.

## Code example

	{{</* tabs */>}}
	{{%/* tab name="python" */%}}
	```python
	print("Hello World!")
	```
	{{%/* /tab */%}}
	{{%/* tab name="R" */%}}
	```R
	> print("Hello World!")
	```
	{{%/* /tab */%}}
	{{%/* tab name="Bash" */%}}
	```Bash
	echo "Hello World!"
	```
	{{%/* /tab */%}}
	{{</* /tabs */>}}

Renders as:

{{< tabs >}}
{{% tab name="python" %}}
```python
print("Hello World!")
```
{{% /tab %}}
{{% tab name="R" %}}
```R
> print("Hello World!")
```
{{% /tab %}}
{{% tab name="Bash" %}}
```Bash
echo "Hello World!"
```
{{% /tab %}}
{{< /tabs >}}

Tab views with the same tabs that belong to the same group sychronize their selection:


=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/mermaid.en.md
=====================================================
---
title : "Mermaid"
description : "Generation of diagram and flowchart from text in a similar manner as markdown"
---

[Mermaid](https://mermaidjs.github.io/) is a library helping you to generate diagram and flowcharts from text, in a similar manner as Markdown.

Just insert your mermaid code in the `mermaid` shortcode and that's it.

## Flowchart example

    {{</*mermaid align="left"*/>}}
    graph LR;
        A[Hard edge] -->|Link text| B(Round edge)
        B --> C{Decision}
        C -->|One| D[Result one]
        C -->|Two| E[Result two]
    {{</* /mermaid */>}}

renders as

{{<mermaid align="left">}}
graph LR;
    A[Hard edge] -->|Link text| B(Round edge)
    B --> C{Decision}
    C -->|One| D[Result one]
    C -->|Two| E[Result two]
{{</mermaid>}}

## Sequence example

    {{</* mermaid */>}}
    sequenceDiagram
        participant Alice
        participant Bob
        Alice->>John: Hello John, how are you?
        loop Healthcheck
            John->John: Fight against hypochondria
        end
        Note right of John: Rational thoughts <br/>prevail...
        John-->Alice: Great!
        John->Bob: How about you?
        Bob-->John: Jolly good!
    {{</* /mermaid */>}}

renders as

{{<mermaid>}}
sequenceDiagram
    participant Alice

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/button.fr.md
=====================================================
---
title: Button (Bouton)
description : "De beaux boutons sur votre page."
---

Le shortcode *button* est simplement un bouton cliquable avec une icône optionnelle.

```
{{%/* button href="https://getgrav.org/" */%}}Téléchargez Grav{{%/* /button */%}}
{{%/* button href="https://getgrav.org/" icon="fas fa-download" */%}}Téléchargez Grav avec icône{{%/* /button */%}}
{{%/* button href="https://getgrav.org/" icon="fas fa-download" icon-position="right" */%}}Téléchargez Grav avec icône à droite{{%/* /button */%}}
```

{{% button href="https://getgrav.org/" %}}Téléchargez Grav{{% /button %}}
{{% button href="https://getgrav.org/" icon="fas fa-download" %}}Téléchargez Grav avec icône{{% /button %}}
{{% button href="https://getgrav.org/" icon="fas fa-download" icon-position="right" %}}Téléchargez Grav avec icône à droite{{% /button %}}

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/shortcodes/button.en.md
=====================================================
---
title: Button
description : "Nice buttons on your page."
---

A button is a just a clickable button with optional icon.

```
{{%/* button href="https://getgrav.org/" */%}}Get Grav{{%/* /button */%}}
{{%/* button href="https://getgrav.org/" icon="fas fa-download" */%}}Get Grav with icon{{%/* /button */%}}
{{%/* button href="https://getgrav.org/" icon="fas fa-download" icon-position="right" */%}}Get Grav with icon right{{%/* /button */%}}
```

{{% button href="https://getgrav.org/" %}}Get Grav{{% /button %}}
{{% button href="https://getgrav.org/" icon="fas fa-download" %}}Get Grav with icon{{% /button %}}
{{% button href="https://getgrav.org/" icon="fas fa-download" icon-position="right" %}}Get Grav with icon right{{% /button %}}

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/content/showcase.en.md
=====================================================
---
title: Showcase
disableToc: true
---

#### [TAT](https://ovh.github.io/tat/overview/) by OVH
![TAT image](/images/showcase/tat.png?width=50pc)

#### [Tshark.dev](https://tshark.dev) by Ross Jacobs
![Tshark.dev image](/images/showcase/tshark_dev.png?width=50pc)

#### [inteliver](https://docs.inteliver.com) by Amir Lavasani
![docs.inteliver.com image](/images/showcase/inteliver_docs.png?width=50pc)

=====================================================
== File: docs/document/themes/hugo-theme-learn/exampleSite/config.toml
=====================================================
baseURL = "/"
languageCode = "en-US"
defaultContentLanguage = "en"

title = "Hugo Learn Documentation"
theme = "hugo-theme-learn"
themesdir = "../.."
metaDataFormat = "yaml"
defaultContentLanguageInSubdir= true

[params]
  editURL = "https://github.com/matcornic/hugo-theme-learn/edit/master/exampleSite/content/"
  description = "Documentation for Hugo Learn Theme"
  author = "Mathieu Cornic"
  showVisitedLinks = true
  disableBreadcrumb = false
  disableNextPrev = false
  disableLandingPageButton = true
  disableMermaid = false
  customMermaidURL = "https://unpkg.com/mermaid@8.8.0/dist/mermaid.min.js"
  titleSeparator = "::"

[outputs]
home = [ "HTML", "RSS", "JSON"]

[Languages]
[Languages.en]
title = "Documentation for Hugo Learn Theme"
weight = 1
languageName = "English"
landingPageURL = "/en"
landingPageName = "<i class='fas fa-home'></i> Home"

[[Languages.en.menu.shortcuts]]
name = "<i class='fab fa-fw fa-github'></i> GitHub repo"
identifier = "ds"
url = "https://github.com/matcornic/hugo-theme-learn"
weight = 10

[[Languages.en.menu.shortcuts]]
name = "<i class='fas fa-fw fa-camera'></i> Showcases"
url = "showcase"
weight = 11

[[Languages.en.menu.shortcuts]]
name = "<i class='fas fa-fw fa-bookmark'></i> Hugo Documentation"
identifier = "hugodoc"
url = "https://gohugo.io/"
weight = 20


=====================================================
== File: docs/document/themes/hugo-theme-learn/README.md
=====================================================
# Hugo Learn Theme

This repository contains a theme for [Hugo](https://gohugo.io/), based on great [Grav Learn Theme](https://learn.getgrav.org/).

Visit the [theme documentation](https://learn.netlify.com/en/) to see what is going on. It is actually built with this theme.

[![wercker status](https://app.wercker.com/status/233466a2be73fcea400e7dc02ef6adf9/s/master "wercker status")](https://app.wercker.com/project/byKey/233466a2be73fcea400e7dc02ef6adf9)
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fmatcornic%2Fhugo-theme-learn.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fmatcornic%2Fhugo-theme-learn?ref=badge_shield)

## Main features

- Automatic Search
- Multilingual mode
- Unlimited menu levels
- Automatic next/prev buttons to navigate through menu entries
- Image resizing, shadow…
- Attachments files
- List child pages
- Mermaid diagram (flowchart, sequence, gantt)
- Customizable look and feel and themes variants
- Buttons, Tip/Note/Info/Warning boxes, Expand

## Installation

Navigate to your themes folder in your Hugo site and use the following commands:

```shell
cd themes/
git clone https://github.com/matcornic/hugo-theme-learn.git
```

Check that your Hugo version is minimum `0.25` with `hugo version`.

![Overview](https://github.com/matcornic/hugo-theme-learn/raw/master/images/tn.png)

## Usage

- [Visit the documentation](https://learn.netlify.com/en/)

## Download old versions (prior to 2.0.0)

If you need old version for compatibility purpose, either download [theme source code from releases](https://github.com/matcornic/hugo-theme-learn/releases) or use the right git tag. For example, with `1.1.0`

- Direct download way: https://github.com/matcornic/hugo-theme-learn/archive/1.1.0.zip
- Git way:

```shell
cd themes/hugo-theme-learn
git checkout tags/1.1.0
```

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/webfonts/fa-regular-400.svg
=====================================================
<svg xmlns="http://www.w3.org/2000/svg"><defs><font id="fontawesome-free" horiz-adv-x="640"><font-face ascent="448" descent="64" font-family="Font Awesome 5 Free" font-style="Regular" font-weight="400" units-per-em="512"/><glyph d="M436 288C442.6 288 448 293.4 448 300V340C448 346.6 442.6 352 436 352H416V400C416 426.5 394.5 448 368 448H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H368C394.5 -64 416 -42.5 416 -16V32H436C442.6 32 448 37.4 448 44V84C448 90.6 442.6 96 436 96H416V160H436C442.6 160 448 165.4 448 172V212C448 218.6 442.6 224 436 224H416V288H436zM368 -16H48V400H368V-16zM208 192C243.3 192 272 220.7 272 256S243.3 320 208 320S144 291.3 144 256S172.7 192 208 192zM118.4 64H297.6C310 64 320 72.6 320 83.2V102.4C320 134.2 289.9 160 252.8 160C242 160 234.1 152 208 152C181.1 152 174.6 160 163.2 160C126.1 160 96 134.2 96 102.4V83.2C96 72.6 106 64 118.4 64z" glyph-name="address-book" horiz-adv-x="448" unicode=""/><glyph d="M528 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H528C554.5 -32 576 -10.5 576 16V368C576 394.5 554.5 416 528 416zM528 16H48V368H528V16zM208 192C243.3 192 272 220.7 272 256S243.3 320 208 320S144 291.3 144 256S172.7 192 208 192zM118.4 64H297.6C310 64 320 72.6 320 83.2V102.4C320 134.2 289.9 160 252.8 160C242 160 234.1 152 208 152C181.1 152 174.6 160 163.2 160C126.1 160 96 134.2 96 102.4V83.2C96 72.6 106 64 118.4 64zM360 128H472C476.4 128 480 131.6 480 136V152C480 156.4 476.4 160 472 160H360C355.6 160 352 156.4 352 152V136C352 131.6 355.6 128 360 128zM360 192H472C476.4 192 480 195.6 480 200V216C480 220.4 476.4 224 472 224H360C355.6 224 352 220.4 352 216V200C352 195.6 355.6 192 360 192zM360 256H472C476.4 256 480 259.6 480 264V280C480 284.4 476.4 288 472 288H360C355.6 288 352 284.4 352 280V264C352 259.6 355.6 256 360 256z" glyph-name="address-card" horiz-adv-x="576" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM248 136C214.4 136 182.8 121.2 161.2 95.4C152.7 85.2 154.1 70.1 164.3 61.6S189.6 54.4 198.1 64.6C222.9 94.3 273.1 94.3 297.9 64.6C306 54.9 321.1 52.7 331.7 61.6C341.9 70.1 343.2 85.2 334.8 95.4C313.2 121.2 281.6 136 248 136zM200 208C210.3 208 219.9 214.7 223 225.1C226.8 237.8 219.6 251.2 206.9 255L126.9 279C114.1 282.9 100.8 275.6 97 262.9C93.2 250.2 100.4 236.8 113.1 233L141.3 224.5C138.2 219.6 136 214.1 136 207.9C136 190.2 150.3 175.9 168 175.9S200 190.3 200 208zM399 262.9C395.2 275.6 381.9 282.8 369.1 279L289.1 255C276.4000000000001 251.2 269.2000000000001 237.8 273 225.1C276.1 214.7 285.7 208 296 208C296 190.3 310.3 176 328 176S360 190.3 360 208C360 214.2 357.8 219.7 354.7 224.6L382.9 233.1C395.6 236.8 402.8 250.2 399 262.9z" glyph-name="angry" horiz-adv-x="496" unicode=""/><glyph d="M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM256 -8C145.5 -8 56 81.5 56 192S145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8zM224 308V192H157C146.3 192 141 179.1 148.5 171.5L247.5 72.5C252.2 67.8 259.8 67.8 264.5 72.5L363.5 171.5C371.1 179.1 365.7 192 355 192H288V308C288 314.6 282.6 320 276 320H236C229.4 320 224 314.6 224 308z" glyph-name="arrow-alt-circle-down" horiz-adv-x="512" unicode=""/><glyph d="M8 192C8 55 119 -56 256 -56S504 55 504 192S393 440 256 440S8 329 8 192zM456 192C456 81.5 366.5 -8 256 -8S56 81.5 56 192S145.5 392 256 392S456 302.5 456 192zM384 212V172C384 165.4 378.6 160 372 160H256V93C256 82.3 243.1 77 235.5 84.5L136.5 183.5C131.8 188.2 131.8 195.8 136.5 200.5L235.5 299.5C243.1 307.1 256 301.7 256 291V224H372C378.6 224 384 218.6 384 212z" glyph-name="arrow-alt-circle-left" horiz-adv-x="512" unicode=""/><glyph d="M504 192C504 329 393 440 256 440S8 329 8 192S119 -56 256 -56S504 55 504 192zM56 192C56 302.5 145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8S56 81.5 56 192zM128 172V212C128 218.6 133.4 224 140 224H256V291C256 301.7 268.9 307 276.5 299.5L375.5 200.5C380.2 195.8 380.2 188.2 375.5 183.5L276.5 84.5C268.9 76.9 256 82.3 256 93V160H140C133.4 160 128 165.4 128 172z" glyph-name="arrow-alt-circle-right" horiz-adv-x="512" unicode=""/><glyph d="M256 -56C393 -56 504 55 504 192S393 440 256 440S8 329 8 192S119 -56 256 -56zM256 392C366.5 392 456 302.5 456 192S366.5 -8 256 -8S56 81.5 56 192S145.5 392 256 392zM276 64H236C229.4 64 224 69.4 224 76V192H157C146.3 192 141 204.9 148.5 212.5L247.5 311.5C252.2 316.2 259.8 316.2 264.5 311.5L363.5 212.5C371.1 204.9 365.7 192 355 192H288V76C288 69.4 282.6 64 276 64z" glyph-name="arrow-alt-circle-up" horiz-adv-x="512" unicode=""/><glyph d="M633.99 -23.02L36 444.49C29.1 450.01 19.03 448.9 13.51 442L3.51 429.51C-2.02 422.61 -0.9 412.54 6 407.02L604 -60.49C610.9 -66.01 620.96 -64.89 626.49 -58L636.49 -45.51C642.01 -38.61 640.9 -28.54 633.99 -23.02zM163.53 80C180.24 102.03 198.01 135.8 204.93 190.58L159.46 226.13C156.19 135.4 122.99 105.45 104.62 85.71C98.62 79.2600000000001 95.96 71.55 96.01 64.0000000000001C96.12 47.6000000000001 108.99 32.0000000000001 128.11 32.0000000000001H407.7700000000001L346.3700000000001 80.0000000000001H163.53zM320 352C381.86 352 432 301.86 432 240C432 239.8 431.94 239.62 431.94 239.42C431.96 222.58 433.1 207.65 434.73 193.69L494.26 147.15C485.95 169.28 479.92 198.64 479.92 240C479.92 317.7 425.44 379.9 351.98 395.16V416C351.98 433.67 337.6600000000001 448 320 448S288.02 433.67 288.02 416V395.16C262 389.75 238.57 378.2200000000001 218.89 362.44L257.06 332.6C275 344.82 296.65 352 320 352zM320 -64C355.32 -64 383.9700000000001 -35.35 383.9700000000001 0H256.03C256.03 -35.35 284.68 -64 320 -64z" glyph-name="bell-slash" horiz-adv-x="640" unicode=""/><glyph d="M439.39 85.71C420.07 106.47 383.92 137.7 383.92 240C383.92 317.7 329.44 379.9 255.98 395.16V416C255.98 433.67 241.66 448 224 448S192.02 433.67 192.02 416V395.16C118.56 379.9 64.08 317.7 64.08 240C64.08 137.7 27.93 106.47 8.61 85.71C2.61 79.2600000000001 -0.05 71.55 0 64.0000000000001C0.11 47.6000000000001 12.98 32.0000000000001 32.1 32.0000000000001H415.9000000000001C435.0200000000001 32.0000000000001 447.9000000000001 47.6000000000001 448.0000000000001 64.0000000000001C448.0500000000001 71.5500000000001 445.3900000000001 79.27 439.3900000000001 85.71zM67.53 80C88.75 107.97 111.95 154.33 112.06 239.42C112.06 239.62 112 239.8 112 240C112 301.86 162.14 352 224 352S336 301.86 336 240C336 239.8 335.94 239.62 335.94 239.42C336.05 154.32 359.25 107.96 380.4700000000001 80H67.53zM224 -64C259.32 -64 287.9700000000001 -35.35 287.9700000000001 0H160.03C160.03 -35.35 188.68 -64 224 -64z" glyph-name="bell" horiz-adv-x="448" unicode=""/><glyph d="M336 448H48C21.49 448 0 426.51 0 400V-64L192 48L384 -64V400C384 426.51 362.51 448 336 448zM336 19.57L192 103.57L48 19.57V394A6 6 0 0 0 54 400H330C333.314 400 336 397.317 336 394.004V19.57z" glyph-name="bookmark" horiz-adv-x="384" unicode=""/><glyph d="M128 300V340C128 346.6 133.4 352 140 352H180C186.6 352 192 346.6 192 340V300C192 293.4 186.6 288 180 288H140C133.4 288 128 293.4 128 300zM268 288H308C314.6 288 320 293.4 320 300V340C320 346.6 314.6 352 308 352H268C261.4 352 256 346.6 256 340V300C256 293.4 261.4 288 268 288zM140 192H180C186.6 192 192 197.4 192 204V244C192 250.6 186.6 256 180 256H140C133.4 256 128 250.6 128 244V204C128 197.4 133.4 192 140 192zM268 192H308C314.6 192 320 197.4 320 204V244C320 250.6 314.6 256 308 256H268C261.4 256 256 250.6 256 244V204C256 197.4 261.4 192 268 192zM192 108V148C192 154.6 186.6 160 180 160H140C133.4 160 128 154.6 128 148V108C128 101.4 133.4 96 140 96H180C186.6 96 192 101.4 192 108zM268 96H308C314.6 96 320 101.4 320 108V148C320 154.6 314.6 160 308 160H268C261.4 160 256 154.6 256 148V108C256 101.4 261.4 96 268 96zM448 -28V-64H0V-28C0 -21.4 5.4 -16 12 -16H31.5V424C31.5 437.3 42.2 448 55.5 448H392.5C405.8 448 416.5 437.3 416.5 424V-16H436C442.6 -16 448 -21.4 448 -28zM79.5 -15H192V52C192 58.6 197.4 64 204 64H244C250.6 64 256 58.6 256 52V-15H368.5V399L80 400L79.5 -15z" glyph-name="building" horiz-adv-x="448" unicode=""/><glyph d="M400 384H352V432C352 440.8 344.8 448 336 448H304C295.2 448 288 440.8 288 432V384H160V432C160 440.8 152.8 448 144 448H112C103.2 448 96 440.8 96 432V384H48C21.5 384 0 362.5 0 336V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V336C448 362.5 426.5 384 400 384zM400 288V208H304V288H400zM176 96V176H272V96H176zM272 64V-16H176V64H272zM144 96H48V176H144V96zM176 208V288H272V208H176zM304 176H400V96H304V176zM144 288V208H48V288H144zM48 -10V64H144V-16H54C50.7 -16 48 -13.3 48 -10zM394 -16H304V64H400V-10C400 -13.3 397.3 -16 394 -16z" glyph-name="calendar-alt" horiz-adv-x="448" unicode=""/><glyph d="M400 384H352V436C352 442.627 346.627 448 340 448H300C293.373 448 288 442.627 288 436V384H160V436C160 442.627 154.627 448 148 448H108C101.373 448 96 442.627 96 436V384H48C21.49 384 0 362.51 0 336V-16C0 -42.51 21.49 -64 48 -64H400C426.51 -64 448 -42.51 448 -16V336C448 362.51 426.51 384 400 384zM394 -16H54A6 6 0 0 0 48 -10V288H400V-10A6 6 0 0 0 394 -16zM341.151 184.65L198.842 43.481C194.137 38.814 186.539 38.844 181.871 43.549L106.78 119.248C102.113 123.953 102.143 131.551 106.848 136.219L129.567 158.755C134.272 163.422 141.87 163.392 146.537 158.686L190.641 114.225L301.713 224.406C306.418 229.073 314.016 229.043 318.6840000000001 224.3379999999999L341.2200000000001 201.62C345.887 196.9149999999999 345.8560000000001 189.317 341.151 184.65z" glyph-name="calendar-check" horiz-adv-x="448" unicode=""/><glyph d="M124 120C117.4 120 112 125.4 112 132V156C112 162.6 117.4 168 124 168H324C330.6 168 336 162.6 336 156V132C336 125.4 330.6 120 324 120H124zM448 336V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V336C0 362.5 21.5 384 48 384H96V436C96 442.6 101.4 448 108 448H148C154.6 448 160 442.6 160 436V384H288V436C288 442.6 293.4 448 300 448H340C346.6 448 352 442.6 352 436V384H400C426.5 384 448 362.5 448 336zM400 -10V288H48V-10C48 -13.3 50.7 -16 54 -16H394C397.3 -16 400 -13.3 400 -10z" glyph-name="calendar-minus" horiz-adv-x="448" unicode=""/><glyph d="M336 156V132C336 125.4 330.6 120 324 120H248V44C248 37.4 242.6 32 236 32H212C205.4 32 200 37.4 200 44V120H124C117.4 120 112 125.4 112 132V156C112 162.6 117.4 168 124 168H200V244C200 250.6 205.4 256 212 256H236C242.6 256 248 250.6 248 244V168H324C330.6 168 336 162.6 336 156zM448 336V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V336C0 362.5 21.5 384 48 384H96V436C96 442.6 101.4 448 108 448H148C154.6 448 160 442.6 160 436V384H288V436C288 442.6 293.4 448 300 448H340C346.6 448 352 442.6 352 436V384H400C426.5 384 448 362.5 448 336zM400 -10V288H48V-10C48 -13.3 50.7 -16 54 -16H394C397.3 -16 400 -13.3 400 -10z" glyph-name="calendar-plus" horiz-adv-x="448" unicode=""/><glyph d="M311.7 73.3L294.7 56.3C290 51.6 282.4 51.6 277.7 56.3L224 110.1L170.3 56.4C165.6 51.7 158 51.7 153.3 56.4L136.3 73.4C131.6 78.1 131.6 85.7000000000001 136.3 90.4L190 144.1L136.3 197.8C131.6 202.5 131.6 210.1 136.3 214.8L153.3 231.8C158 236.5 165.6 236.5 170.3 231.8L224 178.1L277.7 231.8C282.4 236.5 290 236.5 294.7 231.8L311.7 214.8C316.4 210.1 316.4 202.5 311.7 197.8L257.9 144L311.6 90.3C316.4 85.6 316.4 78 311.7 73.3zM448 336V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V336C0 362.5 21.5 384 48 384H96V436C96 442.6 101.4 448 108 448H148C154.6 448 160 442.6 160 436V384H288V436C288 442.6 293.4 448 300 448H340C346.6 448 352 442.6 352 436V384H400C426.5 384 448 362.5 448 336zM400 -10V288H48V-10C48 -13.3 50.7 -16 54 -16H394C397.3 -16 400 -13.3 400 -10z" glyph-name="calendar-times" horiz-adv-x="448" unicode=""/><glyph d="M400 384H352V436C352 442.6 346.6 448 340 448H300C293.4 448 288 442.6 288 436V384H160V436C160 442.6 154.6 448 148 448H108C101.4 448 96 442.6 96 436V384H48C21.5 384 0 362.5 0 336V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V336C448 362.5 426.5 384 400 384zM394 -16H54C50.7 -16 48 -13.3 48 -10V288H400V-10C400 -13.3 397.3 -16 394 -16z" glyph-name="calendar" horiz-adv-x="448" unicode=""/><glyph d="M125.1 240H322.9C333.6 240 339 227 331.4 219.5L232.5 121.2C227.8 116.5 220.3 116.5 215.6 121.2L116.7 219.5C109 227 114.4 240 125.1 240zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM400 22V362C400 365.3 397.3 368 394 368H54C50.7 368 48 365.3 48 362V22C48 18.7 50.7 16 54 16H394C397.3 16 400 18.7 400 22z" glyph-name="caret-square-down" horiz-adv-x="448" unicode=""/><glyph d="M272 290.9V93.1C272 82.4 259 77 251.5 84.6L153.2 183.5C148.5 188.2 148.5 195.7 153.2 200.4L251.5 299.3C259 307 272 301.6 272 290.9zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM400 22V362C400 365.3 397.3 368 394 368H54C50.7 368 48 365.3 48 362V22C48 18.7 50.7 16 54 16H394C397.3 16 400 18.7 400 22z" glyph-name="caret-square-left" horiz-adv-x="448" unicode=""/><glyph d="M176 93.1V290.9C176 301.6 189 307 196.5 299.4L294.8 200.5C299.5 195.8 299.5 188.3 294.8 183.6L196.5 84.7000000000001C189 77.0000000000001 176 82.4 176 93.1zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM400 22V362C400 365.3 397.3 368 394 368H54C50.7 368 48 365.3 48 362V22C48 18.7 50.7 16 54 16H394C397.3 16 400 18.7 400 22z" glyph-name="caret-square-right" horiz-adv-x="448" unicode=""/><glyph d="M322.9 144H125.1C114.4 144 109 157 116.6 164.5L215.5 262.8C220.2 267.5 227.7 267.5 232.4 262.8L331.3 164.5C339 157 333.6 144 322.9000000000001 144zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM400 22V362C400 365.3 397.3 368 394 368H54C50.7 368 48 365.3 48 362V22C48 18.7 50.7 16 54 16H394C397.3 16 400 18.7 400 22z" glyph-name="caret-square-up" horiz-adv-x="448" unicode=""/><glyph d="M396.8 96H419.2C425.6 96 432 102.4 432 108.8V339.2C432 345.6 425.6 352 419.2 352H396.8C390.4000000000001 352 384 345.6 384 339.2V108.8C384 102.4 390.4 96 396.8 96zM204.8 96H227.2C233.6 96 240.0000000000001 102.4 240.0000000000001 108.8V307.2C240.0000000000001 313.6 233.6 320 227.2 320H204.8C198.4 320 192 313.6 192 307.2V108.8C192 102.4 198.4 95.9999999999999 204.8 95.9999999999999zM300.8 96H323.2C329.6 96 336 102.4 336 108.8V243.2C336 249.6 329.6 256 323.2 256H300.8C294.4000000000001 256 288 249.6 288 243.2V108.8C288 102.4 294.4 95.9999999999999 300.8 95.9999999999999zM496 48H48V368C48 376.8400000000001 40.84 384 32 384H16C7.16 384 0 376.8400000000001 0 368V32C0 14.33 14.33 0 32 0H496C504.84 0 512 7.16 512 16V32C512 40.84 504.84 48 496 48zM108.8 96H131.2C137.6 96 144 102.4 144 108.8V179.2000000000001C144 185.6 137.6 192.0000000000001 131.2 192.0000000000001H108.8C102.4 192.0000000000001 96 185.6000000000001 96 179.2000000000001V108.8000000000001C96 102.4000000000001 102.4 96.0000000000001 108.8 96.0000000000001z" glyph-name="chart-bar" horiz-adv-x="512" unicode=""/><glyph d="M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM256 392C366.532 392 456 302.549 456 192C456 81.468 366.549 -8 256 -8C145.468 -8 56 81.451 56 192C56 302.532 145.451 392 256 392M396.204 261.733L373.668 284.451C369.0010000000001 289.156 361.403 289.187 356.698 284.519L215.346 144.303L155.554 204.58C150.887 209.285 143.289 209.316 138.584 204.649L115.865 182.113C111.16 177.446 111.129 169.848 115.797 165.142L206.578 73.6259999999999C211.245 68.9209999999999 218.843 68.8899999999999 223.548 73.5579999999999L396.1370000000001 244.762C400.8410000000001 249.43 400.8710000000001 257.0279999999999 396.2040000000001 261.733z" glyph-name="check-circle" horiz-adv-x="512" unicode=""/><glyph d="M400 416H48C21.49 416 0 394.51 0 368V16C0 -10.51 21.49 -32 48 -32H400C426.51 -32 448 -10.51 448 16V368C448 394.51 426.51 416 400 416zM400 16H48V368H400V16zM364.136 257.724L191.547 86.52C186.842 81.853 179.244 81.883 174.577 86.588L83.796 178.104C79.129 182.809 79.159 190.407 83.865 195.075L106.584 217.611C111.289 222.278 118.887 222.248 123.554 217.542L183.346 157.265L324.698 297.481C329.403 302.148 337.001 302.118 341.668 297.413L364.204 274.695C368.871 269.9890000000001 368.841 262.391 364.136 257.724z" glyph-name="check-square" horiz-adv-x="448" unicode=""/><glyph d="M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM256 -8C145.5 -8 56 81.5 56 192S145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8z" glyph-name="circle" horiz-adv-x="512" unicode=""/><glyph d="M336 384H256C256 419.29 227.29 448 192 448S128 419.29 128 384H48C21.49 384 0 362.51 0 336V-16C0 -42.51 21.49 -64 48 -64H336C362.51 -64 384 -42.51 384 -16V336C384 362.51 362.51 384 336 384zM330 -16H54A6 6 0 0 0 48 -10V330A6 6 0 0 0 54 336H96V300C96 293.373 101.373 288 108 288H276C282.627 288 288 293.373 288 300V336H330A6 6 0 0 0 336 330V-10A6 6 0 0 0 330 -16zM192 408C205.255 408 216 397.255 216 384S205.255 360 192 360S168 370.745 168 384S178.745 408 192 408" glyph-name="clipboard" horiz-adv-x="384" unicode=""/><glyph d="M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM256 -8C145.5 -8 56 81.5 56 192S145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8zM317.8 96.4L232.9 158.1C229.8 160.4 228 164 228 167.8V332C228 338.6 233.4 344 240 344H272C278.6 344 284 338.6 284 332V190.3L350.8 141.7C356.2 137.8 357.3 130.3 353.4000000000001 124.9L334.6 99C330.7000000000001 93.7 323.2000000000001 92.5 317.8 96.4z" glyph-name="clock" horiz-adv-x="512" unicode=""/><glyph d="M464 448H144C117.49 448 96 426.51 96 400V352H48C21.49 352 0 330.51 0 304V-16C0 -42.51 21.49 -64 48 -64H368C394.51 -64 416 -42.51 416 -16V32H464C490.51 32 512 53.49 512 80V400C512 426.51 490.51 448 464 448zM362 -16H54A6 6 0 0 0 48 -10V298A6 6 0 0 0 54 304H96V80C96 53.49 117.49 32 144 32H368V-10A6 6 0 0 0 362 -16zM458 80H150A6 6 0 0 0 144 86V394A6 6 0 0 0 150 400H458A6 6 0 0 0 464 394V86A6 6 0 0 0 458 80z" glyph-name="clone" horiz-adv-x="512" unicode=""/><glyph d="M464 384H48C21.5 384 0 362.5 0 336V48C0 21.5 21.5 0 48 0H464C490.5 0 512 21.5 512 48V336C512 362.5 490.5 384 464 384zM458 48H54C50.7 48 48 50.7 48 54V330C48 333.3 50.7 336 54 336H458C461.3 336 464 333.3 464 330V54C464 50.7 461.3 48 458 48zM246.9 133.7C248.6 131.3 248.4 128.1 246.4 126C192.8 69.2 73.6 93.9 73.6 193.9C73.6 291.2 195.3 313.4 246.1 264C248.2 262 248.6 260.8 247.1 258.3L229.6 227.8C227.7 224.7 223.4 223.8 220.5 226.1C179.7 258.1 125.9 241.0000000000001 125.9 194.9C125.9 146.9 176.9 124.4 218.1 162.3C220.9 164.8 225.2 164.4 227.3 161.4L246.9 133.7000000000001zM437.3 133.7C439 131.3 438.8 128.1 436.8 126C383.2 69.1 264 93.9 264 193.9C264 291.2 385.7 313.4 436.5 264C438.6 262 439 260.8 437.5 258.3L420 227.8C418.1 224.7 413.8 223.8 410.9 226.1C370.1 258.1 316.3 241.0000000000001 316.3 194.9C316.3 146.9 367.3 124.4 408.5 162.3C411.3 164.8 415.6 164.4 417.7 161.4L437.3 133.7000000000001z" glyph-name="closed-captioning" horiz-adv-x="512" unicode=""/><glyph d="M448 448H64C28.7 448 0 419.3 0 384V96C0 60.7 28.7 32 64 32H160V-52C160 -59.1 165.8 -64 172 -64C174.4 -64 176.9 -63.3 179.1 -61.6L304 32H448C483.3 32 512 60.7 512 96V384C512 419.3 483.3 448 448 448zM464 96C464 87.2 456.8 80 448 80H288L275.2 70.4L208 20V80H64C55.2 80 48 87.2 48 96V384C48 392.8 55.2 400 64 400H448C456.8 400 464 392.8 464 384V96z" glyph-name="comment-alt" horiz-adv-x="512" unicode=""/><glyph d="M144 240C126.3 240 112 225.7 112 208S126.3 176 144 176S176 190.3 176 208S161.7 240 144 240zM256 240C238.3 240 224 225.7 224 208S238.3 176 256 176S288 190.3 288 208S273.7 240 256 240zM368 240C350.3 240 336 225.7 336 208S350.3 176 368 176S400 190.3 400 208S385.7 240 368 240zM256 416C114.6 416 0 322.9 0 208C0 160.4 19.9 116.8 52.9 81.7C38 42.3 7 8.9 6.5 8.5C-0.1 1.5 -1.9 -8.7 1.9 -17.5S14.4 -32 24 -32C85.5 -32 134 -6.3 163.1 14.3C192 5.2 223.2 0 256 0C397.4 0 512 93.1 512 208S397.4 416 256 416zM256 48C229.3 48 202.9 52.1 177.6 60.1L154.9 67.3L135.4 53.5C121.1 43.4 101.5 32.1 77.9 24.5C85.2 36.6 92.3 50.2 97.8 64.7L108.4 92.8L87.8 114.6C69.7 133.9 48 165.8 48 208C48 296.2 141.3 368 256 368S464 296.2 464 208S370.7 48 256 48z" glyph-name="comment-dots" horiz-adv-x="512" unicode=""/><glyph d="M256 416C114.6 416 0 322.9 0 208C0 160.4 19.9 116.8 52.9 81.7C38 42.3 7 8.9 6.5 8.5C-0.1 1.5 -1.9 -8.7 1.9 -17.5S14.4 -32 24 -32C85.5 -32 134 -6.3 163.1 14.3C192 5.2 223.2 0 256 0C397.4 0 512 93.1 512 208S397.4 416 256 416zM256 48C229.3 48 202.9 52.1 177.6 60.1L154.9 67.3L135.4 53.5C121.1 43.4 101.5 32.1 77.9 24.5C85.2 36.6 92.3 50.2 97.8 64.7L108.4 92.8L87.8 114.6C69.7 133.9 48 165.8 48 208C48 296.2 141.3 368 256 368S464 296.2 464 208S370.7 48 256 48z" glyph-name="comment" horiz-adv-x="512" unicode=""/><glyph d="M532 61.8C559.5 88.9 576 122.9 576 160C576 240 499.5 306.1 399.8 317.9C368.3 375.5 294.3 416 208 416C93.1 416 0 344.4 0 256C0 219 16.5 185 44 157.8C28.7 127.1 6.7 103.3 6.3 102.9C0 96.2000000000001 -1.8 86.4 1.9 77.9C5.5 69.4 13.9 63.9 23.1 63.9C76.6 63.9 119.8 84.1 148.3 102.7000000000001C157.5 100.6 167 99.0000000000001 176.7 97.8000000000001C208.1 40.4 281.8 0 368 0C388.8 0 408.8 2.4 427.8 6.8C456.3 -11.7 499.4 -32 553 -32C562.2 -32 570.5 -26.5 574.2 -18C577.8000000000001 -9.5 576.1 0.3 569.8000000000001 7C569.4000000000001 7.3 547.3000000000001 31.1 532.0000000000001 61.8zM139.2 154.1L122.1 143C108 133.9 93.6 126.7 79 121.6C81.7 126.3 84.4 131.3 87 136.4L102.5 167.5000000000001L77.7 192C64.2 205.4 48 227.3 48 256C48 316.7 121.3 368 208 368S368 316.7 368 256S294.7 144 208 144C191.5 144 175 145.9 159 149.6L139.2 154.1zM498.3 96L473.6 71.6L489.1 40.5C491.7 35.4 494.4 30.4 497.1 25.7C482.5 30.8 468.1 38 454 47.1L436.9 58.2L417 53.6C401 49.9 384.5 47.9999999999999 368 47.9999999999999C314 47.9999999999999 265.8 68.1 236.7 97.6999999999999C338 108.5 416 175.1 416 256C416 259.4 415.6 262.7 415.3 266C479.7 251.5 528 209.2 528 160C528 131.3 511.8 109.4 498.3 96z" glyph-name="comments" horiz-adv-x="576" unicode=""/><glyph d="M347.94 318.14L203.6 252.17A31.938 31.938 0 0 1 187.83 236.4L121.86 92.06C114.25 75.41 131.4 58.2499999999999 148.06 65.86L292.4 131.8299999999999A31.938 31.938 0 0 1 308.17 147.5999999999999L374.14 291.94C381.75 308.5999999999999 364.6 325.7499999999999 347.94 318.1399999999999zM270.58 169.42C258.11 156.9499999999999 237.89 156.9499999999999 225.42 169.42C212.95 181.89 212.95 202.11 225.42 214.58C237.89 227.05 258.11 227.05 270.58 214.58C283.05 202.11 283.05 181.89 270.58 169.42zM248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM248 -8C137.72 -8 48 81.72 48 192S137.72 392 248 392S448 302.28 448 192S358.28 -8 248 -8z" glyph-name="compass" horiz-adv-x="496" unicode=""/><glyph d="M433.941 382.059L382.059 433.941A48 48 0 0 1 348.118 448H176C149.49 448 128 426.51 128 400V352H48C21.49 352 0 330.51 0 304V-16C0 -42.51 21.49 -64 48 -64H272C298.51 -64 320 -42.51 320 -16V32H400C426.51 32 448 53.49 448 80V348.118A48 48 0 0 1 433.941 382.059zM266 -16H54A6 6 0 0 0 48 -10V298A6 6 0 0 0 54 304H128V80C128 53.49 149.49 32 176 32H272V-10A6 6 0 0 0 266 -16zM394 80H182A6 6 0 0 0 176 86V394A6 6 0 0 0 182 400H288V312C288 298.745 298.745 288 312 288H400V86A6 6 0 0 0 394 80zM400 336H336V400H345.632C347.223 400 348.749 399.368 349.875 398.243L398.243 349.875A6 6 0 0 0 400 345.632V336z" glyph-name="copy" horiz-adv-x="448" unicode=""/><glyph d="M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM256 -8C145.468 -8 56 81.451 56 192C56 302.531 145.451 392 256 392C366.532 392 456 302.549 456 192C456 81.468 366.549 -8 256 -8zM363.351 93.064C353.737 83.352 317.8210000000001 51.668 259.286 51.668C176.856 51.668 118.802 113.093 118.802 193.235C118.802 272.387 179.077 332.636 258.564 332.636C314.095 332.636 347.302 306.016 356.157 297.857A11.965 11.965 0 0 0 358.093 282.535L339.938 254.422C336.097 248.472 327.972 247.14 322.439 251.501C313.844 258.277 290.625 274.039 260.731 274.039C212.428 274.039 182.815 238.709 182.815 193.957C182.815 152.368 209.703 110.265 261.092 110.265C293.749 110.265 317.935 129.304 326.818 137.49C332.088 142.347 340.414 141.529 344.638 135.752L364.503 108.582A11.947000000000001 11.947000000000001 0 0 0 363.351 93.064z" glyph-name="copyright" horiz-adv-x="512" unicode=""/><glyph d="M527.9 416H48.1C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48.1 -32H527.9C554.5 -32 576 -10.5 576 16V368C576 394.5 554.5 416 527.9 416zM54.1 368H521.9C525.1999999999999 368 527.9 365.3 527.9 362V320H48.1V362C48.1 365.3 50.8 368 54.1 368zM521.9 16H54.1C50.8 16 48.1 18.7 48.1 22V192H527.9V22C527.9 18.7 525.1999999999999 16 521.9 16zM192 116V76C192 69.4 186.6 64 180 64H108C101.4 64 96 69.4 96 76V116C96 122.6 101.4 128 108 128H180C186.6 128 192 122.6 192 116zM384 116V76C384 69.4 378.6 64 372 64H236C229.4 64 224 69.4 224 76V116C224 122.6 229.4 128 236 128H372C378.6 128 384 122.6 384 116z" glyph-name="credit-card" horiz-adv-x="576" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM214.2 209.9C222 217.7 222 230.4 214.2 238.2L196.3 256L214.2 273.9C222 281.7000000000001 222 294.4 214.2 302.2000000000001C206.4 310 193.7 310 185.9 302.2000000000001L168 284.3L150.2 302.1C142.4 309.9000000000001 129.7 309.9000000000001 121.9 302.1C114.1 294.3 114.1 281.6 121.9 273.8L139.8 255.9L121.9 238C114.1 230.2 114.1 217.5 121.9 209.7C129.7 201.9 142.4 201.9 150.2 209.7L168 227.5L185.8 209.7C193.7 202 206.3 202 214.2 209.9zM374.2 302.1C366.4 309.9000000000001 353.7 309.9000000000001 345.9 302.1L328 284.3L310.2 302.1C302.4 309.9000000000001 289.7 309.9000000000001 281.9 302.1C274.1 294.3 274.1 281.6 281.9 273.8L299.8 255.9L281.9 238C274.1 230.2 274.1 217.5 281.9 209.7C289.7 201.9 302.4 201.9 310.2 209.7L328 227.5L345.8 209.7C353.6 201.9 366.3 201.9 374.1 209.7C381.9000000000001 217.5 381.9000000000001 230.2 374.1 238L356.3 256L374.2 273.9C381.9 281.7000000000001 381.9 294.3 374.2 302.1zM248 176C212.7 176 184 147.3 184 112S212.7 48 248 48S312 76.7 312 112S283.3 176 248 176z" glyph-name="dizzy" horiz-adv-x="496" unicode=""/><glyph d="M256 392C366.532 392 456 302.549 456 192C456 81.468 366.549 -8 256 -8C145.468 -8 56 81.451 56 192C56 302.532 145.451 392 256 392M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM256 272C211.817 272 176 236.183 176 192S211.817 112 256 112S336 147.817 336 192S300.183 272 256 272z" glyph-name="dot-circle" horiz-adv-x="512" unicode=""/><glyph d="M402.3 103.1L434.3 135.1C439.3 140.1 448 136.6 448 129.4V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V336C0 362.5 21.5 384 48 384H321.5C328.6 384 332.2 375.4 327.2 370.3L295.2 338.3C293.7 336.8 291.7 336 289.5 336H48V-16H400V97.5C400 99.6 400.8 101.6 402.3 103.1zM558.9 304.9000000000001L296.3 42.3L205.9 32.3C179.7 29.4 157.4 51.5 160.3 77.9L170.3 168.3000000000001L432.9 430.9C455.8 453.8 492.8 453.8 515.6 430.9L558.8000000000001 387.7C581.7 364.8 581.7 327.7 558.9000000000001 304.9zM460.1 274L402 332.1L216.2 146.2L208.9 80.9L274.2 88.2L460.1 274zM524.9 353.7L481.7 396.9C477.6 401 470.9 401 466.9 396.9L436 366L494.1 307.9L525 338.8C529 343 529 349.6 524.9 353.7000000000001z" glyph-name="edit" horiz-adv-x="576" unicode=""/><glyph d="M494.586 283.4840000000001C489.889 287.367 382.863 373.4340000000001 359.3350000000001 392.141C337.231 409.809 299.437 448 256 448C212.795 448 175.364 410.283 152.665 392.141C128.202 372.6910000000001 21.595 286.9460000000001 17.515 283.592A48.004000000000005 48.004000000000005 0 0 1 0 246.515V-16C0 -42.51 21.49 -64 48 -64H464C490.51 -64 512 -42.51 512 -16V246.491A48 48 0 0 1 494.586 283.4840000000001zM464 -10A6 6 0 0 0 458 -16H54A6 6 0 0 0 48 -10V243.653C48 245.466 48.816 247.179 50.226 248.318C66.096 261.132 159.019 335.872 182.59 354.611C200.755 369.12 232.398 400 256 400C279.693 400 311.857 368.631 329.41 354.611C352.983 335.87 445.913 261.118 461.776 248.295A5.99 5.99 0 0 0 463.9999999999999 243.632V-10zM432.009 177.704C436.2580000000001 172.545 435.474 164.909 430.264 160.723C401.289 137.44 370.99 113.126 359.3350000000001 103.86C336.636 85.717 299.205 48 256 48C212.548 48 174.713 86.237 152.665 103.86C141.386 112.827 110.921 137.273 81.738 160.725C76.528 164.912 75.745 172.547 79.993 177.706L95.251 196.234C99.429 201.307 106.908 202.077 112.03 197.96C140.648 174.959 170.596 150.925 182.59 141.389C200.143 127.369 232.307 96 256 96C279.602 96 311.246 126.88 329.41 141.389C341.404 150.924 371.354 174.959 399.973 197.957C405.095 202.073 412.574 201.303 416.751 196.23L432.009 177.704z" glyph-name="envelope-open" horiz-adv-x="512" unicode=""/><glyph d="M464 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H464C490.51 0 512 21.49 512 48V336C512 362.51 490.51 384 464 384zM464 336V295.195C441.578 276.936 405.832 248.544 329.413 188.705C312.572 175.458 279.212 143.633 256 144.004C232.792 143.629 199.421 175.463 182.587 188.705C106.18 248.535 70.425 276.933 48 295.195V336H464zM48 48V233.602C70.914 215.351 103.409 189.74 152.938 150.956C174.795 133.751 213.072 95.77 256 96.001C298.717 95.77 336.509 133.2000000000001 359.053 150.948C408.581 189.7310000000001 441.085 215.3490000000001 464 233.6010000000001V48H48z" glyph-name="envelope" horiz-adv-x="512" unicode=""/><glyph d="M272.702 88.861C192.219 97.872 136.49 175.747 155.772 255.903L272.702 88.861zM288 56C185.444 56 95.908 110.701 48 192C69.755 228.917 100.1 260.342 136.344 283.658L108.803 323.0010000000001C67.001 295.766 31.921 259.259 6.646 216.369A47.999 47.999 0 0 1 6.646 167.63C63.004 71.994 168.14 8 288 8A332.89 332.89 0 0 1 327.648 10.367L295.627 56.111A284.16 284.16 0 0 0 288 56zM569.354 167.631C536.1220000000001 111.237 485.933 65.889 425.8000000000001 38.139L473.9160000000001 -30.601C477.717 -36.03 476.3960000000001 -43.513 470.967 -47.313L450.23 -61.83C444.8010000000001 -65.631 437.3180000000001 -64.3099999999999 433.5180000000001 -58.881L102.084 414.601C98.283 420.03 99.604 427.513 105.033 431.313L125.77 445.83C131.199 449.631 138.682 448.31 142.482 442.881L198.008 363.556C226.612 371.657 256.808 376 288 376C407.86 376 512.996 312.006 569.354 216.369A48.00200000000001 48.00200000000001 0 0 0 569.354 167.631zM528 192C483.843 266.933 404.323 319.27 311.838 327.007C302.042 316.9220000000001 296 303.17 296 288C296 257.072 321.072 232 352 232S408 257.072 408 288L407.999 288.0420000000001C438.6310000000001 230.765 424.738 157.7820000000001 371.0710000000001 116.323L397.766 78.188C452.626 101.449 498.308 141.614 528 192z" glyph-name="eye-slash" horiz-adv-x="576" unicode=""/><glyph d="M569.354 216.369C512.97 312.051 407.81 376 288 376C168.14 376 63.004 312.006 6.646 216.369A47.999 47.999 0 0 1 6.646 167.63C63.031 71.949 168.19 8 288 8C407.86 8 512.996 71.994 569.354 167.631A47.997 47.997 0 0 1 569.354 216.369zM288 56C185.444 56 95.909 110.701 48 192C92.157 266.933 171.677 319.27 264.1620000000001 327.007C273.9580000000001 316.9220000000001 280 303.17 280 288C280 257.072 254.928 232 224 232S168 257.072 168 288L168.001 288.0420000000001C157.794 268.957 152 247.156 152 224C152 148.889 212.889 88 288 88S424 148.889 424 224C424 255.031 413.6 283.629 396.105 306.515C451.704 283.362 498.009 242.894 528 192C480.092 110.701 390.5560000000001 56 288 56z" glyph-name="eye" horiz-adv-x="576" unicode=""/><glyph d="M288 200V172C288 165.4 282.6 160 276 160H108C101.4 160 96 165.4 96 172V200C96 206.6 101.4 212 108 212H276C282.6 212 288 206.6 288 200zM276 128H108C101.4 128 96 122.6 96 116V88C96 81.4 101.4 76 108 76H276C282.6 76 288 81.4 288 88V116C288 122.6 282.6 128 276 128zM384 316.1V-16C384 -42.5 362.5 -64 336 -64H48C21.5 -64 0 -42.5 0 -16V400C0 426.5 21.5 448 48 448H252.1C264.8 448 277 442.9 286 433.9L369.9 350C378.9 341.1 384 328.8 384 316.1zM256 396.1V320H332.1L256 396.1zM336 -16V272H232C218.7 272 208 282.7 208 296V400H48V-16H336z" glyph-name="file-alt" horiz-adv-x="384" unicode=""/><glyph d="M369.941 350.059L286.059 433.9410000000001A48 48 0 0 1 252.118 448H48C21.49 448 0 426.51 0 400V-16C0 -42.51 21.49 -64 48 -64H336C362.51 -64 384 -42.51 384 -16V316.118A48 48 0 0 1 369.941 350.059zM256 396.118L332.118 320H256V396.118zM336 -16H48V400H127.714V384H159.714V400H208V296C208 282.745 218.745 272 232 272H336V-16zM192.27 352H160.27V384H192.27V352zM160.27 352V320H128.27V352H160.27zM160.27 288V256H128.27V288H160.27zM192.27 288H160.27V320H192.27V288zM194.179 182.322A12 12 0 0 1 182.406 192H160.27V224H128.27V192L108.58 94.894C101.989 62.389 126.834 32 160 32C193.052 32 217.871 62.192 211.476 94.62L194.179 182.322zM160.27 57.927C142.352 57.927 127.826 70.032 127.826 84.963C127.826 99.895 142.351 111.999 160.27 111.999S192.714 99.894 192.714 84.963C192.714 70.032 178.188 57.927 160.27 57.927zM192.27 224H160.27V256H192.27V224z" glyph-name="file-archive" horiz-adv-x="384" unicode=""/><glyph d="M369.941 350.059L286.059 433.9410000000001A48 48 0 0 1 252.118 448H48C21.49 448 0 426.51 0 400V-16C0 -42.51 21.49 -64 48 -64H336C362.51 -64 384 -42.51 384 -16V316.118A48 48 0 0 1 369.941 350.059zM332.118 320H256V396.118L332.118 320zM48 -16V400H208V296C208 282.745 218.745 272 232 272H336V-16H48zM192 60.024C192 49.333 179.074 43.979 171.515 51.539L136 87.514H108C101.373 87.514 96 92.887 96 99.514V155.514C96 162.141 101.373 167.514 108 167.514H136L171.515 204.461C179.075 212.021 192 206.667 192 195.976V60.024zM233.201 107.154C242.252 116.451 242.261 131.287 233.202 140.593C211.053 163.345 245.437 196.839 267.597 174.074C294.795 146.134 294.809 101.63 267.598 73.673C245.805 51.287 210.651 83.988 233.201 107.154z" glyph-name="file-audio" horiz-adv-x="384" unicode=""/><glyph d="M369.941 350.059L286.059 433.9410000000001A48 48 0 0 1 252.118 448H48C21.49 448 0 426.51 0 400V-16C0 -42.51 21.49 -64 48 -64H336C362.51 -64 384 -42.51 384 -16V316.118A48 48 0 0 1 369.941 350.059zM332.118 320H256V396.118L332.118 320zM48 -16V400H208V296C208 282.745 218.745 272 232 272H336V-16H48zM149.677 99.115L116.854 128L149.676 156.885A8.793 8.793 0 0 1 150.281 169.509L132.878 188.073C129.494 191.686 123.914 191.735 120.44 188.4740000000001L62.78 134.42C59.077 130.946 59.076 125.053 62.781 121.5800000000001L120.44 67.525A8.738 8.738 0 0 1 126.452 65.1440000000001A8.746 8.746 0 0 1 132.879 67.9260000000001L150.282 86.489A8.795 8.795 0 0 1 149.677 99.115zM233.961 226.965L209.56 234.049A8.796 8.796 0 0 1 198.655 228.051L144.04 39.939C142.687 35.279 145.378 30.387 150.038 29.0340000000001L174.441 21.95C179.121 20.595 183.998 23.304 185.346 27.948L239.958 216.06C241.312 220.72 238.621 225.612 233.961 226.9650000000001zM321.219 134.42L263.561 188.475C260.035 191.7820000000001 254.462 191.6400000000001 251.122 188.074L233.719 169.511A8.795 8.795 0 0 1 234.324 156.886L267.146 128L234.324 99.115A8.793 8.793 0 0 1 233.719 86.491L251.122 67.927A8.797 8.797 0 0 1 263.5610000000001 67.526H263.5600000000001L321.2200000000001 121.581C324.923 125.054 324.923 130.947 321.2190000000001 134.42z" glyph-name="file-code" horiz-adv-x="384" unicode=""/><glyph d="M369.9 350.1L286 434C277 443 264.8 448.1 252.1 448.1H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V316.1C384 328.8 378.9 341.1 369.9 350.1zM332.1 320H256V396.1L332.1 320zM48 -16V400H208V296C208 282.7 218.7 272 232 272H336V-16H48zM260 224H231.2C226.8 224 222.8 221.6 220.7 217.7C202.7 184.6 198.5 175.3 192.1 160C178.2 189.1 185.2 177.3 163.5 217.7C161.4 221.6 157.3 224 152.9 224H124C114.7 224 109 214 113.6 206L159.9 128L113.6 50C108.9 42 114.7 32 124 32H152.9C157.3 32 161.3 34.4 163.4 38.3C185.1 78.3 186.4 83.3 192 96C206.9 65.8 197.9 80.1 220.6 38.3C222.7 34.4 226.8 32 231.2 32H260C269.3 32 275 42 270.4 50L224 128C224.7 129.1 254.3 178.5 270.3 206C275 214 269.2 224 260 224z" glyph-name="file-excel" horiz-adv-x="384" unicode=""/><glyph d="M369.9 350.1L286 434C277 443 264.8 448.1 252.1 448.1H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V316.1C384 328.8 378.9 341.1 369.9 350.1zM332.1 320H256V396.1L332.1 320zM48 -16V400H208V296C208 282.7 218.7 272 232 272H336V-16H48zM80 32H304V160L280.5 183.5C275.8 188.2 268.2 188.2 263.5 183.5L176 96L136.5 135.5C131.8 140.2 124.2 140.2 119.5 135.5L80 96V32zM128 272C101.5 272 80 250.5 80 224S101.5 176 128 176S176 197.5 176 224S154.5 272 128 272z" glyph-name="file-image" horiz-adv-x="384" unicode=""/><glyph d="M369.9 350.1L286 434C277 443 264.8 448.1 252.1 448.1H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V316.1C384 328.8 378.9 341.1 369.9 350.1zM332.1 320H256V396.1L332.1 320zM48 -16V400H208V296C208 282.7 218.7 272 232 272H336V-16H48zM298.2 127.7C286 139.7 251.2 136.4 233.8 134.2C216.6 144.7 205.1 159.2 197 180.5C200.9 196.6 207.1 221.1 202.4 236.5C198.2 262.7 164.6 260.1 159.8 242.4C155.4 226.3 159.4 203.9 166.8 175.3C156.8 151.4 141.9 119.3 131.4 100.9C111.4 90.6 84.4 74.7 80.4 54.7C77.1 38.9 106.4 -0.5 156.5 85.9C178.9 93.3 203.3 102.4 224.9 106C243.8 95.8 265.9 89 280.7 89C306.2 89 308.7 117.2 298.2 127.7zM100.1 49.9C105.2 63.6 124.6 79.4 130.5 84.9C111.5 54.6 100.1 49.2 100.1 49.9zM181.7 240.5C189.1 240.5 188.4 208.4 183.5 199.7C179.1 213.6 179.2 240.5 181.7 240.5zM157.3 103.9C167 120.8 175.3 140.9 182 158.6C190.3 143.5 200.9 131.4 212.1 123.1C191.3 118.8 173.2 109.9999999999999 157.3 103.9zM288.9 108.9S283.9 102.9 251.6 116.7C286.7 119.3 292.5 111.3 288.9 108.9z" glyph-name="file-pdf" horiz-adv-x="384" unicode=""/><glyph d="M369.9 350.1L286 434C277 443 264.8 448.1 252.1 448.1H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V316.1C384 328.8 378.9 341.1 369.9 350.1zM332.1 320H256V396.1L332.1 320zM48 -16V400H208V296C208 282.7 218.7 272 232 272H336V-16H48zM120 44V212C120 218.6 125.4 224 132 224H201.2C237.9 224 264 197 264 157.7C264 83.4 195.3 91.2 168.5 91.2V44C168.5 37.4 163.1 32 156.5 32H132C125.4 32 120 37.4 120 44zM168.5 131.4H191.5C199.4 131.4 205.4 133.8 209.6 138.6C218.1 148.4 218 167.1 209.7 176.4C205.6 181 199.8 183.4 192.3 183.4H168.4V131.4z" glyph-name="file-powerpoint" horiz-adv-x="384" unicode=""/><glyph d="M369.941 350.059L286.059 433.9410000000001A48 48 0 0 1 252.118 448H48C21.49 448 0 426.51 0 400V-16C0 -42.51 21.49 -64 48 -64H336C362.51 -64 384 -42.51 384 -16V316.118A48 48 0 0 1 369.941 350.059zM332.118 320H256V396.118L332.118 320zM48 -16V400H208V296C208 282.745 218.745 272 232 272H336V-16H48zM276.687 195.303L224 142.626V180C224 191.046 215.046 200 204 200H100C88.954 200 80 191.046 80 180V76C80 64.954 88.954 56 100 56H204C215.046 56 224 64.954 224 76V113.374L276.687 60.7000000000001C286.704 50.682 304 57.72 304 72.014V183.989C304 198.3 286.691 205.308 276.687 195.303z" glyph-name="file-video" horiz-adv-x="384" unicode=""/><glyph d="M369.9 350.1L286 434C277 443 264.8 448.1 252.1 448.1H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V316.1C384 328.8 378.9 341.1 369.9 350.1zM332.1 320H256V396.1L332.1 320zM48 -16V400H208V296C208 282.7 218.7 272 232 272H336V-16H48zM268.1 192C262.4000000000001 192 257.5 188 256.4000000000001 182.5C235.8000000000001 84.8 236.0000000000001 87.1 235.4000000000001 79C235.2000000000001 80.2 235.0000000000001 81.6 234.7000000000001 83.3C233.9000000000001 88.4 235.0000000000001 83.1 211.1000000000001 182.8C209.8000000000001 188.2 205.0000000000001 192 199.4000000000001 192H186.1000000000001C180.6000000000001 192 175.8000000000001 188.2 174.4000000000001 182.9C150.0000000000001 83.9 150.4000000000001 86.7 149.6000000000001 79.2C149.5000000000001 80.3 149.4000000000001 81.7 149.1000000000001 83.4C148.4000000000001 88.6 135.0000000000001 156.7 130.0000000000001 182.4C128.9000000000001 188 124.0000000000001 192.1 118.2000000000001 192.1H101.4000000000001C93.6000000000001 192.1 87.9000000000001 184.8 89.7000000000001 177.3C97.7000000000001 144.6999999999999 116.4000000000001 67.8 122.9000000000001 41.3C124.2000000000001 35.9 129.0000000000001 32.1999999999999 134.6000000000001 32.1999999999999H159.8000000000001C165.3000000000001 32.1999999999999 170.1000000000001 35.8999999999999 171.4 41.3L189.3000000000001 112.6999999999999C190.8000000000001 118.8999999999999 191.8000000000001 124.6999999999999 192.3000000000001 130L195.2000000000001 112.6999999999999C195.3000000000001 112.3 207.8000000000001 62.1999999999999 213.1000000000001 41.3C214.4000000000001 35.9999999999999 219.2000000000001 32.1999999999999 224.7000000000001 32.1999999999999H249.4000000000001C254.9000000000001 32.1999999999999 259.7000000000001 35.8999999999999 261.0000000000001 41.3C281.8000000000001 123.1999999999999 291.2000000000001 160.3 295.5000000000001 177.3C297.4000000000001 184.9 291.7000000000001 192.2 283.9000000000001 192.2H268.1z" glyph-name="file-word" horiz-adv-x="384" unicode=""/><glyph d="M369.9 350.1L286 434C277 443 264.8 448.1 252.1 448.1H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V316.1C384 328.8 378.9 341.1 369.9 350.1zM332.1 320H256V396.1L332.1 320zM48 -16V400H208V296C208 282.7 218.7 272 232 272H336V-16H48z" glyph-name="file" horiz-adv-x="384" unicode=""/><glyph d="M336.174 368C287.042 368 242.869 400 174.261 400C142.96 400 115.958 393.5180000000001 93.54 384.832A48.04 48.04 0 0 1 95.682 405.559C93.067 428.425 74.167 446.406 51.201 447.896C23.242 449.71 0 427.569 0 400C0 382.236 9.657 366.738 24 358.438V-48C24 -56.837 31.163 -64 40 -64H56C64.837 -64 72 -56.837 72 -48V35.443C109.869 52.72 143.259 64 199.826 64C248.958 64 293.131 32 361.7390000000001 32C420.218 32 463.711 54.617 490.287 71.981C503.846 80.839 512 95.949 512 112.145V352.063C512 386.522 476.736 409.831 445.096 396.18C409.193 380.6910000000001 371.641 368 336.174 368zM464 112C442.217 96.588 403.176 80 361.7390000000001 80C301.7940000000001 80 259.737 112 199.826 112C156.465 112 103.447 102.597 72 88V320C93.784 335.4120000000001 132.824 352 174.261 352C234.206 352 276.2630000000001 320 336.1740000000001 320C379.4450000000001 320 432.4940000000001 337.366 464 352V112z" glyph-name="flag" horiz-adv-x="512" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM344 304C299.8 304 264 268.2 264 224S299.8 144 344 144S424 179.8 424 224S388.2 304 344 304zM344 176C317.5 176 296 197.5 296 224S317.5 272 344 272S392 250.5 392 224S370.5 176 344 176zM344 248C330.7 248 320 237.3 320 224S330.7 200 344 200S368 210.7 368 224S357.3 248 344 248zM232 224C232 268.2 196.2 304 152 304S72 268.2 72 224S107.8 144 152 144S232 179.8 232 224zM152 176C125.5 176 104 197.5 104 224S125.5 272 152 272S200 250.5 200 224S178.5 176 152 176zM152 248C138.7 248 128 237.3 128 224S138.7 200 152 200S176 210.7 176 224S165.3 248 152 248zM312 104H184C170.8 104 160 93.2 160 80S170.8 56 184 56H312C325.2 56 336 66.8 336 80S325.2 104 312 104z" glyph-name="flushed" horiz-adv-x="496" unicode=""/><glyph d="M527.943 224H480V272C480 298.51 458.51 320 432 320H272L208 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H448A48.001 48.001 0 0 1 488.704 22.56L568.646 150.56C588.5939999999999 182.477 565.608 224 527.943 224zM54 336H188.118L252.118 272H426A6 6 0 0 0 432 266V224H152A48 48 0 0 1 110.902 200.798L48 96.551V330.007A5.993 5.993 0 0 0 54 336zM448 48H72L149.234 176H528L448 48z" glyph-name="folder-open" horiz-adv-x="576" unicode=""/><glyph d="M464 320H272L217.37 374.63C211.37 380.63 203.23 384 194.74 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H464C490.51 0 512 21.49 512 48V272C512 298.51 490.51 320 464 320zM464 48H48V336H188.12L242.75 281.37C248.75 275.37 256.89 272 265.38 272H464V48z" glyph-name="folder" horiz-adv-x="512" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM200 240C200 257.7 185.7 272 168 272S136 257.7 136 240S150.3 208 168 208S200 222.3 200 240zM328 272C310.3 272 296 257.7 296 240S310.3 208 328 208S360 222.3 360 240S345.7 272 328 272zM248 160C212.4 160 159.2 138.7 152.2 98.8C150.2 87 161.2 77.3 172.7 80.7C203.9 90.3 232.1 96 248 96S292.1 90.3 323.3 80.7C334.7 77.2 345.8 87 343.8 98.8C336.8 138.7 283.6 160 248 160z" glyph-name="frown-open" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM168 208C185.7 208 200 222.3 200 240S185.7 272 168 272S136 257.7 136 240S150.3 208 168 208zM328 272C310.3 272 296 257.7 296 240S310.3 208 328 208S360 222.3 360 240S345.7 272 328 272zM248 144C207.8 144 170 126.3 144.2 95.4C135.7 85.2 137.1 70.1 147.3 61.6C157.5 53.2 172.6 54.4999999999999 181.1 64.7C197.7 84.6 222.1 96.1 248 96.1S298.3 84.7 314.9 64.7C323 55 338 52.8 348.7 61.6C358.9 70.1 360.2 85.2 351.8 95.4C326 126.3 288.2 144 248 144z" glyph-name="frown" horiz-adv-x="496" unicode=""/><glyph d="M483.8 268.6C449.8 373.4 352.6 440 248.1 440C222.7 440 196.9 436.1 171.4 427.8C41.2 385.5 -30.1 245.6 12.2 115.4C46.2 10.6 143.4 -56 247.9 -56C273.3 -56 299.1 -52.1 324.6 -43.8C454.8 -1.5 526.1 138.4 483.8 268.6zM409.3 74.9L357.1 68.5L313.4000000000001 129.4L337.8 204.6L408.9 226.7L447.8 190.3C447.6 159.6 440.4 129.1999999999999 426.1 101.1C421.4 91.8 415.4 83.3 409.3 74.9zM409.3 310.3L398.9000000000001 257.2L328.2000000000001 235.2L264.0000000000001 281.7V355.5L311.4000000000001 381.7C350.6 368.7 384.8000000000001 343.7 409.3000000000001 310.3zM184.9 381.6L232 355.5V281.7L167.8 235.2L97.2 257.2L87.1 309.7C111.4 343.1 145 368.3 184.9 381.6zM139 68.5L85.9 75C71.5 95.1 48.6 134.6 48.1 190.3L87.1 226.7L158.2 204.5L182.5 130.2000000000001L139 68.5000000000001zM187.2 1.5L164.8 49.6L208.4 111.3H287L331.3 49.6L308.9000000000001 1.5C302.7000000000001 -0.3 251.3000000000001 -18.9 187.2000000000001 1.5z" glyph-name="futbol" horiz-adv-x="496" unicode=""/><glyph d="M464 448H112C108 448 104.2 446 102 442.6L2 295.4C-0.9 291 -0.6 285.2000000000001 2.7 281.2000000000001L278.7 -59.6C283.5 -65.5 292.5 -65.5 297.3 -59.6L573.3 281.2C576.5999999999999 285.3 576.9 291 574 295.4L474.1 442.6C471.8 446 468.1 448 464 448zM444.7 400L508 304H439.6L387.9000000000001 400H444.7000000000001zM242.6 400H333.3L385 304H191L242.6 400zM131.3 400H188.1L136.4 304H68L131.3 400zM88.3 256H139.7L208 96L88.3 256zM191.2 256H384.8L288 12.7L191.2 256zM368 96L436.2 256H487.6L368 96z" glyph-name="gem" horiz-adv-x="576" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM168 208C185.7 208 200 222.3 200 240S185.7 272 168 272S136 257.7 136 240S150.3 208 168 208zM328 208C345.7 208 360 222.3 360 240S345.7 272 328 272S296 257.7 296 240S310.3 208 328 208zM344 192H152C125.5 192 104 170.5 104 144V112C104 85.5 125.5 64 152 64H344C370.5 64 392 85.5 392 112V144C392 170.5 370.5 192 344 192zM176 96H152C143.2 96 136 103.2 136 112V120H176V96zM176 136H136V144C136 152.8 143.2 160 152 160H176V136zM240 96H192V120H240V96zM240 136H192V160H240V136zM304 96H256V120H304V96zM304 136H256V160H304V136zM360 112C360 103.2 352.8 96 344 96H320V120H360V112zM360 136H320V160H344C352.8 160 360 152.8 360 144V136z" glyph-name="grimace" horiz-adv-x="496" unicode=""/><glyph d="M200.3 200C212.7 218.7 215.4 237.3 216 256C215.5 274.7 212.7 293.3 200.3 312C192.3 324 175.2 323.4 167.6 312C155.2 293.3 152.5 274.7 151.9 256C152.4 237.3 155.2000000000001 218.7 167.6 200C175.7 188 192.8 188.6 200.3 200zM328.3 200C340.7 218.7 343.4000000000001 237.3 344 256C343.5 274.7 340.7 293.3 328.3 312C320.3 324 303.2 323.4 295.6 312C283.2000000000001 293.3 280.5 274.7 279.9000000000001 256C280.4000000000001 237.3 283.2000000000001 218.7 295.6 200C303.7000000000001 188 320.8 188.6 328.3 200zM248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM353.6 143.4C327.7000000000001 135.1 289.2000000000001 130.3 248.0000000000001 130.3S168.4 135.1 142.4 143.4C132.5 146.5 123 138.1 124.7 128.1C132.6 80.9 196 48.1 248.0000000000001 48.1S363.3 80.9999999999999 371.3 128.1C372.9000000000001 137.9 363.6 146.5 353.6 143.4z" glyph-name="grin-alt" horiz-adv-x="496" unicode=""/><glyph d="M440 288C469.5 288 493.3 314.3 493.3 346.7C493.3 371.7 461.6 422.2 447.1 444C443.5 449.3 436.4000000000001 449.3 432.9000000000001 444C418.4000000000001 422.2 386.7000000000001 371.7 386.7000000000001 346.7C386.7000000000001 314.3 410.5000000000001 288 440.0000000000001 288zM248 48C299.9 48 363.3 80.9 371.3 128C373 137.9 363.6 146.5 353.6 143.3C327.7000000000001 135 289.2000000000001 130.2 248.0000000000001 130.2S168.4 135 142.4 143.3C132.6 146.4 123 138 124.7 128C132.7000000000001 80.9 196.1 48 248.0000000000001 48zM378.3 216.3C381.9000000000001 217.4 384.3 220.8 384 224.6C380.7 266.7000000000001 351.8 296 328 296S275.3 266.7000000000001 272 224.6C271.7 220.9 274.1 217.4 277.7 216.3C281.2 215.2 285.1 216.8 287 220L296.5 237C304.2 250.7 315.7 258.6 328 258.6S351.8 250.7 359.5 237L369 220C371.1 216.4 375.2 215.4 378.3 216.3zM483.6 269.2000000000001C459 253.5000000000001 437.6 256.3 437.2000000000001 256.3C444.1 236.1 448.0000000000001 214.5 448.0000000000001 192C448.0000000000001 81.7 358.3000000000001 -8 248.0000000000001 -8S48 81.7 48 192S137.7 392 248 392C287.8 392 324.8 380.2 356 360.1C357.7 369.6 362.3 384.2 373.2 405.8C336.4 427.4 293.7 440 248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192C496 219 491.6 244.9 483.6 269.2zM168 258.6C180.3 258.6 191.8 250.7 199.5 237L209 220C211.1 216.3 215.2 215.3 218.3 216.3C221.9 217.4 224.3 220.8 224 224.6C220.7 266.7000000000001 191.8 296 168 296S115.3 266.7000000000001 112 224.6C111.7 220.9 114.1 217.4 117.7 216.3C121.2 215.2 125.1 216.8 127 220L136.5 237C144.2 250.8 155.7 258.6 168 258.6z" glyph-name="grin-beam-sweat" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM353.6 143.4C327.7000000000001 135.1 289.2000000000001 130.3 248.0000000000001 130.3S168.4 135.1 142.4 143.4C132.6 146.5 123 138.1 124.7 128.1C132.6 80.9999999999999 196 48.1 248.0000000000001 48.1S363.3 80.9999999999999 371.3 128.1C372.9000000000001 137.9 363.6 146.5 353.6 143.4zM117.7 216.3C121.2 215.2 125.1 216.8 127 220L136.5 237C144.2 250.7 155.7 258.6 168 258.6S191.8 250.7 199.5 237L209 220C211.1 216.3 215.2 215.3 218.3 216.3C221.9 217.4 224.3 220.8 224 224.6C220.7 266.7 191.8 296 168 296S115.3 266.7 112 224.6C111.7 220.9 114.1 217.4 117.7 216.3zM277.7000000000001 216.3C281.2000000000001 215.2 285.1 216.8 287.0000000000001 220L296.5000000000001 237C304.2000000000001 250.7 315.7000000000001 258.6 328.0000000000001 258.6S351.8000000000001 250.7 359.5000000000001 237L369.0000000000001 220C371.1000000000001 216.3 375.2000000000001 215.3 378.3000000000001 216.3C381.9000000000001 217.4 384.3000000000001 220.8 384.0000000000001 224.6C380.7000000000001 266.7 351.8000000000001 296 328.0000000000001 296S275.3000000000001 266.7 272.0000000000001 224.6C271.7000000000001 220.9 274.1000000000001 217.4 277.7000000000001 216.3z" glyph-name="grin-beam" horiz-adv-x="496" unicode=""/><glyph d="M353.6 143.4C327.7000000000001 135.1 289.2000000000001 130.3 248.0000000000001 130.3S168.4 135.1 142.4 143.4C132.6 146.5 123 138.1 124.7 128.1C132.6 80.9 196 48.1 248.0000000000001 48.1S363.3 80.9999999999999 371.3 128.1C372.9000000000001 137.9 363.6 146.5 353.6 143.4zM200.8 192.3C205.3 191.1 210 193.8 211.3 198.3L230.7 268.2C236.3 288.5 223.3 309.3 201.9 312.7C183.3 315.7 165.5 302.9 160.4 284.8L158.4 277.7L151.3 279.6C133.1 284.3 113.1 275.3 106.4 257.6C98.7 237.4 110.2 215.7 130.6 210.4L200.8 192.3zM389.6 257.6C382.9000000000001 275.2 362.9000000000001 284.3 344.7000000000001 279.6L337.6 277.7L335.6 284.8C330.6 302.9 312.8 315.7 294.1 312.7C272.7000000000001 309.3 259.7000000000001 288.5 265.3 268.2L284.7 198.3C285.9 193.8 290.6 191.1 295.2 192.3L365.4 210.5C385.8 215.8 397.3 237.4 389.6 257.5999999999999zM248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8z" glyph-name="grin-hearts" horiz-adv-x="496" unicode=""/><glyph d="M117.1 63.9C91.3 60.2 33.1 50.2 16.2 33.3C-5.7 11.4 -5.3 -24.6 17.1 -47.0000000000001S75.4 -69.8000000000001 97.4 -47.9C114.3 -31 124.3 27.2 128 53C128.8 59.4 123.4 64.8 117.1 63.9zM75.9 105.6C40.3 180 53 271.9 114.6 333.4C152.4 371.2 202.6 392 256 392C292.2 392 326.8 382.2 357.2 364.3C361 384.6 365.2 400.4 369.2 412.6C333.8 430.8 294.9 440 256 440C192.5 440 129.1 415.8 80.6 367.4C6.5 293.3 -10.7 184 28.6 93.4C40.8 97.5 56.3 101.7 75.9 105.6zM428.2 293.2C473.2 216.6 463.1 116.3 397.4 50.6C359.6 12.8 309.4 -8.0000000000001 256 -8.0000000000001C225.5 -8.0000000000001 196.2 -1.0000000000001 169.6 11.8C165.7 -7.7 161.6 -23.2 157.4 -35.4C188.8 -49.0000000000001 222.4 -56.0000000000001 256.1 -56.0000000000001C319.6 -56.0000000000001 383 -31.8000000000001 431.5 16.5999999999999C509.6 94.6999999999999 524.6 211.9999999999999 476.7 305.2C464.4 301.2 448.5 297.0999999999999 428.2 293.2zM394.9 320.1C420.7 323.8 478.9 333.8 495.8 350.7C517.6999999999999 372.6 517.3 408.6 494.9 431S436.6 453.8 414.6 431.9C397.7 415 387.7 356.8 384 331C383.2 324.6 388.6 319.2 394.9 320.1zM207.9 211.8C204.9 214.8 200.7 216 196.5 215L106 192.3C100.3 190.9 96.5 185.6 96.9 179.7C97.4 173.9 102 169.2 107.8 168.7L160.1 163.9L164.9 111.6C165.4 105.8 170.1 101.2 175.9 100.7H176.8000000000001C182.3000000000001 100.7 187.1000000000001 104.4 188.5 109.8L211.1 200.3C212.1 204.5 210.9 208.8 207.9 211.8zM247.6 236.9L338.1 259.5C343.8 260.9 347.6 266.2 347.2 272.0999999999999C346.7 277.9 342.1 282.5999999999999 336.3 283.0999999999999L284 287.9L279.2 340.2C278.7 346 274 350.6 268.2 351.1C262.6 351.2 257 347.7 255.6 342L233 251.5C232 247.4 233.2 243.1 236.2 240.1C241.2 235.1 247.5 236.9 247.6 236.9zM299.6 148.4C270.5 119.3 239.9 95.5 215.7 83C206.5 78.2 205.7 65.5 214 59.6C252.9 31.9 321 53.4 357.7 90.2000000000001S416 195 388.3 233.9C382.5 242.1 369.8 241.5 364.9000000000001 232.2C352.6 208 328.7000000000001 177.5 299.6 148.4z" glyph-name="grin-squint-tears" horiz-adv-x="512" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM353.6 143.4C327.7000000000001 135.1 289.2000000000001 130.3 248.0000000000001 130.3S168.4 135.1 142.4 143.4C132.5 146.5 123 138 124.7 128.1C132.6 80.9999999999999 196 48.1 248.0000000000001 48.1S363.3 80.9999999999999 371.3 128.1C372.9000000000001 137.9 363.6 146.5 353.6 143.4zM118.9 184.2C122.5 180 128.8000000000001 178.5 134.2000000000001 181.7L214.2000000000001 229.7C217.8000000000001 231.9 220.0000000000001 235.8 220.0000000000001 240S217.8000000000001 248.1 214.2000000000001 250.3L134.2000000000001 298.3C129.1000000000001 301.3 122.8000000000001 300.2000000000001 118.9000000000001 295.8C115.1000000000001 291.3 115.1000000000001 284.8 118.8000000000001 280.3L152.4000000000001 240L118.8000000000001 199.7C115.0000000000001 195.2 115.1000000000001 188.6 118.9000000000001 184.2zM361.8000000000001 181.7C367.2000000000001 178.5 373.5000000000001 180 377.1000000000001 184.2C380.9000000000001 188.7 380.9000000000001 195.2 377.2000000000001 199.7L343.6 240L377.2000000000001 280.3C381.0000000000001 284.8 380.9000000000001 291.3 377.1 295.8C373.3 300.2000000000001 366.9000000000001 301.2000000000001 361.8 298.3L281.8 250.3C278.2 248.1 276 244.2 276 240S278.2 231.9 281.8 229.7L361.8 181.7z" glyph-name="grin-squint" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM353.6 143.4C327.7000000000001 135.1 289.2000000000001 130.3 248.0000000000001 130.3S168.4 135.1 142.4 143.4C132.6 146.5 123 138.1 124.7 128.1C132.6 80.9 196 48.1 248.0000000000001 48.1S363.3 80.9999999999999 371.3 128.1C372.9000000000001 137.9 363.6 146.5 353.6 143.4zM125.7 200.9C124.7 194.7 131.1 189.9 136.7 193L168 209.3L199.3000000000001 193C204.9 189.9 211.3000000000001 194.7 210.3000000000001 200.9L204.3000000000001 235.8L229.7000000000001 260.4C234.2000000000001 264.9 231.6000000000001 272.6 225.4000000000001 273.6L190.5 278.6L175 310.2C172.1 316 164 316 161.1 310.2L145.6 278.6L110.7 273.6C104.5 272.7 101.8 265 106.4 260.4L131.8 235.8L125.7 200.9zM385.4 273.6L350.5 278.6L335 310.2C332.1 316 324 316 321.1 310.2L305.6 278.6L270.7000000000001 273.6C264.5000000000001 272.7 261.8000000000001 265 266.4000000000001 260.4L291.8 235.8L285.8 200.9C284.8 194.7 291.2 189.9 296.8 193L328.1 209.3L359.4000000000001 193C365.0000000000001 189.9 371.4000000000001 194.7 370.4000000000001 200.9L364.4000000000001 235.8L389.8 260.4C394.3 265 391.6 272.6 385.4000000000001 273.6z" glyph-name="grin-stars" horiz-adv-x="496" unicode=""/><glyph d="M117.1 191.9C91.3 188.2 33.1 178.2 16.2 161.3C-5.7 139.4 -5.3 103.4 17.1 80.9999999999999S75.4 58.1999999999999 97.4 80.1C114.3 97 124.3 155.2 128 181C128.8 187.4 123.4 192.8 117.1 191.9zM623.8 161.3C606.9 178.1999999999999 548.6999999999999 188.1999999999999 522.9 191.9C516.6 192.8 511.2 187.4 512.1 181.1C515.8000000000001 155.3 525.8000000000001 97.1 542.7 80.1999999999999C564.6 58.3 600.6 58.6999999999999 623 81.0999999999999C645.3 103.3999999999999 645.7 139.3999999999999 623.8 161.2999999999999zM497.1999999999999 99.6C463.8 35.7 396.9 -8 320 -8C243.1 -8 176.2 35.7 142.8 99.6C130.3 62.2000000000001 117.6 55.7 114.5 53.1C159.1 -12.7 234.5 -56 320 -56S480.9 -12.7 525.5 53.1C522.3 55.8 509.6 62.3 497.2 99.6zM122.7 223.5C137.9 318.8 220.5 392 320 392C419.5 392 502.1 318.8 517.3 223.5C519.4 223.7 522.5 225.9 566.8 216.5C554.4 342 448.7 440 320 440S85.6 342 73.2 216.6C117.7 226 120.3 223.8 122.7 223.5zM320 48C371.9 48 435.3 80.9 443.3 128C445 137.9 435.6 146.5 425.6 143.3C399.7000000000001 135 361.2000000000001 130.2 320 130.2S240.4 135 214.4 143.3C204.6 146.4 195 138 196.7 128C204.7 80.9 268.1 48 320 48zM450.3 216.3C453.9 217.4 456.3 220.8 456 224.6C452.7 266.7000000000001 423.8 296 400 296S347.3 266.7000000000001 344 224.6C343.7 220.9 346.1 217.4 349.7 216.3C353.2 215.2 357.1 216.8 359 220L368.5 237C376.2 250.7 387.7 258.6 400 258.6S423.8 250.7 431.5 237L441 220C443.1 216.4 447.2 215.4 450.3 216.3zM240 258.6C252.3 258.6 263.8 250.7 271.5 237L281 220C283.1 216.3 287.2 215.3 290.3 216.3C293.9000000000001 217.4 296.3 220.8 296 224.6C292.7 266.7000000000001 263.8 296 240 296S187.3 266.7000000000001 184 224.6C183.7 220.9 186.1 217.4 189.7 216.3C193.2 215.2 197.1 216.8 199 220L208.5 237C216.2 250.8 227.7 258.6 240 258.6z" glyph-name="grin-tears" horiz-adv-x="640" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM312 40C312 4.4 282.9 -24.5 247.1 -24C212 -23.5 184 5.8 184 41V83.8L201.7 92.6C216.7 100.1 233.2 90.9 236.6 76.1L239.4 64C241.5 54.8 254.6 54.8 256.7 64L259.5 76.1C262.9 90.9 279.3 100.2000000000001 294.4 92.6L312.1 83.8V40zM340.2 14.7C342.4 22.8 344 31.2 344 40V83.5C358.2 95.9 368.4 111 371.3 128C373 137.9 363.6 146.5 353.6 143.3C327.7000000000001 135 289.2000000000001 130.2 248.0000000000001 130.2S168.4 135 142.4 143.3C132.5 146.4 123 138 124.7 128C127.6 111 137.8000000000001 95.9 152 83.5V40C152 31.2 153.6 22.8 155.8000000000001 14.7C91.8 48.1 48 115 48 192C48 302.3 137.7 392 248 392S448 302.3 448 192C448 115 404.2 48.1 340.2 14.7zM377.1 295.8C373.3 300.2000000000001 366.8 301.3 361.8 298.3L281.8 250.3C278.2 248.1 276 244.2 276 240S278.2 231.9 281.8 229.7L361.8 181.7C367.2 178.5 373.5 180 377.1 184.2C380.9 188.7 380.9 195.2 377.2 199.7L343.6 240L377.2000000000001 280.3C381.0000000000001 284.8 380.9000000000001 291.4 377.1 295.8zM214.2 250.3L134.2 298.3C129.2 301.3 122.8 300.3 118.9 295.8C115.1 291.3 115.1 284.8 118.8 280.3L152.4 240L118.8 199.7C115 195.2 115.1 188.7 118.9 184.2C122.5 180 128.8 178.5 134.2 181.7L214.2 229.7C217.8 231.9 220 235.8 220 240S217.8 248.1 214.2 250.3z" glyph-name="grin-tongue-squint" horiz-adv-x="496" unicode=""/><glyph d="M152 268C126.3 268 96.1 251.1 92.2 225.9C91.4 220.9 93.9 215.9 98.3 213.5C102.7 211.1 108.2 211.7 112 215.1L121.5 223.6C136.3 236.8 167.7 236.8 182.5 223.6L192 215.1C194.5 212.9 200 210.4 205.7 213.5C210.1 215.9 212.6 220.9 211.8 225.9C207.9 251.1 177.7 268 152 268zM328 320C283.8 320 248 284.2 248 240S283.8 160 328 160S408 195.8 408 240S372.2 320 328 320zM328 192C301.5 192 280 213.5 280 240S301.5 288 328 288S376 266.5 376 240S354.5 192 328 192zM328 264C314.7 264 304 253.3 304 240S314.7 216 328 216S352 226.7 352 240S341.3 264 328 264zM248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM312 40C312 4.4 282.9 -24.5 247.1 -24C212 -23.5 184 5.8 184 41V83.8L201.7 92.6C216.7 100.1 233.2 90.9 236.6 76.1L239.4 64C241.5 54.8 254.6 54.8 256.7 64L259.5 76.1C262.9 90.9 279.3 100.2000000000001 294.4 92.6L312.1 83.8V40zM340.2 14.7C342.4 22.8 344 31.2 344 40V83.5C358.2 95.9 368.4 111 371.3 128C373 137.9 363.6 146.5 353.6 143.3C327.7000000000001 135 289.2000000000001 130.2 248.0000000000001 130.2S168.4 135 142.4 143.3C132.5 146.4 123 138 124.7 128C127.6 111 137.8000000000001 95.9 152 83.5V40C152 31.2 153.6 22.8 155.8000000000001 14.7C91.8 48.1 48 115 48 192C48 302.3 137.7 392 248 392S448 302.3 448 192C448 115 404.2 48.1 340.2 14.7z" glyph-name="grin-tongue-wink" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM312 40C312 4.4 282.9 -24.5 247.1 -24C212 -23.5 184 5.8 184 41V83.8L201.7 92.6C216.7 100.1 233.2 90.9 236.6 76.1L239.4 64C241.5 54.8 254.6 54.8 256.7 64L259.5 76.1C262.9 90.9 279.3 100.2000000000001 294.4 92.6L312.1 83.8V40zM340.2 14.7C342.4 22.8 344 31.2 344 40V83.5C358.2 95.9 368.4 111 371.3 128C373 137.9 363.6 146.5 353.6 143.3C327.7000000000001 135 289.2000000000001 130.2 248.0000000000001 130.2S168.4 135 142.4 143.3C132.5 146.4 123 138 124.7 128C127.6 111 137.8000000000001 95.9 152 83.5V40C152 31.2 153.6 22.8 155.8000000000001 14.7C91.8 48.1 48 115 48 192C48 302.3 137.7 392 248 392S448 302.3 448 192C448 115 404.2 48.1 340.2 14.7zM168 272C150.3 272 136 257.7 136 240S150.3 208 168 208S200 222.3 200 240S185.7 272 168 272zM328 272C310.3 272 296 257.7 296 240S310.3 208 328 208S360 222.3 360 240S345.7 272 328 272z" glyph-name="grin-tongue" horiz-adv-x="496" unicode=""/><glyph d="M328 268C302.31 268 272.12 251.08 268.14 225.88C266.39 214.66 279.64 207.64 287.97 215.04L297.52 223.52C312.33 236.71 343.68 236.71 358.49 223.52L368.04 215.04C376.5200000000001 207.61 389.6 214.79 387.87 225.88C383.88 251.08 353.69 268 328 268zM168 208C185.67 208 200 222.33 200 240S185.67 272 168 272S136 257.67 136 240S150.33 208 168 208zM353.55 143.36C327.62 135.06 289.15 130.3 248 130.3S168.38 135.05 142.45 143.36C132.51 146.49 123.05 137.99 124.74 128.0200000000001C132.67 80.87 196.06 48 248 48S363.33 80.87 371.26 128.02C372.94 137.91 363.59 146.5 353.55 143.36zM248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM248 -8C137.72 -8 48 81.72 48 192S137.72 392 248 392S448 302.28 448 192S358.28 -8 248 -8z" glyph-name="grin-wink" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM353.6 143.4C327.7000000000001 135.1 289.2000000000001 130.3 248.0000000000001 130.3S168.4 135.1 142.4 143.4C132.5 146.5 123 138 124.7 128.1C132.6 80.9999999999999 196 48.1 248.0000000000001 48.1S363.3 80.9999999999999 371.3 128.1C372.9000000000001 137.9 363.6 146.5 353.6 143.4zM168 208C185.7 208 200 222.3 200 240S185.7 272 168 272S136 257.7 136 240S150.3 208 168 208zM328 208C345.7 208 360 222.3 360 240S345.7 272 328 272S296 257.7 296 240S310.3 208 328 208z" glyph-name="grin" horiz-adv-x="496" unicode=""/><glyph d="M556.686 157.458L410.328 383.171C397.001 403.728 374.417 416 349.917 416H56C25.121 416 0 390.878 0 360V352C0 307.8880000000001 35.888 272 80 272H276.0420000000001L257.7090000000001 224H144C95.477 224 56 184.523 56 136C56 105.121 81.121 80 112 80H243.552C246.539 80 249.466 79.451 252.249 78.369L352 39.582V-32H576V92.171C576 115.396 569.321 137.972 556.686 157.458zM528 16H400V39.582C400 59.53 387.986 77.09 369.396 84.318L269.645 123.106A71.733 71.733 0 0 1 243.552 128H112C107.589 128 104 131.589 104 136C104 158.056 121.944 176 144 176H257.709C277.476 176 295.495 188.407 302.549 206.873L327.101 271.154C336.097 294.707 318.673 320 293.471 320H80C62.355 320 48 334.355 48 352V360C48 364.411 51.589 368 56 368H349.917C358.083 368 365.61 363.91 370.054 357.058L516.412 131.343A71.84 71.84 0 0 0 528 92.171V16z" glyph-name="hand-lizard" horiz-adv-x="576" unicode=""/><glyph d="M372.57 335.359V346.184C372.57 389.796 332.05 422.875 289.531 411.73C263.902 461.23 195.441 459.18 171.549 410.983C130.269 421.544 89.144 390.055 89.144 346V219.87C69.191 227.297 45.836 224.938 27.061 210.999C-2.294 189.203 -8.733 147.666 12.511 117.846L132.48 -50.569A32 32 0 0 1 158.542 -64.001H381.439C396.343 -64.001 409.274 -53.712 412.621 -39.188L442.805 91.77A203.637 203.637 0 0 1 448 137.436V269C448 309.62 412.477 340.992 372.57 335.359zM399.997 137.437C399.997 125.706 398.663 113.968 396.0320000000001 102.551L368.707 -16H166.787L51.591 145.697C37.152 165.967 66.614 188.473 80.985 168.302L108.113 130.223C117.108 117.597 137.144 123.936 137.144 139.506V346C137.144 371.645 173.715 370.81 173.715 345.309V192C173.715 183.163 180.878 176 189.715 176H196.571C205.408 176 212.571 183.163 212.571 192V381C212.571 406.663 249.142 405.81 249.142 380.309V192C249.142 183.163 256.305 176 265.142 176H271.998C280.835 176 287.998 183.163 287.998 192V346.875C287.998 372.5470000000001 324.568 371.685 324.568 346.184V192C324.568 183.163 331.731 176 340.568 176H347.425C356.262 176 363.425 183.163 363.425 192V268.309C363.425 294.551 399.995 293.949 399.995 269V137.437z" glyph-name="hand-paper" horiz-adv-x="448" unicode=""/><glyph d="M362.146 256.024C348.4360000000001 277.673 323.385 290.04 297.14 286.365V374C297.14 414.804 264.329 448 223.999 448C183.669 448 150.859 414.804 150.859 374L160 280L141.321 358.85C126.578 397.157 83.85 415.89 46.209 400.7920000000001C8.735 385.762 -9.571 343.0370000000001 5.008 305.15L60.765 160.223C30.208 135.267 16.771 102.414 36.032 68.005L90.885 -29.994C102.625 -50.97 124.73 -64 148.575 -64H354.277C385.021 -64 411.835 -42.56 418.832 -12.203L446.259 106.7960000000001A67.801 67.801 0 0 1 447.988 121.999L448 192C448 236.956 404.737 269.343 362.146 256.024zM399.987 122C399.987 120.512 399.8180000000001 119.023 399.485 117.577L372.058 -1.424C370.08 -10.006 362.768 -16 354.276 -16H148.575C142.089 -16 136.033 -12.379 132.77 -6.551L77.916 91.449C73.359 99.59 75.297 110.117 82.424 115.937L109.071 137.701A16 16 0 0 1 113.883 155.84L49.793 322.389C37.226 355.044 84.37 373.163 96.51 341.611L156.294 186.254A16 16 0 0 1 171.227 176H182.859C191.696 176 198.859 183.163 198.859 192V374C198.859 408.375 249.14 408.43 249.14 374V192C249.14 183.163 256.303 176 265.14 176H271.996C280.833 176 287.996 183.163 287.996 192V220C287.996 245.122 324.563 245.159 324.563 220V192C324.563 183.163 331.726 176 340.563 176H347.419C356.256 176 363.419 183.163 363.419 192C363.419 217.12 399.986 217.16 399.986 192V122z" glyph-name="hand-peace" horiz-adv-x="448" unicode=""/><glyph d="M188.8 -64C234.416 -64 272 -26.235 272 19.2V54.847A93.148 93.148 0 0 1 294.064 62.776C316.0700000000001 60.269 339.0420000000001 66.2789999999999 356.855 78.761C409.342 79.9 448 116.159 448 178.701V200C448 260.063 408 298.512 408 327.2V329.879C412.952 335.626 416 343.415 416 351.999V416C416 433.673 403.106 448 387.2 448H156.8C140.894 448 128 433.673 128 416V352C128 343.416 131.048 335.627 136 329.88V327.201C136 320.237 129.807 312.339 112.332 297.0180000000001L112.184 296.889L112.038 296.7580000000001C102.101 287.9020000000001 91.197 278.642 78.785 270.9070000000001C48.537 252.202 0 240.514 0 195.2C0 138.272 35.286 103.2 83.2 103.2C91.226 103.2 98.689 104.014 105.6 105.376V19.2C105.6 -25.899 143.701 -64 188.8 -64zM188.8 -16C170.1 -16 153.6 0.775 153.6 19.2V177.6C136.275 177.6 118.4 151.2000000000001 83.2 151.2000000000001C56.8 151.2000000000001 48 171.8250000000001 48 195.2000000000001C48 203.9940000000001 80.712 215.6450000000001 104.1 230.1260000000001C118.675 239.2000000000001 131.325 249.6500000000001 143.975 260.9250000000001C162.349 277.0340000000001 180.608 294.761 183.571 320.0000000000001H360.3230000000001C364.087 277.2100000000001 400 245.491 400 200V178.701C400 138.177 377.803 121.577 338.675 128.1C330.6740000000001 113.488 304.6960000000001 103.949 285.05 115.175C266.825 95.81 238.669 97.388 224 110.225V19.2C224 0.225 207.775 -16 188.8 -16zM328 384C328 397.255 338.745 408 352 408S376 397.255 376 384S365.255 360 352 360S328 370.745 328 384z" glyph-name="hand-point-down" horiz-adv-x="448" unicode=""/><glyph d="M0 227.2C0 181.584 37.765 144 83.2 144H118.847A93.148 93.148 0 0 1 126.776 121.936C124.269 99.93 130.279 76.958 142.761 59.145C143.9 6.658 180.159 -32 242.701 -32H264C324.063 -32 362.512 8 391.2 8H393.879C399.626 3.048 407.415 0 415.999 0H479.999C497.672 0 511.999 12.894 511.999 28.8V259.2C511.999 275.106 497.672 288 479.999 288H415.999C407.415 288 399.626 284.952 393.879 280H391.2C384.236 280 376.338 286.193 361.017 303.668L360.888 303.8160000000001L360.757 303.962C351.901 313.899 342.641 324.803 334.906 337.215C316.202 367.463 304.514 416 259.2 416C202.272 416 167.2 380.714 167.2 332.8C167.2 324.774 168.014 317.3110000000001 169.376 310.4H83.2C38.101 310.4 0 272.299 0 227.2zM48 227.2C48 245.9 64.775 262.4 83.2 262.4H241.6C241.6 279.725 215.2 297.6 215.2 332.8C215.2 359.2 235.825 368 259.2000000000001 368C267.9940000000001 368 279.6450000000001 335.288 294.1260000000001 311.9C303.2000000000001 297.325 313.6500000000001 284.675 324.925 272.025C341.034 253.651 358.761 235.392 384 232.429V55.677C341.21 51.913 309.491 16 264 16H242.701C202.177 16 185.577 38.197 192.1 77.325C177.488 85.326 167.949 111.304 179.175 130.95C159.81 149.175 161.388 177.331 174.225 192H83.2C64.225 192 48 208.225 48 227.2zM448 88C461.255 88 472 77.255 472 64S461.255 40 448 40S424 50.745 424 64S434.745 88 448 88z" glyph-name="hand-point-left" horiz-adv-x="512" unicode=""/><glyph d="M428.8 310.4H342.623A115.52 115.52 0 0 1 344.799 332.8C344.799 380.714 309.727 416 252.799 416C207.485 416 195.797 367.463 177.092 337.216C169.357 324.803 160.098 313.899 151.241 303.963L151.11 303.817L150.981 303.6690000000001C135.662 286.193 127.764 280 120.8 280H118.121C112.374 284.952 104.585 288 96.001 288H32C14.327 288 0 275.106 0 259.2V28.8C0 12.894 14.327 0 32 0H96C104.584 0 112.373 3.048 118.12 8H120.799C149.487 8 187.936 -32 247.999 -32H269.298C331.8400000000001 -32 368.098 6.658 369.238 59.145C381.7200000000001 76.958 387.729 99.93 385.223 121.936A93.148 93.148 0 0 1 393.152 144H428.8C474.235 144 512 181.584 512 227.2C512 272.299 473.899 310.4 428.8 310.4zM428.8 192H337.774C350.611 177.331 352.189 149.175 332.824 130.95C344.051 111.304 334.511 85.326 319.899 77.325C326.423 38.197 309.823 16 269.299 16H248C202.509 16 170.79 51.913 128 55.676V232.429C153.239 235.393 170.966 253.651 187.075 272.025C198.35 284.675 208.8 297.3250000000001 217.874 311.9C232.355 335.288 244.006 368 252.8 368C276.175 368 296.8 359.2 296.8 332.8C296.8 297.6 270.4000000000001 279.725 270.4000000000001 262.4H428.8000000000001C447.2250000000001 262.4 464.0000000000001 245.9 464.0000000000001 227.2C464.0000000000001 208.225 447.7750000000001 192 428.8000000000001 192zM88 64C88 50.745 77.255 40 64 40S40 50.745 40 64S50.745 88 64 88S88 77.255 88 64z" glyph-name="hand-point-right" horiz-adv-x="512" unicode=""/><glyph d="M105.6 364.8V278.623A115.52 115.52 0 0 1 83.2 280.799C35.286 280.799 0 245.727 0 188.799C0 143.485 48.537 131.797 78.784 113.092C91.197 105.357 102.101 96.098 112.037 87.241L112.183 87.11L112.331 86.981C129.807 71.662 136 63.764 136 56.8V54.121C131.048 48.374 128 40.585 128 32.001V-31.999C128 -49.672 140.894 -63.999 156.8 -63.999H387.2000000000001C403.1060000000001 -63.999 416.0000000000001 -49.672 416.0000000000001 -31.999V32.001C416.0000000000001 40.585 412.9520000000001 48.374 408.0000000000001 54.121V56.8C408.0000000000001 85.488 448.0000000000001 123.937 448.0000000000001 184V205.299C448.0000000000001 267.841 409.3420000000001 304.099 356.8550000000001 305.2390000000001C339.0420000000001 317.721 316.0700000000001 323.73 294.0640000000001 321.224A93.148 93.148 0 0 1 272 329.153V364.8C272 410.235 234.416 448 188.8 448C143.701 448 105.6 409.899 105.6 364.8zM224 364.8V273.774C238.669 286.611 266.825 288.189 285.05 268.824C304.6960000000001 280.0510000000001 330.6740000000001 270.511 338.675 255.899C377.803 262.423 400 245.823 400 205.299V184C400 138.509 364.087 106.79 360.324 64H183.571C180.607 89.239 162.349 106.966 143.975 123.075C131.325 134.35 118.675 144.8 104.1 153.874C80.712 168.355 48 180.006 48 188.8C48 212.175 56.8 232.8 83.2 232.8C118.4 232.8 136.275 206.4 153.6 206.4V364.8C153.6 383.225 170.1 400 188.8 400C207.775 400 224 383.775 224 364.8zM352 24C365.255 24 376 13.255 376 0S365.255 -24 352 -24S328 -13.255 328 0S338.745 24 352 24z" glyph-name="hand-point-up" horiz-adv-x="448" unicode=""/><glyph d="M358.182 268.639C338.689 293.4070000000001 305.5030000000001 300.584 278.31 287.737C263.183 303.4240000000001 242.128 310.2240000000001 221.715 307.366V381C221.715 417.944 191.979 448 155.429 448S89.143 417.944 89.143 381V219.871C69.234 227.281 45.871 224.965 27.06 210.999C-2.295 189.204 -8.733 147.6660000000001 12.51 117.847L122.209 -36.154C134.632 -53.59 154.741 -64 176 -64H354.286C385.088 -64 411.86 -42.5 418.843 -12.203L446.272 106.7960000000001A67.873 67.873 0 0 1 448 122V206C448 252.844 401.375 285.273 358.182 268.639zM80.985 168.303L108.111 130.224C117.106 117.598 137.142 123.937 137.142 139.507V381C137.142 406.12 173.713 406.16 173.713 381V206C173.713 197.164 180.876 190 189.713 190H196.57C205.407 190 212.57 197.164 212.57 206V241C212.57 266.12 249.141 266.16 249.141 241V206C249.141 197.164 256.304 190 265.141 190H272C280.837 190 288 197.164 288 206V227C288 252.12 324.5710000000001 252.16 324.5710000000001 227V206C324.5710000000001 197.164 331.7340000000001 190 340.5710000000001 190H347.4280000000001C356.2650000000001 190 363.4280000000001 197.164 363.4280000000001 206C363.4280000000001 231.121 399.999 231.16 399.999 206V122C399.999 120.512 399.8300000000001 119.023 399.497 117.577L372.067 -1.424C370.089 -10.006 362.777 -16 354.2850000000001 -16H176C170.231 -16 164.737 -13.122 161.303 -8.303L51.591 145.697C37.185 165.92 66.585 188.515 80.985 168.303zM176.143 48V144C176.143 152.837 182.411 160 190.143 160H196.143C203.875 160 210.143 152.837 210.143 144V48C210.143 39.163 203.875 32 196.143 32H190.143C182.41 32 176.143 39.163 176.143 48zM251.571 48V144C251.571 152.837 257.839 160 265.5710000000001 160H271.5710000000001C279.3030000000001 160 285.5710000000001 152.837 285.5710000000001 144V48C285.5710000000001 39.163 279.3030000000001 32 271.5710000000001 32H265.5710000000001C257.839 32 251.5710000000001 39.163 251.5710000000001 48zM327 48V144C327 152.837 333.268 160 341 160H347C354.7320000000001 160 361 152.837 361 144V48C361 39.163 354.7320000000001 32 347 32H341C333.268 32 327 39.163 327 48z" glyph-name="hand-pointer" horiz-adv-x="448" unicode=""/><glyph d="M408.864 368.948C386.463 402.846 342.756 411.221 310.051 392.536C280.577 424.005 230.906 423.629 201.717 392.558C154.557 419.578 93.007 387.503 91.046 331.752C44.846 342.593 0 307.999 0 260.5710000000001V203.618C0 170.877 14.28 139.664 39.18 117.984L136.89 32.903C141.142 29.201 140 27.33 140 -1e-13C140 -17.6730000000001 154.327 -32.0000000000001 172 -32.0000000000001H424C441.673 -32.0000000000001 456 -17.6730000000001 456 -1e-13C456 23.5129999999999 454.985 30.745 459.982 42.37L502.817 142.026C508.911 156.203 512 171.198 512 186.5939999999999V301.0370000000001C512 353.876 457.686 389.699 408.8640000000001 368.948zM464 186.594A64.505 64.505 0 0 0 458.718 160.981L415.8830000000001 61.326C410.653 49.155 408.0000000000001 36.286 408.0000000000001 23.076V16H188V26.286C188 42.656 180.86 58.263 168.41 69.103L70.7 154.183C56.274 166.745 48 184.764 48 203.619V260.572C48 293.78 100 294.1090000000001 100 259.895V218.667A16 16 0 0 1 105.493 206.6L112.493 200.505A16 16 0 0 1 139 212.571V329.1430000000001C139 362.24 191 362.868 191 328.466V301.7150000000001C191 292.879 198.164 285.7150000000001 207 285.7150000000001H214C222.836 285.7150000000001 230 292.879 230 301.7150000000001V342.858C230 375.992 282 376.533 282 342.181V301.7150000000001C282 292.879 289.163 285.7150000000001 298 285.7150000000001H305C313.837 285.7150000000001 321 292.879 321 301.7150000000001V329.144C321 362.174 373 362.924 373 328.467V301.716C373 292.88 380.163 285.716 389 285.716H396C404.837 285.716 412 292.88 412 301.716C412 334.862 464 335.329 464 301.039V186.5940000000001z" glyph-name="hand-rock" horiz-adv-x="512" unicode=""/><glyph d="M256 -32L326 -31.987C331.114 -31.987 336.231 -31.404 341.203 -30.258L460.202 -2.831C490.56 4.165 512 30.98 512 61.723V267.425C512 291.27 498.97 313.376 477.995 325.115L379.996 379.968C345.587 399.2290000000001 312.733 385.7920000000001 287.778 355.235L142.85 410.992C104.963 425.5710000000001 62.238 407.265 47.208 369.791C32.11 332.149 50.843 289.421 89.15 274.679L168 256L74 265.141C33.196 265.141 0 232.33 0 192.001C0 151.671 33.196 118.86 74 118.86H161.635C157.96 92.615 170.327 67.563 191.976 53.8539999999999C178.657 11.263 211.044 -32 256 -32zM256 16.013C230.84 16.013 230.88 52.58 256 52.58C264.837 52.58 272 59.743 272 68.58V75.436C272 84.273 264.837 91.436 256 91.436H228C202.841 91.436 202.878 128.003 228 128.003H256C264.837 128.003 272 135.166 272 144.003V150.859C272 159.696 264.837 166.859 256 166.859H74C39.57 166.859 39.625 217.14 74 217.14H256C264.837 217.14 272 224.303 272 233.14V244.772A16 16 0 0 1 261.746 259.705L106.389 319.49C74.837 331.63 92.957 378.773 125.611 366.207L292.16 302.116A16.001 16.001 0 0 1 310.299 306.928L332.063 333.5750000000001C337.883 340.702 348.411 342.639 356.551 338.0830000000001L454.551 283.2290000000001C460.379 279.966 464 273.911 464 267.424V61.723C464 53.232 458.006 45.919 449.424 43.941L330.423 16.514A19.743 19.743 0 0 0 326 16.012H256z" glyph-name="hand-scissors" horiz-adv-x="512" unicode=""/><glyph d="M21.096 66.21L150.188 -55.303A32 32 0 0 1 172.12 -64.001H409.7200000000001C423.8900000000001 -64.001 436.3730000000001 -54.682 440.4000000000001 -41.097L472.215 66.216A115.955 115.955 0 0 1 477 99.189V136.028C477 140.079 477.476 144.132 478.414 148.073L510.144 281.4830000000001C520.243 323.8950000000001 487.828 364.221 444.6 364.0080000000001C440.456 388.8640000000001 422.057 411.1730000000001 394.75 418.0000000000001C358.947 426.9520000000001 322.523 405.3450000000001 313.5 369.25L296.599 264L274.924 395.99C266.638 432.06 230.621 454.562 194.62 446.286C165.004 439.4820000000001 144.482 413.897 142.738 384.991C100.101 384.16 69.283 344.428 78.667 303.147L109.707 166.639C82.513 189.154 42.423 186.631 18.225 160.917C-7.151 133.956 -5.873 91.592 21.096 66.21zM53.164 128.021L53.166 128.0219999999999C60.385 135.694 72.407 136.002 80.022 128.8349999999999L133.034 78.9409999999999C143.225 69.351 160 76.6 160 90.594V160.073C160 161.266 159.866 162.456 159.603 163.619L125.473 313.791C119.877 338.408 156.975 346.651 162.527 322.212L192.926 188.4549999999999A16 16 0 0 1 208.529 176.0009999999999H217.1330000000001C227.4090000000001 176.0009999999999 235.0270000000001 185.5679999999999 232.7270000000001 195.5839999999999L191.107 376.7369999999999C185.484 401.2059999999999 222.497 409.813 228.142 385.2449999999999L273.362 188.4169999999999A16 16 0 0 1 288.956 176H302.173A16 16 0 0 1 317.695 188.119L360.067 357.6090000000001C366.171 382.0310000000001 403.029 372.7680000000001 396.932 348.3920000000001L358.805 195.88C356.284 185.792 363.92 176 374.327 176H384.021A16 16 0 0 1 399.586 188.295L426.509 301.4C432.3300000000001 325.848 469.306 317.087 463.475 292.598L431.7200000000001 159.19A100.094 100.094 0 0 1 429 136.028V99.189C429 92.641 428.057 86.138 426.195 79.8610000000001L397.775 -16H178.465L53.978 101.164C46.349 108.344 45.984 120.393 53.164 128.021z" glyph-name="hand-spock" horiz-adv-x="512" unicode=""/><glyph d="M519.2 320.1L471.6 367.7A56.252 56.252 0 0 1 432 384H205.2C190.4 384 176.1 378.1 165.6 367.7L118 320.1H0V64.4H64C81.6 64.4 95.8 78.6 95.9 96.1H105L189.6 19.6999999999999C220.5 -5.4000000000001 263.4 -6.0000000000001 295.2 15.8999999999999C307.7 5.0999999999999 321.2 -1e-13 336.3 -1e-13C354.5 -1e-13 371.6 7.3999999999999 385.1 23.9999999999999C407.2000000000001 15.3 433.3 21.3999999999999 449.1 40.8L475.3 73.1C480.9 79.9999999999999 484.4 87.9 486.2 96.1H544.1C544.2 78.6 558.5 64.4 576 64.4H640V320.1H519.2zM48 96.4C39.2 96.4 32 103.6 32 112.4S39.2 128.4 48 128.4S64 121.2 64 112.4C64 103.5 56.8 96.4 48 96.4zM438 103.3L411.9 71.1C409.1 67.7 404.1 67.1 400.6 69.9L376.7 89.3L346.7 52.8C340.7 45.4999999999999 331.7 47.9999999999999 328.7 50.4L291.9 81.9L276.3 62.7C262.4 45.6 237.1 43 221 56.1L123.7 144.1H96V272.2H137.9L199.6 333.8C201.6 334.6 203.3 335.3 205.3 336.1H262L223.3 300.6C193.9 273.7 192.2 228.3 218.9 199.3C233.7 183.1 280.1 158.1 320.4 194.9L328.6 202.4L436.8 114.6C440.2 111.8 440.7 106.7 438 103.3zM544 144.1H474.8C472.5 146.9 469.9 149.5 467.1 151.8L364.4000000000001 235.2L376.9000000000001 246.6C383.4000000000001 252.6 383.9000000000001 262.7 377.9000000000001 269.2L367 280.9C361 287.4 350.9 287.8 344.4 281.9L289.2 231.3C279.7 222.6 263.5 221.9 254.6 231.3C245.3 241.2 246.1 256.4 255.8 265.2000000000001L321.4 325.3C328.8 332.1 338.4 335.8 348.4 335.8L432.1 336C434.2 336 436.2 335.2000000000001 437.6 333.7000000000001L499.3 272.1H544V144.1zM592 96.4C583.2 96.4 576 103.6 576 112.4S583.2 128.4 592 128.4S608 121.2 608 112.4C608 103.5 600.8 96.4 592 96.4z" glyph-name="handshake" horiz-adv-x="640" unicode=""/><glyph d="M567.403 212.358L462.323 363.411A48 48 0 0 1 422.919 384H153.081A48 48 0 0 1 113.677 363.411L8.597 212.358A48.001 48.001 0 0 1 0 184.946V48C0 21.49 21.49 0 48 0H528C554.51 0 576 21.49 576 48V184.946C576 194.747 573 204.312 567.403 212.358zM153.081 336H422.919L500.832 224H75.168L153.081 336zM528 48H48V176H528V48zM496 112C496 94.327 481.673 80 464 80S432 94.327 432 112S446.327 144 464 144S496 129.673 496 112zM400 112C400 94.327 385.673 80 368 80S336 94.327 336 112S350.327 144 368 144S400 129.673 400 112z" glyph-name="hdd" horiz-adv-x="576" unicode=""/><glyph d="M458.4 383.7C400.6 432.3 311.3 425 256 368.7C200.7 425 111.4 432.4 53.6 383.7C-21.6 320.4 -10.6 217.2 43 162.5L218.4 -16.2C228.4 -26.4 241.8 -32.1 256 -32.1C270.3 -32.1 283.6 -26.4999999999999 293.6 -16.3L469 162.4C522.5 217.1 533.7 320.3 458.4 383.7zM434.8 196.2L259.4 17.5C257 15.1 255 15.1 252.6 17.5L77.2 196.2C40.7 233.4 33.3 303.8 84.5 346.9C123.4 379.6 183.4 374.7 221 336.4L256 300.7L291 336.4C328.8 374.9 388.8 379.6 427.5 347C478.6 303.9 471 233.1 434.8 196.2z" glyph-name="heart" horiz-adv-x="512" unicode=""/><glyph d="M128 204V244C128 250.627 133.373 256 140 256H180C186.627 256 192 250.627 192 244V204C192 197.373 186.627 192 180 192H140C133.373 192 128 197.373 128 204zM268 192H308C314.627 192 320 197.373 320 204V244C320 250.627 314.627 256 308 256H268C261.373 256 256 250.627 256 244V204C256 197.373 261.373 192 268 192zM192 108V148C192 154.627 186.627 160 180 160H140C133.373 160 128 154.627 128 148V108C128 101.373 133.373 96 140 96H180C186.627 96 192 101.373 192 108zM268 96H308C314.627 96 320 101.373 320 108V148C320 154.627 314.627 160 308 160H268C261.373 160 256 154.627 256 148V108C256 101.373 261.373 96 268 96zM448 -28V-64H0V-28C0 -21.373 5.373 -16 12 -16H31.5V362.9650000000001C31.5 374.582 42.245 384 55.5 384H144V424C144 437.255 154.745 448 168 448H280C293.255 448 304 437.255 304 424V384H392.5C405.755 384 416.5 374.582 416.5 362.9650000000001V-16H436C442.627 -16 448 -21.373 448 -28zM79.5 -15H192V52C192 58.627 197.373 64 204 64H244C250.627 64 256 58.627 256 52V-15H368.5V336H304V312C304 298.745 293.255 288 280 288H168C154.745 288 144 298.745 144 312V336H79.5V-15zM266 384H240V410A6 6 0 0 1 234 416H214A6 6 0 0 1 208 410V384H182A6 6 0 0 1 176 378V358A6 6 0 0 1 182 352H208V326A6 6 0 0 1 214 320H234A6 6 0 0 1 240 326V352H266A6 6 0 0 1 272 358V378A6 6 0 0 1 266 384z" glyph-name="hospital" horiz-adv-x="448" unicode=""/><glyph d="M368 400H372C378.627 400 384 405.373 384 412V436C384 442.627 378.627 448 372 448H12C5.373 448 0 442.627 0 436V412C0 405.373 5.373 400 12 400H16C16 319.4360000000001 48.188 234.193 113.18 192C47.899 149.619 16 64.1 16 -16H12C5.373 -16 0 -21.373 0 -28V-52C0 -58.627 5.373 -64 12 -64H372C378.627 -64 384 -58.627 384 -52V-28C384 -21.373 378.627 -16 372 -16H368C368 64.564 335.812 149.807 270.82 192C336.102 234.381 368 319.9 368 400zM64 400H320C320 298.38 262.693 216 192 216S64 298.379 64 400zM320 -16H64C64 85.62 121.308 168 192 168S320 85.62 320 -16z" glyph-name="hourglass" horiz-adv-x="384" unicode=""/><glyph d="M336 448H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V400C384 426.5 362.5 448 336 448zM336 -16H48V400H336V-16zM144 336H240C248.8 336 256 343.2 256 352S248.8 368 240 368H144C135.2 368 128 360.8 128 352S135.2 336 144 336zM192 160C227.3 160 256 188.7 256 224S227.3 288 192 288S128 259.3 128 224S156.7 160 192 160zM102.4 32H281.6C294 32 304 40.6 304 51.2V70.4C304 102.2 273.9 128 236.8 128C226 128 218.1 120 192 120C165.1 120 158.6 128 147.2 128C110.1 128 80 102.2 80 70.4V51.2C80 40.6 90 32 102.4 32z" glyph-name="id-badge" horiz-adv-x="384" unicode=""/><glyph d="M528 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H528C554.5 -32 576 -10.5 576 16V368C576 394.5 554.5 416 528 416zM528 16H303.2C304.1 20.5 304 12.4 304 38.4C304 70.2 273.9 96 236.8 96C226 96 218.1 88 192 88C165.1 88 158.6 96 147.2 96C110.1 96 80 70.2 80 38.4C80 12.4 79.8 20.5 80.8 16H48V304H528V16zM360 96H472C476.4 96 480 99.6 480 104V120C480 124.4 476.4 128 472 128H360C355.6 128 352 124.4 352 120V104C352 99.6 355.6 96 360 96zM360 160H472C476.4 160 480 163.6 480 168V184C480 188.4 476.4 192 472 192H360C355.6 192 352 188.4 352 184V168C352 163.6 355.6 160 360 160zM360 224H472C476.4 224 480 227.6 480 232V248C480 252.4 476.4 256 472 256H360C355.6 256 352 252.4 352 248V232C352 227.6 355.6 224 360 224zM192 128C227.3 128 256 156.7 256 192S227.3 256 192 256S128 227.3 128 192S156.7 128 192 128z" glyph-name="id-card" horiz-adv-x="576" unicode=""/><glyph d="M464 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H464C490.51 0 512 21.49 512 48V336C512 362.51 490.51 384 464 384zM458 48H54A6 6 0 0 0 48 54V330A6 6 0 0 0 54 336H458A6 6 0 0 0 464 330V54A6 6 0 0 0 458 48zM128 296C105.909 296 88 278.091 88 256S105.909 216 128 216S168 233.909 168 256S150.091 296 128 296zM96 96H416V176L328.485 263.515C323.7990000000001 268.201 316.201 268.201 311.514 263.515L192 144L152.485 183.515C147.799 188.201 140.201 188.201 135.514 183.515L96 144V96z" glyph-name="image" horiz-adv-x="512" unicode=""/><glyph d="M480 32V16C480 -10.51 458.51 -32 432 -32H48C21.49 -32 0 -10.51 0 16V272C0 298.51 21.49 320 48 320H64V272H54A6 6 0 0 1 48 266V22A6 6 0 0 1 54 16H426A6 6 0 0 1 432 22V32H480zM522 368H150A6 6 0 0 1 144 362V118A6 6 0 0 1 150 112H522A6 6 0 0 1 528 118V362A6 6 0 0 1 522 368zM528 416C554.51 416 576 394.51 576 368V112C576 85.49 554.51 64 528 64H144C117.49 64 96 85.49 96 112V368C96 394.51 117.49 416 144 416H528zM264 304C264 281.909 246.091 264 224 264S184 281.909 184 304S201.909 344 224 344S264 326.091 264 304zM192 208L231.515 247.515C236.201 252.201 243.799 252.201 248.486 247.515L288 208L391.515 311.515C396.201 316.201 403.799 316.201 408.486 311.515L480 240V160H192V208z" glyph-name="images" horiz-adv-x="576" unicode=""/><glyph d="M528 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H528C554.51 0 576 21.49 576 48V336C576 362.51 554.51 384 528 384zM536 48C536 43.589 532.411 40 528 40H48C43.589 40 40 43.589 40 48V336C40 340.411 43.589 344 48 344H528C532.411 344 536 340.411 536 336V48zM170 178V206C170 212.627 164.627 218 158 218H130C123.373 218 118 212.627 118 206V178C118 171.373 123.373 166 130 166H158C164.627 166 170 171.373 170 178zM266 178V206C266 212.627 260.627 218 254 218H226C219.373 218 214 212.627 214 206V178C214 171.373 219.373 166 226 166H254C260.627 166 266 171.373 266 178zM362 178V206C362 212.627 356.627 218 350 218H322C315.373 218 310 212.627 310 206V178C310 171.373 315.373 166 322 166H350C356.627 166 362 171.373 362 178zM458 178V206C458 212.627 452.627 218 446 218H418C411.373 218 406 212.627 406 206V178C406 171.373 411.373 166 418 166H446C452.627 166 458 171.373 458 178zM122 96V124C122 130.627 116.627 136 110 136H82C75.373 136 70 130.627 70 124V96C70 89.373 75.373 84 82 84H110C116.627 84 122 89.373 122 96zM506 96V124C506 130.627 500.627 136 494 136H466C459.373 136 454 130.627 454 124V96C454 89.373 459.373 84 466 84H494C500.627 84 506 89.373 506 96zM122 260V288C122 294.627 116.627 300 110 300H82C75.373 300 70 294.627 70 288V260C70 253.373 75.373 248 82 248H110C116.627 248 122 253.373 122 260zM218 260V288C218 294.627 212.627 300 206 300H178C171.373 300 166 294.627 166 288V260C166 253.373 171.373 248 178 248H206C212.627 248 218 253.373 218 260zM314 260V288C314 294.627 308.627 300 302 300H274C267.373 300 262 294.627 262 288V260C262 253.373 267.373 248 274 248H302C308.627 248 314 253.373 314 260zM410 260V288C410 294.627 404.627 300 398 300H370C363.373 300 358 294.627 358 288V260C358 253.373 363.373 248 370 248H398C404.627 248 410 253.373 410 260zM506 260V288C506 294.627 500.627 300 494 300H466C459.373 300 454 294.627 454 288V260C454 253.373 459.373 248 466 248H494C500.627 248 506 253.373 506 260zM408 102V118C408 124.627 402.627 130 396 130H180C173.373 130 168 124.627 168 118V102C168 95.373 173.373 90 180 90H396C402.627 90 408 95.373 408 102z" glyph-name="keyboard" horiz-adv-x="576" unicode=""/><glyph d="M168 296C144.2 296 115.3 266.7 112 224.6C111.7 220.9 114 217.4 117.6 216.3C121.1 215.3 125.1 216.8 126.9 220L136.4 237C144.1 250.7 155.6 258.6 167.9 258.6S191.7 250.7 199.4 237L208.9 220C211 216.3 215.1 215.3 218.2 216.3C221.8 217.4 224.1 220.8 223.8 224.6C220.7 266.7 191.8 296 168 296zM248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM304 140C304 159.2 275.2 181.5 232.5 184C228.7 184.4 225.1 181.6 224.3 177.8C223.4 174 225.4 170.1 229 168.6L245.9 161.4C258.9 155.9 266.7 147.9 266.7 139.9S258.9 123.9 246 118.4L229 111.2000000000001C223.3 108.8000000000001 223 99.0000000000001 229 96.4L245.9 89.2000000000001C258.9 83.7000000000001 266.7 75.7000000000001 266.7 67.7000000000001S258.9 51.7 246 46.2L229 39.0000000000001C225.4 37.5000000000001 223.4 33.6000000000001 224.3 29.8000000000001C225.1 26.2 228.4 23.6000000000001 232.1 23.6000000000001H232.6C275.4000000000001 26.1000000000001 304.1 48.4000000000001 304.1 67.6000000000001C304.1 80.6000000000001 290.7000000000001 94.9000000000001 268.9000000000001 103.6000000000001C290.6 112.7 304 127 304 140zM328 296C304.2 296 275.3 266.7 272 224.6C271.7 220.9 274 217.4 277.6 216.3C281.1 215.3 285.1 216.8 286.9000000000001 220L296.4000000000001 237C304.1 250.7 315.6 258.6 327.9000000000001 258.6S351.7000000000001 250.7 359.4000000000001 237L368.9000000000001 220C371.0000000000001 216.3 375.1 215.3 378.2000000000001 216.3C381.8000000000001 217.4 384.1 220.8 383.8000000000001 224.6C380.7000000000001 266.7 351.8000000000001 296 328.0000000000001 296z" glyph-name="kiss-beam" horiz-adv-x="496" unicode=""/><glyph d="M304 139.5C304 158.7 275.2 181 232.5 183.5C228.7 183.9 225.1 181.1 224.3 177.3C223.4 173.5 225.4 169.6 229 168.1L245.9 160.9C258.9 155.4 266.7 147.4 266.7 139.4S258.9 123.4 246 117.9L229 110.7000000000001C223.3 108.3000000000001 223 98.5000000000001 229 95.9L245.9 88.7000000000001C258.9 83.2000000000001 266.7 75.2000000000001 266.7 67.2000000000001S258.9 51.2 246 45.7L229 38.5000000000001C225.4 37.0000000000001 223.4 33.1000000000001 224.3 29.3000000000001C225.1 25.7 228.4 23.1000000000001 232.1 23.1000000000001H232.6C275.4000000000001 25.6000000000001 304.1 47.9000000000001 304.1 67.1000000000001C304.1 80.1000000000001 290.7000000000001 94.4000000000001 268.9000000000001 103.1000000000001C290.6 112.2000000000001 304.0000000000001 126.5000000000001 304.0000000000001 139.5000000000001zM374.5 223L384 214.5C387.8 211.2 393.3 210.5 397.7 212.9C402.1 215.3 404.6 220.3 403.8 225.3C399.8 250.5 369.6 267.4 344 267.4S288.1 250.5 284.2 225.3C283.4 220.3 285.9 215.3 290.3 212.9C296.1 209.8 301.5 212.2 304 214.5L313.5 223C328.3 236.2 359.7 236.2 374.5 223zM136 239.5C136 221.8 150.3 207.5 168 207.5S200 221.8 200 239.5S185.7 271.5 168 271.5S136 257.2 136 239.5zM501.1 45.5C493.1 66.3 469.6 77 448 71.4L439.6 69.2L437.3 77.6C431.4000000000001 98.9999999999999 410.3 114.1 388.3 110.6C363.1 106.6 347.7 81.9999999999999 354.3 57.9999999999999L377.2 -24.6C378.7 -29.9 384.2 -33.1 389.6 -31.7L472.6 -10.2C496.7 -3.9 510.3 21.6 501.1 45.4999999999999zM334 11.7C307.9 -0.8 278.8 -8 248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192C448 169.9 444.3 148.7 437.6 128.8C446.6 122.4 454.6 114.6 460.2 104.9C466.6 104.8 472.8000000000001 103.5000000000001 478.8000000000001 102.0000000000001C489.7 129.9 495.9000000000001 160.2000000000001 495.9000000000001 192.0000000000001C496 329 385 440 248 440S0 329 0 192S111 -56 248 -56C283.4 -56 316.9 -48.5 347.4 -35.1C344.9 -27.8 351.7 -52.3 334 11.7z" glyph-name="kiss-wink-heart" horiz-adv-x="504" unicode=""/><glyph d="M168 272C150.3 272 136 257.7 136 240S150.3 208 168 208S200 222.3 200 240S185.7 272 168 272zM304 140C304 159.2 275.2 181.5 232.5 184C228.7 184.4 225.1 181.6 224.3 177.8C223.4 174 225.4 170.1 229 168.6L245.9 161.4C258.9 155.9 266.7 147.9 266.7 139.9S258.9 123.9 246 118.4L229 111.2000000000001C223.3 108.8000000000001 223 99.0000000000001 229 96.4L245.9 89.2000000000001C258.9 83.7000000000001 266.7 75.7000000000001 266.7 67.7000000000001S258.9 51.7 246 46.2L229 39.0000000000001C225.4 37.5000000000001 223.4 33.6000000000001 224.3 29.8000000000001C225.1 26.2 228.4 23.6000000000001 232.1 23.6000000000001H232.6C275.4000000000001 26.1000000000001 304.1 48.4000000000001 304.1 67.6000000000001C304.1 80.6000000000001 290.7000000000001 94.9000000000001 268.9000000000001 103.6000000000001C290.6 112.7 304 127 304 140zM248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM328 272C310.3 272 296 257.7 296 240S310.3 208 328 208S360 222.3 360 240S345.7 272 328 272z" glyph-name="kiss" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM389.4 50.6C351.6 12.8 301.4 -8 248 -8S144.4 12.8 106.6 50.6S48 138.6 48 192S68.8 295.6 106.6 333.4S194.6 392 248 392S351.6 371.2 389.4 333.4S448 245.4 448 192S427.2 88.4 389.4 50.6zM328 296C304.2 296 275.3 266.7 272 224.6C271.3 216 282.8 212.7 286.9 220.1L296.4 237.1C304.1 250.8 315.6 258.7 327.9 258.7S351.7 250.8 359.4 237.1L368.9 220.1C373 212.7 384.5 216.1 383.8 224.6C380.7 266.7 351.8 296 328 296zM127 220.1L136.5 237.1C144.2 250.8 155.7 258.7 168 258.7S191.8 250.8 199.5 237.1L209 220.1C213.1 212.7 224.6 216.1 223.9 224.6C220.6 266.7 191.7 296 167.9 296S115.2 266.7 111.9 224.6C111.3 216.1 122.8 212.7 127 220.1zM362.4 160H133.6C125.4 160 119.1 153 120.1 145C127.6 85.8 179 40 241.2 40H254.8C317 40 368.4 85.8 375.9 145C376.9 153 370.6 160 362.4 160z" glyph-name="laugh-beam" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM389.4 50.6C351.6 12.8 301.4 -8 248 -8S144.4 12.8 106.6 50.6S48 138.6 48 192S68.8 295.6 106.6 333.4S194.6 392 248 392S351.6 371.2 389.4 333.4S448 245.4 448 192S427.2 88.4 389.4 50.6zM343.6 252L377.2000000000001 292.3C385.8000000000001 302.6 373.4000000000001 317.1 361.8000000000001 310.3L281.8000000000001 262.3C274.0000000000001 257.6 274.0000000000001 246.4 281.8000000000001 241.7L361.8000000000001 193.7C373.3000000000001 186.9 385.8000000000001 201.3 377.2000000000001 211.7L343.6 252zM134.2 193.7L214.2 241.7C222 246.4 222 257.6 214.2 262.3L134.2 310.3C122.6 317.2 110.2 302.6 118.8 292.3L152.4 252L118.8 211.7C110.1 201.3 122.6 186.9 134.2 193.7zM362.4 160H133.6C125.4 160 119.1 153 120.1 145C127.6 85.8 179 40 241.2 40H254.8C317 40 368.4 85.8 375.9 145C376.9 153 370.6 160 362.4 160z" glyph-name="laugh-squint" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM389.4 50.6C351.6 12.8 301.4 -8 248 -8S144.4 12.8 106.6 50.6C68.8 88.4 48 138.6 48 192S68.8 295.6 106.6 333.4C144.4 371.2 194.6 392 248 392S351.6 371.2 389.4 333.4C427.2 295.6 448 245.4 448 192S427.2 88.4 389.4 50.6zM328 284C302.3 284 272.1 267.1 268.1 241.9C266.4000000000001 230.7 279.6 223.7 287.9000000000001 231.1L297.4000000000001 239.6C312.2000000000001 252.8 343.6 252.8 358.4000000000001 239.6L367.9000000000001 231.1C376.4000000000001 223.7 389.5000000000001 230.8 387.7000000000001 241.9C383.9000000000001 267.1 353.7000000000001 284 328.0000000000001 284zM168 224C185.7 224 200 238.3 200 256S185.7 288 168 288S136 273.7 136 256S150.3 224 168 224zM362.4 160H133.6C125.4 160 119.1 153 120.1 145C127.6 85.8 179 40 241.2 40H254.8C317 40 368.4 85.8 375.9 145C376.9 153 370.6 160 362.4 160z" glyph-name="laugh-wink" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM389.4 50.6C351.6 12.8 301.4 -8 248 -8S144.4 12.8 106.6 50.6S48 138.6 48 192S68.8 295.6 106.6 333.4S194.6 392 248 392S351.6 371.2 389.4 333.4S448 245.4 448 192S427.2 88.4 389.4 50.6zM328 224C345.7 224 360 238.3 360 256S345.7 288 328 288S296 273.7 296 256S310.3 224 328 224zM168 224C185.7 224 200 238.3 200 256S185.7 288 168 288S136 273.7 136 256S150.3 224 168 224zM362.4 160H133.6C125.4 160 119.1 153 120.1 145C127.6 85.8 179 40 241.2 40H254.8C317 40 368.4 85.8 375.9 145C376.9 153 370.6 160 362.4 160z" glyph-name="laugh" horiz-adv-x="496" unicode=""/><glyph d="M484.112 420.111C455.989 448.233 416.108 456.057 387.0590000000001 439.135C347.604 416.152 223.504 489.111 91.196 356.803C-41.277 224.328 31.923 100.528 8.866 60.942C-8.056 31.891 -0.234 -7.99 27.888 -36.112C56.023 -64.247 95.899 -72.0499999999999 124.945 -55.133C164.368 -32.163 288.502 -105.102 420.803 27.196C553.277 159.673 480.076 283.473 503.134 323.057C520.056 352.1070000000001 512.234 391.988 484.112 420.111zM461.707 347.217C422.907 280.608 507.307 181.582 386.862 61.137C266.422 -59.306 167.387 25.089 100.786 -13.706C78.1069999999999 -26.913 36.751 13.535 50.2929999999999 36.782C89.0929999999999 103.391 4.6929999999999 202.417 125.138 322.862C245.573 443.298 344.616 358.914 411.219 397.708C433.949 410.948 475.224 370.42 461.707 347.217zM291.846 338.481C293.216 327.521 285.442 317.524 274.481 316.154C219.635 309.299 138.702 228.367 131.846 173.519C130.473 162.53 120.447 154.785 109.52 156.154C98.559 157.524 90.785 167.52 92.155 178.48C101.317 251.766 196.322 346.6950000000001 269.5200000000001 355.8450000000001C280.473 357.213 290.4760000000001 349.442 291.8460000000001 338.481z" glyph-name="lemon" horiz-adv-x="512" unicode=""/><glyph d="M256 -56C392.967 -56 504 55.033 504 192S392.967 440 256 440S8 328.967 8 192S119.033 -56 256 -56zM152.602 20.72L206.013 74.131C237.819 60.625 274.141 60.609 305.987 74.131L359.398 20.72C296.1810000000001 -17.599 215.819 -17.599 152.602 20.72zM336 192C336 147.888 300.112 112 256 112S176 147.888 176 192S211.888 272 256 272S336 236.112 336 192zM427.28 88.602L373.869 142.013C387.374 173.819 387.391 210.141 373.869 241.987L427.28 295.398C465.599 232.181 465.599 151.819 427.28 88.602zM359.397 363.28L305.986 309.8690000000001C274.18 323.374 237.858 323.391 206.013 309.8690000000001L152.602 363.28C215.819 401.599 296.1810000000001 401.599 359.397 363.28zM84.72 295.398L138.131 241.987C124.625 210.181 124.609 173.859 138.131 142.013L84.72 88.602C46.401 151.819 46.401 232.181 84.72 295.398z" glyph-name="life-ring" horiz-adv-x="512" unicode=""/><glyph d="M176 368C123.06 368 80 324.94 80 272C80 263.16 87.16 256 96 256S112 263.16 112 272C112 307.3 140.72 336 176 336C184.84 336 192 343.16 192 352S184.84 368 176 368zM96.06 -11.17C96.06 -14.32 96.99 -17.39 98.74 -20.01L123.25 -56.85C126.22 -61.31 131.22 -63.99 136.57 -63.99H215.42C220.78 -63.99 225.7800000000001 -61.31 228.74 -56.85L253.25 -20.01C254.99 -17.39 255.92 -14.31 255.93 -11.17L255.98 32.01H96.02L96.06 -11.17zM176 448C73.72 448 0 365.03 0 272C0 227.63 16.45 187.15 43.56 156.22C60.2 137.23 86.3 97.42 95.98 64.0600000000001V64.0000000000001H143.98V64.1200000000001C143.97 68.89 143.26 73.6300000000001 141.83 78.1900000000001C136.24 96.0000000000001 119.01 142.96 79.66 187.8600000000001C59.12 211.2900000000001 48.14 241.0100000000001 48.05 272.0000000000001C47.85 345.6400000000001 107.72 400.0000000000001 176 400.0000000000001C246.58 400.0000000000001 304 342.5800000000001 304 272.0000000000001C304 241.0300000000001 292.76 211.1500000000001 272.35 187.8600000000001C233.24 143.2500000000001 215.93 96.3900000000001 210.25 78.4000000000001A47.507 47.507 0 0 1 208.03 64.1000000000001V64.0000000000001H256.0300000000001V64.0500000000001C265.7100000000001 97.4200000000001 291.8100000000001 137.2300000000001 308.4500000000001 156.21C335.55 187.15 352 227.63 352 272C352 369.2 273.2 448 176 448z" glyph-name="lightbulb" horiz-adv-x="352" unicode=""/><glyph d="M464 416H48C21.49 416 0 394.51 0 368V16C0 -10.51 21.49 -32 48 -32H464C490.51 -32 512 -10.51 512 16V368C512 394.51 490.51 416 464 416zM458 16H54A6 6 0 0 0 48 22V362A6 6 0 0 0 54 368H458A6 6 0 0 0 464 362V22A6 6 0 0 0 458 16zM416 108V84C416 77.373 410.627 72 404 72H204C197.373 72 192 77.373 192 84V108C192 114.627 197.373 120 204 120H404C410.627 120 416 114.627 416 108zM416 204V180C416 173.373 410.627 168 404 168H204C197.373 168 192 173.373 192 180V204C192 210.627 197.373 216 204 216H404C410.627 216 416 210.627 416 204zM416 300V276C416 269.373 410.627 264 404 264H204C197.373 264 192 269.373 192 276V300C192 306.627 197.373 312 204 312H404C410.627 312 416 306.627 416 300zM164 288C164 268.118 147.882 252 128 252S92 268.118 92 288S108.118 324 128 324S164 307.882 164 288zM164 192C164 172.118 147.882 156 128 156S92 172.118 92 192S108.118 228 128 228S164 211.882 164 192zM164 96C164 76.118 147.882 60 128 60S92 76.118 92 96S108.118 132 128 132S164 115.882 164 96z" glyph-name="list-alt" horiz-adv-x="512" unicode=""/><glyph d="M560.02 416C558.06 416 556.04 415.63 554.06 414.8400000000001L384.01 352H384L212 412.7200000000001A64.252 64.252 0 0 1 191.76 416C185.07 416 178.39 414.95 171.95 412.86L20.12 360.05A32.006 32.006 0 0 1 0 330.3400000000001V-15.98C0 -25.17 7.53 -32 15.99 -32C17.95 -32 19.96 -31.63 21.95 -30.84L192 32L364 -28.71A63.97999999999999 63.97999999999999 0 0 1 404.05 -28.86L555.88 23.95A31.996 31.996 0 0 1 576 53.66V399.98C576 409.17 568.47 416 560.02 416zM224 357.58L352 312.39V26.42L224 71.61V357.58zM48 29.95V318.93L176 363.4600000000001V77.26L175.36 77.03L48 29.95zM528 65.08L400 20.55V306.74L400.64 306.98L528 354.05V65.08z" glyph-name="map" horiz-adv-x="576" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM168 272C150.3 272 136 257.7 136 240S150.3 208 168 208S200 222.3 200 240S185.7 272 168 272zM328 272C310.3 272 296 257.7 296 240S310.3 208 328 208S360 222.3 360 240S345.7 272 328 272z" glyph-name="meh-blank" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM336 296C296.2 296 264 263.8 264 224S296.2 152 336 152S408 184.2 408 224S375.8 296 336 296zM336 184C313.9 184 296 201.9 296 224C296 237.6 303.3 249.1 313.7 256.3C312.7 253.7 312 251 312 248C312 234.7 322.7 224 336 224S360 234.7 360 248C360 250.9 359.3 253.7 358.3 256.3C368.7 249.1 376 237.6 376 224C376 201.9 358.1 184 336 184zM232 224C232 263.8 199.8 296 160 296S88 263.8 88 224S120.2 152 160 152S232 184.2 232 224zM120 224C120 237.6 127.3 249.1 137.7 256.3C136.7 253.7 136 251 136 248C136 234.7 146.7 224 160 224S184 234.7 184 248C184 250.9 183.3 253.7 182.3 256.3C192.7 249.1 200 237.6 200 224C200 201.9 182.1 184 160 184S120 201.9 120 224zM312 96H184C170.8 96 160 85.2 160 72S170.8 48 184 48H312C325.2 48 336 58.8 336 72S325.2 96 312 96z" glyph-name="meh-rolling-eyes" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM168 208C185.7 208 200 222.3 200 240S185.7 272 168 272S136 257.7 136 240S150.3 208 168 208zM328 272C310.3 272 296 257.7 296 240S310.3 208 328 208S360 222.3 360 240S345.7 272 328 272zM336 128H160C146.8 128 136 117.2 136 104S146.8 80 160 80H336C349.2 80 360 90.8 360 104S349.2 128 336 128z" glyph-name="meh" horiz-adv-x="496" unicode=""/><glyph d="M108 164C101.4 164 96 169.4 96 176V208C96 214.6 101.4 220 108 220H340C346.6 220 352 214.6 352 208V176C352 169.4 346.6 164 340 164H108zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM400 22V362C400 365.3 397.3 368 394 368H54C50.7 368 48 365.3 48 362V22C48 18.7 50.7 16 54 16H394C397.3 16 400 18.7 400 22z" glyph-name="minus-square" horiz-adv-x="448" unicode=""/><glyph d="M320 304C266.98 304 224 253.86 224 192C224 130.15 266.98 80 320 80C373 80 416 130.13 416 192C416 253.86 373.02 304 320 304zM360 136C360 131.58 356.42 128 352 128H288C283.58 128 280 131.58 280 136V152C280 156.42 283.58 160 288 160H304V215.44L303.53 215.13A7.991999999999999 7.991999999999999 0 0 0 292.44 217.35L283.56 230.66A7.991999999999999 7.991999999999999 0 0 0 285.7800000000001 241.75L301.11 251.97A23.99 23.99 0 0 0 314.42 256H328C332.42 256 336 252.42 336 248V160H352C356.42 160 360 156.42 360 152V136zM608 384H32C14.33 384 0 369.67 0 352V32C0 14.33 14.33 0 32 0H608C625.67 0 640 14.33 640 32V352C640 369.67 625.67 384 608 384zM592 112C556.65 112 528 83.35 528 48H112C112 83.35 83.35 112 48 112V272C83.35 272 112 300.65 112 336H528C528 300.65 556.65 272 592 272V112z" glyph-name="money-bill-alt" horiz-adv-x="640" unicode=""/><glyph d="M279.135 -64C357.891 -64 430.117 -28.196 477.979 30.775C506.249 65.606 475.421 116.497 431.73 108.176C349.382 92.493 273.458 155.444 273.458 238.968C273.458 287.392 299.518 331.26 340.892 354.804C379.637 376.854 369.891 435.592 325.87 443.723A257.936 257.936 0 0 1 279.135 448C137.775 448 23.135 333.425 23.135 192C23.135 50.64 137.711 -64 279.135 -64zM279.135 400C292.12 400 304.824 398.799 317.151 396.522C262.391 365.359 225.4580000000001 306.48 225.4580000000001 238.968C225.4580000000001 125.12 329.0990000000001 39.768 440.7100000000001 61.024C402.574 14.036 344.366 -16 279.135 -16C164.26 -16 71.135 77.125 71.135 192S164.26 400 279.135 400z" glyph-name="moon" horiz-adv-x="512" unicode=""/><glyph d="M552 384H112C91.142 384 73.357 370.623 66.752 352H24C10.745 352 0 341.255 0 328V56C0 25.072 25.072 0 56 0H552C565.255 0 576 10.745 576 24V360C576 373.255 565.255 384 552 384zM48 56V304H64V56C64 51.589 60.411 48 56 48S48 51.589 48 56zM528 48H111.422C111.796 50.614 112 53.283 112 56V336H528V48zM172 168H308C314.627 168 320 173.373 320 180V276C320 282.627 314.627 288 308 288H172C165.373 288 160 282.627 160 276V180C160 173.373 165.373 168 172 168zM200 248H280V208H200V248zM160 108V132C160 138.627 165.373 144 172 144H308C314.627 144 320 138.627 320 132V108C320 101.373 314.627 96 308 96H172C165.373 96 160 101.373 160 108zM352 108V132C352 138.627 357.373 144 364 144H468C474.627 144 480 138.627 480 132V108C480 101.373 474.627 96 468 96H364C357.373 96 352 101.373 352 108zM352 252V276C352 282.627 357.373 288 364 288H468C474.627 288 480 282.627 480 276V252C480 245.373 474.627 240 468 240H364C357.373 240 352 245.373 352 252zM352 180V204C352 210.627 357.373 216 364 216H468C474.627 216 480 210.627 480 204V180C480 173.373 474.627 168 468 168H364C357.373 168 352 173.373 352 180z" glyph-name="newspaper" horiz-adv-x="576" unicode=""/><glyph d="M500 320C506.627 320 512 325.373 512 332V404C512 410.627 506.627 416 500 416H428C421.373 416 416 410.627 416 404V392H96V404C96 410.627 90.627 416 84 416H12C5.373 416 0 410.627 0 404V332C0 325.373 5.373 320 12 320H24V64H12C5.373 64 0 58.627 0 52V-20C0 -26.627 5.373 -32 12 -32H84C90.627 -32 96 -26.627 96 -20V-8H416V-20C416 -26.627 421.373 -32 428 -32H500C506.627 -32 512 -26.627 512 -20V52C512 58.627 506.627 64 500 64H488V320H500zM448 384H480V352H448V384zM32 384H64V352H32V384zM64 0H32V32H64V0zM480 0H448V32H480V0zM440 64H428C421.373 64 416 58.627 416 52V40H96V52C96 58.627 90.627 64 84 64H72V320H84C90.627 320 96 325.373 96 332V344H416V332C416 325.373 421.373 320 428 320H440V64zM404 256H320V308C320 314.628 314.627 320 308 320H108C101.373 320 96 314.628 96 308V140C96 133.372 101.373 128 108 128H192V76C192 69.372 197.373 64 204 64H404C410.627 64 416 69.372 416 76V244C416 250.628 410.627 256 404 256zM136 280H280V168H136V280zM376 104H232V128H308C314.627 128 320 133.372 320 140V216H376V104z" glyph-name="object-group" horiz-adv-x="512" unicode=""/><glyph d="M564 224C570.627 224 576 229.373 576 236V308C576 314.627 570.627 320 564 320H492C485.373 320 480 314.627 480 308V296H392V320H404C410.627 320 416 325.373 416 332V404C416 410.627 410.627 416 404 416H332C325.373 416 320 410.627 320 404V392H96V404C96 410.627 90.627 416 84 416H12C5.373 416 0 410.627 0 404V332C0 325.373 5.373 320 12 320H24V160H12C5.373 160 0 154.627 0 148V76C0 69.373 5.373 64 12 64H84C90.627 64 96 69.373 96 76V88H184V64H172C165.373 64 160 58.627 160 52V-20C160 -26.627 165.373 -32 172 -32H244C250.627 -32 256 -26.627 256 -20V-8H480V-20C480 -26.627 485.373 -32 492 -32H564C570.627 -32 576 -26.627 576 -20V52C576 58.627 570.627 64 564 64H552V224H564zM352 384H384V352H352V384zM352 128H384V96H352V128zM64 96H32V128H64V96zM64 352H32V384H64V352zM96 136V148C96 154.627 90.627 160 84 160H72V320H84C90.627 320 96 325.373 96 332V344H320V332C320 325.373 325.373 320 332 320H344V160H332C325.373 160 320 154.627 320 148V136H96zM224 0H192V32H224V0zM504 64H492C485.373 64 480 58.627 480 52V40H256V52C256 58.627 250.627 64 244 64H232V88H320V76C320 69.373 325.373 64 332 64H404C410.627 64 416 69.373 416 76V148C416 154.627 410.627 160 404 160H392V248H480V236C480 229.373 485.373 224 492 224H504V64zM544 0H512V32H544V0zM544 256H512V288H544V256z" glyph-name="object-ungroup" horiz-adv-x="576" unicode=""/><glyph d="M440 441.5L24 201.6C-10.4 181.7 -7.1 130.8 29.7 115.7L144 68.4V-16C144 -62.4 203.2 -81.5 230.6 -44.6L274.4 14.5L386.3 -31.7C392.2 -34.1 398.4 -35.3 404.6 -35.3C412.8 -35.3 420.9 -33.2 428.2 -29.1C441 -21.9 449.8 -9.1 452.1 5.4L511.4999999999999 392.6C517.5999999999999 432.7 474.6 461.4 440 441.5zM192 -16V48.6L228.6 33.5L192 -16zM404.6 12.7L250.8 76.2L391 278.5C401.7 294 381.5 312 367.3 299.7L155.8 115.4L48 160L464 400L404.6 12.7z" glyph-name="paper-plane" horiz-adv-x="512" unicode=""/><glyph d="M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM256 -8C145.5 -8 56 81.5 56 192S145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8zM352 272V112C352 103.2 344.8 96 336 96H288C279.2 96 272 103.2 272 112V272C272 280.8 279.2 288 288 288H336C344.8 288 352 280.8 352 272zM240 272V112C240 103.2 232.8 96 224 96H176C167.2 96 160 103.2 160 112V272C160 280.8 167.2 288 176 288H224C232.8 288 240 280.8 240 272z" glyph-name="pause-circle" horiz-adv-x="512" unicode=""/><glyph d="M371.7 210L195.7 317C179.9 325.8 160 314.5 160 296V88C160 69.6 179.8 58.2 195.7 67L371.7 168C388.1 177.1 388.1 200.8 371.7 210zM504 192C504 329 393 440 256 440S8 329 8 192S119 -56 256 -56S504 55 504 192zM56 192C56 302.5 145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8S56 81.5 56 192z" glyph-name="play-circle" horiz-adv-x="512" unicode=""/><glyph d="M352 208V176C352 169.4 346.6 164 340 164H252V76C252 69.4 246.6 64 240 64H208C201.4 64 196 69.4 196 76V164H108C101.4 164 96 169.4 96 176V208C96 214.6 101.4 220 108 220H196V308C196 314.6 201.4 320 208 320H240C246.6 320 252 314.6 252 308V220H340C346.6 220 352 214.6 352 208zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM400 22V362C400 365.3 397.3 368 394 368H54C50.7 368 48 365.3 48 362V22C48 18.7 50.7 16 54 16H394C397.3 16 400 18.7 400 22z" glyph-name="plus-square" horiz-adv-x="448" unicode=""/><glyph d="M256 440C119.043 440 8 328.9170000000001 8 192C8 55.003 119.043 -56 256 -56S504 55.003 504 192C504 328.9170000000001 392.957 440 256 440zM256 -8C145.468 -8 56 81.431 56 192C56 302.495 145.472 392 256 392C366.491 392 456 302.529 456 192C456 81.47 366.569 -8 256 -8zM363.2440000000001 247.2C363.2440000000001 180.148 290.8230000000001 179.116 290.8230000000001 154.337V148C290.8230000000001 141.373 285.4500000000001 136 278.8230000000001 136H233.1760000000001C226.5490000000001 136 221.1760000000001 141.373 221.1760000000001 148V156.659C221.1760000000001 192.404 248.2760000000001 206.693 268.7550000000001 218.175C286.3160000000001 228.02 297.0790000000001 234.716 297.0790000000001 247.754C297.0790000000001 265 275.0800000000001 276.447 257.2950000000001 276.447C234.1060000000001 276.447 223.4010000000001 265.4700000000001 208.3530000000001 246.478C204.2960000000001 241.358 196.8930000000001 240.407 191.6870000000001 244.354L163.8630000000001 265.452C158.7560000000001 269.324 157.6120000000001 276.5180000000001 161.2190000000001 281.815C184.846 316.509 214.94 336 261.794 336C310.865 336 363.244 297.6960000000001 363.244 247.2zM298 80C298 56.841 279.159 38 256 38S214 56.841 214 80S232.841 122 256 122S298 103.159 298 80z" glyph-name="question-circle" horiz-adv-x="512" unicode=""/><glyph d="M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM256 -8C145.468 -8 56 81.451 56 192C56 302.531 145.451 392 256 392C366.532 392 456 302.549 456 192C456 81.468 366.549 -8 256 -8zM366.442 73.791C313.396 170.075 316.192 165.259 313.171 169.876C337.438 183.755 352.653 211.439 352.653 243.052C352.653 295.555 322.406 328.304 251.1550000000001 328.304H172.488C165.8710000000001 328.304 160.488 322.921 160.488 316.304V68C160.488 61.383 165.8710000000001 56 172.488 56H211.0560000000001C217.673 56 223.0560000000001 61.383 223.0560000000001 68V151.663H255.0140000000001L302.5290000000001 62.36A11.98 11.98 0 0 1 313.1220000000001 56H355.9320000000001C365.0720000000001 56 370.8460000000001 65.799 366.4420000000001 73.791zM256.933 208.094H223.058V272.234H250.435C282.852 272.234 289.3640000000001 260.101 289.3640000000001 240.525C289.3630000000001 219.612 277.846 208.094 256.9330000000001 208.094z" glyph-name="registered" horiz-adv-x="512" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM392 53.6V168C392 181.2 381.2 192 368 192S344 181.2 344 168V16.6C315.5 1 282.8 -8 248 -8S180.5 1 152 16.6V168C152 181.2 141.2 192 128 192S104 181.2 104 168V53.6C69.4 89.6 48 138.3 48 192C48 302.3 137.7 392 248 392S448 302.3 448 192C448 138.3 426.6 89.5 392 53.6zM205.8 213.5C210.2 215.9 212.7 220.9 211.9 225.9C207.9 251.1 177.7 268 152.1 268S96.2 251.1 92.3 225.9C91.5 220.9 94 215.9 98.4 213.5C102.8 211.1 108.3 211.7 112.1 215.1L121.6 223.6C136.4 236.8 167.8 236.8 182.6 223.6L192.1 215.1C194.6 212.8 200 210.3 205.8 213.5zM344 268C318.3 268 288.1 251.1 284.2 225.9C283.4 220.9 285.9 215.9 290.3 213.5C294.8 211.1 300.2 211.7 304 215.1L313.5 223.6C328.3 236.8 359.7 236.8 374.5 223.6L384 215.1C386.5 212.9 392 210.4 397.7 213.5C402.1 215.9 404.6 220.9 403.8 225.9C399.9000000000001 251.1 369.7 268 344 268zM248 176C217.1 176 192 147.3 192 112S217.1 48 248 48S304 76.7 304 112S278.9 176 248 176z" glyph-name="sad-cry" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM256 144C242.8 144 232 133.2 232 120S242.8 96 256 96C279.8 96 302.3 85.5 317.6 67.2C325.7000000000001 57.4 340.8 55.3 351.4000000000001 64.1C361.6 72.6 363.0000000000001 87.7 354.5000000000001 97.9C330 127.2 294.1 144 256 144zM168 208C185.7 208 200 222.3 200 240S185.7 272 168 272S136 257.7 136 240S150.3 208 168 208zM328 272C310.3 272 296 257.7 296 240S310.3 208 328 208S360 222.3 360 240S345.7 272 328 272zM162.4 173.2C151 157.9 126 122.6 126 105.1C126 82.4 144.8 64 168 64S210 82.4 210 105.1C210 122.6 185 157.9 173.6 173.2000000000001C170.8 176.9 165.2 176.9 162.4 173.2000000000001z" glyph-name="sad-tear" horiz-adv-x="496" unicode=""/><glyph d="M433.941 318.059L350.059 401.9410000000001A48 48 0 0 1 316.118 416H48C21.49 416 0 394.51 0 368V16C0 -10.51 21.49 -32 48 -32H400C426.51 -32 448 -10.51 448 16V284.118A48 48 0 0 1 433.941 318.059zM272 368V288H144V368H272zM394 16H54A6 6 0 0 0 48 22V362A6 6 0 0 0 54 368H96V264C96 250.745 106.745 240 120 240H296C309.255 240 320 250.745 320 264V364.118L398.243 285.875A6 6 0 0 0 400 281.632V22A6 6 0 0 0 394 16zM224 216C175.477 216 136 176.523 136 128S175.477 40 224 40S312 79.477 312 128S272.523 216 224 216zM224 88C201.944 88 184 105.944 184 128S201.944 168 224 168S264 150.056 264 128S246.056 88 224 88z" glyph-name="save" horiz-adv-x="448" unicode=""/><glyph d="M561.938 289.94L417.94 433.908C387.926 463.922 336 442.903 336 399.968V342.77C293.55 340.89 251.97 336.2200000000001 215.24 324.7800000000001C180.07 313.8300000000001 152.17 297.2000000000001 132.33 275.36C108.22 248.8 96 215.4 96 176.06C96 114.363 129.178 63.605 180.87 31.3C218.416 7.792 266.118 43.951 251.89 87.04C236.375 134.159 234.734 157.963 336 165.8V112C336 69.007 387.968 48.087 417.94 78.06L561.938 222.06C580.688 240.8 580.688 271.2 561.938 289.94zM384 112V215.84C255.309 213.918 166.492 192.65 206.31 72C176.79 90.45 144 123.92 144 176.06C144 285.394 273.14 295.007 384 295.91V400L528 256L384 112zM408.74 27.507A82.658 82.658 0 0 1 429.714 36.81C437.69 41.762 448 35.984 448 26.596V-16C448 -42.51 426.51 -64 400 -64H48C21.49 -64 0 -42.51 0 -16V336C0 362.51 21.49 384 48 384H180C186.627 384 192 378.627 192 372V367.514C192 362.597 189.013 358.145 184.431 356.362C170.729 351.031 158.035 344.825 146.381 337.777A12.138 12.138 0 0 0 140.101 336H54A6 6 0 0 1 48 330V-10A6 6 0 0 1 54 -16H394A6 6 0 0 1 400 -10V15.966C400 21.336 403.579 26.025 408.74 27.507z" glyph-name="share-square" horiz-adv-x="576" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM332 135.4C311.2 110.4 280.5 96 248 96S184.8 110.3 164 135.4C155.5 145.6 140.4 146.9 130.2 138.5C120 130 118.7 114.9 127.1 104.7C157.1 68.7 201.2 48.1 248 48.1S338.9 68.7 368.9 104.7C377.4 114.9 376 130 365.8 138.5C355.6 146.9 340.5 145.6 332 135.4zM136.5 237C144.2 250.7 155.7 258.6 168 258.6S191.8 250.7 199.5 237L209 220C211.1 216.3 215.2 215.3 218.3 216.3C221.9 217.4 224.3 220.8 224 224.6C220.7 266.7000000000001 191.8 296 168 296S115.3 266.7000000000001 112 224.6C111.7 220.9 114.1 217.4 117.7 216.3C121.1 215.2 125.1 216.8 127 220L136.5 237zM328 296C304.2 296 275.3 266.7 272 224.6C271.7 220.9 274.1 217.4 277.7 216.3C281.2 215.2 285.1 216.8 287 220L296.5 237C304.2 250.7 315.7 258.6 328 258.6S351.8 250.7 359.5 237L369 220C371.1 216.3 375.2 215.3 378.3 216.3C381.9000000000001 217.4 384.3 220.8 384 224.6C380.7 266.7 351.8 296 328 296z" glyph-name="smile-beam" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM365.8 138.4C355.6 146.9 340.5 145.5 332 135.3C311.2 110.3 280.5 95.9 248 95.9S184.8 110.2 164 135.3C155.5 145.5 140.3 146.8 130.2 138.4C120 129.9 118.7 114.8 127.1 104.6C157.1 68.6 201.2 47.9999999999999 248 47.9999999999999S338.9 68.6 368.9 104.6C377.4 114.8 376 129.9 365.8 138.4zM168 208C185.7 208 200 222.3 200 240S185.7 272 168 272S136 257.7 136 240S150.3 208 168 208zM328 268C302.3 268 272.1 251.1 268.1 225.9C266.4000000000001 214.7 279.6 207.7 287.9000000000001 215.1L297.4000000000001 223.6C312.2000000000001 236.8 343.6 236.8 358.4000000000001 223.6L367.9000000000001 215.1C376.4000000000001 207.7 389.5000000000001 214.8 387.7000000000001 225.9C383.9000000000001 251.1 353.7000000000001 268 328.0000000000001 268z" glyph-name="smile-wink" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM168 208C185.7 208 200 222.3 200 240S185.7 272 168 272S136 257.7 136 240S150.3 208 168 208zM328 208C345.7 208 360 222.3 360 240S345.7 272 328 272S296 257.7 296 240S310.3 208 328 208zM332 135.4C311.2 110.4 280.5 96 248 96S184.8 110.3 164 135.4C155.5 145.6 140.3 146.9 130.2 138.5C120 130 118.7 114.9 127.1 104.7C157.1 68.7 201.2 48.1 248 48.1S338.9 68.7 368.9 104.7C377.4 114.9 376 130 365.8 138.5C355.7 146.9 340.5 145.6 332 135.4z" glyph-name="smile" horiz-adv-x="496" unicode=""/><glyph d="M440.1 92.8L400.9000000000001 115.8L435.0000000000001 125.1C443.4000000000001 127.4 448.4000000000001 136.2000000000001 446.1000000000001 144.7000000000001L442.0000000000001 160.2000000000001C439.8000000000001 168.7000000000001 431.1000000000001 173.8000000000001 422.7000000000001 171.5000000000001L343 149.8L271.2 192L343.1 234.2L422.8 212.5C431.2 210.2 439.8 215.3 442.1 223.8L446.2000000000001 239.3C448.4000000000001 247.8 443.5000000000001 256.6 435.1 258.9L401 268.2000000000001L440.2 291.2000000000001C447.7 295.6 450.3 305.4 446 313.1L438.1 327C433.8 334.7000000000001 424.1 337.3 416.6 332.9000000000001L377.4000000000001 309.9000000000001L386.5000000000001 344.6C388.7000000000001 353.1 383.8000000000001 361.9000000000001 375.4000000000001 364.2000000000001L360.2000000000001 368.3000000000001C351.8000000000001 370.6 343.2000000000001 365.5000000000001 340.9000000000001 357.0000000000001L319.6 276.0000000000001L247.7 233.8000000000001V318.3000000000001L306 377.6C312.1 383.8 312.1 394 306 400.2L294.9 411.5C288.8 417.7 278.8 417.7 272.7 411.5L247.8 386.1V432C247.8 440.8 240.8 448 232.1 448H216.4C207.7 448 200.7 440.8 200.7 432V385.9L175.8 411.3C169.7 417.5 159.7 417.5 153.6 411.3L142.1 400C136 393.8 136 383.6 142.1 377.4L200.4 318.1V233.6L128.5 275.8L107.2 356.8C105 365.3 96.3 370.4 87.9 368.1L72.7 364C64.3 361.7 59.3 352.9 61.6 344.4L70.7 309.7L31.5 332.7C24 337.1 14.4 334.5 10 326.8L2.1 312.9C-2.2 305.2 0.3 295.5 7.9 291L47.1 268L13 258.9C4.6 256.6 -0.4 247.8 1.9 239.3L6 223.8C8.2 215.3 16.9 210.2 25.3 212.5L105 234.2L176.9 192L105 149.8L25.3 171.5C16.9 173.8 8.3 168.7 6 160.2L1.9 144.7C-0.3 136.2 4.6 127.4 13 125.1L47.1 115.8L7.9 92.8C0.4 88.4 -2.2 78.6 2.1 70.9L10 57C14.3 49.3 24 46.7 31.5 51.1L70.7 74.1L61.6 39.4C59.4 30.9 64.3 22.1 72.7 19.8L87.9 15.7C96.3 13.4 104.9 18.5 107.2 27L128.5 108L200.4 150.2V65.7L142.1 6.4C136 0.2 136 -10 142.1 -16.2L153.2 -27.5000000000001C159.3 -33.7 169.3 -33.7 175.4 -27.5000000000001L200.3 -2.1000000000001V-48C200.3 -56.8 207.3 -64 216 -64H231.7C240.4 -64 247.4 -56.8 247.4 -48V-1.9L272.3 -27.3C278.4 -33.4999999999999 288.4 -33.4999999999999 294.5 -27.3L305.6 -15.9999999999999C311.7 -9.8 311.7 0.4 305.6 6.6000000000001L247.3 65.9000000000001V150.4000000000001L319.2 108.2000000000001L340.5 27.2000000000001C342.7 18.7000000000001 351.3999999999999 13.6000000000001 359.8 15.9000000000001L375 20C383.4 22.3 388.4 31.1 386.1 39.6L377 74.3L416.2 51.3C423.7 46.9 433.3 49.5 437.7 57.2L445.6 71.1C450.2 78.6 447.7 88.4 440.1 92.8z" glyph-name="snowflake" horiz-adv-x="448" unicode=""/><glyph d="M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM394 16H54C50.7 16 48 18.7 48 22V362C48 365.3 50.7 368 54 368H394C397.3 368 400 365.3 400 362V22C400 18.7 397.3 16 394 16z" glyph-name="square" horiz-adv-x="448" unicode=""/><glyph d="M288 62.7L163.7 -2.7L187.4 135.6999999999999L86.8 233.7L225.8 253.8999999999999L288 379.8999999999999V448C276.6 448 265.2 442.1 259.3 430.2L194 297.8L47.9 276.6C21.7 272.8 11.2 240.5 30.2 222L135.9 119L110.9 -26.5C106.4 -52.6 133.9 -72.5 157.3 -60.2L288 8.4V62.7z" glyph-name="star-half" horiz-adv-x="576" unicode=""/><glyph d="M528.1 276.5L382 297.8L316.7 430.2C305 453.8 271.1 454.1 259.3 430.2L194 297.8L47.9 276.5C21.7 272.7 11.2 240.4 30.2 221.9L135.9 118.9L110.9 -26.6C106.4 -52.9 134.1 -72.6 157.3 -60.3L288 8.4L418.7 -60.3C441.9 -72.5 469.6 -52.9 465.1 -26.6L440.1 118.9L545.8 221.9C564.8 240.4 554.3 272.7 528.0999999999999 276.5zM388.6 135.7L412.3 -2.7L288 62.6L163.7 -2.7L187.4 135.7000000000001L86.8 233.7000000000001L225.8 253.9000000000001L288 379.9000000000001L350.2 253.9000000000001L489.2 233.7000000000001L388.6 135.7000000000001z" glyph-name="star" horiz-adv-x="576" unicode=""/><glyph d="M448 99.894V368C448 394.51 426.51 416 400 416H48C21.49 416 0 394.51 0 368V16.012C0 -10.498 21.49 -31.988 48 -31.988H316.118A48 48 0 0 1 350.059 -17.929L433.941 65.953A48 48 0 0 1 448 99.894zM320 19.894V96.012H396.118L320 19.894zM400 368V144.012H296C282.745 144.012 272 133.267 272 120.012V16.012H48V368H400z" glyph-name="sticky-note" horiz-adv-x="448" unicode=""/><glyph d="M504 192C504 329 393 440 256 440S8 329 8 192S119 -56 256 -56S504 55 504 192zM56 192C56 302.5 145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8S56 81.5 56 192zM352 272V112C352 103.2 344.8 96 336 96H176C167.2 96 160 103.2 160 112V272C160 280.8 167.2 288 176 288H336C344.8 288 352 280.8 352 272z" glyph-name="stop-circle" horiz-adv-x="512" unicode=""/><glyph d="M494.2 226.1L434.4 266.6L448.1 337.6C450.7 350.8 446.5 364.4 437 374C427.3999999999999 383.5 413.8 387.7 400.8 385.1L329.9 371.4L289.5 431.3C274.4 453.6 237.6 453.6 222.5 431.3L182.1 371.4L111.3 385.1C98 387.6 84.5 383.5 75 373.9C65.5 364.3 61.3 350.8 63.9 337.6L77.6 266.6L17.8 226.1C6.6 218.5 0 206 0 192.5S6.7 166.5 17.8 159L77.6 118.5L63.9 47.5C61.3 34.3 65.5 20.7 75 11.2C84.5 1.7 97.9 -2.5 111.3 0.1L182.1 13.8L222.5 -46.1C230 -57.3 242.6 -64 256 -64S282 -57.3 289.5 -46.2L329.9 13.7L400.8 0C414.2 -2.7 427.6 1.6 437.1 11.1C446.6 20.6 450.7 34.2 448.2 47.4L434.5 118.4L494.3 158.9C505.4 166.4 512.1 179.0000000000001 512.1 192.4C512 206 505.4 218.5 494.2 226.1zM381.3 140.5L398.9 49.3L307.9 66.9L256 -10L204.1 67L113.2 49.4L130.8 140.6L54 192.6L130.8 244.6L113.2 335.8L204.2 318.2L256 395L307.9 318.1L398.9 335.7L381.3 244.6L458.1 192.6L381.3 140.5zM256 296C198.7 296 152 249.3 152 192S198.7 88 256 88S360 134.7 360 192S313.3 296 256 296zM256 136C225.1 136 200 161.1 200 192S225.1 248 256 248S312 222.9 312 192S286.9 136 256 136z" glyph-name="sun" horiz-adv-x="512" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM248 168C212.7 168 184 139.3 184 104S212.7 40 248 40S312 68.7 312 104S283.3 168 248 168zM200 240C200 257.7 185.7 272 168 272S136 257.7 136 240S150.3 208 168 208S200 222.3 200 240zM328 272C310.3 272 296 257.7 296 240S310.3 208 328 208S360 222.3 360 240S345.7 272 328 272z" glyph-name="surprise" horiz-adv-x="496" unicode=""/><glyph d="M466.27 222.69C470.944 245.337 467.134 267.228 457.28 285.68C460.238 309.548 453.259 334.245 439.94 352.67C438.986 408.577 404.117 448 327 448C320 448 312 447.99 304.78 447.99C201.195 447.99 168.997 408 128 408H117.155C111.515 412.975 104.113 416 96 416H32C14.327 416 0 401.673 0 384V144C0 126.327 14.327 112 32 112H96C107.842 112 118.175 118.438 123.708 128H130.76C149.906 111.047 176.773 67.347 199.52 44.6C213.187 30.9330000000001 209.673 -64 271.28 -64C328.86 -64 366.55 -32.064 366.55 40.73C366.55 59.14 362.62 74.46 357.7 87.27H394.18C442.782 87.27 479.9999999999999 128.835 479.9999999999999 172.85C479.9999999999999 192 475.04 207.84 466.2699999999999 222.69zM64 152C50.745 152 40 162.745 40 176S50.745 200 64 200S88 189.255 88 176S77.255 152 64 152zM394.18 135.27H290.19C290.19 97.45 318.55 79.9 318.55 40.73C318.55 16.98 318.55 -16.0000000000001 271.2800000000001 -16.0000000000001C252.3700000000001 2.91 261.8200000000001 50.18 233.4600000000001 78.54C206.9 105.11 167.28 176 138.92 176H128V362.17C181.611 362.17 228.001 399.99 299.64 399.99H337.46C372.972 399.99 398.28 382.87 390.58 334.0900000000001C405.78 325.93 417.08 297.65 404.52 276.52C426.101 256.136 423.219 225.455 409.73 210.9C419.18 210.9 432.09 191.99 432 173.09C431.91 154.18 415.29 135.2700000000001 394.18 135.2700000000001z" glyph-name="thumbs-down" horiz-adv-x="512" unicode=""/><glyph d="M466.27 161.31C475.04 176.16 480 192 480 211.15C480 255.165 442.782 296.73 394.18 296.73H357.7C362.62 309.54 366.55 324.86 366.55 343.27C366.55 416.064 328.86 448 271.28 448C209.673 448 213.187 353.067 199.52 339.4C176.773 316.653 149.905 272.953 130.76 256H32C14.327 256 0 241.673 0 224V-16C0 -33.673 14.327 -48 32 -48H96C110.893 -48 123.408 -37.826 126.978 -24.05C171.487 -25.051 202.038 -63.99 304.78 -63.99C312 -63.99 320 -64 327 -64C404.117 -64 438.986 -24.577 439.94 31.33C453.259 49.755 460.239 74.452 457.28 98.32C467.134 116.772 470.944 138.663 466.27 161.31zM404.52 107.48C417.08 86.35 405.78 58.0700000000001 390.58 49.91C398.28 1.13 372.972 -15.99 337.46 -15.99H299.64C228.001 -15.99 181.611 21.83 128 21.83V208H138.92C167.28 208 206.9 278.89 233.46 305.46C261.82 333.82 252.37 381.09 271.28 400C318.55 400 318.55 367.02 318.55 343.27C318.55 304.1 290.19 286.55 290.19 248.73H394.18C415.29 248.73 431.91 229.82 432 210.91C432.0899999999999 192.01 419.18 173.1 409.73 173.1C423.219 158.545 426.101 127.864 404.52 107.48zM88 16C88 2.745 77.255 -8 64 -8S40 2.745 40 16S50.745 40 64 40S88 29.255 88 16z" glyph-name="thumbs-up" horiz-adv-x="512" unicode=""/><glyph d="M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM256 -8C145.5 -8 56 81.5 56 192S145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8zM357.8 254.2L295.6 192L357.8 129.8C362.5 125.1 362.5 117.5 357.8 112.8L335.2 90.2C330.5 85.5 322.9 85.5 318.2 90.2L256 152.4L193.8 90.2C189.1 85.5 181.5 85.5 176.8 90.2L154.2 112.8C149.5 117.5 149.5 125.1 154.2 129.8L216.4 192L154.2000000000001 254.2C149.5000000000001 258.9 149.5000000000001 266.5 154.2000000000001 271.2L176.8000000000001 293.8C181.5 298.5 189.1000000000001 298.5 193.8000000000001 293.8L256.0000000000001 231.6L318.2000000000001 293.8C322.9000000000001 298.5 330.5000000000001 298.5 335.2000000000001 293.8L357.8000000000001 271.2C362.5000000000001 266.5 362.5000000000001 258.9 357.8000000000001 254.2z" glyph-name="times-circle" horiz-adv-x="512" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM377.1 295.8C373.3 300.2000000000001 366.8 301.2000000000001 361.8 298.3L281.8 250.3C278.2 248.1 276 244.2 276 240S278.2 231.9 281.8 229.7L361.8 181.7C367.2 178.5 373.6 180.1 377.1 184.2C380.9000000000001 188.7 381 195.2 377.2000000000001 199.7L343.6 240L377.2000000000001 280.3C381.0000000000001 284.8 380.9000000000001 291.4 377.1 295.8zM220 240C220 244.2 217.8 248.1 214.2 250.3L134.2 298.3C129.2 301.3 122.7 300.2000000000001 118.9 295.8C115.1 291.3 115 284.8 118.8 280.3L152.4 240L118.8 199.7C115 195.2 115.1 188.7 118.9 184.2C122.4 180.1 128.8 178.5 134.2 181.7L214.2 229.7C217.8 231.9 220 235.8 220 240zM248 176C202.6 176 147.1 137.7 140.2 82.7C138.7 70.9 147.1 61.1 155.7 64.8C178.4 74.5 212 80 248 80S317.6 74.5 340.3 64.8C348.8 61.1 357.3 70.8 355.8 82.7C348.9000000000001 137.7 293.4000000000001 176 248 176z" glyph-name="tired" horiz-adv-x="496" unicode=""/><glyph d="M192 260V44C192 37.373 186.627 32 180 32H156C149.373 32 144 37.373 144 44V260C144 266.627 149.373 272 156 272H180C186.627 272 192 266.627 192 260zM292 272H268C261.373 272 256 266.627 256 260V44C256 37.373 261.373 32 268 32H292C298.627 32 304 37.373 304 44V260C304 266.627 298.627 272 292 272zM424 368C437.255 368 448 357.255 448 344V332C448 325.373 442.627 320 436 320H416V-16C416 -42.51 394.51 -64 368 -64H80C53.49 -64 32 -42.51 32 -16V320H12C5.373 320 0 325.373 0 332V344C0 357.255 10.745 368 24 368H98.411L132.429 424.6960000000001A48 48 0 0 0 173.589 448H274.412A48 48 0 0 0 315.572 424.6960000000001L349.589 368H424zM154.389 368H293.612L276.1600000000001 397.087A6 6 0 0 1 271.015 400H176.987A6 6 0 0 1 171.842 397.087L154.389 368zM368 320H80V-10A6 6 0 0 1 86 -16H362A6 6 0 0 1 368 -10V320z" glyph-name="trash-alt" horiz-adv-x="448" unicode=""/><glyph d="M248 344C195 344 152 301 152 248S195 152 248 152S344 195 344 248S301 344 248 344zM248 200C221.5 200 200 221.5 200 248S221.5 296 248 296S296 274.5 296 248S274.5 200 248 200zM248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C198.3 -8 152.9 10.3 117.9 40.4C132.8 63.4 158.3 79 187.5 79.9C208.3 73.5 228.1 70.3 248 70.3S287.7 73.4 308.5 79.9C337.7 78.9 363.2 63.4 378.1 40.4C343.1 10.3 297.7000000000001 -8 248.0000000000001 -8zM410.7 76.1C386.3 107.5 348.6 128 305.6 128C295.4000000000001 128 279.6 118.4 248.0000000000001 118.4C216.5 118.4 200.6 128 190.4 128C147.5 128 109.8 107.5 85.3 76.1C61.9 108.8 48 148.8 48 192C48 302.3 137.7 392 248 392S448 302.3 448 192C448 148.8 434.1 108.8 410.7 76.1z" glyph-name="user-circle" horiz-adv-x="496" unicode=""/><glyph d="M313.6 144C284.9000000000001 144 271.1 128 224 128C176.9 128 163.2000000000001 144 134.4 144C60.2 144 0 83.8 0 9.6V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V9.6C448 83.8 387.8 144 313.6 144zM400 -16H48V9.6C48 57.2000000000001 86.8 96 134.4 96C149 96 172.7 80 224 80C275.7 80 298.9 96 313.6 96C361.2000000000001 96 400 57.2 400 9.6V-16zM224 160C303.5 160 368 224.5 368 304S303.5 448 224 448S80 383.5 80 304S144.5 160 224 160zM224 400C276.9 400 320 356.9 320 304S276.9 208 224 208S128 251.1 128 304S171.1 400 224 400z" glyph-name="user" horiz-adv-x="448" unicode=""/><glyph d="M464 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H464C490.5 -32 512 -10.5 512 16V368C512 394.5 490.5 416 464 416zM464 22C464 18.7 461.3 16 458 16H54C50.7 16 48 18.7 48 22V362C48 365.3 50.7 368 54 368H458C461.3 368 464 365.3 464 362V22zM356.5 253.4L295.1 192L356.5 130.6C361.1 126 361.1 118.5 356.5 113.8L334.2 91.5C329.6 86.9 322.1 86.9 317.4 91.5L256 152.9L194.6 91.5C190 86.9 182.5 86.9 177.8 91.5L155.5 113.8C150.9 118.4 150.9 125.9 155.5 130.6L216.9 192L155.5 253.4000000000001C150.9 258 150.9 265.5 155.5 270.2000000000001L177.8 292.5000000000001C182.4 297.1 189.9 297.1 194.6 292.5000000000001L256 231.1000000000001L317.4 292.5000000000001C322 297.1 329.5 297.1 334.2 292.5000000000001L356.5 270.2000000000001C361.2 265.6 361.2 258.1 356.5 253.4000000000001z" glyph-name="window-close" horiz-adv-x="512" unicode=""/><glyph d="M464 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H464C490.5 -32 512 -10.5 512 16V368C512 394.5 490.5 416 464 416zM464 22C464 18.7 461.3 16 458 16H54C50.7 16 48 18.7 48 22V256H464V22z" glyph-name="window-maximize" horiz-adv-x="512" unicode=""/><glyph d="M480 -32H32C14.3 -32 0 -17.7 0 0S14.3 32 32 32H480C497.7 32 512 17.7 512 0S497.7 -32 480 -32z" glyph-name="window-minimize" horiz-adv-x="512" unicode=""/><glyph d="M464 448H144C117.5 448 96 426.5 96 400V352H48C21.5 352 0 330.5 0 304V-16C0 -42.5 21.5 -64 48 -64H368C394.5 -64 416 -42.5 416 -16V32H464C490.5 32 512 53.5 512 80V400C512 426.5 490.5 448 464 448zM368 -16H48V192H368V-16zM464 80H416V304C416 330.5 394.5 352 368 352H144V400H464V80z" glyph-name="window-restore" horiz-adv-x="512" unicode=""/></font></defs></svg>

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/webfonts/fa-solid-900.svg
=====================================================
<svg xmlns="http://www.w3.org/2000/svg"><defs><font id="fontawesome-free" horiz-adv-x="640"><font-face ascent="448" descent="64" font-family="Font Awesome 5 Free" font-style="Solid" font-weight="900" units-per-em="512"/><glyph d="M157.52 176H194.48L176 229.22L157.52 176zM352 192C338.77 192 328 181.23 328 168S338.77 144 352 144S376 154.77 376 168S365.23 192 352 192zM464 384H48C21.5 384 0 362.5 0 336V48C0 21.5 21.5 0 48 0H464C490.5 0 512 21.5 512 48V336C512 362.5 490.5 384 464 384zM250.58 96H233.64C226.83 96 220.76 100.32 218.52 106.75L211.15 128H140.86L133.48 106.75A16 16 0 0 0 118.36 96H101.42C90.41 96 82.69 106.85 86.3 117.25L140 271.88A23.995000000000005 23.995000000000005 0 0 0 162.67 288H189.33A23.99 23.99 0 0 0 212 271.87L265.69 117.25C269.3 106.85 261.58 96 250.58 96zM424 112C424 103.16 416.84 96 408 96H392C387.15 96 382.96 98.27 380.02 101.68C371.4 98.02 361.93 96 352 96C312.3 96 280 128.3 280 168S312.3 240 352 240C360.46 240 368.46 238.27 376 235.58V272C376 280.8400000000001 383.1600000000001 288 392 288H408C416.84 288 424 280.8400000000001 424 272V112z" glyph-name="ad" horiz-adv-x="512" unicode=""/><glyph d="M436 288C442.6 288 448 293.4 448 300V340C448 346.6 442.6 352 436 352H416V400C416 426.5 394.5 448 368 448H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H368C394.5 -64 416 -42.5 416 -16V32H436C442.6 32 448 37.4 448 44V84C448 90.6 442.6 96 436 96H416V160H436C442.6 160 448 165.4 448 172V212C448 218.6 442.6 224 436 224H416V288H436zM208 320C243.3 320 272 291.3 272 256S243.3 192 208 192S144 220.7 144 256S172.7 320 208 320zM320 83.2C320 72.6 310 64 297.6 64H118.4C106 64 96 72.6 96 83.2V102.4C96 134.2 126.1 160 163.2 160H168.2C180.5 154.9 193.9 152 208 152S235.6 154.9 247.8 160H252.8C289.9000000000001 160 320 134.2 320 102.4V83.2z" glyph-name="address-book" horiz-adv-x="448" unicode=""/><glyph d="M528 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H528C554.5 -32 576 -10.5 576 16V368C576 394.5 554.5 416 528 416zM176 320C211.3 320 240 291.3 240 256S211.3 192 176 192S112 220.7 112 256S140.7 320 176 320zM288 83.2C288 72.6 278 64 265.6 64H86.4C74 64 64 72.6 64 83.2V102.4C64 134.2 94.1 160 131.2 160H136.2C148.5 154.9 161.9 152 176 152S203.6 154.9 215.8 160H220.8C257.9000000000001 160 288 134.2 288 102.4V83.2zM512 136C512 131.6 508.4 128 504 128H360C355.6 128 352 131.6 352 136V152C352 156.4 355.6 160 360 160H504C508.4 160 512 156.4 512 152V136zM512 200C512 195.6 508.4 192 504 192H360C355.6 192 352 195.6 352 200V216C352 220.4 355.6 224 360 224H504C508.4 224 512 220.4 512 216V200zM512 264C512 259.6 508.4 256 504 256H360C355.6 256 352 259.6 352 264V280C352 284.4 355.6 288 360 288H504C508.4 288 512 284.4 512 280V264z" glyph-name="address-card" horiz-adv-x="576" unicode=""/><glyph d="M8 192C8 55.034 119.033 -56 256 -56S504 55.034 504 192S392.966 440 256 440S8 328.967 8 192zM256 8V376C357.705 376 440 293.689 440 192C440 90.295 357.689 8 256 8z" glyph-name="adjust" horiz-adv-x="512" unicode=""/><glyph d="M378.94 126.59L284.7 224H333.92C349.22 224 357.58 240.6 347.78 251.53L234.45 378.04C237.88 384.65 240 392.04 240 400C240 426.51 218.51 448 192 448S144 426.51 144 400C144 392.04 146.12 384.65 149.55 378.04L36.22 251.53C26.42 240.6 34.78 224 50.08 224H99.3L5.06 126.59C-6.69 114.44 3.34 96 21.7 96H160V64H48C39.16 64 32 56.84 32 48V-48C32 -56.84 39.16 -64 48 -64H336C344.84 -64 352 -56.84 352 -48V48C352 56.84 344.84 64 336 64H224V96H362.3C380.6600000000001 96 390.69 114.44 378.94 126.59zM192 416.02C200.85 416.02 208.02 408.85 208.02 400C208.02 391.16 200.85 383.98 192 383.98S175.98 391.16 175.98 400C175.98 408.85 183.15 416.02 192 416.02zM304 16V-16H80V16H304z" glyph-name="air-freshener" horiz-adv-x="384" unicode=""/><glyph d="M352 404V364C352 355.163 344.837 348 336 348H112C103.163 348 96 355.163 96 364V404C96 412.837 103.163 420 112 420H336C344.837 420 352 412.837 352 404zM16 220H432C440.837 220 448 227.163 448 236V276C448 284.837 440.837 292 432 292H16C7.163 292 0 284.837 0 276V236C0 227.163 7.163 220 16 220zM16 -36H432C440.837 -36 448 -28.837 448 -20V20C448 28.837 440.837 36 432 36H16C7.163 36 0 28.837 0 20V-20C0 -28.837 7.163 -36 16 -36zM336 164H112C103.163 164 96 156.837 96 148V108C96 99.163 103.163 92 112 92H336C344.837 92 352 99.163 352 108V148C352 156.837 344.837 164 336 164z" glyph-name="align-center" horiz-adv-x="448" unicode=""/><glyph d="M0 364V404C0 412.837 7.163 420 16 420H432C440.837 420 448 412.837 448 404V364C448 355.163 440.837 348 432 348H16C7.163 348 0 355.163 0 364zM16 220H432C440.837 220 448 227.163 448 236V276C448 284.837 440.837 292 432 292H16C7.163 292 0 284.837 0 276V236C0 227.163 7.163 220 16 220zM16 -36H432C440.837 -36 448 -28.837 448 -20V20C448 28.837 440.837 36 432 36H16C7.163 36 0 28.837 0 20V-20C0 -28.837 7.163 -36 16 -36zM16 92H432C440.837 92 448 99.163 448 108V148C448 156.837 440.837 164 432 164H16C7.163 164 0 156.837 0 148V108C0 99.163 7.163 92 16 92z" glyph-name="align-justify" horiz-adv-x="448" unicode=""/><glyph d="M288 404V364C288 355.163 280.837 348 272 348H16C7.163 348 0 355.163 0 364V404C0 412.837 7.163 420 16 420H272C280.837 420 288 412.837 288 404zM0 276V236C0 227.163 7.163 220 16 220H432C440.837 220 448 227.163 448 236V276C448 284.837 440.837 292 432 292H16C7.163 292 0 284.837 0 276zM16 -36H432C440.837 -36 448 -28.837 448 -20V20C448 28.837 440.837 36 432 36H16C7.163 36 0 28.837 0 20V-20C0 -28.837 7.163 -36 16 -36zM272 164H16C7.163 164 0 156.837 0 148V108C0 99.163 7.163 92 16 92H272C280.837 92 288 99.163 288 108V148C288 156.837 280.837 164 272 164z" glyph-name="align-left" horiz-adv-x="448" unicode=""/><glyph d="M160 364V404C160 412.837 167.163 420 176 420H432C440.837 420 448 412.837 448 404V364C448 355.163 440.837 348 432 348H176C167.163 348 160 355.163 160 364zM16 220H432C440.837 220 448 227.163 448 236V276C448 284.837 440.837 292 432 292H16C7.163 292 0 284.837 0 276V236C0 227.163 7.163 220 16 220zM16 -36H432C440.837 -36 448 -28.837 448 -20V20C448 28.837 440.837 36 432 36H16C7.163 36 0 28.837 0 20V-20C0 -28.837 7.163 -36 16 -36zM176 92H432C440.837 92 448 99.163 448 108V148C448 156.837 440.837 164 432 164H176C167.163 164 160 156.837 160 148V108C160 99.163 167.163 92 176 92z" glyph-name="align-right" horiz-adv-x="448" unicode=""/><glyph d="M416 336C398.4 336 384 321.6 384 304V232C384 227.6 380.4 224 376 224H360C355.6 224 352 227.6 352 232V384C352 401.6 337.6 416 320 416S288 401.6 288 384V232C288 227.6 284.4 224 280 224H264C259.6 224 256 227.6 256 232V416C256 433.6 241.6 448 224 448S192 433.6 192 416V232C192 227.6 188.4 224 184 224H168C163.6 224 160 227.6 160 232V384C160 401.6 145.6 416 128 416S96 401.6 96 384V143L72.4 175.5C59.4 193.4 34.4 197.3 16.5 184.3S-5.3 146.3 7.7 128.4L133.3 -44.3C142.3 -56.6999999999999 156.8 -64.0999999999999 172.1 -64.0999999999999H369.7000000000001C392.0000000000001 -64.0999999999999 411.3000000000001 -48.7999999999999 416.4000000000001 -27.0999999999999L442.9000000000001 85.6000000000001C446.1 99.3000000000001 447.8 113.9000000000001 448.0000000000001 127.9000000000001V304C448.0000000000001 321.6 433.6000000000001 336 416.0000000000001 336zM176 32C167.2 32 160 39.2 160 48S167.2 64 176 64S192 56.8 192 48S184.8 32 176 32zM176 128C167.2 128 160 135.2 160 144S167.2 160 176 160S192 152.8 192 144S184.8 128 176 128zM240 0C231.2 0 224 7.2 224 16S231.2 32 240 32S256 24.8 256 16S248.8 0 240 0zM240 96C231.2 96 224 103.2 224 112S231.2 128 240 128S256 120.8 256 112S248.8 96 240 96zM304 64C295.2 64 288 71.2 288 80S295.2 96 304 96S320 88.8 320 80S312.8 64 304 64zM336 0C327.2 0 320 7.2 320 16S327.2 32 336 32S352 24.8 352 16S344.8 0 336 0zM368 128C359.2 128 352 135.2 352 144S359.2 160 368 160S384 152.8 384 144S376.8 128 368 128z" glyph-name="allergies" horiz-adv-x="448" unicode=""/><glyph d="M624 96H608V204.1C608 216.8 602.9 229 593.9 238L494 337.9C485 346.9 472.8 352 460.1 352H416V400C416 426.5 394.5 448 368 448H48C21.5 448 0 426.5 0 400V80C0 53.5 21.5 32 48 32H64C64 -21 107 -64 160 -64S256 -21 256 32H384C384 -21 427 -64 480 -64S576 -21 576 32H624C632.8 32 640 39.2 640 48V80C640 88.8 632.8 96 624 96zM160 -16C133.5 -16 112 5.5 112 32S133.5 80 160 80S208 58.5 208 32S186.5 -16 160 -16zM304 232C304 227.6 300.4 224 296 224H240V168C240 163.6 236.4 160 232 160H184C179.6 160 176 163.6 176 168V224H120C115.6 224 112 227.6 112 232V280C112 284.4 115.6 288 120 288H176V344C176 348.4 179.6 352 184 352H232C236.4 352 240 348.4 240 344V288H296C300.4 288 304 284.4 304 280V232zM480 -16C453.5 -16 432 5.5 432 32S453.5 80 480 80S528 58.5 528 32S506.5 -16 480 -16zM560 192H416V304H460.1L560 204.1V192z" glyph-name="ambulance" horiz-adv-x="640" unicode=""/><glyph d="M290.5470000000001 258.961C270.252 269.11 246.4000000000001 270.1600000000001 225.808 262.851C268.4140000000001 262.851 297.016 242.376 311.386 212.275C319.9620000000001 194.376 306.238 174.204 287.769 174.204C306.198 174.204 319.98 154.068 311.386 136.1330000000001C296.661 105.287 265.2630000000001 85.2790000000001 231.088 85.2790000000001C230.5310000000001 85.2790000000001 136.617 93.8940000000001 136.617 93.8940000000001L70.211 60.5470000000001C60.827 55.8540000000001 50.396 60.1680000000001 46.316 68.3280000000001L1.86 157.253C-2.307 165.868 0.749 176.15 8.806 180.874L66.878 213.943L108 288.139C114.39 345.384 142.731 397.906 187.743 434.865C199.134 444.313 216.084 442.646 225.253 431.252C234.699 419.858 233.033 403.185 221.641 393.736C209.138 383.177 198.023 371.227 189.132 358.166C210.804 372.895 235.811 382.898 263.318 386.233C278.043 388.178 291.381 377.897 293.048 363.168C294.993 348.44 284.712 335.101 269.986 333.434C253.87 331.4890000000001 238.866 325.931 225.808 318.15C251.922 323.863 284.52 321.288 313.887 307.035C327.223 300.366 332.78 284.526 326.111 271.187C319.722 258.127 303.607 252.57 290.547 258.961zM263.3180000000001 189.489C257.206 201.994 244.9800000000001 209.775 231.0870000000001 209.775A35.46 35.46 0 0 1 195.5220000000001 174.2050000000001C195.5220000000001 152.7770000000001 213.3300000000001 138.6350000000001 231.0870000000001 138.6350000000001C244.9800000000001 138.6350000000001 257.206 146.4160000000001 263.3180000000001 158.9210000000001C267.7640000000001 168.3700000000001 276.932 173.927 286.6570000000001 174.2050000000001C276.932 174.482 267.764 180.04 263.3180000000001 189.489zM638.1390000000001 226.7260000000001C642.3070000000001 218.111 639.2500000000001 207.829 631.1930000000001 203.105L573.1220000000001 170.036L532 95.84C525.61 38.595 497.269 -13.927 452.257 -50.886C441.325 -59.998 424.4580000000001 -59.03 414.747 -47.273C405.301 -35.879 406.9670000000001 -19.206 418.36 -9.757C430.863 0.802 441.9770000000001 12.752 450.868 25.813C429.196 11.084 404.189 1.081 376.682 -2.254C366.661 -4.76 349.13 3.389 346.952 20.811C345.007 35.539 355.288 48.878 370.014 50.545C386.13 52.491 401.134 58.048 414.192 65.829C388.0780000000001 60.1159999999999 355.48 62.691 326.113 76.944C312.777 83.6129999999999 307.2200000000001 99.453 313.889 112.792C320.278 125.853 336.394 131.411 349.454 125.019C369.749 114.87 393.601 113.8199999999999 414.193 121.129C371.587 121.129 342.985 141.604 328.615 171.705C320.039 189.604 333.7630000000001 209.776 352.2320000000001 209.776C333.8030000000001 209.776 320.021 229.912 328.615 247.847C342.648 277.243 372.654 298.734 410.581 298.701L503.384 290.086L569.79 323.433C579.198 328.137 589.6179999999999 323.787 593.684 315.652L638.139 226.726zM408.9120000000002 245.344C395.0190000000001 245.344 382.7930000000001 237.563 376.6810000000002 225.058C372.2350000000002 215.609 363.0670000000002 210.052 353.3420000000002 209.774C363.0670000000002 209.4960000000001 372.2350000000002 203.938 376.6810000000002 194.4900000000001C382.7930000000002 181.985 395.0190000000002 174.2040000000001 408.9120000000002 174.2040000000001A35.46 35.46 0 0 1 444.4770000000002 209.7740000000001C444.4770000000002 231.2030000000001 426.6690000000002 245.3440000000001 408.9120000000002 245.3440000000001z" glyph-name="american-sign-language-interpreting" horiz-adv-x="640" unicode=""/><glyph d="M12.971 96H45.365C67.172 -6.735 181.944 -64 288 -64C394.229 -64 508.853 -6.62 530.635 96H563.029C573.72 96 579.074 108.926 571.514 116.485L504.485 183.514C499.799 188.2 492.201 188.2 487.514 183.514L420.485 116.485C412.925 108.925 418.279 96 428.9700000000001 96H464.116C443.826 41.683 379.153 9.412 319.999 1.985V192H371.999C378.6260000000001 192 383.999 197.373 383.999 204V244C383.999 250.627 378.6260000000001 256 371.999 256H319.999V261.4700000000001C357.2800000000001 274.648 383.9940000000001 310.195 383.999 351.988C384.005 404.228 341.605 447.262 289.37 447.99C235.723 448.739 192 405.475 192 352C192 310.202 218.716 274.65 256 261.4700000000001V256H204C197.373 256 192 250.627 192 244V204C192 197.373 197.373 192 204 192H256V1.985C197.064 9.384 132.18 41.664 111.883 96H147.029C157.72 96 163.074 108.926 155.514 116.485L88.485 183.514C83.799 188.2 76.201 188.2 71.514 183.514L4.485 116.485C-3.074 108.926 2.28 96 12.971 96zM288 384C305.645 384 320 369.645 320 352S305.645 320 288 320S256 334.355 256 352S270.355 384 288 384z" glyph-name="anchor" horiz-adv-x="576" unicode=""/><glyph d="M143 191.7L7 327.7C-2.4 337.1 -2.4 352.3 7 361.6L29.6 384.2C39 393.6 54.2 393.6 63.5 384.2L159.9 287.8L256.3 384.2C265.7 393.6 280.9000000000001 393.6 290.2 384.2L313 361.7C322.4 352.3 322.4 337.1 313 327.8L177 191.8C167.6 182.3 152.4 182.3 143 191.7zM177 -0.3L313 135.7C322.4 145.1 322.4 160.3 313 169.6L290.4 192.2C281 201.6 265.8 201.6 256.5 192.2L160 95.9L63.6 192.3C54.2 201.7 39 201.7 29.7 192.3L7 169.7C-2.4 160.3 -2.4 145.1 7 135.8L143 -0.2C152.4 -9.7 167.6 -9.7 177 -0.3z" glyph-name="angle-double-down" horiz-adv-x="320" unicode=""/><glyph d="M223.7 209L359.7 345C369.1 354.4 384.3 354.4 393.6 345L416.2 322.4C425.6 313 425.6 297.8 416.2 288.5L319.9 192L416.3 95.6C425.7 86.2000000000001 425.7 71 416.3 61.7000000000001L393.7 39C384.3 29.6 369.1 29.6 359.8 39L223.8 175C214.3 184.4 214.3 199.6 223.7 209zM31.7 175L167.7 39C177.1 29.6 192.3 29.6 201.6 39L224.2 61.6C233.6 71 233.6 86.2000000000001 224.2 95.5L127.9 192L224.3 288.4C233.7 297.8 233.7 313 224.3 322.3L201.7 345C192.3 354.4 177.1 354.4 167.8 345L31.8 209C22.3 199.6 22.3 184.4 31.7 175z" glyph-name="angle-double-left" horiz-adv-x="448" unicode=""/><glyph d="M224.3 175L88.3 39C78.9 29.6 63.7 29.6 54.4 39L31.8 61.6C22.4 71 22.4 86.2000000000001 31.8 95.5L128.2 191.9L31.8 288.3C22.4 297.7 22.4 312.9 31.8 322.2L54.3 345C63.7 354.4 78.9 354.4 88.2 345L224.2 209C233.7 199.6 233.7 184.4 224.3 175zM416.3 209L280.3 345C270.9000000000001 354.4 255.7 354.4 246.4 345L223.8 322.4C214.4 313 214.4 297.8 223.8 288.5L320.2000000000001 192.1L223.8000000000001 95.7C214.4 86.3 214.4 71.1 223.8000000000001 61.8L246.4000000000001 39.2C255.8000000000001 29.8 271.0000000000001 29.8 280.3 39.2L416.3 175.2C425.7 184.4 425.7 199.6 416.3 209z" glyph-name="angle-double-right" horiz-adv-x="448" unicode=""/><glyph d="M177 192.3L313 56.3C322.4 46.9 322.4 31.7 313 22.4L290.4 -0.2C281 -9.6 265.8 -9.6 256.5 -0.2L160 96.1L63.6 -0.3C54.2 -9.6999999999999 39 -9.6999999999999 29.7 -0.3L7 22.3C-2.4 31.7 -2.4 46.9 7 56.2L143 192.2C152.4 201.7 167.6 201.7 177 192.3zM143 384.3L7 248.3C-2.4 238.9 -2.4 223.7 7 214.4L29.6 191.8C39 182.4 54.2 182.4 63.5 191.8L159.9 288.2000000000001L256.3 191.8C265.7 182.4 280.9000000000001 182.4 290.2 191.8L312.8 214.4C322.2 223.8 322.2 239 312.8 248.3L176.8 384.3C167.6 393.7 152.4 393.7 143 384.3z" glyph-name="angle-double-up" horiz-adv-x="320" unicode=""/><glyph d="M143 95.7L7 231.7C-2.4 241.1 -2.4 256.3 7 265.6L29.6 288.2C39 297.6 54.2 297.6 63.5 288.2L159.9 191.8L256.3 288.2C265.7 297.6 280.9000000000001 297.6 290.2 288.2L312.8 265.6C322.2 256.2 322.2 241 312.8 231.7L176.8 95.6999999999999C167.6 86.3 152.4 86.3 143 95.6999999999999z" glyph-name="angle-down" horiz-adv-x="320" unicode=""/><glyph d="M31.7 209L167.7 345C177.1 354.4 192.3 354.4 201.6 345L224.2 322.4C233.6 313 233.6 297.8 224.2 288.5L127.9 192L224.3 95.6C233.7 86.2000000000001 233.7 71 224.3 61.7000000000001L201.7 39C192.3 29.6 177.1 29.6 167.8 39L31.8 175C22.3 184.4 22.3 199.6 31.7 209z" glyph-name="angle-left" horiz-adv-x="256" unicode=""/><glyph d="M224.3 175L88.3 39C78.9 29.6 63.7 29.6 54.4 39L31.8 61.6C22.4 71 22.4 86.2000000000001 31.8 95.5L128.2 191.9L31.8 288.3C22.4 297.7 22.4 312.9 31.8 322.2L54.3 345C63.7 354.4 78.9 354.4 88.2 345L224.2 209C233.7 199.6 233.7 184.4 224.3 175z" glyph-name="angle-right" horiz-adv-x="256" unicode=""/><glyph d="M177 288.3L313 152.3C322.4 142.9 322.4 127.7 313 118.4L290.4 95.8C281 86.4 265.8 86.4 256.5 95.8L160 192.1L63.6 95.7C54.2 86.3 39 86.3 29.7 95.7L7 118.3C-2.4 127.7 -2.4 142.9 7 152.2L143 288.2C152.4 297.7 167.6 297.7 177 288.3z" glyph-name="angle-up" horiz-adv-x="320" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM136 208C136 217.3 140.1 225.5 146.5 231.4L115.5 240.7C107 243.2 102.2 252.2 104.8 260.6C107.3 269.1 116.2 273.8 124.7 271.3L204.7 247.3C213.2 244.8 218 235.8 215.4 227.4C213.3 220.5 207 216 200.1 216C199.6 216 199 216.2 198.4 216.2C199.1 213.5 200.1 210.9 200.1 208C200.1 190.3 185.8 176 168.1 176S136 190.3 136 208zM304 53.8C276.2 87.2 219.8 87.2 191.9 53.8C178.4 37.5 153.7 58 167.3 74.3C187.3 98.3 216.7 112.1 247.9 112.1S308.5 98.3 328.5 74.3C342.3 57.8 317.4 37.7 304 53.8zM380.6 240.7L349.6 231.4C355.9000000000001 225.6 360.1 217.3 360.1 208C360.1 190.3 345.8 176 328.1 176S296.1 190.3 296.1 208C296.1 210.9 297 213.6 297.8 216.2C297.2 216.1 296.7 216 296.1 216C289.2000000000001 216 282.9000000000001 220.5 280.8 227.4C278.3 235.9 283.1 244.8 291.5 247.3L371.5 271.3C379.9 273.8 388.9 269 391.4 260.6C393.9 252.1 389.1 243.2 380.6 240.7z" glyph-name="angry" horiz-adv-x="496" unicode=""/><glyph d="M296 192H251.38C272.46 225.99 288 266.35 288 304C288 392.37 230.69 448 160 448S32 392.37 32 304C32 266.35 47.54 225.99 68.62 192H24C10.75 192 0 181.26 0 168V136C0 122.75 10.75 112 24 112H120V-40C120 -53.25 130.75 -64 144 -64H176C189.25 -64 200 -53.25 200 -40V112H296C309.25 112 320 122.75 320 136V168C320 181.26 309.25 192 296 192zM160 368C189.61 368 208 343.48 208 304C208 269.3400000000001 180.86 225.86 160 203.13C139.14 225.85 112 269.34 112 304C112 343.48 130.39 368 160 368z" glyph-name="ankh" horiz-adv-x="320" unicode=""/><glyph d="M350.85 319C376.8200000000001 314.3300000000001 398.12 300.33 414.7700000000001 277C429.42 256.33 439.4100000000001 230.33 444.73 199C449.4000000000001 170.33 449.05 141.67 443.73 113C435.74 65.67 419.76 26 395.79 -6C367.1500000000001 -44.67 331.2000000000001 -64 287.92 -64C277.26 -64 265.62 -60.67 252.96 -54C244.3 -48.67 234.65 -46 223.99 -46S203.69 -48.67 195.02 -54C182.36 -60.67 170.72 -64 160.06 -64C116.78 -64 80.83 -44.67 52.19 -6C28.22 26 12.24 65.67 4.25 113C-1.07 141.67 -1.42 170.33 3.25 199C8.57 230.33 18.56 256.33 33.21 277C49.86 300.33 71.16 314.33 97.13 319C113.11 321.67 135.08 319.3300000000001 163.05 312C187.02 305.3300000000001 207.33 297.3300000000001 223.98 288C240.63 297.3300000000001 260.94 305.33 284.9100000000001 312C312.8900000000001 319.3300000000001 334.87 321.67 350.85 319zM295.9100000000001 360C286.5900000000001 351.33 274.2600000000001 345 258.9500000000001 341C248.2900000000001 337.67 236.6500000000001 336 223.9900000000001 336L209.0100000000001 337C207.68 346.33 207.68 357 209.0100000000001 369C211.68 393 219.3300000000001 411.33 231.9800000000001 424C241.3000000000001 432.67 253.6300000000001 439 268.9400000000001 443C279.6000000000001 446.33 291.2400000000001 448 303.9000000000001 448L318.8800000000001 447L319.8800000000001 432C319.8800000000001 419.33 318.2100000000001 407.67 314.8900000000001 397C310.9000000000001 381.67 304.5800000000001 369.33 295.9100000000001 360z" glyph-name="apple-alt" horiz-adv-x="448" unicode=""/><glyph d="M32 0C32 -17.7 46.3 -32 64 -32H448C465.7 -32 480 -17.7 480 0V288H32V0zM192 212C192 218.6 197.4 224 204 224H308C314.6 224 320 218.6 320 212V204C320 197.4 314.6 192 308 192H204C197.4 192 192 197.4 192 204V212zM480 416H32C14.3 416 0 401.7 0 384V336C0 327.2 7.2 320 16 320H496C504.8 320 512 327.2 512 336V384C512 401.7 497.7 416 480 416z" glyph-name="archive" horiz-adv-x="512" unicode=""/><glyph d="M560 0H544V352H32V0H16.02C7.18 0 0.02 -7.16 0.02 -16V-48C0.02 -56.84 7.18 -64 16.02 -64H176C184.84 -64 192 -56.84 192 -48V128C192 181.02 234.98 224 288 224S384 181.02 384 128L384.02 -32V-48C384.02 -56.84 391.18 -64 400.02 -64H560C568.84 -64 576 -56.84 576 -48V-16C576 -7.16 568.84 0 560 0zM560 448H16C7.16 448 0 440.84 0 432V400C0 391.16 7.16 384 16 384H560C568.84 384 576 391.16 576 400V432C576 440.84 568.84 448 560 448z" glyph-name="archway" horiz-adv-x="576" unicode=""/><glyph d="M504 192C504 55 393 -56 256 -56S8 55 8 192S119 440 256 440S504 329 504 192zM212 308V192H141.1C130.4 192 125 179 132.6 171.5L247.5 57.2C252.2 52.5 259.7 52.5 264.4 57.2L379.3 171.5C386.9 179.1 381.5 192 370.8 192H300V308C300 314.6 294.6 320 288 320H224C217.4 320 212 314.6 212 308z" glyph-name="arrow-alt-circle-down" horiz-adv-x="512" unicode=""/><glyph d="M256 -56C119 -56 8 55 8 192S119 440 256 440S504 329 504 192S393 -56 256 -56zM372 236H256V306.9C256 317.6 243 323 235.5 315.4L121.2 200.5C116.5 195.8 116.5 188.3 121.2 183.6L235.5 68.7000000000001C243.1 61.1 256 66.5000000000001 256 77.2000000000001V148H372C378.6 148 384 153.4 384 160V224C384 230.6 378.6 236 372 236z" glyph-name="arrow-alt-circle-left" horiz-adv-x="512" unicode=""/><glyph d="M256 440C393 440 504 329 504 192S393 -56 256 -56S8 55 8 192S119 440 256 440zM140 148H256V77.1C256 66.4 269 61 276.5 68.6L390.8 183.5C395.5 188.2 395.5 195.7 390.8 200.4L276.5 315.4C268.9 323 256 317.6 256 306.9V236H140C133.4 236 128 230.6 128 224V160C128 153.4 133.4 148 140 148z" glyph-name="arrow-alt-circle-right" horiz-adv-x="512" unicode=""/><glyph d="M8 192C8 329 119 440 256 440S504 329 504 192S393 -56 256 -56S8 55 8 192zM300 76V192H370.9C381.6 192 387 205 379.4 212.5L264.5 326.8C259.8 331.5 252.3 331.5 247.6 326.8L132.6 212.5C125 204.9 130.4 192 141.1 192H212V76C212 69.4 217.4 64 224 64H288C294.6 64 300 69.4 300 76z" glyph-name="arrow-alt-circle-up" horiz-adv-x="512" unicode=""/><glyph d="M504 192C504 55 393 -56 256 -56S8 55 8 192S119 440 256 440S504 329 504 192zM360.4 220.9L288 145.4V328C288 341.3 277.3 352 264 352H248C234.7 352 224 341.3 224 328V145.4L151.6 220.9C142.3 230.6 126.8 230.8 117.3 221.3L106.4 210.3C97 200.9 97 185.7 106.4 176.4L239 43.7C248.4 34.3 263.6 34.3 272.9 43.7L405.6 176.4C415 185.8 415 201 405.6 210.3L394.7 221.3C385.2 230.8 369.7 230.6 360.4 220.9z" glyph-name="arrow-circle-down" horiz-adv-x="512" unicode=""/><glyph d="M256 -56C119 -56 8 55 8 192S119 440 256 440S504 329 504 192S393 -56 256 -56zM284.9 87.6L209.4 160H392C405.3 160 416 170.7 416 184V200C416 213.3 405.3 224 392 224H209.4L284.9 296.4C294.6 305.7000000000001 294.8 321.2 285.3 330.7L274.3 341.6C264.9 351 249.7 351 240.4 341.6L107.7 209C98.3 199.6 98.3 184.4 107.7 175.1L240.4 42.4C249.8 33.0000000000001 265 33.0000000000001 274.3 42.4L285.3 53.3C294.8 62.8 294.6 78.3 284.9 87.6z" glyph-name="arrow-circle-left" horiz-adv-x="512" unicode=""/><glyph d="M256 440C393 440 504 329 504 192S393 -56 256 -56S8 55 8 192S119 440 256 440zM227.1 296.4L302.6 224H120C106.7 224 96 213.3 96 200V184C96 170.7 106.7 160 120 160H302.6L227.1 87.6C217.4 78.3 217.2 62.8 226.7 53.3L237.7 42.4C247.1 33.0000000000001 262.3 33.0000000000001 271.6 42.4L404.3 175C413.7 184.4 413.7 199.6 404.3 208.9L271.6 341.7C262.2000000000001 351.1 247.0000000000001 351.1 237.7 341.7L226.7 330.8C217.2 321.2 217.4 305.7 227.1 296.4z" glyph-name="arrow-circle-right" horiz-adv-x="512" unicode=""/><glyph d="M8 192C8 329 119 440 256 440S504 329 504 192S393 -56 256 -56S8 55 8 192zM151.6 163.1L224 238.6V56C224 42.7 234.7 32 248 32H264C277.3 32 288 42.7 288 56V238.6L360.4 163.1C369.7 153.4 385.2 153.2000000000001 394.7 162.7000000000001L405.6 173.7000000000001C415 183.1 415 198.3000000000001 405.6 207.6000000000001L273 340.3C263.6 349.7 248.4 349.7 239.1 340.3L106.3 207.6C96.9 198.2 96.9 183 106.3 173.7L117.2 162.7C126.8 153.2 142.3 153.4 151.6 163.1z" glyph-name="arrow-circle-up" horiz-adv-x="512" unicode=""/><glyph d="M413.1 225.5L435.3 203.3C444.7 193.9 444.7 178.7 435.3 169.4L241 -25C231.6 -34.4 216.4 -34.4 207.1 -25L12.7 169.4C3.3 178.8 3.3 194 12.7 203.3L34.9 225.5C44.4 235 59.9 234.8 69.2 225.1L184 104.6V392C184 405.3 194.7 416 208 416H240C253.3 416 264 405.3 264 392V104.6L378.8 225.1C388.1 234.9000000000001 403.6 235.1 413.1 225.5000000000001z" glyph-name="arrow-down" horiz-adv-x="448" unicode=""/><glyph d="M257.5 2.9L235.3 -19.3C225.9 -28.7 210.7 -28.7 201.4 -19.3L7 175C-2.4 184.4 -2.4 199.6 7 208.9L201.4 403.3C210.8 412.7 226 412.7 235.3 403.3L257.5 381.1C267 371.6 266.8 356.1 257.1 346.8L136.6 232H424C437.3 232 448 221.3 448 208V176C448 162.7 437.3 152 424 152H136.6L257.1 37.2C266.9000000000001 27.9 267.1 12.4 257.5 2.9z" glyph-name="arrow-left" horiz-adv-x="448" unicode=""/><glyph d="M190.5 381.1L212.7 403.3C222.1 412.7 237.3 412.7 246.6 403.3L441 209C450.4 199.6 450.4 184.4 441 175.1L246.6 -19.3C237.2 -28.7 222 -28.7 212.7 -19.3L190.5 2.9C181 12.4 181.2 27.9 190.9 37.2L311.4 152H24C10.7 152 0 162.7 0 176V208C0 221.3 10.7 232 24 232H311.4L190.9 346.8C181.1 356.1 180.9 371.6 190.5 381.1z" glyph-name="arrow-right" horiz-adv-x="448" unicode=""/><glyph d="M34.9 158.5L12.7 180.7C3.3 190.1 3.3 205.3 12.7 214.6L207 409C216.4 418.4 231.6 418.4 240.9 409L435.2000000000001 214.7C444.6 205.3 444.6 190.1 435.2000000000001 180.8L413 158.6C403.5 149.1 388 149.3 378.7 159L264 279.4V-8C264 -21.3 253.3 -32 240 -32H208C194.7 -32 184 -21.3 184 -8V279.4L69.2 158.9C59.9 149.1 44.4 148.9 34.9 158.5z" glyph-name="arrow-up" horiz-adv-x="448" unicode=""/><glyph d="M377.941 278.059V232H134.059V278.059C134.059 299.4410000000001 108.208 310.149 93.088 295.03L7.029 208.971C-2.344 199.598 -2.344 184.403 7.029 175.03L93.088 88.971C108.207 73.852 134.059 84.56 134.059 105.942V152H377.9410000000001V105.941C377.9410000000001 84.559 403.7920000000001 73.851 418.9120000000001 88.97L504.971 175.029C514.344 184.402 514.344 199.597 504.971 208.97L418.9120000000001 295.029C403.793 310.149 377.9410000000001 299.4410000000001 377.9410000000001 278.059z" glyph-name="arrows-alt-h" horiz-adv-x="512" unicode=""/><glyph d="M214.059 70.059H168V313.9410000000001H214.059C235.441 313.9410000000001 246.149 339.7920000000001 231.03 354.9120000000001L144.971 440.971C135.598 450.344 120.403 450.344 111.03 440.971L24.971 354.9120000000001C9.852 339.793 20.56 313.9410000000001 41.942 313.9410000000001H88V70.059H41.941C20.559 70.059 9.851 44.208 24.97 29.088L111.029 -56.971C120.402 -66.344 135.597 -66.344 144.97 -56.971L231.029 29.088C246.149 44.207 235.441 70.059 214.059 70.059z" glyph-name="arrows-alt-v" horiz-adv-x="256" unicode=""/><glyph d="M352.201 22.225L273.005 -56.971C263.632 -66.344 248.437 -66.344 239.064 -56.971L159.868 22.225C144.749 37.3440000000001 155.457 63.196 176.839 63.1950000000001H228.001L228 164H127.196V112.838C127.196 91.456 101.345 80.7480000000001 86.225 95.867L7.029 175.063C-2.344 184.436 -2.344 199.632 7.029 209.004L86.225 288.2C101.344 303.319 127.196 292.611 127.196 271.229V220H228V320.804H176.77C155.388 320.804 144.68 346.655 159.799 361.775L238.995 440.971C248.368 450.344 263.563 450.344 272.9360000000001 440.971L352.1320000000001 361.775C367.2510000000001 346.656 356.5430000000001 320.804 335.1610000000001 320.804H283.9990000000001V220H384.8030000000001V271.1620000000001C384.8030000000001 292.544 410.6540000000001 303.252 425.7730000000002 288.1330000000001L504.9690000000002 208.937C514.3420000000002 199.564 514.3420000000002 184.368 504.9690000000002 174.996L425.773 95.8C410.654 80.681 384.802 91.389 384.803 112.771V164H284V63.196H335.23C356.612 63.196 367.3200000000001 37.345 352.201 22.225z" glyph-name="arrows-alt" horiz-adv-x="512" unicode=""/><glyph d="M216 188C216 172.536 203.464 160 188 160S160 172.536 160 188C160 232.112 195.888 268 240 268S320 232.112 320 188C320 172.536 307.464 160 292 160S264 172.536 264 188C264 201.234 253.233 212 240 212S216 201.234 216 188zM240 364C142.953 364 64 285.0470000000001 64 188C64 172.536 76.536 160 92 160S120 172.536 120 188C120 254.168 173.832 308 240 308S360 254.168 360 188C360 112.836 288.991 117.689 288.003 44.378L288 44C288 15.327 264.673 -8 236 -8C220.536 -8 208 -20.536 208 -36S220.536 -64 236 -64C295.475 -64 343.876 -15.672 344 43.774C344.5950000000001 78.202 416 92.014 416 188C416 285.0470000000001 337.0470000000001 364 240 364zM160 128C142.327 128 128 113.673 128 96S142.327 64 160 64S192 78.327 192 96S177.673 128 160 128zM32 0C14.327 0 0 -14.327 0 -32S14.327 -64 32 -64S64 -49.673 64 -32S49.673 0 32 0zM512 187.993C512 189.511 511.988 191.018 511.955 192.524C510.076 307.475 436.157 409.53 327.9940000000001 446.489C313.3610000000001 451.487 297.4450000000001 443.68 292.444 429.0470000000001C287.444 414.414 295.254 398.498 309.886 393.497C395.7920000000001 364.1430000000001 454.496 282.984 455.963 191.544L455.966 191.356C455.992 190.238 455.999 189.12 455.999 187.993C455.999 172.529 468.535 159.993 483.999 159.993S512 172.529 512 187.993zM152.971 8.971L72.971 88.971L39.03 55.03L119.03 -24.97L152.971 8.971z" glyph-name="assistive-listening-systems" horiz-adv-x="512" unicode=""/><glyph d="M478.21 113.907L336 192L478.21 270.093C490.0050000000001 276.5700000000001 494.171 291.4770000000001 487.442 303.13L467.962 336.8710000000001C461.234 348.524 446.242 352.37 434.735 345.394L296 261.2820000000001L299.475 423.486C299.763 436.939 288.937 448 275.48 448H236.52C223.064 448 212.237 436.939 212.526 423.486L216 261.2820000000001L77.265 345.3930000000001C65.759 352.3690000000001 50.766 348.523 44.038 336.87L24.558 303.129C17.83 291.476 21.996 276.569 33.791 270.092L176 192L33.79 113.907C21.995 107.43 17.829 92.523 24.558 80.87L44.038 47.129C50.766 35.476 65.759 31.63 77.265 38.606L216 122.718L212.525 -39.486C212.237 -52.939 223.064 -64 236.52 -64H275.481C288.937 -64 299.764 -52.939 299.476 -39.486L296 122.718L434.735 38.607C446.241 31.631 461.234 35.477 467.962 47.1300000000001L487.442 80.871C494.17 92.5240000000001 490.005 107.4300000000001 478.21 113.9070000000001z" glyph-name="asterisk" horiz-adv-x="512" unicode=""/><glyph d="M256 440C118.941 440 8 329.081 8 192C8 54.941 118.919 -56 256 -56C304.154 -56 351.342 -41.86 391.408 -15.777C403.413 -7.962 406.033 8.511 396.9600000000001 19.595L386.783 32.028C379.112 41.399 365.6040000000001 43.695 355.4100000000001 37.157C325.92 18.243 291.314 8 256 8C154.542 8 72 90.542 72 192S154.542 376 256 376C356.139 376 440 318.381 440 216C440 177.214 418.907 136.258 381.83 132.307C364.481 132.761 364.92 145.164 368.354 162.331L391.787 283.4410000000001C394.653 298.25 383.308 312 368.225 312H323.2440000000001A13.518 13.518 0 0 1 309.812 300.007L309.802 299.915C295.105 317.8160000000001 269.3540000000001 321.69 249.831 321.69C175.251 321.69 112 259.456 112 170.23C112 104.927 148.785 64.36 208 64.36C234.9840000000001 64.36 265.3690000000001 79.997 282.9910000000001 102.693C292.5130000000001 68.589 323.6040000000001 68.59 353.701 68.59C462.609 68.59 504 140.202 504 216C504 352.347 394.023 440 256 440zM234.32 135.57C212.071 135.57 198.25 151.193 198.25 176.341C198.25 221.334 229.029 249.07 256.88 249.07C279.1720000000001 249.07 292.481 233.829 292.481 208.3C292.481 163.239 258.606 135.57 234.32 135.57z" glyph-name="at" horiz-adv-x="512" unicode=""/><glyph d="M318.38 240H279.29C277.8 212.97 272.75 188.65 265.08 169.59C292.79 182.8300000000001 313.1 208.78 318.38 240.0000000000001zM318.38 272C313.09 303.2200000000001 292.79 329.17 265.08 342.41C272.76 323.35 277.8 299.03 279.29 272H318.38zM224 350.69C216.31 343.24 203.23 316.27 200.57 272H247.44C244.77 316.26 231.69 343.24 224 350.69zM182.92 342.41C155.21 329.17 134.9 303.2200000000001 129.62 272H168.71C170.2 299.03 175.24 323.35 182.92 342.41zM182.92 169.59C175.24 188.65 170.2 212.97 168.71 240.0000000000001H129.62C134.9 208.78 155.21 182.8300000000001 182.92 169.59zM247.43 240H200.56C203.22 195.74 216.3 168.76 223.99 161.31C231.69 168.76 244.77 195.74 247.43 240zM448 89.6V422.4C448 438.4 438.4 448 422.4 448H96C41.6 448 0 406.4 0 352V32C0 -22.4 41.6 -64 96 -64H422.4C435.2 -64 448 -54.4 448 -38.4V-22.4C448 -16 444.8 -9.6 438.4 -3.2C435.2 12.8 435.2 57.6 438.4 70.4C444.8 73.6 448 80 448 89.6zM224 384C294.69 384 352 326.69 352 256S294.69 128 224 128S96 185.31 96 256S153.31 384 224 384zM384 0H96C76.8 0 64 12.8 64 32S80 64 96 64H384V0z" glyph-name="atlas" horiz-adv-x="448" unicode=""/><glyph d="M413.03 192C453.16 246.89 454.54 290.62 438.17 320C427.26 339.52 397.63 370.73 321.84 361.88C300.36 413.11 267.64 448 224 448S147.64 413.11 126.16 361.88C50.43 370.66 20.73 339.52 9.83 320C-6.55 290.6 -5.17 246.91 34.97 192C-5.16 137.11 -6.54 93.38 9.83 64C39.04 11.66 111.51 20.42 126.16 22.12C147.63 -29.1 180.36 -64 224 -64S300.37 -29.1 321.8400000000001 22.12C336.48 20.42 408.9500000000001 11.66 438.17 64C454.55 93.4 453.17 137.09 413.0300000000001 192zM63.38 96C59.35 103.21 63.19 120.8 78.33 144.29C85.29 137.7600000000001 92.53 131.4 100.2 125.11C101.91 111.4 104.2 98.03 106.96 85.03C82.4 84.14 67.07 89.4 63.38 96.0000000000001zM100.2 258.88C92.54 252.59 85.3 246.23 78.33 239.7C63.2 263.2 59.36 280.79 63.38 288C66.79 294.14 79.77 299.4700000000001 101.3 299.4700000000001C103.01 299.4700000000001 105.17 299.17 106.99 299.1A472.19100000000003 472.19100000000003 0 0 1 100.2 258.88zM224 384C233.47 384 246.2 370.48 257.86 346.74C246.67 343.04 235.42 338.74 224 333.88C212.58 338.74 201.33 343.04 190.14 346.74C201.8 370.48 214.53 384 224 384zM224 0C214.53 0 201.8 13.52 190.14 37.26C201.33 40.96 212.58 45.26 224 50.12C235.42 45.26 246.67 40.96 257.86 37.26C246.2 13.52 233.47 0 224 0zM286.5 157.3300000000001C259.8 138.2500000000001 240.36 128.0000000000001 224 119.85C207.65 127.99 188.2 138.2600000000001 161.5 157.3300000000001C159.51 185.1200000000001 159.51 198.87 161.5 226.6600000000001C188.17 245.7100000000001 207.63 255.98 224 264.14C240.39 255.9700000000001 259.86 245.7 286.5 226.6600000000001C288.48 198.88 288.49 185.13 286.5 157.3300000000001zM384.62 96C380.95 89.38 365.62 84.18 341.04 85.05C343.8 98.05 346.0900000000001 111.42 347.8 125.11C355.4600000000001 131.4 362.7 137.76 369.67 144.29C384.8 120.8 388.64 103.21 384.62 96zM369.67 239.71C362.7100000000001 246.24 355.4700000000001 252.6 347.8 258.89A473.535 473.535 0 0 1 341.01 299.11C342.83 299.18 344.98 299.48 346.7 299.48C368.22 299.48 381.21 294.14 384.62 288.01C388.64 280.79 384.8 263.2000000000001 369.67 239.7100000000001zM224 224C206.33 224 192 209.67 192 192S206.33 160 224 160S256 174.33 256 192S241.67 224 224 224z" glyph-name="atom" horiz-adv-x="448" unicode=""/><glyph d="M162.925 209.291L171.747 178.636H146.141L155.182 209.288C156.459 213.709 157.833 219.282 159.054 224.533C160.274 219.282 161.648 213.71 162.9250000000001 209.291zM329.399 241.39H314.876V142.609H329.399C359.175 142.609 375.574 160.287 375.574 192.385C375.574 224.624 358.084 241.39 329.399 241.39zM512 336V48C512 21.49 490.51 0 464 0H48C21.49 0 0 21.49 0 48V336C0 362.51 21.49 384 48 384H464C490.51 384 512 362.51 512 336zM245.459 111.861L188.362 279.861A12.001000000000001 12.001000000000001 0 0 1 177 288H141.106A12.001000000000001 12.001000000000001 0 0 1 129.744 279.861L72.647 111.861C70.003 104.078 75.789 96 84.009 96H113.142A12 12 0 0 1 124.677 104.693L133.251 134.599H184.618L193.411 104.622A12 12 0 0 1 204.926 96H234.098C242.318 96 248.104 104.078 245.459 111.861zM430.16 192.386C430.16 251.363 392.241 288 331.2 288H273.834C267.207 288 261.834 282.627 261.834 276V108C261.834 101.373 267.207 96 273.834 96H331.2C392.241 96 430.16 132.933 430.16 192.386z" glyph-name="audio-description" horiz-adv-x="512" unicode=""/><glyph d="M97.12 85.37C88.43 94.06 92.96 91.61 72 97.22C62.49 99.77 54.13 104.67 46.57 110.54L1.2 -0.7C-3.19 -11.47 5.01 -23.17 16.63 -22.73L69.32 -20.72L105.56 -59C113.56 -67.44 127.6 -64.8099999999999 131.99 -54.04L184.04 73.58C173.2 67.54 161.17 64 148.73 64C129.23 64 110.91 71.59 97.12 85.37zM382.8 -0.7L337.43 110.54C329.87 104.66 321.51 99.77 312 97.22C290.93 91.58 295.55 94.04 286.88 85.37C273.09 71.59 254.76 64 235.26 64C222.82 64 210.79 67.55 199.95 73.58L252 -54.04C256.39 -64.8100000000001 270.44 -67.44 278.43 -59L314.68 -20.72L367.37 -22.73C378.99 -23.17 387.19 -11.46 382.8 -0.7zM263 108C278.28 123.55 280.03 122.21 301.79 128.14C315.68 131.93 326.54 142.98 330.26 157.12C337.74 185.52 335.8 182.09 356.21 202.87C366.38 213.22 370.35 228.31 366.63 242.45C359.16 270.83 359.15 266.87 366.63 295.28C370.35 309.42 366.38 324.51 356.21 334.86C335.8 355.64 337.74 352.22 330.26 380.61C326.54 394.75 315.68 405.8 301.79 409.59C273.91 417.2 277.27 415.21 256.84 436C246.67 446.35 231.84 450.4 217.95 446.61C190.08 439.01 193.97 439 166.05 446.61C152.16 450.4 137.33 446.36 127.16 436C106.75 415.22 110.11 417.2 82.22 409.59C68.33 405.8 57.47 394.75 53.75 380.61C46.28 352.22 48.21 355.64 27.8 334.86C17.63 324.51 13.65 309.42 17.38 295.28C24.85 266.92 24.86 270.88 17.38 242.46C13.66 228.32 17.63 213.23 27.8 202.87C48.21 182.09 46.27 185.52 53.75 157.12C57.47 142.98 68.33 131.93 82.22 128.14C104.6 122.04 106.27 123 121 108C134.23 94.53 154.84 92.12 170.74 102.18A39.676 39.676 0 0 0 213.27 102.18C229.1600000000001 92.12 249.77 94.53 263 108zM97.66 272.04C97.66 325.07 139.9 368.06 192 368.06S286.3400000000001 325.07 286.3400000000001 272.04S244.1 176.02 192 176.02S97.66 219.01 97.66 272.04z" glyph-name="award" horiz-adv-x="384" unicode=""/><glyph d="M144.8 431C133.5 448.8 107.6 453.8 90.8 440.4C35.3 396.1 0 330 0 256H256L144.8 431zM496 352H448C412.7 352 384 323.3 384 288V224H0C0 173.4 23 127.6 60.3 93.3C25.7 84.4 0 53.3 0 16C0 -28.2 35.8 -64 80 -64S160 -28.2 160 16C160 24.9 158.2 33.2 155.6 41.2C177.2 35.3 200.2 32 224 32S270.9 35.3 292.4 41.2C289.7 33.2 288 24.9 288 16C288 -28.2 323.8 -64 368 -64S448 -28.2 448 16C448 53.3 422.3 84.4 387.7 93.3C425 127.6 448 173.4 448 224V288H496C504.8 288 512 295.2 512 304V336C512 344.8 504.8 352 496 352zM80 -16C62.4 -16 48 -1.6 48 16S62.4 48 80 48S112 33.6 112 16S97.6 -16 80 -16zM400 16C400 -1.6 385.6 -16 368 -16S336 -1.6 336 16S350.4 48 368 48S400 33.6 400 16z" glyph-name="baby-carriage" horiz-adv-x="512" unicode=""/><glyph d="M192 288C236.2 288 272 323.8 272 368S236.2 448 192 448S112 412.2 112 368S147.8 288 192 288zM138.6 39.2L164.2 71.2L102.7 122.4L56.8 65C45.4 50.8 45.1 30.6 56 16L104 -48C111.9 -58.5 123.9 -64 136 -64C144.3 -64 152.8 -61.4 160 -56C177.7 -42.8 181.2 -17.7 168 0L138.6 39.2zM281.3 122.4L219.8 71.2L245.4 39.2L216 0C202.8 -17.7 206.3 -42.8 224 -56C231.2 -61.4 239.6 -64 248 -64C260.2 -64 272.2 -58.5 280 -48L328 16C338.9 30.6 338.6 50.8 327.2 65L281.3 122.4zM376.7 303C364 321.1 339.1 325.4 321 312.8L280.4 284.3C227.7 247.3 156.2 247.3 103.6 284.3L63 312.7C44.9 325.4 20 321 7.3 303C-5.4 284.9 -1 260 17 247.3L57.6 218.8C74.6 206.9 93 197.9 112 190.9V160H272V190.8C291 197.8 309.4 206.8 326.4 218.7L367 247.2C385.1 260 389.4 284.9000000000001 376.7 303z" glyph-name="baby" horiz-adv-x="384" unicode=""/><glyph d="M576 384H205.26A63.97 63.97 0 0 1 160 365.25L9.37 214.63C-3.13 202.13 -3.13 181.87 9.37 169.38L160 18.75C172 6.75 188.28 0 205.25 0H576C611.35 0 640 28.65 640 64V320C640 355.35 611.35 384 576 384zM491.31 129.94C497.56 123.69 497.56 113.56 491.31 107.31L468.69 84.69C462.44 78.44 452.31 78.44 446.06 84.69L384 146.75L321.94 84.69C315.69 78.44 305.56 78.44 299.31 84.69L276.69 107.31C270.44 113.56 270.44 123.69 276.69 129.94L338.75 192L276.69 254.06C270.44 260.31 270.44 270.44 276.69 276.69L299.31 299.31C305.56 305.56 315.69 305.56 321.94 299.31L384 237.25L446.06 299.31C452.31 305.56 462.44 305.56 468.69 299.31L491.31 276.69C497.56 270.44 497.56 260.31 491.31 254.06L429.25 192L491.31 129.94z" glyph-name="backspace" horiz-adv-x="640" unicode=""/><glyph d="M11.5 167.4L203.5 7.4C224.1 -9.8 256 4.6 256 32V352C256 379.4 224.1 393.8 203.5 376.6L11.5 216.6C-3.8 203.8 -3.8 180.2 11.5 167.4zM267.5 167.4L459.5 7.4C480.1 -9.8 512 4.6 512 32V352C512 379.4 480.1 393.8 459.5 376.6L267.5 216.6C252.2 203.8 252.2 180.2 267.5 167.4z" glyph-name="backward" horiz-adv-x="512" unicode=""/><glyph d="M256 112H255.98C255.98 128.18 257.32 120.73 170.93 293.51C153.28 328.8 102.74 328.87 85.06 293.51C-2.06 119.25 0.02 127.67 0.02 112H0C0 67.82 57.31 32 128 32S256 67.82 256 112zM128 272L200 128H56L128 272zM639.98 112C639.98 128.18 641.32 120.73 554.9300000000001 293.51C537.2800000000001 328.8 486.7400000000001 328.87 469.0600000000001 293.51C381.9400000000001 119.25 384.0200000000001 127.67 384.0200000000001 112H384C384 67.82 441.31 32 512 32S640 67.82 640 112H639.98zM440 128L512 272L584 128H440zM528 0H352V294.75C375.51 305.04 393.16 326.23 398.39 352H528C536.84 352 544 359.16 544 368V400C544 408.8400000000001 536.84 416 528 416H383.64C369.04 435.32 346.09 448 320 448S270.96 435.32 256.36 416H112C103.16 416 96 408.8400000000001 96 400V368C96 359.16 103.16 352 112 352H241.61C246.84 326.24 264.48 305.04 288 294.75V0H112C103.16 0 96 -7.16 96 -16V-48C96 -56.84 103.16 -64 112 -64H528C536.84 -64 544 -56.84 544 -48V-16C544 -7.16 536.84 0 528 0z" glyph-name="balance-scale" horiz-adv-x="640" unicode=""/><glyph d="M256 440C119.034 440 8 328.967 8 192S119.034 -56 256 -56S504 55.034 504 192S392.967 440 256 440zM386.108 322.108C451.556 256.6600000000001 456.108 156.627 406.7850000000001 86.471L150.47 342.784C220.674 392.14 320.6960000000001 387.519 386.108 322.108zM125.892 61.892C60.444 127.34 55.892 227.373 105.215 297.529L361.53 41.216C291.327 -8.14 191.304 -3.52 125.892 61.892z" glyph-name="ban" horiz-adv-x="512" unicode=""/><glyph d="M0 288V96C0 60.7 28.7 32 64 32H160V352H64C28.7 352 0 323.3 0 288zM576 352H480V32H576C611.3 32 640 60.7 640 96V288C640 323.3 611.3 352 576 352zM192 32H448V352H192V32zM368 264C381.3 264 392 253.3 392 240S381.3 216 368 216S344 226.7 344 240S354.7 264 368 264zM368 168C381.3 168 392 157.3 392 144S381.3 120 368 120S344 130.7 344 144S354.7 168 368 168zM272 264C285.3 264 296 253.3 296 240S285.3 216 272 216S248 226.7 248 240S258.7 264 272 264zM272 168C285.3 168 296 157.3 296 144S285.3 120 272 120S248 130.7 248 144S258.7 168 272 168z" glyph-name="band-aid" horiz-adv-x="640" unicode=""/><glyph d="M0 0V384H18V0H0zM26.857 0.273V384H36V0.273H26.857zM54 0.273V384H62.857V0.273H54zM98.857 0.273V384H107.714V0.273H98.857zM134.857 0.273V384H152.571V0.273H134.857zM179.714 0.273V384H188.571V0.273H179.714zM197.714 0.273V384H206.571V0.273H197.714zM215.714 0.273V384H224.571V0.273H215.714zM251.429 0.273V384H269.429V0.273H251.429zM296.286 0.273V384H314.286V0.273H296.286zM332.2850000000001 0.273V384H350.286V0.273H332.2850000000001zM368.286 0.273V384H386.287V0.273H368.286zM395.1430000000001 0.273V384H413.1430000000001V0.273H395.1430000000001zM440.2860000000001 0.273V384H467.143V0.273H440.2860000000001zM476.0000000000001 0.273V384H485.143V0.273H476zM494.0000000000001 0V384H512V0H494z" glyph-name="barcode" horiz-adv-x="512" unicode=""/><glyph d="M16 316H432C440.837 316 448 323.163 448 332V372C448 380.837 440.837 388 432 388H16C7.163 388 0 380.837 0 372V332C0 323.163 7.163 316 16 316zM16 156H432C440.837 156 448 163.163 448 172V212C448 220.837 440.837 228 432 228H16C7.163 228 0 220.837 0 212V172C0 163.163 7.163 156 16 156zM16 -4H432C440.837 -4 448 3.163 448 12V52C448 60.837 440.837 68 432 68H16C7.163 68 0 60.837 0 52V12C0 3.163 7.163 -4 16 -4z" glyph-name="bars" horiz-adv-x="448" unicode=""/><glyph d="M368.5 84.1L397.3 98C408.4000000000001 75.1 423.3 54.8 441.4000000000001 37.1C475.4 79.6 495.9 133.4 495.9 192C495.9 250.5000000000001 475.5000000000001 304.2000000000001 441.7000000000001 346.6C423.9000000000001 329.3 409.1 309.5 398.1 287.1L369.4000000000001 301.2000000000001C382.2000000000001 327.2000000000001 399.4000000000001 350.2000000000001 420.2000000000001 370.2000000000001C375.6 413.3 315 440 248 440C181.1 440 120.5 413.4 75.9 370.3C96.6 350.4 113.8 327.4 126.6 301.5L97.9 287.4C86.9 309.7000000000001 72.2 329.5 54.4 346.8C20.4 304.3 0 250.6 0 192C0 133.4 20.4 79.7 54.4 37.3C72.6 55 87.6 75.3 98.7 98.3L127.5 84.4C114.6 57.7000000000001 97.2 34.1 76 13.7C120.5 -29.4 181.1 -55.9999999999999 248 -55.9999999999999C314.8 -55.9999999999999 375.3 -29.4999999999999 419.9 13.5000000000001C398.8 33.9 381.4 57.4 368.5 84.1zM140.2 116.1L109.7 125.9C124.6 172.3 122.4 219.7000000000001 109.1 259.9000000000001L139.5 269.9000000000001C154.5 224.3000000000001 157.5 170 140.2 116.1zM356.5 269.5L386.9 259.5C373.7 219.4 371.4 172 386.3 125.5L355.8 115.7C338.5 169.7 341.5 224 356.5 269.5z" glyph-name="baseball-ball" horiz-adv-x="496" unicode=""/><glyph d="M212.3 437.7C168.5 431.4 126.1 413.6 90.1 383.9L167.5 306.5C195.3 342.3 210.8 387.7 212.3 437.7zM248 226L405.9 383.9C363.5 418.9 312.3 437.4 260.4 440C259.2 376.1 238.9 317.7000000000001 201.7 272.3L248 226zM56.1 349.9C26.4 313.9 8.6 271.5 2.3 227.7C52.3 229.2 97.8 244.7 133.5 272.5L56.1 349.9zM328.3 145.7000000000001C373.6 182.8000000000001 432 203.1000000000001 496 204.4C493.4 256.3000000000001 474.9 307.5 439.9 349.9000000000001L282 192L328.3 145.7zM248 158L90.1 0.1C132.5 -34.8 183.7 -53.4 235.6 -56C236.9 8 257.2 66.4 294.3 111.7L248 158zM439.9 34.1C469.6 70.1 487.4 112.5 493.7 156.3C443.6 154.7 398.2 139.2 362.5 111.5L439.9 34.1zM167.7 238.3C122.3 201.1 63.9 180.7 0 179.6C2.6 127.7000000000001 21.1 76.5 56.1 34.1L214 192L167.7 238.3zM283.7 -53.7C327.5 -47.4 369.9 -29.6 405.9 0.1L328.5 77.5C300.8 41.8 285.3 -3.7 283.7 -53.7z" glyph-name="basketball-ball" horiz-adv-x="496" unicode=""/><glyph d="M488 192H80V336C80 353.645 94.355 368 112 368C123.351 368 133.332 362.055 139.015 353.12C122.523 327.913 124.328 293.544 145.853 270.0850000000001C141.677 265.372 141.832 258.169 146.344 253.657L157.658 242.343C162.344 237.657 169.942 237.657 174.629 242.343L269.659 337.372C274.345 342.058 274.345 349.656 269.659 354.343L258.345 365.6570000000001C253.833 370.169 246.63 370.323 241.917 366.148C223.968 382.617 199.623 387.577 177.739 381.5130000000001C163.281 402.333 139.212 416 112 416C67.888 416 32 380.112 32 336V192H24C10.745 192 0 181.255 0 168V152C0 138.745 10.745 128 24 128H32V96C32 67.57 44.362 42.031 64 24.453V-8C64 -21.255 74.745 -32 88 -32H104C117.255 -32 128 -21.255 128 -8V0H384V-8C384 -21.255 394.745 -32 408 -32H424C437.255 -32 448 -21.255 448 -8V24.453C467.638 42.031 480 67.57 480 96V128H488C501.255 128 512 138.745 512 152V168C512 181.255 501.255 192 488 192z" glyph-name="bath" horiz-adv-x="512" unicode=""/><glyph d="M544 288V224H576V160H544V96H64V288H544M560 352H48C21.49 352 0 330.51 0 304V80C0 53.49 21.49 32 48 32H560C586.51 32 608 53.49 608 80V96H616C629.255 96 640 106.745 640 120V264C640 277.255 629.255 288 616 288H608V304C608 330.51 586.51 352 560 352z" glyph-name="battery-empty" horiz-adv-x="640" unicode=""/><glyph d="M544 288V224H576V160H544V96H64V288H544M560 352H48C21.49 352 0 330.51 0 304V80C0 53.49 21.49 32 48 32H560C586.51 32 608 53.49 608 80V96H616C629.255 96 640 106.745 640 120V264C640 277.255 629.255 288 616 288H608V304C608 330.51 586.51 352 560 352zM512 256H96V128H512V256z" glyph-name="battery-full" horiz-adv-x="640" unicode=""/><glyph d="M544 288V224H576V160H544V96H64V288H544M560 352H48C21.49 352 0 330.51 0 304V80C0 53.49 21.49 32 48 32H560C586.51 32 608 53.49 608 80V96H616C629.255 96 640 106.745 640 120V264C640 277.255 629.255 288 616 288H608V304C608 330.51 586.51 352 560 352zM320 256H96V128H320V256z" glyph-name="battery-half" horiz-adv-x="640" unicode=""/><glyph d="M544 288V224H576V160H544V96H64V288H544M560 352H48C21.49 352 0 330.51 0 304V80C0 53.49 21.49 32 48 32H560C586.51 32 608 53.49 608 80V96H616C629.255 96 640 106.745 640 120V264C640 277.255 629.255 288 616 288H608V304C608 330.51 586.51 352 560 352zM224 256H96V128H224V256z" glyph-name="battery-quarter" horiz-adv-x="640" unicode=""/><glyph d="M544 288V224H576V160H544V96H64V288H544M560 352H48C21.49 352 0 330.51 0 304V80C0 53.49 21.49 32 48 32H560C586.51 32 608 53.49 608 80V96H616C629.255 96 640 106.745 640 120V264C640 277.255 629.255 288 616 288H608V304C608 330.51 586.51 352 560 352zM416 256H96V128H416V256z" glyph-name="battery-three-quarters" horiz-adv-x="640" unicode=""/><glyph d="M176 192C220.11 192 256 227.89 256 272S220.11 352 176 352S96 316.11 96 272S131.89 192 176 192zM528 320H304C295.1600000000001 320 288 312.8400000000001 288 304V160H64V368C64 376.8400000000001 56.84 384 48 384H16C7.16 384 0 376.8400000000001 0 368V16C0 7.16 7.16 0 16 0H48C56.84 0 64 7.16 64 16V64H576V16C576 7.16 583.16 0 592 0H624C632.84 0 640 7.16 640 16V208C640 269.86 589.86 320 528 320z" glyph-name="bed" horiz-adv-x="640" unicode=""/><glyph d="M368 352H320V392C320 405.255 309.255 416 296 416H24C10.745 416 0 405.255 0 392V-8C0 -21.255 10.745 -32 24 -32H296C309.255 -32 320 -21.255 320 -8V34.11L400.606 70.087C429.396 82.937 448 111.612 448 143.14V272C448 316.112 412.112 352 368 352zM384 143.14A16.018 16.018 0 0 0 374.521 128.529L320 104.195V288H368C376.822 288 384 280.822 384 272V143.14zM208 64C199.164 64 192 71.164 192 80V304C192 312.836 199.164 320 208 320S224 312.836 224 304V80C224 71.164 216.836 64 208 64zM112 64C103.164 64 96 71.164 96 80V304C96 312.836 103.164 320 112 320S128 312.836 128 304V80C128 71.164 120.836 64 112 64z" glyph-name="beer" horiz-adv-x="448" unicode=""/><glyph d="M633.82 -10.1L543.2 59.95C543.3900000000001 61.33 544 62.61 544 64.01C544.05 71.56 541.39 79.28 535.39 85.72C516.0699999999999 106.48 479.92 137.71 479.92 240.01C479.92 317.71 425.44 379.91 351.98 395.17V416C351.98 433.67 337.66 448 320 448S288.0199999999999 433.67 288.0199999999999 416V395.16C247.69 386.78 213.3599999999999 364.0900000000001 190.4299999999999 332.5900000000001L45.47 444.63C38.49 450.05 28.43 448.8 23.01 441.82L3.37 416.55C-2.05 409.58 -0.8 399.53 6.18 394.1L594.53 -60.63C601.51 -66.0599999999999 611.56 -64.7999999999999 616.99 -57.82L636.63 -32.55C642.05 -25.58 640.8 -15.53 633.82 -10.1zM157.23 196.46C148.62 128.5 120.82 103.13 104.61 85.71C98.61 79.2600000000001 95.95 71.55 96 64.0000000000001C96.11 47.6000000000001 108.98 32.0000000000001 128.1 32.0000000000001H370.02L157.23 196.46zM320 -64C355.32 -64 383.9700000000001 -35.35 383.9700000000001 0H256.03C256.03 -35.35 284.68 -64 320 -64z" glyph-name="bell-slash" horiz-adv-x="640" unicode=""/><glyph d="M224 -64C259.32 -64 287.9700000000001 -35.35 287.9700000000001 0H160.03C160.03 -35.35 188.68 -64 224 -64zM439.39 85.71C420.07 106.47 383.92 137.7000000000001 383.92 240.0000000000001C383.92 317.7000000000001 329.44 379.9000000000001 255.98 395.1600000000001V416C255.98 433.67 241.66 448 224 448S192.02 433.67 192.02 416V395.16C118.56 379.9 64.08 317.7 64.08 240C64.08 137.7 27.93 106.47 8.61 85.71C2.61 79.2600000000001 -0.05 71.55 0 64.0000000000001C0.11 47.6000000000001 12.98 32.0000000000001 32.1 32.0000000000001H415.9000000000001C435.0200000000001 32.0000000000001 447.9000000000001 47.6000000000001 448.0000000000001 64.0000000000001C448.0500000000001 71.5500000000001 445.3900000000001 79.27 439.3900000000001 85.71z" glyph-name="bell" horiz-adv-x="448" unicode=""/><glyph d="M368 416H272C254.33 416 240 401.67 240 384V288C240 270.33 254.33 256 272 256H368C385.67 256 400 270.3300000000001 400 288V384C400 401.67 385.67 416 368 416zM208 360H123.25C113.75 383.44 90.84 400 64 400C28.66 400 0 371.35 0 336S28.66 272 64 272C90.84 272 113.75 288.56 123.25 312H202.98C147.61 279.48 107.12 224.68 93.44 160H142.84C154.14 201.61 179.61 237.21 213.88 261.56C210.18 269.64 208 278.55 208 288V360zM160 128H64C46.33 128 32 113.67 32 96V0C32 -17.67 46.33 -32 64 -32H160C177.67 -32 192 -17.67 192 0V96C192 113.67 177.67 128 160 128zM576 400C549.16 400 526.25 383.44 516.75 360H432V288C432 278.55 429.81 269.64 426.12 261.56C460.39 237.21 485.86 201.61 497.16 160H546.5600000000001C532.8800000000001 224.68 492.39 279.48 437.0200000000001 312H516.75C526.25 288.56 549.16 272 576 272C611.34 272 640 300.65 640 336S611.34 400 576 400zM576 128H480C462.33 128 448 113.67 448 96V0C448 -17.67 462.33 -32 480 -32H576C593.67 -32 608 -17.67 608 0V96C608 113.67 593.67 128 576 128z" glyph-name="bezier-curve" horiz-adv-x="640" unicode=""/><glyph d="M448 89.6V422.4C448 438.4 438.4 448 422.4 448H96C41.6 448 0 406.4 0 352V32C0 -22.4 41.6 -64 96 -64H422.4C435.2 -64 448 -54.4 448 -38.4V-22.4C448 -16 444.8 -9.6 438.4 -3.2C435.2 12.8 435.2 57.6 438.4 70.4C444.8 73.6 448 80 448 89.6zM144 304C144 312.8400000000001 151.16 320 160 320H208V368C208 376.8400000000001 215.16 384 224 384H256C264.84 384 272 376.8400000000001 272 368V320H320C328.84 320 336 312.8400000000001 336 304V272C336 263.16 328.84 256 320 256H272V144C272 135.16 264.84 128 256 128H224C215.16 128 208 135.16 208 144V256H160C151.16 256 144 263.16 144 272V304zM380.8 0H96C76.8 0 64 12.8 64 32S80 64 96 64H380.8V0z" glyph-name="bible" horiz-adv-x="448" unicode=""/><glyph d="M512.509 255.999C496.136 256.063 480.479 253.044 466.073 247.504L388.3930000000001 372.657A24 24 0 0 1 368.001 384H304.001C295.164 384 288.001 376.837 288.001 368V352C288.001 343.163 295.164 336 304.001 336H354.65L369.546 312H256.002V328C256.002 336.837 248.839 344 240.002 344H152.543C139.102 344 127.766 333.001 128.007 319.563C128.239 306.519 138.883 296 152.002 296H200.728L171.311 248.48C157.878 253.31 143.407 255.963 128.319 256C58.094 256.17 0.412 198.988 0.002 128.764C-0.413 57.721 57.055 0 128.002 0C187.644 0 237.76 40.793 251.969 96H304.002A24 24 0 0 1 324.408 107.367L410.37 246.23L425.308 222.163C399.853 198.715 383.923 165.082 384.001 127.726C384.146 58.893 441.9 0.675 510.73 0.007C581.336 -0.678 638.911 55.81 639.9849999999999 126.003C641.0709999999999 196.944 583.459 255.723 512.5089999999999 255.999zM186.75 182.228C196.477 171.699 203.423 158.567 206.392 144H163.086L186.75 182.228zM128.002 48C83.89 48 48.002 83.888 48.002 128S83.89 208 128.002 208C133.871 208 139.588 207.347 145.101 206.141L99.596 132.632C89.715 116.673 101.213 96 120.002 96H201.302C188.932 67.775 160.74 48 128.002 48zM290.632 144H255.008C251.048 175.756 235.452 203.894 212.625 224.026L237.371 264H364.918L290.632 144zM507.689 48.114C466.653 50.2790000000001 433.64 83.806 432.062 124.869C431.25 145.99 438.695 165.3870000000001 451.3969999999999 180.132L495.8299999999999 108.546C500.49 101.038 510.3539999999999 98.73 517.862 103.39L531.456 111.827C538.964 116.487 541.273 126.351 536.612 133.859L492.1439999999999 205.502A79.901 79.901 0 0 0 512.002 207.999C556.1139999999999 207.999 592.002 172.111 592.002 127.999C592.001 82.459 553.75 45.683 507.689 48.114z" glyph-name="bicycle" horiz-adv-x="640" unicode=""/><glyph d="M416 400C416 408.8400000000001 408.84 416 400 416H336C327.1600000000001 416 320 408.8400000000001 320 400V352H416V400zM63.91 288.01C61.4 194.16 3.46 173.78 0 44V0C0 -17.67 14.33 -32 32 -32H128C145.67 -32 160 -17.67 160 0V160H192V320H95.84C78.21 320 64.39 305.63 63.91 288.01zM448.0900000000001 288.01C447.61 305.63 433.79 320 416.1600000000001 320H320V160H352V0C352 -17.67 366.33 -32 384 -32H480C497.67 -32 512 -17.67 512 0V44C508.54 173.78 450.6 194.16 448.0900000000001 288.01zM176 416H112C103.16 416 96 408.8400000000001 96 400V352H192V400C192 408.8400000000001 184.84 416 176 416zM224 160H288V320H224V160z" glyph-name="binoculars" horiz-adv-x="512" unicode=""/><glyph d="M287.9 336C306.5 336 324.1 332.2 340.7 326.4C354 336.7 364.3 350.7 370.2 367.1C345 378 317.2 384.1 288 384.1C258.9 384.1 231.1 378.1 205.9 367.2000000000001C211.8 350.8 222.1 336.8 235.4 326.5C251.9 332.2000000000001 269.4 336 287.9 336zM163.6 9.3C175.6 21.1 184 35.7 188.1 51.7C155.2 78.1 133.3 117 129.2 161.3C120.7 164.1 112 165.9 102.8 165.9C95.2 165.9 87.6 164.9 80.3 162.8C84.4 99.9999999999999 116.1 44.8 163.6 9.3zM387.8 51.9C391.9 35.9 400.3 21.2 412.3 9.4C459.6999999999999 44.9 491.4 100.1 495.3 162.9C488.1 164.9 480.6 165.9 473.1 165.9C463.9 165.9 455.1 164.0000000000001 446.5 161.2000000000001C442.3999999999999 117.0000000000001 420.5 78.3000000000001 387.8 51.9zM501.3 256.9000000000001C483.6999999999999 267.3000000000001 464.9999999999999 273.5 446 276.8000000000001C451.9999999999999 294.5 455.9999999999999 313.2000000000001 455.9999999999999 333.0000000000001C455.9999999999999 374.0000000000001 441.5 413.8000000000001 415 445.2000000000001C412.5 448.2000000000001 408.3999999999999 448.9000000000001 405 447.0000000000001C401.7 445.1 400.2 441.0000000000001 401.3999999999999 437.3000000000001C405.8999999999999 423.5000000000001 408 411.0000000000001 408 398.8000000000001C408 331.0000000000001 354.2 275.9000000000001 288 275.9000000000001S168 331 168 398.8C168 410.9 170.2 423.5 174.6 437.3C175.8 441 174.3 445.1 171 447C167.6 448.9 163.5 448.2 161 445.2C134.6 413.8 120 374 120 333C120 313.2 123.9 294.5 130 276.8C111.1 273.5 92.3 267.3 74.7 256.9C40.1 236.4 13.7 203.6 0.4 164.5C-0.9 160.8 0.6 156.8 3.9 154.7C7.2 152.7 11.4 153.4 13.9 156.3C23.3 167.1 32.9 175.4 43.1 181.4C100.4 215.3000000000001 173.9 195.1 207 136.4C240.1 77.7000000000001 220.4 2.4 163.1 -31.5C152.9 -37.6 141.1 -41.9 127.3 -44.9C123.6 -45.7 120.9 -49.1 120.9 -53C121 -57 123.6 -60.3 127.4 -61C167.1 -68.7999999999999 208 -61.8 242.6 -41.3C260.6 -30.7 275.5 -16.8 287.9 -1.2C300.3 -16.8 315.2 -30.7 333.2 -41.3C367.8 -61.8 408.7 -68.7999999999999 448.4 -61C452.2 -60.3 454.8 -57 454.9 -53C454.9 -49.1 452.3 -45.7 448.5 -44.9C434.6 -42 422.9 -37.6 412.7 -31.5C355.4 2.4 335.7 77.7 368.8 136.4S475.4 215.3 532.7 181.4C542.9000000000001 175.3 552.5 167.1 561.9000000000001 156.3C564.4000000000001 153.4 568.6000000000001 152.6999999999999 571.9000000000001 154.6999999999999S576.7 160.8 575.4000000000001 164.5C562.3000000000001 203.5999999999999 535.9000000000001 236.5 501.3000000000001 256.9zM287.9 127.9C261.4 127.9 239.9 149.4 239.9 175.9S261.4 223.9 287.9 223.9S335.9 202.4 335.9 175.9S314.4 127.9 287.9 127.9z" glyph-name="biohazard" horiz-adv-x="576" unicode=""/><glyph d="M448 64C419.98 64 416.74 96 373.5 96C330.07 96 326.675 64 298.75 64C271.055 64 267.296 96 224 96C181.158 96 176.782 64 149.5 64C121.352 64 118.298 96 74.75 96C31.203 96 28.097 64 0 64V144C0 170.5 21.5 192 48 192H64V336H128V192H192V336H256V192H320V336H384V192H400C426.5 192 448 170.5 448 144V64zM448 -64H0V32C43.356 32 46.767 64 74.75 64C102.701 64 106.003 32 149.5 32C192.343 32 196.717 64 224 64C252.148 64 255.201 32 298.75 32C342.107 32 345.517 64 373.5 64C400.988 64 404.752 32 448 32V-64zM96 352C78.25 352 64 366.25 64 384C64 415 96 407 96 448C108 448 128 418.5 128 392S113.75 352 96 352zM224 352C206.25 352 192 366.25 192 384C192 415 224 407 224 448C236 448 256 418.5 256 392S241.75 352 224 352zM352 352C334.25 352 320 366.25 320 384C320 415 352 407 352 448C364 448 384 418.5 384 392S369.75 352 352 352z" glyph-name="birthday-cake" horiz-adv-x="448" unicode=""/><glyph d="M392 384H558.54L576 448H192V96H480L497.46 160H392C387.58 160 384 163.58 384 168V184C384 188.42 387.58 192 392 192H506.18L523.64 256H392C387.58 256 384 259.5800000000001 384 264V280C384 284.42 387.58 288 392 288H532.36L549.82 352H392C387.58 352 384 355.58 384 360V376C384 380.42 387.58 384 392 384zM158.8 112.99L133.02 176.25C130.24 183.06 123.22 187.24 115.78 186.51L70.75 182.09C53.47 229.03 53.1 281.87 70.75 329.81L115.78 325.39C123.21 324.66 130.24 328.85 133.02 335.65L158.8 398.91C161.82 406.3 159 414.76 152.12 418.98L112.84 443.08C98.51 451.87 80.09 448.5 68.95 436.03C-23.62 332.43 -23.05 176.48 71.05 73.54C80.92 62.74 100.17 61.06 112.7 68.74L152.11 92.92C159 97.14 161.81 105.59 158.8 112.99zM480 64H192C156.65 64 128 35.35 128 0V-32C128 -49.67 142.33 -64 160 -64H512C529.67 -64 544 -49.67 544 -32V0C544 35.35 515.35 64 480 64zM336 -32C318.33 -32 304 -17.67 304 0S318.33 32 336 32S368 17.67 368 0S353.67 -32 336 -32z" glyph-name="blender-phone" horiz-adv-x="576" unicode=""/><glyph d="M416 64H160C124.65 64 96 35.35 96 0V-32C96 -49.67 110.33 -64 128 -64H448C465.67 -64 480 -49.67 480 -32V0C480 35.35 451.35 64 416 64zM288 -32C270.33 -32 256 -17.67 256 0S270.33 32 288 32S320 17.67 320 0S305.67 -32 288 -32zM328 384H494.54L512 448H48C21.49 448 0 426.51 0 400V240C0 213.49 21.49 192 48 192H151.27L160 96H416L433.46 160H328C323.58 160 320 163.58 320 168V184C320 188.42 323.58 192 328 192H442.18L459.64 256H328C323.58 256 320 259.5800000000001 320 264V280C320 284.42 323.58 288 328 288H468.36L485.82 352H328C323.58 352 320 355.58 320 360V376C320 380.42 323.58 384 328 384zM64 256V384H133.82L145.46 256H64z" glyph-name="blender" horiz-adv-x="512" unicode=""/><glyph d="M380.15 -62.837A8 8 0 0 0 369.161 -60.15L243.831 146.2770000000001A31.923 31.923 0 0 1 256.7890000000001 155.7620000000001L382.8370000000001 -51.8459999999999A8 8 0 0 0 380.1500000000001 -62.8369999999999zM142.803 133.662L110.263 44.177L146.383 -44.1080000000001C153.076 -60.4680000000001 171.76 -68.3000000000001 188.116 -61.609C204.473 -54.917 212.309 -36.2330000000001 205.617 -19.8750000000001L142.803 133.6619999999999zM96 360C120.301 360 140 379.699 140 404S120.301 448 96 448S52 428.301 52 404S71.699 360 96 360zM250.837 190.872L130.837 342.872C126.104 348.867 119.087 351.98 112 351.9840000000001V352H80V351.974C72.854 351.971 65.783 348.813 61.056 342.7340000000001L0 264.2340000000001V168.54C0 155.085 11.011 143.749 24.464 144.004C37.505 144.252 48 154.9 48 168V247.766L64 268.337V127.639L9.927 -21.055C3.887 -37.664 12.455 -56.024 29.065 -62.064C45.667 -68.1030000000001 64.033 -59.54 70.074 -42.926L136 138.362V245.559L104.594 285.375A4 4 0 1 0 110.863 290.346L213.163 161.129C222.308 149.545 237.531 149.79 246.871 157.1640000000001C257.281 165.3800000000001 259.0300000000001 180.4980000000001 250.837 190.8720000000001z" glyph-name="blind" horiz-adv-x="384" unicode=""/><glyph d="M172.2 221.2C157.6 224.1 144 212.3 144 197.4V147C144 136.8 151.1 128.6 160.7 125C178.9 118.2 192 100.6 192 80C192 53.5 170.5 32 144 32S96 53.5 96 80V328C96 341.3 85.3 352 72 352H24C10.7 352 0 341.3 0 328V80C0 -9.5 82.1 -80.2 175 -60.7C229.4 -49.3 273.3 -5.3 284.7 49C302.1 131.9 247.7 206.2 172.2 221.2zM209 448C199.8 448.5 192 441.2 192 432V400.4C192 391.9 198.6 384.9 207 384.5C336.4 377.5 440.4 272.5 447.9 143C448.4 134.6 455.4 128 463.8 128H495.9C505.1 128 512.4 135.8 511.9 145C503.4 308.2 372.2 439.4 209 448zM209.3 352C200 352.7 192 345.3 192 335.9V303.8C192 295.4 198.5 288.5 206.8 287.9C283.6 281.6 344.8 219.7 351.7000000000001 142.7000000000001C352.5000000000001 134.4 359.3000000000001 128.0000000000001 367.6 128.0000000000001H399.8C409.1 128.0000000000001 416.6 136.0000000000001 415.9000000000001 145.3000000000001C407.5000000000001 255.4000000000001 319.4000000000001 343.5000000000001 209.3000000000001 352.0000000000001z" glyph-name="blog" horiz-adv-x="512" unicode=""/><glyph d="M304.793 204.109C338.432 222.646 358.45 258.269 358.45 299.802C358.45 348.038 332.2 387.428 289.824 403.981C265.138 413.99 240.849 416 209.661 416H24C15.163 416 8 408.837 8 400V366.951C8 358.114 15.163 350.951 24 350.951H57.113V32.4210000000001H24C15.163 32.4210000000001 8 25.258 8 16.4210000000001V-16C8 -24.837 15.163 -32 24 -32H219.69C243.893 -32 264.524 -30.711 286.556 -24.416C337.52 -9.193 376 37.353 376 97.986C376 150.154 349.427 189.67 304.793 204.109zM142.217 347.1910000000001H209.661C225.955 347.1910000000001 237.197 345.1720000000001 247.186 340.474C263.014 331.995 272.092 313.972 272.092 291.028C272.092 255.999 251.772 234.2380000000001 219.063 234.2380000000001H142.217V347.1910000000001zM254.859 41.716C244.719 37.66 232.182 36.809 223.45 36.809H142.217V166.057H226.584C266.229 166.057 289.641 140.677 289.641 103C289.642 74.575 275.981 50.517 254.8590000000001 41.716z" glyph-name="bold" horiz-adv-x="384" unicode=""/><glyph d="M296 288H180.6L223.2 417.8C227.2 433 215.7 448 200 448H56C44 448 33.8 439.1 32.2 427.2L0.2 187.2C-1.7 172.8 9.5 160 24 160H142.7L96.6 -34.5C93 -49.7 104.6 -64 119.9 -64C128.3 -64 136.3 -59.6 140.7 -52L316.7 252C326 267.9 314.5 288 296 288z" glyph-name="bolt" horiz-adv-x="320" unicode=""/><glyph d="M440.5 359.5L388.5 307.5L415 281C424.4 271.6 424.4 256.4 415 247.1L397.6 229.7C409.4000000000001 203.6 416 174.6 416 144.1C416 29.2 322.9 -63.9 208 -63.9S0 29.1 0 144S93.1 352 208 352C238.5 352 267.5 345.4 293.6 333.6L311 351C320.4 360.4 335.6 360.4 344.9 351L371.4 324.5L423.4 376.5L440.5 359.5zM500 388H476C469.4 388 464 382.6 464 376S469.4 364 476 364H500C506.6 364 512 369.4 512 376S506.6 388 500 388zM440 448C433.4 448 428 442.6 428 436V412C428 405.4 433.4 400 440 400S452 405.4 452 412V436C452 442.6 446.6 448 440 448zM473.9 393L490.9 410C495.6 414.7 495.6 422.3 490.9 427C486.2 431.7 478.6 431.7 473.9 427L456.9 410C452.2 405.3 452.2 397.7 456.9 393C461.7 388.3 469.3 388.3 473.9 393zM406.1 393C410.8 388.3 418.4 388.3 423.1 393C427.8 397.7 427.8 405.3 423.1 410L406.1 427C401.4 431.7 393.8 431.7 389.1 427C384.4 422.3 384.4 414.7 389.1 410L406.1 393zM473.9 359C469.2 363.7 461.6 363.7 456.9 359C452.2 354.3 452.2 346.7 456.9 342L473.9 325C478.6 320.3 486.2 320.3 490.9 325C495.6 329.7 495.6 337.3 490.9 342L473.9 359zM112 176C112 211.3 140.7 240 176 240C184.8 240 192 247.2 192 256S184.8 272 176 272C123.1 272 80 228.9 80 176C80 167.2 87.2 160 96 160S112 167.2 112 176z" glyph-name="bomb" horiz-adv-x="512" unicode=""/><glyph d="M598.88 203.44C624.08 216.04 640 241.8 640 269.9700000000001V277.61C640 318.7 606.7 352 565.61 352C533.59 352 505.17 331.51 495.04 301.14C487.36 278.11 483.44 256 456.93 256H183.06C155.68 256 151.48 281.54 144.95 301.14C134.83 331.51 106.4 352 74.39 352C33.3 352 0 318.7 0 277.61V269.9700000000001C0 241.8 15.92 216.04 41.12 203.44C50.55 198.73 50.55 185.2700000000001 41.12 180.56C15.92 167.96 0 142.2 0 114.03V106.39C0 65.3 33.3 32 74.38 32C106.4 32 134.82 52.49 144.95 82.86C152.63 105.89 156.55 128 183.06 128H456.93C484.31 128 488.51 102.46 495.04 82.86C505.17 52.49 533.6 32 565.61 32C606.69 32 639.99 65.3 639.99 106.39V114.03C639.99 142.21 624.07 167.96 598.87 180.56C589.45 185.2699999999999 589.45 198.73 598.88 203.44z" glyph-name="bone" horiz-adv-x="640" unicode=""/><glyph d="M302.5 -64C325.68 -64 346.93 -51.42 358.5 -31.34C374.69 -3.26 384 29.25 384 64C384 100.12 373.92 133.81 356.56 162.62L400 206.06L409.38 196.68C415.63 190.43 425.76 190.43 432.01 196.68L443.31 208C449.56 214.25 449.56 224.38 443.31 230.63L390.62 283.32C384.37 289.57 374.24 289.57 367.99 283.32L356.68 272.01C350.43 265.76 350.43 255.63 356.68 249.38L366.06 240L326.65 200.59C315.09 211.96 302.12 221.92 288 230.1V384.26L303.9700000000001 384.28C312.79 384.29 319.9400000000001 391.44 319.9500000000001 400.26L319.9900000000001 431.98C320 440.83 312.82 448.01 303.9700000000001 448L80.03 447.74C71.21 447.73 64.06 440.58 64.05 431.76L64.01 400.03C64 391.18 71.18 384.01 80.03 384.02L96 384.04V230.11C38.67 196.9 0 135.03 0 64C0 29.25 9.31 -3.27 25.5 -31.34C37.08 -51.42 58.33 -64 81.5 -64H302.5zM120.06 188.57L144 202.44V384.0900000000001L240 384.2V202.44L263.94 188.57C288.75 174.2 308.06 152.84 320.5 128H63.5C75.95 152.84 95.25 174.2 120.06 188.57z" glyph-name="bong" horiz-adv-x="448" unicode=""/><glyph d="M272 312C280.84 312 288 319.16 288 328S280.84 344 272 344S256 336.8400000000001 256 328S263.1600000000001 312 272 312zM448 89.6V422.4C448 438.4 438.4 448 422.4 448H96C41.6 448 0 406.4 0 352V32C0 -22.4 41.6 -64 96 -64H422.4C435.2 -64 448 -54.4 448 -38.4V-22.4C448 -16 444.8 -9.6 438.4 -3.2C435.2 12.8 435.2 57.6 438.4 70.4C444.8 73.6 448 80 448 89.6zM240 392C284.18 392 320 363.35 320 328C320 307.13 307.32 288.77 288 277.0900000000001V264C288 255.16 280.84 248 272 248H208C199.16 248 192 255.16 192 264V277.0900000000001C172.68 288.77 160 307.13 160 328C160 363.35 195.82 392 240 392zM129.05 214.15A7.996000000000001 7.996000000000001 0 0 0 124.85 224.65L131.14 239.35A7.995 7.995 0 0 0 141.65 243.55L240 201.4L338.35 243.55C342.4100000000001 245.29 347.12 243.4100000000001 348.86 239.35L355.1500000000001 224.65A7.996000000000001 7.996000000000001 0 0 0 350.9500000000001 214.15L280.6 184L350.9400000000001 153.85A7.996000000000001 7.996000000000001 0 0 0 355.1400000000001 143.35L348.85 128.65A8.008 8.008 0 0 0 338.3400000000001 124.4400000000001L240 166.6L141.65 124.4500000000001A8.003 8.003 0 0 0 131.14 128.66L124.85 143.36A7.996000000000001 7.996000000000001 0 0 0 129.05 153.86L199.4 184L129.05 214.15zM380.8 0H96C76.8 0 64 12.8 64 32S80 64 96 64H380.8V0zM208 312C216.84 312 224 319.16 224 328S216.84 344 208 344S192 336.8400000000001 192 328S199.16 312 208 312z" glyph-name="book-dead" horiz-adv-x="448" unicode=""/><glyph d="M542.22 415.95C487.42 412.8400000000001 378.5 401.52 311.26 360.36C306.62 357.52 303.99 352.4700000000001 303.99 347.19V-16.68C303.99 -28.23 316.62 -35.53 327.27 -30.17C396.45 4.65 496.5 14.15 545.97 16.75C562.86 17.64 575.99 31.18 575.99 47.41V385.25C576 402.96 560.64 416.99 542.22 415.95zM264.73 360.36C197.5 401.52 88.58 412.83 33.78 415.95C15.36 416.99 0 402.96 0 385.25V47.4C0 31.16 13.13 17.62 30.02 16.74C79.51 14.1399999999999 179.61 4.6299999999999 248.79 -30.21C259.4100000000001 -35.5600000000001 272 -28.27 272 -16.7500000000001V347.37C272 352.6600000000001 269.38 357.51 264.73 360.36z" glyph-name="book-open" horiz-adv-x="576" unicode=""/><glyph d="M352 352C352 405.02 309.02 448 256 448S160 405.02 160 352S202.98 256 256 256S352 298.98 352 352zM233.59 206.9C174.26 243.22 78.16 253.2 29.8 255.95C13.55 256.87 0 244.49 0 228.86V6.06C0 -8.27 11.59 -20.22 26.49 -20.99C70.15 -23.28 158.48 -31.67 219.53 -62.42C228.9 -67.14 240.01 -60.71 240.01 -50.55V195.44C240 200.11 237.69 204.39 233.59 206.9zM482.2 255.95C433.85 253.21 337.74 243.22 278.4200000000001 206.9C274.3200000000001 204.39 272.0100000000001 199.94 272.0100000000001 195.27V-50.52C272.0100000000001 -60.71 283.1500000000001 -67.15 292.5500000000001 -62.42C353.5900000000001 -31.6999999999999 441.8700000000001 -23.3099999999999 485.5200000000001 -21.02C500.4200000000001 -20.24 512.0100000000001 -8.29 512.0100000000001 6.04V228.86C512.0000000000001 244.49 498.4500000000001 256.87 482.2000000000001 255.95z" glyph-name="book-reader" horiz-adv-x="512" unicode=""/><glyph d="M448 88V424C448 437.3 437.3 448 424 448H96C43 448 0 405 0 352V32C0 -21 43 -64 96 -64H424C437.3 -64 448 -53.3 448 -40V-24C448 -16.5 444.5 -9.7 439.1 -5.3C434.9000000000001 10.1 434.9000000000001 54 439.1 69.4C444.5 73.7 448 80.5 448 88zM128 314C128 317.3 130.7 320 134 320H346C349.3 320 352 317.3 352 314V294C352 290.7 349.3 288 346 288H134C130.7 288 128 290.7 128 294V314zM128 250C128 253.3 130.7 256 134 256H346C349.3 256 352 253.3 352 250V230C352 226.7 349.3 224 346 224H134C130.7 224 128 226.7 128 230V250zM381.4 0H96C78.3 0 64 14.3 64 32C64 49.6 78.4 64 96 64H381.4C379.5 46.9 379.5 17.1 381.4 0z" glyph-name="book" horiz-adv-x="448" unicode=""/><glyph d="M0 -64V400C0 426.51 21.49 448 48 448H336C362.51 448 384 426.51 384 400V-64L192 48L0 -64z" glyph-name="bookmark" horiz-adv-x="384" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM120 256C102.3 256 88 270.3 88 288S102.3 320 120 320S152 305.7 152 288S137.7 256 120 256zM184 352C184 369.7 198.3 384 216 384S248 369.7 248 352S233.7 320 216 320S184 334.3 184 352zM232 208C214.3 208 200 222.3 200 240S214.3 272 232 272S264 257.7 264 240S249.7 208 232 208z" glyph-name="bowling-ball" horiz-adv-x="496" unicode=""/><glyph d="M53.2 407L1.7 304.2C-2.9 295 2 284 11.8 281.2L209.7 224.7C216.8 222.7 224.4 225.7 228.2 232L320 384L69.8 415.9C62.9 416.7 56.3 413.2 53.2 407zM638.3000000000001 304.2L586.8 407C583.6999999999999 413.2 577 416.8 570.0999999999999 415.9L320 384L411.7 231.9C415.5 225.6 423.1 222.6 430.2 224.6L628.1 281.1C638 284 642.8000000000001 295 638.3000000000001 304.2zM425.7 192C408.8 192 392.9 201 384.3 215.4L320 322L255.8 215.4C247.1 200.9 231.2 191.9 214.3 191.9C209.8 191.9 205.3 192.5 201 193.8L64 233V55C64 40.3 74 27.5 88.2 24L304.4 -30.1C314.6 -32.6 325.3 -32.6 335.4 -30.1L551.8 24C566 27.6 576 40.4 576 55V233L439 193.9C434.7 192.6 430.2 192 425.7 192z" glyph-name="box-open" horiz-adv-x="640" unicode=""/><glyph d="M509.5 263.4L458.9 415.2C452.4 434.8 434.1 448 413.4 448H272V256H510.7C510.3 258.5 510.3 261 509.5 263.4zM240 448H98.6C77.9 448 59.6 434.8 53.1 415.2L2.5 263.4C1.7 261 1.7 258.5 1.3 256H240V448zM0 224V-16C0 -42.5 21.5 -64 48 -64H464C490.5 -64 512 -42.5 512 -16V224H0z" glyph-name="box" horiz-adv-x="512" unicode=""/><glyph d="M560 160H480V64L448 85.3L416 64V160H336C327.2 160 320 152.8 320 144V-48C320 -56.8 327.2 -64 336 -64H560C568.8 -64 576 -56.8 576 -48V144C576 152.8 568.8 160 560 160zM176 224H400C408.8 224 416 231.2 416 240V432C416 440.8 408.8 448 400 448H320V352L288 373.3L256 352V448H176C167.2 448 160 440.8 160 432V240C160 231.2 167.2 224 176 224zM240 160H160V64L128 85.3L96 64V160H16C7.2 160 0 152.8 0 144V-48C0 -56.8 7.2 -64 16 -64H240C248.8 -64 256 -56.8 256 -48V144C256 152.8 248.8 160 240 160z" glyph-name="boxes" horiz-adv-x="576" unicode=""/><glyph d="M128 192C128 156.654 99.346 128 64 128S0 156.654 0 192S28.654 256 64 256S128 227.346 128 192zM64 64C46.327 64 32 49.673 32 32S46.327 0 64 0S96 14.327 96 32S81.673 64 64 64zM64 416C28.654 416 0 387.346 0 352S28.654 288 64 288S128 316.654 128 352S99.346 416 64 416zM224 224C206.327 224 192 209.673 192 192S206.327 160 224 160S256 174.327 256 192S241.673 224 224 224zM224 64C206.327 64 192 49.673 192 32S206.327 0 224 0S256 14.327 256 32S241.673 64 224 64zM224 416C188.654 416 160 387.346 160 352S188.654 288 224 288S288 316.654 288 352S259.346 416 224 416zM448 224C430.327 224 416 209.673 416 192S430.327 160 448 160S480 174.327 480 192S465.673 224 448 224zM448 64C430.327 64 416 49.673 416 32S430.327 0 448 0S480 14.327 480 32S465.673 64 448 64zM448 416C412.654 416 384 387.346 384 352S412.654 288 448 288S512 316.654 512 352S483.346 416 448 416zM608 224C590.327 224 576 209.673 576 192S590.327 160 608 160S640 174.327 640 192S625.673 224 608 224zM608 64C590.327 64 576 49.673 576 32S590.327 0 608 0S640 14.327 640 32S625.673 64 608 64zM608 384C590.327 384 576 369.673 576 352S590.327 320 608 320S640 334.327 640 352S625.673 384 608 384z" glyph-name="braille" horiz-adv-x="640" unicode=""/><glyph d="M208 448C178.13 448 153.26 427.45 146.2 399.78C145.45 399.8 144.75 400 144 400C108.66 400 80 371.35 80 336C80 331.16 80.64 326.49 81.66 321.9600000000001C52.54 310 32 281.43 32 248C32 235.42 35.16 223.68 40.34 213.09C16.34 199.28 0 173.67 0 144C0 110.66 20.42 82.12 49.42 70.11C48.52 65.54 48 60.83 48 56C48 16.24 80.23 -16 120 -16C124.12 -16 128.1 -15.45 132.03 -14.79C141.61 -43.31 168.25 -64 200 -64C239.77 -64 272 -31.76 272 8V242.55C261.09 233.57 248.02 227.1 233.64 224.16C228.67 223.14 224 226.98 224 232.05V248.23C224 251.8 226.35 255.01 229.8 255.89C254 262.05 272 283.8400000000001 272 309.93V384C272 419.35 243.34 448 208 448zM576 144C576 173.67 559.66 199.28 535.66 213.09C540.8299999999999 223.68 544 235.42 544 248C544 281.43 523.46 310 494.34 321.96C495.36 326.49 496.0000000000001 331.16 496.0000000000001 336C496.0000000000001 371.35 467.34 400 432.0000000000001 400C431.2500000000001 400 430.5500000000001 399.8 429.8000000000001 399.78C422.74 427.45 397.87 448 368 448C332.66 448 304 419.35 304 384V309.93C304 283.8400000000001 321.99 262.05 346.2 255.89C349.66 255.01 352 251.8 352 248.23V232.05C352 226.98 347.32 223.14 342.36 224.16C327.98 227.1 314.92 233.57 304 242.55V8C304 -31.76 336.23 -64 376 -64C407.75 -64 434.39 -43.31 443.9700000000001 -14.79C447.9000000000001 -15.46 451.8800000000001 -16 456 -16C495.77 -16 528 16.24 528 56C528 60.83 527.48 65.54 526.58 70.11C555.58 82.12 576 110.66 576 144z" glyph-name="brain" horiz-adv-x="576" unicode=""/><glyph d="M464 320H384V368C384 394.5 362.5 416 336 416H176C149.5 416 128 394.5 128 368V320H48C21.5 320 0 298.5 0 272V-16C0 -42.5 21.5 -64 48 -64H464C490.5 -64 512 -42.5 512 -16V272C512 298.5 490.5 320 464 320zM192 352H320V320H192V352zM352 104C352 99.6 348.4 96 344 96H288V40C288 35.6 284.4 32 280 32H232C227.6 32 224 35.6 224 40V96H168C163.6 96 160 99.6 160 104V152C160 156.4 163.6 160 168 160H224V216C224 220.4 227.6 224 232 224H280C284.4 224 288 220.4 288 216V160H344C348.4 160 352 156.4 352 152V104z" glyph-name="briefcase-medical" horiz-adv-x="512" unicode=""/><glyph d="M320 112C320 103.16 312.84 96 304 96H208C199.16 96 192 103.16 192 112V160H0V16C0 -9.6 22.4 -32 48 -32H464C489.6 -32 512 -9.6 512 16V160H320V112zM464 320H384V368C384 393.6 361.6 416 336 416H176C150.4 416 128 393.6 128 368V320H48C22.4 320 0 297.6 0 272V192H512V272C512 297.6 489.6 320 464 320zM320 320H192V352H320V320z" glyph-name="briefcase" horiz-adv-x="512" unicode=""/><glyph d="M150.94 256H184.67C195.68 256 203.28 266.8300000000001 199.53 277.18C194.6 290.76 191.98 305.16 191.98 320S194.6 349.24 199.53 362.82C203.29 373.17 195.68 384 184.67 384H150.94C143.93 384 137.48 379.51 135.53 372.77C130.64 355.79 128 338.12 128 320C128 301.88 130.64 284.2100000000001 135.54 267.24C137.48 260.5 143.93 256 150.94 256zM89.92 424.6600000000001C95.56 435.28 87.97 448 75.96 448H40.63C34.36 448 28.49 444.4100000000001 25.89 438.69C9.4 402.46 0 362.35 0 320C0 295.25 3.12 251.67 26.69 201.14C29.31 195.51 35.11 192 41.3 192H76.14C88.16 192 95.75 204.74 90.09 215.37C40.31 308.69 73.38 393.52 89.92 424.66zM614.06 438.71C611.46 444.42 605.6 448 599.33 448H563.9100000000001C551.9300000000001 448 544.2500000000001 435.34 549.8900000000001 424.75C568.1600000000001 390.46 598.3100000000001 305.33 550.1700000000001 215.52C544.45 204.84 551.97 192 564.08 192H599.3100000000001C605.58 192 611.44 195.58 614.0400000000001 201.29C630.57 237.52 640 277.64 640 320S630.58 402.48 614.06 438.71zM489.06 384H455.33C444.32 384 436.72 373.17 440.47 362.82C445.4 349.24 448.02 334.84 448.02 320S445.4 290.76 440.47 277.18C436.71 266.8300000000001 444.32 256 455.33 256H489.06C496.08 256 502.52 260.49 504.47 267.24C509.37 284.2100000000001 512 301.88 512 320C512 338.12 509.36 355.79 504.46 372.76C502.52 379.51 496.07 384 489.06 384zM372.76 283.88C379.81 294.17 383.96 306.5900000000001 383.96 320C383.96 355.35 355.33 384 320 384C284.68 384 256.04 355.35 256.04 320C256.04 306.5900000000001 260.19 294.17 267.24 283.88L136.74 -29.53C133.34 -37.68 137.2 -47.05 145.35 -50.45L174.86 -62.76C183.01 -66.1600000000001 192.38 -62.3000000000001 195.77 -54.15L244.96 64H395.03L444.23 -54.15C447.63 -62.31 456.99 -66.16 465.14 -62.76L494.65 -50.45C502.8 -47.05 506.65 -37.68 503.26 -29.53L372.76 283.8800000000001zM271.62 128L320 244.19L368.38 128H271.62z" glyph-name="broadcast-tower" horiz-adv-x="640" unicode=""/><glyph d="M256.4700000000001 231.23L343.2000000000001 122.05S326.6 19.6899999999999 266.6300000000001 -28.07C206.66 -75.85 0 -62.19 0 -62.19S3.8 -39.05 11 -6.76L105.62 105.41C109.59 110.11 104.75 117.03 98.97 114.91L38.57 92.8200000000001C53.01 134.48 71.29 172.8600000000001 93.17 190.2900000000001C153.14 238.0500000000001 256.4700000000001 231.2300000000001 256.4700000000001 231.2300000000001zM636.53 416.9700000000001L616.67 441.9700000000001C611.18 448.87 601.15 450.02 594.26 444.53L361.78 266.73L327.64 309.7C322.55 316.11 312.5 314.91 309.05 307.49L283.7200000000001 252.94L370.4500000000001 143.76L429.2500000000001 156.21C437.2500000000001 157.9 440.6700000000001 167.41 435.5900000000001 173.81L401.5 216.73L633.98 394.5300000000001C640.87 400.0100000000001 642.02 410.0600000000001 636.53 416.9700000000001z" glyph-name="broom" horiz-adv-x="640" unicode=""/><glyph d="M352 448H32C14.33 448 0 433.67 0 416V192H384V416C384 433.67 369.67 448 352 448zM0 128C0 92.65 28.66 64 64 64H128V0C128 -35.35 156.66 -64 192 -64S256 -35.35 256 0V64H320C355.3400000000001 64 384 92.65 384 128V160H0V128zM192 24C205.25 24 216 13.26 216 0C216 -13.25 205.25 -24 192 -24S168 -13.25 168 0C168 13.26 178.75 24 192 24z" glyph-name="brush" horiz-adv-x="384" unicode=""/><glyph d="M511.988 159.1C511.51 141.67 496.771 128 479.335 128H424V112C424 90.136 419.118 69.416 410.4 50.855L470.628 -9.373C483.124 -21.87 483.124 -42.131 470.628 -54.628C458.13 -67.125 437.869 -67.124 425.372 -54.628L370.636 0.108C345.886 -19.965 314.351 -32 280 -32V212C280 218.627 274.627 224 268 224H244C237.373 224 232 218.627 232 212V-32C197.649 -32 166.114 -19.965 141.364 0.108L86.628 -54.628C74.13 -67.125 53.869 -67.124 41.372 -54.628C28.876 -42.131 28.876 -21.87 41.372 -9.373L101.6 50.855C92.882 69.416 88 90.136 88 112V128H32.666C15.23 128 0.491 141.67 0.013 159.1C-0.484 177.184 14.028 192 32 192H88V250.745L41.372 297.373C28.876 309.87 28.876 330.131 41.372 342.628C53.87 355.125 74.13 355.125 86.628 342.628L141.255 288H370.7440000000001L425.3710000000001 342.627C437.8690000000001 355.124 458.129 355.124 470.6270000000001 342.627C483.123 330.13 483.123 309.8690000000001 470.6270000000001 297.372L424 250.745V192H480C497.972 192 512.484 177.184 511.988 159.1zM257 448C195.144 448 145 397.856 145 336H369C369 397.856 318.856 448 257 448z" glyph-name="bug" horiz-adv-x="512" unicode=""/><glyph d="M436 -32H416V424C416 437.255 405.255 448 392 448H56C42.745 448 32 437.255 32 424V-32H12C5.373 -32 0 -37.373 0 -44V-64H448V-44C448 -37.373 442.627 -32 436 -32zM128 372C128 378.627 133.373 384 140 384H180C186.627 384 192 378.627 192 372V332C192 325.373 186.627 320 180 320H140C133.373 320 128 325.373 128 332V372zM128 276C128 282.627 133.373 288 140 288H180C186.627 288 192 282.627 192 276V236C192 229.373 186.627 224 180 224H140C133.373 224 128 229.373 128 236V276zM180 128H140C133.373 128 128 133.373 128 140V180C128 186.627 133.373 192 140 192H180C186.627 192 192 186.627 192 180V140C192 133.373 186.627 128 180 128zM256 -32H192V52C192 58.627 197.373 64 204 64H244C250.627 64 256 58.627 256 52V-32zM320 140C320 133.373 314.627 128 308 128H268C261.373 128 256 133.373 256 140V180C256 186.627 261.373 192 268 192H308C314.627 192 320 186.627 320 180V140zM320 236C320 229.373 314.627 224 308 224H268C261.373 224 256 229.373 256 236V276C256 282.627 261.373 288 268 288H308C314.627 288 320 282.627 320 276V236zM320 332C320 325.373 314.627 320 308 320H268C261.373 320 256 325.373 256 332V372C256 378.627 261.373 384 268 384H308C314.627 384 320 378.627 320 372V332z" glyph-name="building" horiz-adv-x="448" unicode=""/><glyph d="M576 208C576 231.63 563.05 252.04 544 263.12V415.99C544 424.74 537.02 448 512 448C504.88 448 497.81 445.62 492.02 440.98L406.99 372.95C364.28 338.81 310.6600000000001 320 256 320H64C28.65 320 0 291.35 0 256V160C0 124.65 28.65 96 64 96H97.7C96.31 85.52 95.52 74.86 95.52 64C95.52 24.23 104.78 -13.35 121.08 -46.94C126.27 -57.63 137.6 -64 149.48 -64H223.76C249.81 -64 265.45 -34.16 249.66 -13.44C233.26 8.08 223.51 34.92 223.51 64C223.51 75.11 225.13 85.79 227.92 96H256C310.66 96 364.28 77.19 406.98 43.05L492.01 -24.98A32.023 32.023 0 0 1 511.99 -32C536.91 -32 543.99 -9.22 543.99 0V152.87C563.05 163.96 576 184.37 576 208zM480 66.58L446.95 93.02C392.95 136.22 325.12 160 256 160V256C325.12 256 392.95 279.78 446.95 322.98L480 349.42V66.58z" glyph-name="bullhorn" horiz-adv-x="576" unicode=""/><glyph d="M248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM248 8C146.31 8 64 90.29 64 192C64 293.69 146.29 376 248 376C349.69 376 432 293.71 432 192C432 90.31 349.71 8 248 8zM248 320C177.31 320 120 262.69 120 192S177.31 64 248 64S376 121.31 376 192S318.69 320 248 320zM248 128C212.71 128 184 156.71 184 192S212.71 256 248 256S312 227.29 312 192S283.29 128 248 128z" glyph-name="bullseye" horiz-adv-x="496" unicode=""/><glyph d="M192 448C79.7 346.7 0 227.1 0 147.5C0 23 79 -64 192 -64S384 23 384 147.5C384 227.4 303.8 347.1 192 448zM192 0C135.5 0 96 39 96 94.8C96 108.3 100.6 156.3 192 256C283.4 156.3 288 108.3 288 94.8C288 39 248.5 0 192 0z" glyph-name="burn" horiz-adv-x="384" unicode=""/><glyph d="M488 320H480V368C480 412.8 380.8 448 256 448S32 412.8 32 368V320H24C10.75 320 0 309.26 0 296V216C0 202.75 10.75 192 24 192H32V32C32 14.33 46.33 0 64 0V-32C64 -49.67 78.33 -64 96 -64H128C145.67 -64 160 -49.67 160 -32V0H352V-32C352 -49.67 366.33 -64 384 -64H416C433.67 -64 448 -49.67 448 -32V0H454.4C470.4 0 480 12.8 480 25.6V192H488C501.25 192 512 202.75 512 216V296C512 309.26 501.25 320 488 320zM160 376C160 380.42 163.58 384 168 384H344C348.42 384 352 380.42 352 376V360C352 355.58 348.42 352 344 352H168C163.58 352 160 355.58 160 360V376zM112 48C94.33 48 80 62.33 80 80S94.33 112 112 112S144 97.67 144 80S129.67 48 112 48zM240 160H128C110.33 160 96 174.33 96 192V288C96 305.67 110.33 320 128 320H240V160zM272 160V320H384C401.67 320 416 305.67 416 288V192C416 174.33 401.67 160 384 160H272zM400 48C382.33 48 368 62.33 368 80S382.33 112 400 112S432 97.67 432 80S417.67 48 400 48z" glyph-name="bus-alt" horiz-adv-x="512" unicode=""/><glyph d="M488 320H480V368C480 412.8 380.8 448 256 448S32 412.8 32 368V320H24C10.75 320 0 309.26 0 296V216C0 202.75 10.75 192 24 192H32V32C32 14.33 46.33 0 64 0V-32C64 -49.67 78.33 -64 96 -64H128C145.67 -64 160 -49.67 160 -32V0H352V-32C352 -49.67 366.33 -64 384 -64H416C433.67 -64 448 -49.67 448 -32V0H454.4C470.4 0 480 12.8 480 25.6V192H488C501.25 192 512 202.75 512 216V296C512 309.26 501.25 320 488 320zM112 48C94.33 48 80 62.33 80 80S94.33 112 112 112S144 97.67 144 80S129.67 48 112 48zM128 160C110.33 160 96 174.33 96 192V320C96 337.67 110.33 352 128 352H384C401.67 352 416 337.67 416 320V192C416 174.33 401.67 160 384 160H128zM400 48C382.33 48 368 62.33 368 80S382.33 112 400 112S432 97.67 432 80S417.67 48 400 48z" glyph-name="bus" horiz-adv-x="512" unicode=""/><glyph d="M496 224C416.41 224 352 159.59 352 80S416.41 -64 496 -64S640 0.41 640 80S575.59 224 496 224zM560 73.71C560 68.3700000000001 555.63 64.0000000000001 550.29 64.0000000000001H489.72C484.38 64.0000000000001 480.01 68.3700000000001 480.01 73.71V150.28C480.01 155.62 484.38 159.99 489.72 159.99H502.29C507.6299999999999 159.99 511.9999999999999 155.62 511.9999999999999 150.28V96H550.29C555.63 96 560 91.63 560 86.29V73.71zM496 256C501.4 256 506.72 255.67 512 255.19V304C512 329.6 489.6 352 464 352H384V400C384 425.6 361.6 448 336 448H176C150.4 448 128 425.6 128 400V352H48C22.4 352 0 329.6 0 304V224H395.12C423.7200000000001 244.09 458.47 256 496 256zM320 352H192V384H320V352zM326.82 128H208C199.16 128 192 135.16 192 144V192H0V48C0 22.4 22.4 0 48 0H339.43C327.1 24.04 320 51.18 320 80C320 96.66 322.48 112.72 326.82 128z" glyph-name="business-time" horiz-adv-x="640" unicode=""/><glyph d="M400 448H48C22.4 448 0 425.6 0 400V-16C0 -41.6 22.4 -64 48 -64H400C425.6 -64 448 -41.6 448 -16V400C448 425.6 425.6 448 400 448zM128 12.8C128 6.4 121.6 0 115.2 0H76.8C70.4 0 64 6.4 64 12.8V51.2C64 57.6 70.4 64 76.8 64H115.2C121.6 64 128 57.6 128 51.2V12.8zM128 140.8C128 134.4 121.6 128 115.2 128H76.8C70.4 128 64 134.4 64 140.8V179.2C64 185.6 70.4 192 76.8 192H115.2C121.6 192 128 185.6 128 179.2V140.8zM256 12.8C256 6.4 249.6 0 243.2 0H204.8C198.4 0 192 6.4 192 12.8V51.2C192 57.6 198.4 64 204.8 64H243.2C249.6 64 256 57.6 256 51.2V12.8zM256 140.8C256 134.4 249.6 128 243.2 128H204.8C198.4 128 192 134.4 192 140.8V179.2C192 185.6 198.4 192 204.8 192H243.2C249.6 192 256 185.6 256 179.2V140.8zM384 12.8C384 6.4 377.6 0 371.2 0H332.8C326.4000000000001 0 320 6.4 320 12.8V179.2C320 185.6 326.4 192 332.8 192H371.2C377.6 192 384 185.6 384 179.2V12.8zM384 268.8C384 262.4 377.6 256 371.2 256H76.8C70.4 256 64 262.4 64 268.8V371.2C64 377.6 70.4 384 76.8 384H371.2C377.6 384 384 377.6 384 371.2V268.8z" glyph-name="calculator" horiz-adv-x="448" unicode=""/><glyph d="M0 -16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V256H0V-16zM320 180C320 186.6 325.4 192 332 192H372C378.6 192 384 186.6 384 180V140C384 133.4 378.6 128 372 128H332C325.4 128 320 133.4 320 140V180zM320 52C320 58.6 325.4 64 332 64H372C378.6 64 384 58.6 384 52V12C384 5.4 378.6 0 372 0H332C325.4 0 320 5.4 320 12V52zM192 180C192 186.6 197.4 192 204 192H244C250.6 192 256 186.6 256 180V140C256 133.4 250.6 128 244 128H204C197.4 128 192 133.4 192 140V180zM192 52C192 58.6 197.4 64 204 64H244C250.6 64 256 58.6 256 52V12C256 5.4 250.6 0 244 0H204C197.4 0 192 5.4 192 12V52zM64 180C64 186.6 69.4 192 76 192H116C122.6 192 128 186.6 128 180V140C128 133.4 122.6 128 116 128H76C69.4 128 64 133.4 64 140V180zM64 52C64 58.6 69.4 64 76 64H116C122.6 64 128 58.6 128 52V12C128 5.4 122.6 0 116 0H76C69.4 0 64 5.4 64 12V52zM400 384H352V432C352 440.8 344.8 448 336 448H304C295.2 448 288 440.8 288 432V384H160V432C160 440.8 152.8 448 144 448H112C103.2 448 96 440.8 96 432V384H48C21.5 384 0 362.5 0 336V288H448V336C448 362.5 426.5 384 400 384z" glyph-name="calendar-alt" horiz-adv-x="448" unicode=""/><glyph d="M436 288H12C5.373 288 0 293.373 0 300V336C0 362.51 21.49 384 48 384H96V436C96 442.627 101.373 448 108 448H148C154.627 448 160 442.627 160 436V384H288V436C288 442.627 293.373 448 300 448H340C346.627 448 352 442.627 352 436V384H400C426.51 384 448 362.51 448 336V300C448 293.373 442.627 288 436 288zM12 256H436C442.627 256 448 250.627 448 244V-16C448 -42.51 426.51 -64 400 -64H48C21.49 -64 0 -42.51 0 -16V244C0 250.627 5.373 256 12 256zM345.296 160.053L317.127 188.451C312.4600000000001 193.156 304.862 193.187 300.1570000000001 188.519L194.12 83.335L148.14 129.687C143.473 134.392 135.874 134.423 131.169 129.755L102.772 101.5849999999999C98.067 96.918 98.036 89.3199999999999 102.704 84.6149999999999L185.305 1.3459999999999C189.972 -3.3590000000001 197.57 -3.3900000000001 202.275 1.2779999999999L345.228 143.0829999999999C349.933 147.7499999999999 349.964 155.3479999999999 345.296 160.0529999999999z" glyph-name="calendar-check" horiz-adv-x="448" unicode=""/><glyph d="M0 -16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V256H0V-16zM64 176C64 184.8 71.2 192 80 192H176C184.8 192 192 184.8 192 176V80C192 71.2 184.8 64 176 64H80C71.2 64 64 71.2 64 80V176zM400 384H352V432C352 440.8 344.8 448 336 448H304C295.2 448 288 440.8 288 432V384H160V432C160 440.8 152.8 448 144 448H112C103.2 448 96 440.8 96 432V384H48C21.5 384 0 362.5 0 336V288H448V336C448 362.5 426.5 384 400 384z" glyph-name="calendar-day" horiz-adv-x="448" unicode=""/><glyph d="M436 288H12C5.4 288 0 293.4 0 300V336C0 362.5 21.5 384 48 384H96V436C96 442.6 101.4 448 108 448H148C154.6 448 160 442.6 160 436V384H288V436C288 442.6 293.4 448 300 448H340C346.6 448 352 442.6 352 436V384H400C426.5 384 448 362.5 448 336V300C448 293.4 442.6 288 436 288zM12 256H436C442.6 256 448 250.6 448 244V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V244C0 250.6 5.4 256 12 256zM316 64C322.6 64 328 69.4 328 76V116C328 122.6 322.6 128 316 128H132C125.4 128 120 122.6 120 116V76C120 69.4 125.4 64 132 64H316z" glyph-name="calendar-minus" horiz-adv-x="448" unicode=""/><glyph d="M436 288H12C5.4 288 0 293.4 0 300V336C0 362.5 21.5 384 48 384H96V436C96 442.6 101.4 448 108 448H148C154.6 448 160 442.6 160 436V384H288V436C288 442.6 293.4 448 300 448H340C346.6 448 352 442.6 352 436V384H400C426.5 384 448 362.5 448 336V300C448 293.4 442.6 288 436 288zM12 256H436C442.6 256 448 250.6 448 244V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V244C0 250.6 5.4 256 12 256zM328 116C328 122.6 322.6 128 316 128H256V188C256 194.6 250.6 200 244 200H204C197.4 200 192 194.6 192 188V128H132C125.4 128 120 122.6 120 116V76C120 69.4 125.4 64 132 64H192V4C192 -2.6 197.4 -8 204 -8H244C250.6 -8 256 -2.6 256 4V64H316C322.6 64 328 69.4 328 76V116z" glyph-name="calendar-plus" horiz-adv-x="448" unicode=""/><glyph d="M436 288H12C5.4 288 0 293.4 0 300V336C0 362.5 21.5 384 48 384H96V436C96 442.6 101.4 448 108 448H148C154.6 448 160 442.6 160 436V384H288V436C288 442.6 293.4 448 300 448H340C346.6 448 352 442.6 352 436V384H400C426.5 384 448 362.5 448 336V300C448 293.4 442.6 288 436 288zM12 256H436C442.6 256 448 250.6 448 244V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V244C0 250.6 5.4 256 12 256zM269.3 96L317.4000000000001 144.1C322.1 148.8 322.1 156.4 317.4000000000001 161.1L289.1 189.4C284.4000000000001 194.1 276.8 194.1 272.1 189.4L224 141.3L175.9 189.4C171.2 194.1 163.6 194.1 158.9 189.4L130.6 161.1C125.9 156.4 125.9 148.8 130.6 144.1L178.7 96L130.6 47.9C125.9 43.2 125.9 35.6 130.6 30.9L158.9 2.6C163.6 -2.1 171.2 -2.1 175.9 2.6L224 50.7L272.1 2.6C276.8 -2.1 284.4000000000001 -2.1 289.1 2.6L317.4000000000001 30.9C322.1 35.6 322.1 43.2 317.4000000000001 47.9L269.3 96z" glyph-name="calendar-times" horiz-adv-x="448" unicode=""/><glyph d="M0 -16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V256H0V-16zM64 176C64 184.8 71.2 192 80 192H368C376.8 192 384 184.8 384 176V112C384 103.2 376.8 96 368 96H80C71.2 96 64 103.2 64 112V176zM400 384H352V432C352 440.8 344.8 448 336 448H304C295.2 448 288 440.8 288 432V384H160V432C160 440.8 152.8 448 144 448H112C103.2 448 96 440.8 96 432V384H48C21.5 384 0 362.5 0 336V288H448V336C448 362.5 426.5 384 400 384z" glyph-name="calendar-week" horiz-adv-x="448" unicode=""/><glyph d="M12 256H436C442.6 256 448 250.6 448 244V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V244C0 250.6 5.4 256 12 256zM448 300V336C448 362.5 426.5 384 400 384H352V436C352 442.6 346.6 448 340 448H300C293.4 448 288 442.6 288 436V384H160V436C160 442.6 154.6 448 148 448H108C101.4 448 96 442.6 96 436V384H48C21.5 384 0 362.5 0 336V300C0 293.4 5.4 288 12 288H436C442.6 288 448 293.4 448 300z" glyph-name="calendar" horiz-adv-x="448" unicode=""/><glyph d="M48 416C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H464C490.5 -32 512 -10.5 512 16V368C512 394.5 490.5 416 464 416H48zM48 384H154C157.3 384 160 381.3 160 378V358C160 354.7 157.3 352 154 352H38C34.7 352 32 354.7 32 358V368C32 376.8 39.2 384 48 384zM474 288H38C34.7 288 32 290.7 32 294V330C32 333.3 34.7 336 38 336H176L206.2 381.3C207.3 383 209.2 384 211.2 384H464C472.8 384 480 376.8 480 368V294C480 290.7 477.3 288 474 288zM256 24C189.8 24 136 77.8 136 144S189.8 264 256 264S376 210.2 376 144S322.2 24 256 24zM256 232C207.5 232 168 192.5 168 144S207.5 56 256 56S344 95.5 344 144S304.5 232 256 232zM208 128C199.2 128 192 135.2 192 144C192 179.3 220.7 208 256 208C264.8 208 272 200.8 272 192S264.8 176 256 176C238.4 176 224 161.6 224 144C224 135.2 216.8 128 208 128z" glyph-name="camera-retro" horiz-adv-x="512" unicode=""/><glyph d="M512 304V16C512 -10.5 490.5 -32 464 -32H48C21.5 -32 0 -10.5 0 16V304C0 330.5 21.5 352 48 352H136L148.3 384.9C155.3 403.6 173.2 416 193.2 416H318.7000000000001C338.7000000000001 416 356.6 403.6 363.6 384.9L376 352H464C490.5 352 512 330.5 512 304zM376 160C376 226.2 322.2 280 256 280S136 226.2 136 160S189.8 40 256 40S376 93.8 376 160zM344 160C344 111.5 304.5 72 256 72S168 111.5 168 160S207.5 248 256 248S344 208.5 344 160z" glyph-name="camera" horiz-adv-x="512" unicode=""/><glyph d="M624 0H599.32L359.54 330.25L412.9500000000001 403.8C418.1400000000001 410.95 416.5600000000001 420.96 409.4100000000001 426.15L383.5100000000001 444.94C376.3600000000001 450.13 366.3600000000001 448.55 361.1600000000001 441.39L320 384.7L278.83 441.4C273.64 448.55 263.63 450.14 256.48 444.95L230.6 426.15C223.45 420.96 221.86 410.95 227.06 403.8L280.47 330.25L40.68 0H16C7.16 0 0 -7.16 0 -16V-48C0 -56.84 7.16 -64 16 -64H624C632.84 -64 640 -56.84 640 -48V-16C640 -7.16 632.84 0 624 0zM320 160L436.36 0H203.64L320 160z" glyph-name="campground" horiz-adv-x="640" unicode=""/><glyph d="M497.5 356C469.6 414.9 411.8 448 352.4 448C324.5 448 296.2 440.7 270.6 425.4L243.1 409C227.9 399.9 223 380.3 232.1 365.1L264.9 310.2C270.9 300.2 281.5 294.6 292.4 294.6C298 294.6 303.6 296.1 308.8 299.1L336.3 315.5C341.4 318.6 347.1 320 352.7 320C363.5999999999999 320 374.2 314.4 380.2 304.4C389.3 289.3 384.3 269.6 369.2 260.5L15.6 50.4C0.4 41.3 -4.5 21.7 4.6 6.5L37.4 -48.4C43.4 -58.4 54 -64 64.9 -64C70.5 -64 76.1 -62.5 81.3 -59.5L428.6 147C500.3 189.9 533.2 280.5 497.5 356zM319.8 343L317.3 341.5L296.8 403C306.5 407.7 316.6 411.1 327.1 413.2L347.7000000000001 351.4C337.9000000000001 350.6 328.3000000000001 348.1 319.8000000000001 343zM145.9 16.2L85.4 54.7L116.2 73L176.7 34.5L145.9 16.2zM253.4 80.1L192.9 118.6L223.7 136.9L284.2000000000001 98.4L253.4000000000001 80.1zM364.3 146L303.8 184.5L334.6 202.8L395.1 164.3L364.3 146zM384.7 343.3L430.7 389.3C439.1 382.8 446.7 375.2000000000001 453.3 366.7000000000001L407.6 321C401.9000000000001 330.3 393.9000000000001 337.9 384.7000000000001 343.3zM466.8 235.5L407.3 255.3C410.5 260.6 413.1 266.2000000000001 414.7 272.4C415.8 276.9 416.3999999999999 281.5 416.5 286L476.8999999999999 265.9C474.7999999999999 255.5 471.3999999999999 245.3 466.7999999999999 235.5z" glyph-name="candy-cane" horiz-adv-x="512" unicode=""/><glyph d="M503.47 87.75C501.91 88.57 471.08 104.64 426.6900000000001 113.56C490.9400000000001 188.68 510.7400000000001 275.23 511.6200000000001 279.2C512.8000000000001 284.53 511.1800000000001 290.1 507.3200000000001 293.9700000000001C504.2900000000001 297.01 500.2 298.67 496.0000000000001 298.67C494.8600000000001 298.67 493.71 298.55 492.5600000000001 298.29C488.6800000000001 297.44 406.0200000000001 278.7 331.98 218.53C331.99 219.99 331.99 221.46 331.99 222.93C331.99 341.72 272.01 436.65 269.4600000000001 440.63A15.973000000000003 15.973000000000003 0 0 1 256 448C250.55 448 245.47 445.2200000000001 242.53 440.63C239.98 436.65 180 341.7200000000001 180 222.93C180 221.46 180.01 219.99 180.01 218.53C105.98 278.69 23.32 297.43 19.43 298.29C18.29 298.54 17.14 298.67 15.99 298.67C11.79 298.67 7.7 297.01 4.67 293.9700000000001A15.986 15.986 0 0 1 0.38 279.2C1.26 275.23 21.06 188.68 85.31 113.56C40.92 104.64 10.1 88.57 8.53 87.75A16.003 16.003 0 0 1 8.51 59.46C10.96 58.17 69.27 27.74 142 27.74C148.14 27.74 153.96 27.84 159.5 28.05C148.13 5.82 142.98 -10.26 142.69 -11.17C140.89 -16.85 142.4 -23.0599999999999 146.6 -27.28A16.019 16.019 0 0 1 162.7 -31.27C164.53 -30.7 200.42 -19.28 240 8.02V-56C240 -60.42 243.58 -64 248 -64H264C268.42 -64 272 -60.42 272 -56V8.01C311.58 -19.29 347.4700000000001 -30.7 349.3 -31.28A16.019 16.019 0 0 1 365.4000000000001 -27.29C369.6 -23.07 371.11 -16.86 369.3100000000001 -11.18C369.0200000000001 -10.27 363.8600000000001 5.81 352.5000000000001 28.04C358.0400000000001 27.83 363.8700000000001 27.73 370.0000000000001 27.73C442.7200000000001 27.73 501.0400000000001 58.16 503.4900000000001 59.4499999999999C508.7300000000001 62.2299999999999 512.0100000000001 67.67 512.0000000000001 73.5999999999999C511.9900000000001 79.5399999999999 508.7100000000001 84.9899999999999 503.4700000000001 87.7499999999999z" glyph-name="cannabis" horiz-adv-x="512" unicode=""/><glyph d="M555.3 147.9L424.2 335.2C401.9 367 366.4 384 330.4 384C307.8 384 284.9 377.3 264.9 363.3C245.2 349.5 231.2 330.5 223.4 309.5C220.5 368.8 172 416 112 416C50.1 416 0 365.9 0 304V80C0 18.1 50.1 -32 112 -32S224 18.1 224 80V229.1C227.3 220.5 231.3 212 236.8 204.1L368 16.8C390.2 -15 425.7 -32 461.8 -32C484.5 -32 507.3 -25.3 527.3 -11.3C579 24.9 591.5 96.2 555.3 147.9zM160 192H64V304C64 330.5 85.5 352 112 352S160 330.5 160 304V192zM354.8 147.1L289.2000000000001 240.8C281.5000000000001 251.8 278.5000000000001 265.2000000000001 280.9000000000001 278.4C283.2000000000001 291.6 290.6 303.2000000000001 301.6 310.9C310.1 316.9 320.1 320 330.4000000000001 320C346.9000000000001 320 362.3 312 371.7000000000001 298.5L437.3000000000001 204.8L354.8000000000001 147.1z" glyph-name="capsules" horiz-adv-x="576" unicode=""/><glyph d="M438.6600000000001 235.67L427.42 263.77L407.49 313.6C390.38 356.37 349.57 384 303.5 384H176.5C130.44 384 89.62 356.37 72.51 313.6L52.58 263.77L41.34 235.67C17.22 226.5 0 203.34 0 176V128C0 111.88 6.16 97.33 16 86.07V32C16 14.33 30.33 0 48 0H80C97.67 0 112 14.33 112 32V64H368V32C368 14.33 382.33 0 400 0H432C449.67 0 464 14.33 464 32V86.07C473.84 97.32 480 111.87 480 128V176C480 203.34 462.78 226.5 438.66 235.67zM131.93 289.83C139.22 308.05 156.87 320 176.5 320H303.5C323.13 320 340.78 308.05 348.07 289.83L368 240H112L131.93 289.83zM80 128.2C60.8 128.2 48 140.96 48 160.1S60.8 192 80 192S128 163.29 128 144.15S99.2 128.2 80 128.2zM400 128.2C380.8 128.2 352 125.01 352 144.15S380.8 192 400 192S432 179.24 432 160.1S419.2 128.2000000000001 400 128.2000000000001z" glyph-name="car-alt" horiz-adv-x="480" unicode=""/><glyph d="M480 320H448V368C448 376.8400000000001 440.84 384 432 384H336C327.1600000000001 384 320 376.8400000000001 320 368V320H192V368C192 376.8400000000001 184.84 384 176 384H80C71.16 384 64 376.8400000000001 64 368V320H32C14.33 320 0 305.67 0 288V32C0 14.33 14.33 0 32 0H480C497.67 0 512 14.33 512 32V288C512 305.67 497.67 320 480 320zM192 184C192 179.58 188.42 176 184 176H72C67.58 176 64 179.58 64 184V200C64 204.42 67.58 208 72 208H184C188.42 208 192 204.42 192 200V184zM448 184C448 179.58 444.42 176 440 176H400V136C400 131.58 396.42 128 392 128H376C371.58 128 368 131.58 368 136V176H328C323.58 176 320 179.58 320 184V200C320 204.42 323.58 208 328 208H368V248C368 252.42 371.58 256 376 256H392C396.42 256 400 252.42 400 248V208H440C444.42 208 448 204.42 448 200V184z" glyph-name="car-battery" horiz-adv-x="512" unicode=""/><glyph d="M143.25 227.19L130.83 180.82C127.82 169.57 127.2 157.93 128.42 146.43L93.22 117.45C86.65 112.04 76.91 117.88 78.6 126.22L94.04 202.9C95.1 208.16 91.38 213.18 86.04 213.69L8.18 221.24C-0.29 222.06 -3.05 233.07 4.04 237.78L69.19 281.08C73.65 284.05 74.57 290.23 71.17 294.37L21.46 354.78C16.05 361.35 21.89 371.08 30.24 369.4L106.92 353.9600000000001C112.18 352.9 117.2 356.62 117.72 361.9600000000001L125.27 439.82C126.09 448.3 137.1 451.05 141.82 443.96L185.12 378.82C188.09 374.36 194.27 373.44 198.41 376.8400000000001L258.81 426.55C265.38 431.96 275.11 426.12 273.43 417.7800000000001L262.1 361.62C259.3900000000001 358.57 256.67 355.53 254.1900000000001 352.2200000000001L222.04 309.25L211.33 294.93C178.6 286.17 152.15 260.4 143.25 227.19zM637.8199999999999 94.68L625.4 48.32C622.27 36.64 616.02 26.71 607.85 18.96A66.876 66.876 0 0 0 599.09 11.96L585.1 -40.27C583.96 -44.54 582 -48.3700000000001 579.45 -51.65C571.7800000000001 -61.49 558.71 -66.33 545.9100000000001 -62.9L515 -54.62C497.93 -50.05 487.8 -32.5 492.37 -15.43L500.65 15.48L253.37 81.74L245.09 50.83C240.52 33.76 222.97 23.63 205.9 28.2L174.99 36.48C162.19 39.91 153.29 50.64 151.57 62.99C151 67.11 151.22 71.41 152.36 75.67L166.35 127.9A66.62 66.62 0 0 0 162.26 138.35C159.06 149.14 158.61 160.87 161.74 172.55L174.16 218.92C179.47 238.72 193.52 253.75 211.05 261.13A64.336 64.336 0 0 0 229.54 265.85L247.67 290.08L279.82 333.05C283.2699999999999 337.66 287.01 341.95 291.0199999999999 345.89C299.0199999999999 353.78 308.05 360.33 317.76 365.4C322.62 367.94 327.6499999999999 370.11 332.81 371.89C343.14 375.47 354 377.52 365.05 377.93C376.1 378.34 387.36 377.11 398.48 374.13L521.16 341.26C532.28 338.28 542.64 333.72 552.01 327.83A111.10999999999999 111.10999999999999 0 0 0 586.7 293.33C595.5200000000001 279.45 601.34 263.49 603.38 246.34L609.74 193.05L613.33 163A64.49 64.49 0 0 0 636.07 133.0699999999999C640.46 121.19 641.36 107.8799999999999 637.82 94.68zM255.58 213.66C237.03 218.63 221.37 209.62 216.41 191.13C211.45 172.64 220.5200000000001 157.01 239.0600000000001 152.04C257.61 147.0699999999999 284.6 136.53 289.55 155.02C294.51 173.51 274.12 208.69 255.58 213.66zM546.19 185.49L539.83 238.78C539.25 243.65 537.94 248.31 536.01 252.64C530.21 265.63 518.81 275.65 504.59 279.46L381.91 312.33A48.008 48.008 0 0 1 331.05 294.72L298.9 251.75L470.9 205.67L546.1899999999999 185.49zM564.6800000000001 130.84C546.1300000000001 135.8100000000001 510.8800000000001 115.53 505.9300000000001 97.05C500.9800000000001 78.56 529.6200000000001 74.19 548.1700000000001 69.22C566.72 64.25 582.3800000000001 73.2600000000001 587.34 91.75C592.2900000000001 110.23 583.23 125.87 564.6800000000001 130.84z" glyph-name="car-crash" horiz-adv-x="640" unicode=""/><glyph d="M544 256H528L419.2200000000001 391.98A64.025 64.025 0 0 1 369.24 416H155.33C129.16 416 105.63 400.07 95.91 375.77L48 253.74C20.44 246.6 0 221.79 0 192V80C0 71.16 7.16 64 16 64H64C64 10.98 106.98 -32 160 -32S256 10.98 256 64H384C384 10.98 426.98 -32 480 -32S576 10.98 576 64H624C632.84 64 640 71.16 640 80V160C640 213.02 597.02 256 544 256zM160 16C133.53 16 112 37.53 112 64S133.53 112 160 112S208 90.47 208 64S186.47 16 160 16zM232 256H116.93L155.33 352H232V256zM280 256V352H369.24L446.04 256H280zM480 16C453.53 16 432 37.53 432 64S453.53 112 480 112S528 90.47 528 64S506.47 16 480 16z" glyph-name="car-side" horiz-adv-x="640" unicode=""/><glyph d="M499.99 272H440.12L423.48 313.6C406.38 356.37 365.57 384 319.5 384H192.5C146.44 384 105.62 356.37 88.51 313.6L71.87 272H12.01C4.2 272 -1.53 264.66 0.37 257.0900000000001L6.37 233.09C7.7 227.75 12.5 224 18.01 224H38.08C24.65 212.27 16 195.22 16 176V128C16 111.88 22.16 97.33 32 86.07V32C32 14.33 46.33 0 64 0H96C113.67 0 128 14.33 128 32V64H384V32C384 14.33 398.33 0 416 0H448C465.67 0 480 14.33 480 32V86.07C489.84 97.32 496 111.87 496 128V176C496 195.22 487.35 212.27 473.93 224H494C499.51 224 504.31 227.75 505.64 233.09L511.64 257.0900000000001C513.53 264.66 507.8 272 499.99 272zM147.93 289.83C155.22 308.05 172.87 320 192.5 320H319.5C339.13 320 356.78 308.05 364.07 289.83L384 240H128L147.93 289.83zM96 128.2C76.8 128.2 64 140.96 64 160.1S76.8 192 96 192S144 163.29 144 144.15S115.2 128.2 96 128.2zM416 128.2C396.8 128.2 368 125.01 368 144.15S396.8 192 416 192S448 179.24 448 160.1S435.2 128.2000000000001 416 128.2000000000001z" glyph-name="car" horiz-adv-x="512" unicode=""/><glyph d="M31.3 256H288.6C306.4000000000001 256 315.3 234.5 302.7000000000001 221.9L174.1 93.2C166.3 85.4 153.6 85.4 145.8 93.2L17.2 221.9C4.6 234.5 13.5 256 31.3 256z" glyph-name="caret-down" horiz-adv-x="320" unicode=""/><glyph d="M192 320.6620000000001V63.338C192 45.52 170.457 36.597 157.858 49.196L29.196 177.858C21.386 185.668 21.386 198.332 29.196 206.142L157.858 334.804C170.457 347.404 192 338.48 192 320.6620000000001z" glyph-name="caret-left" horiz-adv-x="192" unicode=""/><glyph d="M0 63.338V320.6620000000001C0 338.48 21.543 347.403 34.142 334.804L162.804 206.142C170.614 198.332 170.614 185.668 162.804 177.858L34.142 49.196C21.543 36.596 0 45.52 0 63.338z" glyph-name="caret-right" horiz-adv-x="192" unicode=""/><glyph d="M448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM92.5 227.5L215.5 104.5C220.2 99.8 227.8 99.8 232.5 104.5L355.5 227.5C363.1 235.1 357.7 248 347 248H101C90.3 248 84.9 235.1 92.5 227.5z" glyph-name="caret-square-down" horiz-adv-x="448" unicode=""/><glyph d="M400 -32H48C21.49 -32 0 -10.51 0 16V368C0 394.51 21.49 416 48 416H400C426.51 416 448 394.51 448 368V16C448 -10.51 426.51 -32 400 -32zM259.515 323.515L136.485 200.485C131.799 195.799 131.799 188.201 136.485 183.514L259.514 60.485C267.074 52.925 279.999 58.279 279.999 68.97V315.029C280 325.7200000000001 267.074 331.074 259.5150000000001 323.515z" glyph-name="caret-square-left" horiz-adv-x="448" unicode=""/><glyph d="M48 416H400C426.51 416 448 394.51 448 368V16C448 -10.51 426.51 -32 400 -32H48C21.49 -32 0 -10.51 0 16V368C0 394.51 21.49 416 48 416zM188.485 60.485L311.514 183.514C316.2 188.2 316.2 195.798 311.514 200.485L188.485 323.515C180.925 331.0750000000001 168 325.721 168 315.0300000000001V68.971C168 58.28 180.926 52.926 188.485 60.485z" glyph-name="caret-square-right" horiz-adv-x="448" unicode=""/><glyph d="M0 16V368C0 394.51 21.49 416 48 416H400C426.51 416 448 394.51 448 368V16C448 -10.51 426.51 -32 400 -32H48C21.49 -32 0 -10.51 0 16zM355.515 156.485L232.485 279.515C227.799 284.201 220.201 284.201 215.514 279.515L92.485 156.485C84.925 148.925 90.279 136 100.97 136H347.029C357.72 136 363.074 148.926 355.515 156.485z" glyph-name="caret-square-up" horiz-adv-x="448" unicode=""/><glyph d="M288.662 96H31.338C13.52 96 4.597 117.543 17.196 130.142L145.858 258.804C153.668 266.6140000000001 166.332 266.6140000000001 174.142 258.804L302.804 130.142C315.404 117.543 306.48 96 288.662 96z" glyph-name="caret-up" horiz-adv-x="320" unicode=""/><glyph d="M298.2 291.4C245.5 317.1 183.7 301.9 148 258.6L203.2 203.4C209.5 197.1 209.5 187.0000000000001 203.2 180.8C200.1 177.7 196 176.1 191.9 176.1S183.7 177.7000000000001 180.6 180.8L130.4 231L2.3 -31.7C-0.6 -37.7 -0.8 -45 2.3 -51.4C7.7 -62.5 21.2 -67.1 32.3 -61.7L165.9 3.5L116.7 52.7C110.4 58.9 110.4 69.1 116.7 75.3C123 81.5 133.1 81.5 139.3 75.3L196.3 18.3L298.3 68.1C322.3 79.8 342.8 99.4 355.4 125.2000000000001C385.5 186.9 359.9 261.3000000000001 298.2 291.4000000000001zM390.3 326.3C409.8 367 399.7 415.1 360 448C309.7 406.3 307.5 340.5 352.1 296.1L360.1 288.1C404.5 243.5 470.4 245.7 512 296C479.1 335.7 431 345.8 390.3 326.3z" glyph-name="carrot" horiz-adv-x="512" unicode=""/><glyph d="M504.717 128H211.572L218.117 96H486.535C501.936 96 513.351 81.699 509.938 66.681L504.421 42.405C523.112 33.332 536 14.172 536 -8C536 -39.202 510.481 -64.444 479.176 -63.994C449.353 -63.565 424.826 -39.3630000000001 424.021 -9.547C423.581 6.74 430.106 21.502 440.824 32.001H231.176C241.553 21.835 248 7.674 248 -8C248 -39.813 221.472 -65.431 189.33 -63.938C160.79 -62.613 137.579 -39.553 136.079 -11.021C134.921 11.013 146.515 30.434 164.13 40.5650000000001L93.883 384H24C10.745 384 0 394.745 0 408V424C0 437.255 10.745 448 24 448H126.529C137.93 448 147.757 439.979 150.042 428.81L159.208 384H551.99C567.391 384 578.806 369.699 575.393 354.681L528.12 146.681C525.637 135.754 515.923 128 504.717 128zM403.029 256H360V316C360 322.627 354.627 328 348 328H324C317.373 328 312 322.627 312 316V256H268.971C258.2800000000001 256 252.926 243.074 260.486 235.515L327.515 168.486C332.201 163.8 339.799 163.8 344.486 168.486L411.515 235.515C419.074 243.074 413.72 256 403.029 256z" glyph-name="cart-arrow-down" horiz-adv-x="576" unicode=""/><glyph d="M504.717 128H211.572L218.117 96H486.535C501.936 96 513.351 81.699 509.938 66.681L504.421 42.405C523.112 33.332 536 14.172 536 -8C536 -39.202 510.481 -64.444 479.176 -63.994C449.353 -63.565 424.826 -39.3630000000001 424.021 -9.547C423.581 6.74 430.106 21.502 440.824 32.001H231.176C241.553 21.835 248 7.674 248 -8C248 -39.813 221.472 -65.431 189.33 -63.938C160.79 -62.613 137.579 -39.553 136.079 -11.021C134.921 11.013 146.515 30.434 164.13 40.5650000000001L93.883 384H24C10.745 384 0 394.745 0 408V424C0 437.255 10.745 448 24 448H126.529C137.93 448 147.757 439.979 150.042 428.81L159.208 384H551.99C567.391 384 578.806 369.699 575.393 354.681L528.12 146.681C525.637 135.754 515.923 128 504.717 128zM408 280H360V320C360 328.837 352.837 336 344 336H328C319.163 336 312 328.837 312 320V280H264C255.163 280 248 272.837 248 264V248C248 239.163 255.163 232 264 232H312V192C312 183.163 319.163 176 328 176H344C352.837 176 360 183.163 360 192V232H408C416.837 232 424 239.163 424 248V264C424 272.837 416.837 280 408 280z" glyph-name="cart-plus" horiz-adv-x="576" unicode=""/><glyph d="M511.1 69.2L484.4 229.2C481.8 244.6 468.5000000000001 255.9 452.8 255.9H208V319.9H304C312.8 319.9 320 327.1 320 335.9V432C320 440.8 312.8 448 304 448H48C39.2 448 32 440.8 32 432V336C32 327.2 39.2 320 48 320H144V256H59.1C43.5 256 30.1 244.7 27.5 229.3L0.8 69.3C0.2 65.8 -0.1 62.3 -0.1 58.8V-32C-0.1 -49.7 14.2 -64 31.9 -64H479.9C497.6 -64 511.9 -49.7 511.9 -32V58.7C512 62.2 511.7 65.7 511.1 69.2zM280 200C280 208.8 287.2 216 296 216H312C320.8 216 328 208.8 328 200V184C328 175.2 320.8 168 312 168H296C287.2 168 280 175.2 280 184V200zM248 136H264C272.8 136 280 128.8 280 120V104C280 95.2 272.8 88 264 88H248C239.2 88 232 95.2 232 104V120C232 128.8 239.2 136 248 136zM216 216C224.8 216 232 208.8 232 200V184C232 175.2 224.8 168 216 168H200C191.2 168 184 175.2 184 184V200C184 208.8 191.2 216 200 216H216zM80 368V400H272V368H80zM120 168H104C95.2 168 88 175.2 88 184V200C88 208.8 95.2 216 104 216H120C128.8 216 136 208.8 136 200V184C136 175.2 128.8 168 120 168zM136 104V120C136 128.8 143.2 136 152 136H168C176.8 136 184 128.8 184 120V104C184 95.2 176.8 88 168 88H152C143.2 88 136 95.2 136 104zM352 -8C352 -12.4 348.4 -16 344 -16H168C163.6 -16 160 -12.4 160 -8V8C160 12.4 163.6 16 168 16H344C348.4 16 352 12.4 352 8V-8zM376 104C376 95.2 368.8 88 360 88H344C335.2 88 328 95.2 328 104V120C328 128.8 335.2 136 344 136H360C368.8 136 376 128.8 376 120V104zM424 184C424 175.2 416.8 168 408 168H392C383.2 168 376 175.2 376 184V200C376 208.8 383.2 216 392 216H408C416.8 216 424 208.8 424 200V184z" glyph-name="cash-register" horiz-adv-x="512" unicode=""/><glyph d="M290.59 256C270.41 256 183.77 254.02 128 170.05V256C128 308.94 84.94 352 32 352C14.33 352 0 337.67 0 320S14.33 288 32 288C49.64 288 64 273.64 64 256V0C64 -35.3 92.7 -64 128 -64H304C312.84 -64 320 -56.84 320 -48V-32C320 -14.33 305.67 0 288 0H256L384 96V-48C384 -56.84 391.1600000000001 -64 400 -64H432C440.84 -64 448 -56.84 448 -48V158.14C437.71 155.47 427.11 153.6 416 153.6C354.19 153.6 302.48 197.65 290.5900000000001 256zM448 352H384L320 416V281.6C320 228.58 362.98 185.6 416 185.6S512 228.58 512 281.6V416L448 352zM376 272C367.1600000000001 272 360 279.16 360 288S367.1600000000001 304 376 304S392 296.8400000000001 392 288S384.84 272 376 272zM456 272C447.1600000000001 272 440 279.16 440 288S447.1600000000001 304 456 304S472 296.8400000000001 472 288S464.84 272 456 272z" glyph-name="cat" horiz-adv-x="512" unicode=""/><glyph d="M458.622 192.08L504.607 237.085C518.315 250.062 511.923 273.124 493.943 277.424L431.2930000000001 293.414L448.9540000000001 355.4290000000001C453.9450000000001 373.2670000000001 437.1250000000001 390.092 419.2930000000001 385.1L357.2990000000001 367.433L341.3150000000001 430.1040000000001C337.085 447.803 313.765 454.276 300.99 440.772L256 394.43L211.011 440.771C198.381 454.122 174.964 448.005 170.686 430.103L154.702 367.432L92.707 385.099C74.87 390.093 58.056 373.262 63.046 355.428L80.707 293.413L18.057 277.423C0.069 273.122 -6.31 250.056 7.392 237.085L53.377 192.08L7.392 147.076C-6.316 134.0990000000001 0.076 111.037 18.056 106.737L80.706 90.747L63.045 28.732C58.054 10.894 74.874 -5.931 92.706 -0.939L154.7 16.7280000000001L170.684 -45.9429999999999C175.123 -64.5179999999999 198.38 -69.9609999999999 211.009 -56.6109999999999L256 -10.61L300.989 -56.611C313.489 -70.0989999999999 336.976 -64.097 341.314 -45.943L357.298 16.728L419.2919999999999 -0.939C437.128 -5.933 453.9429999999999 10.898 448.9529999999999 28.732L431.2919999999999 90.747L493.9419999999999 106.737C511.9289999999999 111.0390000000001 518.3079999999999 134.1040000000001 504.6059999999999 147.076L458.6219999999999 192.08z" glyph-name="certificate" horiz-adv-x="512" unicode=""/><glyph d="M446.33 106.12L435.66 138.12A31.996 31.996 0 0 1 405.3 160H42.69C28.92 160 16.69 151.19 12.33 138.12L1.66 106.12C-5.24 85.4 10.18 64 32.03 64H32V-48C32 -56.84 39.16 -64 48 -64H80C88.84 -64 96 -56.84 96 -48V64H352V-48C352 -56.84 359.1600000000001 -64 368 -64H400C408.84 -64 416 -56.84 416 -48V64H415.9700000000001C437.8200000000001 64 453.24 85.4 446.3300000000001 106.12zM112 320C112 349.48 128.2 374.99 152 388.87V192H200V400H248V192H296V388.87C319.8 374.99 336 349.48 336 320V192H384V320C384 390.69 326.69 448 256 448H192C121.31 448 64 390.69 64 320V192H112V320z" glyph-name="chair" horiz-adv-x="448" unicode=""/><glyph d="M208 96C205.61 96 203.22 95.65 200.94 94.91C187.98 90.7 174.35 88 160 88C145.65 88 132.02 90.7 119.05 94.91C116.77 95.65 114.39 96 112 96C49.94 96 -0.33 45.52 0 -16.62C0.14 -42.88 21.73 -64 48 -64H272C298.27 -64 319.86 -42.88 320 -16.62C320.33 45.52 270.06 96 208 96zM160 128C213.02 128 256 170.98 256 224S213.02 320 160 320S64 277.02 64 224S106.98 128 160 128zM592 448H208C181.53 448 160 425.75 160 398.41V352C183.42 352 205.1 345.2200000000001 224 334.2V384H576V96H512V160H384V96H307.76C326.86 79.31 340.88 57.27 347.45 32H592C618.47 32 640 54.25 640 81.59V398.41C640 425.75 618.47 448 592 448z" glyph-name="chalkboard-teacher" horiz-adv-x="640" unicode=""/><glyph d="M96 384H544V32H608V408C608 430.06 590.06 448 568 448H72C49.94 448 32 430.06 32 408V32H96V384zM624 0H480V64H288V0H16C7.16 0 0 -7.16 0 -16V-48C0 -56.84 7.16 -64 16 -64H624C632.84 -64 640 -56.84 640 -48V-16C640 -7.16 632.84 0 624 0z" glyph-name="chalkboard" horiz-adv-x="640" unicode=""/><glyph d="M336 0H16C7.16 0 0 -7.16 0 -16V-48C0 -56.84 7.16 -64 16 -64H336C344.84 -64 352 -56.84 352 -48V-16C352 -7.16 344.84 0 336 0zM544 320V368C544 376.8400000000001 536.84 384 528 384S512 376.8400000000001 512 368V320H480V368C480 376.8400000000001 472.84 384 464 384S448 376.8400000000001 448 368V320H432C423.1600000000001 320 416 312.8400000000001 416 304V272C416 236.24 439.62 206.31 472 196.07V77.58C472 63.63 462.5 50.66 448.74 48.39C431.2200000000001 45.5 416 59.01 416 76V104C416 152.6 376.6 192 328 192H320V384C320 419.35 291.35 448 256 448H96C60.65 448 32 419.35 32 384V32H320V144H328C350.09 144 368 126.09 368 104V79.39C368 39.72 396.92 4.23 436.41 0.38C481.71 -4.05 520 31.59 520 76V196.07C552.38 206.31 576 236.24 576 272V304C576 312.8400000000001 568.84 320 560 320H544zM260.09 272.24L166.39 133.24C164.19 129.91 160.18 128 156 128C148.33 128 142.53 134.28 144.33 140.92L167.35 224H108C100.75 224 95.15 229.59 96.11 235.89L112.11 342.89C112.9 348.1 117.98 352 124 352H192C199.88 352 205.62 345.46 203.6 338.79L192 288H249.7C258.94 288 264.71 279.2200000000001 260.09 272.24z" glyph-name="charging-station" horiz-adv-x="576" unicode=""/><glyph d="M500 64C506.6 64 512 58.6 512 52V12C512 5.4 506.6 0 500 0H12C5.4 0 0 5.4 0 12V372C0 378.6 5.4 384 12 384H52C58.6 384 64 378.6 64 372V64H500zM372.7 288.5L288 232L202.7 345.7C197.6 352.5 187.2 352 182.8 344.7L96 200V96H480L390.1 283.8C386.9000000000001 290.3 378.7000000000001 292.5 372.7000000000001 288.5z" glyph-name="chart-area" horiz-adv-x="512" unicode=""/><glyph d="M332.8 128H371.2C377.6 128 384 134.4 384 140.8V275.2C384 281.6 377.6 288 371.2 288H332.8C326.4000000000001 288 320 281.6 320 275.2V140.8C320 134.4 326.4 128 332.8 128zM428.8 128H467.2C473.6 128 480 134.4 480 140.8V371.2C480 377.6 473.6 384 467.2 384H428.8C422.4000000000001 384 416 377.6 416 371.2V140.8C416 134.4 422.4 128 428.8 128zM140.8 128H179.2C185.6 128 192 134.4 192 140.8V211.2C192 217.6 185.6 224 179.2 224H140.8C134.4 224 128 217.6 128 211.2V140.8C128 134.4 134.4 128 140.8 128zM236.8 128H275.2C281.6 128 288 134.4 288 140.8V339.2C288 345.6 281.6 352 275.2 352H236.8C230.4 352 224 345.6 224 339.2V140.8C224 134.4 230.4 128 236.8 128zM496 64H64V368C64 376.8400000000001 56.84 384 48 384H16C7.16 384 0 376.8400000000001 0 368V32C0 14.33 14.33 0 32 0H496C504.84 0 512 7.16 512 16V48C512 56.84 504.84 64 496 64z" glyph-name="chart-bar" horiz-adv-x="512" unicode=""/><glyph d="M496 64H64V368C64 376.8400000000001 56.84 384 48 384H16C7.16 384 0 376.8400000000001 0 368V32C0 14.33 14.33 0 32 0H496C504.84 0 512 7.16 512 16V48C512 56.84 504.84 64 496 64zM464 352H345.94C324.56 352 313.85 326.15 328.9700000000001 311.03L361.37 278.63L288 205.25L214.63 278.62C202.13 291.12 181.87 291.12 169.38 278.62L100.69 209.93C94.44 203.68 94.44 193.55 100.69 187.3L123.31 164.68C129.56 158.43 139.69 158.43 145.94 164.68L192 210.75L265.37 137.38C277.87 124.88 298.13 124.88 310.62 137.38L406.62 233.38L439.02 200.98C454.14 185.86 479.99 196.57 479.99 217.95V336C480 344.8400000000001 472.84 352 464 352z" glyph-name="chart-line" horiz-adv-x="512" unicode=""/><glyph d="M527.79 160H290.5L448.53 1.97C454.57 -4.07 464.51 -4.5599999999999 470.72 1.29C509.42 37.75 536.04 86.9 543.8499999999999 142.15C545.1899999999999 151.61 537.3399999999999 160.0000000000001 527.79 160.0000000000001zM511.96 224.8C503.72 344.26 408.26 439.7200000000001 288.8 447.96C279.68 448.59 272 440.9 272 431.76V208H495.77C504.91 208 512.59 215.68 511.96 224.8zM224 160V397.29C224 406.8400000000001 215.61 414.69 206.16 413.35C86.99 396.51 -4.1 292.4 0.14 167.63C4.5 39.49 114.83 -65.59 243.03 -63.98C293.43 -63.35 340 -47.11 378.29 -19.95C386.19 -14.35 386.71 -2.72 379.86 4.1299999999999L224 160z" glyph-name="chart-pie" horiz-adv-x="544" unicode=""/><glyph d="M504 192C504 55.033 392.967 -56 256 -56S8 55.033 8 192S119.033 440 256 440S504 328.967 504 192zM227.314 60.686L411.314 244.686C417.562 250.934 417.562 261.065 411.314 267.313L388.687 289.94C382.439 296.189 372.308 296.189 366.059 289.94L216 139.882L145.941 209.941C139.693 216.189 129.562 216.189 123.313 209.941L100.686 187.314C94.438 181.066 94.438 170.935 100.686 164.687L204.686 60.687C210.935 54.438 221.065 54.438 227.314 60.686z" glyph-name="check-circle" horiz-adv-x="512" unicode=""/><glyph d="M504.5 276.05L468.3 312.4600000000001C458.3 322.51 442.0900000000001 322.51 432.1 312.4600000000001L192 70.98L79.9 183.72C69.9 193.78 53.69 193.78 43.7 183.72L7.5 147.31C-2.5 137.26 -2.5 120.95 7.5 110.9L173.9 -56.46C183.9 -66.52 200.11 -66.52 210.1 -56.46L504.5 239.63C514.5 249.69 514.5 265.99 504.5 276.05zM166.57 165.29C173.41 158.2700000000001 184.75 158.2700000000001 191.78 165.11L403.85 375.38C410.87 382.2200000000001 410.87 393.56 404.0300000000001 400.59L362.08 442.71C355.24 449.73 343.9 449.73 336.87 442.89L179.71 286.81L111.48 355.58C104.64 362.6 93.3 362.6 86.28 355.76L44.15 313.99C37.13 307.15 37.13 295.81 43.97 288.79L166.57 165.29z" glyph-name="check-double" horiz-adv-x="512" unicode=""/><glyph d="M400 -32H48C21.49 -32 0 -10.51 0 16V368C0 394.51 21.49 416 48 416H400C426.51 416 448 394.51 448 368V16C448 -10.51 426.51 -32 400 -32zM195.314 66.059L379.314 250.059C385.562 256.307 385.562 266.438 379.314 272.686L356.687 295.313C350.439 301.561 340.308 301.562 334.059 295.313L184 145.255L113.941 215.314C107.693 221.562 97.562 221.562 91.313 215.314L68.686 192.687C62.438 186.439 62.438 176.308 68.686 170.06L172.686 66.06C178.935 59.81 189.065 59.81 195.314 66.059z" glyph-name="check-square" horiz-adv-x="448" unicode=""/><glyph d="M173.898 8.596L7.498 174.996C-2.499 184.993 -2.499 201.202 7.498 211.2L43.701 247.404C53.698 257.402 69.908 257.402 79.905 247.404L192 135.31L432.0950000000001 375.404C442.0920000000001 385.401 458.302 385.401 468.299 375.404L504.5020000000001 339.2C514.499 329.203 514.499 312.9940000000001 504.5020000000001 302.996L210.1020000000001 8.595C200.1040000000001 -1.402 183.8950000000001 -1.402 173.8980000000001 8.5959999999999z" glyph-name="check" horiz-adv-x="512" unicode=""/><glyph d="M123.158 370.1190000000001C107.369 375.4700000000001 96 390.403 96 408C96 430.091 113.909 448 136 448H183.796C205.887 448 223.796 430.091 223.796 408C223.796 390.459 212.501 375.5660000000001 196.791 370.171C220.784 353.514 245.368 323.332 265.4940000000001 288.121L144.929 167.557A6 6 0 0 1 144.929 159.072L159.071 144.93A6 6 0 0 1 167.556 144.93L280.9 258.274C298.658 219.977 310.271 178.831 310.271 144.001C310.271 90.215 287.374 68.213 251.825 57.968V0H68.174V57.97C32.631 68.216 9.739 90.219 9.739 144C9.739 222.029 68.02 331.766 123.158 370.1190000000001zM320 -52V-28C320 -21.373 314.627 -16 308 -16H12C5.373 -16 0 -21.373 0 -28V-52C0 -58.627 5.373 -64 12 -64H308C314.627 -64 320 -58.627 320 -52z" glyph-name="chess-bishop" horiz-adv-x="320" unicode=""/><glyph d="M256 192V128H192V192H256zM256 448H192V384H256V448zM256 192H320V256H256V192zM384 448H320V384H384V448zM384 -64H448V0H384V-64zM512 0V64H448V0H512zM128 -64H192V0H128V-64zM128 448H64V384H128V448zM512 256V320H448V256H512zM512 128V192H448V128H512zM0 -64H64V0H0V-64zM0 384V320H64V384H0zM0 256V192H64V256H0zM0 128V64H64V128H0zM256 -64H320V0H256V-64zM192 64V0H256V64H192zM256 256V320H192V256H256zM64 64V0H128V64H64zM128 192H64V128H128V192zM384 64H448V128H384V64zM512 448H448V384H512V448zM384 192H448V256H384V192zM384 384V320H448V384H384zM320 64V0H384V64H320zM128 128V64H192V128H128zM256 128V64H320V128H256zM192 256H128V192H192V256zM128 320H64V256H128V320zM320 128H384V192H320V128zM192 320V384H128V320H192zM320 320V384H256V320H320zM320 256H384V320H320V256z" glyph-name="chess-board" horiz-adv-x="512" unicode=""/><glyph d="M416 -28V-52C416 -58.627 410.627 -64 404 -64H44C37.373 -64 32 -58.627 32 -52V-28C32 -21.373 37.373 -16 44 -16H404C410.627 -16 416 -21.373 416 -28zM407.967 296H248V344H298A6 6 0 0 1 304 350V386A6 6 0 0 1 298 392H248V442A6 6 0 0 1 242 448H206A6 6 0 0 1 200 442V392H150A6 6 0 0 1 144 386V350A6 6 0 0 1 150 344H200V296H40.033C12.459 296 -6.846 268.756 2.295 242.741L87.582 0H360.418L445.7050000000001 242.741C454.846 268.756 435.541 296 407.967 296z" glyph-name="chess-king" horiz-adv-x="448" unicode=""/><glyph d="M352 224V0H32V46.557C32 76.859 49.12 104.56 76.223 118.111L133.466 146.733A48 48 0 0 1 160 189.666V240L137.873 228.937A23.996 23.996 0 0 1 125.323 213.292L113.488 165.954A12 12 0 0 0 106.303 157.723L76.702 145.8830000000001A11.998 11.998 0 0 0 67.372 146.059L7.126 172.833A12 12 0 0 0 0 183.799V342.059C0 348.424 2.529 354.529 7.03 359.03L16 368L1.789 396.4220000000001A16.937 16.937 0 0 0 0 404C0 410.627 5.373 416 12 416H160C266.039 416 352 330.039 352 224zM372 -16H12C5.373 -16 0 -21.373 0 -28V-52C0 -58.627 5.373 -64 12 -64H372C378.627 -64 384 -58.627 384 -52V-28C384 -21.373 378.627 -16 372 -16zM52 320C40.954 320 32 311.046 32 300S40.954 280 52 280S72 288.954 72 300S63.046 320 52 320z" glyph-name="chess-knight" horiz-adv-x="384" unicode=""/><glyph d="M264 0H56S116 42.743 116 176H84C77.373 176 72 181.373 72 188V212C72 218.627 77.373 224 84 224H124.209C95.721 237.44 76 266.4120000000001 76 300C76 346.392 113.608 384 160 384S244 346.392 244 300C244 266.4120000000001 224.279 237.44 195.791 224H236C242.627 224 248 218.627 248 212V188C248 181.373 242.627 176 236 176H204C204 42.743 264 0 264 0zM292 -16H28C21.373 -16 16 -21.373 16 -28V-52C16 -58.627 21.373 -64 28 -64H292C298.627 -64 304 -58.627 304 -52V-28C304 -21.373 298.627 -16 292 -16z" glyph-name="chess-pawn" horiz-adv-x="320" unicode=""/><glyph d="M436 -64H76C69.373 -64 64 -58.627 64 -52V-28C64 -21.373 69.373 -16 76 -16H436C442.627 -16 448 -21.373 448 -28V-52C448 -58.627 442.627 -64 436 -64zM255.579 448C224.651 448 199.579 422.928 199.579 392S224.651 336 255.579 336S311.579 361.072 311.579 392S286.507 448 255.579 448zM460.147 293.366C454.3790000000001 296.411 447.2310000000001 294.298 444.0650000000001 288.596C435.4490000000001 273.0800000000001 421.3180000000001 250.795 400.0000000000001 250.795C371.2860000000001 250.795 369.3750000000001 270.5990000000001 368.3140000000001 308.337C368.1310000000001 314.829 362.8130000000001 320.0010000000001 356.3190000000001 320.0010000000001H315.3130000000001C310.1380000000001 320.0010000000001 305.5590000000001 316.673 303.9250000000002 311.7630000000001C295.0350000000002 285.0540000000001 277.8520000000002 270.7710000000001 256.0000000000001 270.7710000000001S216.9660000000001 285.0540000000001 208.0750000000001 311.7630000000001C206.4410000000001 316.673 201.8620000000001 320.0010000000001 196.6870000000001 320.0010000000001H155.6820000000001C149.1870000000001 320.0010000000001 143.8690000000001 314.827 143.6870000000001 308.3340000000001C142.6350000000001 270.692 140.7530000000001 250.795 111.9990000000001 250.795C91.3080000000001 250.795 78.1820000000001 271.019 67.5740000000001 288.8200000000001C64.3080000000001 294.3 57.3160000000001 296.2510000000001 51.6750000000001 293.273L12.4960000000001 272.5940000000001A12 12 0 0 1 6.9860000000001 257.449L112 0H400L505.014 257.448A12 12 0 0 1 499.504 272.593L460.147 293.366z" glyph-name="chess-queen" horiz-adv-x="512" unicode=""/><glyph d="M81.241 232.973C80.957 189.08 77.411 99.924 48 0H335.9820000000001C306.5820000000001 99.604 303.0460000000001 188.912 302.761 232.975L348.1790000000001 275.287A11.998 11.998 0 0 1 351.999 284.067V404C351.999 410.627 346.6260000000001 416 339.999 416H299.999C293.372 416 287.999 410.627 287.999 404V360H239.999V404C239.999 410.627 234.6260000000001 416 227.999 416H155.999C149.372 416 143.999 410.627 143.999 404V360H96V404C96 410.627 90.627 416 84 416H44C37.373 416 32 410.627 32 404V284.068C32 280.738 33.384 277.558 35.82 275.288L81.241 232.973zM160 192C160 209.673 174.327 224 192 224C209.673 224 224 209.673 224 192V127.996H160V192zM384 -28V-52C384 -58.627 378.627 -64 372 -64H12C5.373 -64 0 -58.627 0 -52V-28C0 -21.373 5.373 -16 12 -16H372C378.627 -16 384 -21.373 384 -28z" glyph-name="chess-rook" horiz-adv-x="384" unicode=""/><glyph d="M199.821 230.367A6 6 0 0 0 205.821 224.367L205.82 203.601A6 6 0 0 0 199.82 197.601H174.015C174.015 165.886 171.862 101.4 191.413 44.372H64.597C84.54 102.548 82.02 168.755 82.02 197.601H56.183A6 6 0 0 0 50.183 203.601L50.185 224.367A6 6 0 0 0 56.185 230.367H199.821zM41.554 332.9120000000001L76.134 237.841H179.868L214.44 332.913C217.286 340.7390000000001 211.49 349.014 203.162 349.014H152V379.2340000000001H173.57A6 6 0 0 1 179.57 385.2340000000001V407.617A6 6 0 0 1 173.57 413.617H145.203V442A6 6 0 0 1 139.203 448H116.82A6 6 0 0 1 110.82 442V413.617H82.421A6 6 0 0 1 76.421 407.617V385.2340000000001A6 6 0 0 1 82.421 379.2340000000001H104V349.015H52.831C44.503 349.014 38.707 340.7390000000001 41.554 332.9120000000001zM222.678 2.83V30.897A6 6 0 0 1 216.678 36.897H39.322A6 6 0 0 1 33.322 30.897V2.83L11.174 -11.334A6 6 0 0 1 8.407 -16.389V-58A6 6 0 0 1 14.407 -64H241.594A6 6 0 0 1 247.594 -58V-16.388A6 6 0 0 1 244.8270000000001 -11.333L222.678 2.83zM313.256 147.055L338.136 130.0919999999999C338.226 111.9679999999999 337.969 66.1879999999999 326.231 15.5699999999999H473.757C462.044 66.045 461.788 111.894 461.875 130.107L486.734 147.056A3.856 3.856 0 0 1 488.418 150.243V220.144A3.8569999999999998 3.8569999999999998 0 0 1 484.561 224.001H456.9059999999999A3.8569999999999998 3.8569999999999998 0 0 1 453.0489999999999 220.144V188.63H430.3119999999999V220.144A3.8569999999999998 3.8569999999999998 0 0 1 426.4539999999999 224.001H373.5359999999999A3.8569999999999998 3.8569999999999998 0 0 1 369.6789999999999 220.144V188.63H346.9419999999999V220.144A3.8569999999999998 3.8569999999999998 0 0 1 343.0849999999998 224.001H315.43A3.8569999999999998 3.8569999999999998 0 0 1 311.573 220.144V150.243A3.8549999999999995 3.8549999999999995 0 0 1 313.256 147.055zM384.841 95.149C384.841 103.521 391.628 110.307 400 110.307S415.158 103.52 415.158 95.149V64.831H384.841V95.149zM504.62 -22.059L490.956 -11.42V4.132A3.8569999999999998 3.8569999999999998 0 0 1 487.099 7.989H312.915A3.8569999999999998 3.8569999999999998 0 0 1 309.058 4.132V-11.42L295.381 -22.059A3.8569999999999998 3.8569999999999998 0 0 1 293.893 -25.103V-60.142A3.8569999999999998 3.8569999999999998 0 0 1 297.75 -63.999H502.25A3.8569999999999998 3.8569999999999998 0 0 1 506.107 -60.142V-25.102A3.859 3.859 0 0 1 504.62 -22.059z" glyph-name="chess" horiz-adv-x="512" unicode=""/><glyph d="M504 192C504 55 393 -56 256 -56S8 55 8 192S119 440 256 440S504 329 504 192zM273 78.1L408.5 213.6C417.9 223 417.9 238.2 408.5 247.5000000000001L391.5 264.5C382.1 273.9000000000001 366.9 273.9000000000001 357.6 264.5L256 162.9L154.4 264.5C145 273.9 129.8 273.9 120.5 264.5L103.5 247.5C94.1 238.1 94.1 222.9 103.5 213.6L239 78.1C248.4 68.7000000000001 263.6 68.7000000000001 273 78.1z" glyph-name="chevron-circle-down" horiz-adv-x="512" unicode=""/><glyph d="M256 -56C119 -56 8 55 8 192S119 440 256 440S504 329 504 192S393 -56 256 -56zM142.1 175L277.6 39.5C287 30.1 302.2000000000001 30.1 311.5 39.5L328.5 56.5C337.9 65.9 337.9 81.1 328.5 90.4L226.9 192L328.5 293.6C337.9 303 337.9 318.2 328.5 327.5L311.5 344.5C302.1 353.9 286.9 353.9 277.6 344.5L142.1 209C132.7 199.6 132.7 184.4 142.1 175z" glyph-name="chevron-circle-left" horiz-adv-x="512" unicode=""/><glyph d="M256 440C393 440 504 329 504 192S393 -56 256 -56S8 55 8 192S119 440 256 440zM369.9 209L234.4 344.5C225 353.9 209.8 353.9 200.5 344.5L183.5 327.5C174.1 318.1 174.1 302.9 183.5 293.6L285.1 192L183.5 90.4C174.1 81 174.1 65.8 183.5 56.5L200.5 39.5C209.9 30.1 225.1 30.1 234.4 39.5L369.9 175C379.3 184.4 379.3 199.6 369.9 209z" glyph-name="chevron-circle-right" horiz-adv-x="512" unicode=""/><glyph d="M8 192C8 329 119 440 256 440S504 329 504 192S393 -56 256 -56S8 55 8 192zM239 305.9L103.5 170.4C94.1 161 94.1 145.8 103.5 136.5L120.5 119.5C129.9 110.1 145.1 110.1 154.4 119.5L256 221.1L357.6 119.5C367 110.1 382.2000000000001 110.1 391.5 119.5L408.5 136.5C417.9 145.9 417.9 161.1 408.5 170.4L273 305.9C263.6 315.3 248.4 315.3 239 305.9z" glyph-name="chevron-circle-up" horiz-adv-x="512" unicode=""/><glyph d="M207.029 66.524L12.686 260.868C3.313 270.241 3.313 285.437 12.686 294.809L35.353 317.476C44.71 326.833 59.875 326.851 69.254 317.516L224 163.495L378.745 317.516C388.124 326.851 403.289 326.833 412.646 317.476L435.313 294.809C444.686 285.4360000000001 444.686 270.24 435.313 260.868L240.971 66.524C231.598 57.152 216.402 57.152 207.029 66.524z" glyph-name="chevron-down" horiz-adv-x="448" unicode=""/><glyph d="M34.52 208.97L228.87 403.31C238.24 412.68 253.44 412.68 262.81 403.31L285.48 380.64C294.8400000000001 371.28 294.85 356.12 285.5200000000001 346.74L131.49 192L285.51 37.25C294.85 27.87 294.83 12.71 285.47 3.35L262.8 -19.32C253.43 -28.69 238.23 -28.69 228.86 -19.32L34.52 175.03C25.15 184.4 25.15 199.6 34.52 208.97z" glyph-name="chevron-left" horiz-adv-x="320" unicode=""/><glyph d="M285.476 175.029L91.132 -19.314C81.759 -28.687 66.563 -28.687 57.191 -19.314L34.524 3.353C25.167 12.7099999999999 25.149 27.8749999999999 34.484 37.254L188.505 192L34.484 346.745C25.149 356.124 25.167 371.289 34.524 380.646L57.191 403.313C66.564 412.6860000000001 81.76 412.6860000000001 91.132 403.313L285.475 208.97C294.848 199.598 294.848 184.402 285.476 175.029z" glyph-name="chevron-right" horiz-adv-x="320" unicode=""/><glyph d="M240.971 317.476L435.314 123.1330000000001C444.687 113.7600000000001 444.687 98.564 435.314 89.192L412.647 66.525C403.29 57.168 388.125 57.15 378.7459999999999 66.485L224 220.505L69.255 66.484C59.876 57.149 44.711 57.167 35.354 66.524L12.687 89.191C3.314 98.564 3.314 113.7600000000001 12.687 123.1320000000001L207.03 317.475C216.402 326.848 231.598 326.848 240.971 317.476z" glyph-name="chevron-up" horiz-adv-x="448" unicode=""/><glyph d="M120 376C120 415.765 152.235 448 192 448S264 415.765 264 376C264 336.236 231.765 304 192 304S120 336.236 120 376zM374.627 374.627C362.1310000000001 387.124 341.8690000000001 387.124 329.373 374.627L242.745 288H141.254L54.627 374.627C42.131 387.124 21.869 387.124 9.373 374.627C-3.124 362.13 -3.124 341.8690000000001 9.373 329.372L104 234.746V-32C104 -49.673 118.327 -64 136 -64H152C169.673 -64 184 -49.673 184 -32V80H200V-32C200 -49.673 214.327 -64 232 -64H248C265.673 -64 280 -49.673 280 -32V234.746L374.627 329.373C387.124 341.87 387.124 362.13 374.627 374.627z" glyph-name="child" horiz-adv-x="384" unicode=""/><glyph d="M464.46 201.32L352 268.8V320H400C408.84 320 416 327.16 416 336V368C416 376.8400000000001 408.84 384 400 384H352V432C352 440.84 344.84 448 336 448H304C295.1600000000001 448 288 440.84 288 432V384H240C231.16 384 224 376.8400000000001 224 368V336C224 327.16 231.16 320 240 320H288V268.8L175.54 201.32A31.997 31.997 0 0 1 160 173.88V-64H256V32C256 67.35 284.65 96 320 96S384 67.35 384 32V-64H480V173.88C480 185.12 474.1 195.54 464.46 201.32zM0 52.04V-48C0 -56.84 7.16 -64 16 -64H128V128L19.39 81.46A32.024 32.024 0 0 1 0 52.04zM620.61 81.46L512 128V-64H624C632.84 -64 640 -56.84 640 -48V52.04C640 64.84 632.37 76.41 620.61 81.46z" glyph-name="church" horiz-adv-x="640" unicode=""/><glyph d="M288 408.944V392.2850000000001C288 381.481 295.281 372.126 305.686 369.219C383.204 347.5660000000001 440 276.482 440 192C440 90.311 357.705 8 256 8C154.311 8 72 90.295 72 192C72 276.4700000000001 128.786 347.564 206.312 369.219C216.719 372.126 224 381.483 224 392.288V408.936C224 424.645 209.166 436.089 193.954 432.17C86.603 404.5180000000001 7.394 306.794 8.003 190.668C8.723 53.616 119.48 -56.288 256.534 -55.999C393.255 -55.711 504 55.212 504 192C504 307.633 424.86 404.779 317.789 432.236C302.678 436.111 288 424.544 288 408.944z" glyph-name="circle-notch" horiz-adv-x="512" unicode=""/><glyph d="M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440z" glyph-name="circle" horiz-adv-x="512" unicode=""/><glyph d="M616 256H480V424C480 437.26 469.26 448 456 448H312C298.74 448 288 437.26 288 424V352H224V432C224 440.84 216.84 448 208 448H192C183.16 448 176 440.84 176 432V352H112V432C112 440.84 104.84 448 96 448H80C71.16 448 64 440.84 64 432V352H24C10.74 352 0 341.26 0 328V-32C0 -49.67 14.33 -64 32 -64H608C625.67 -64 640 -49.67 640 -32V232C640 245.26 629.25 256 616 256zM128 44C128 37.37 122.63 32 116 32H76C69.37 32 64 37.37 64 44V84C64 90.63 69.37 96 76 96H116C122.63 96 128 90.63 128 84V44zM128 140C128 133.37 122.63 128 116 128H76C69.37 128 64 133.37 64 140V180C64 186.63 69.37 192 76 192H116C122.63 192 128 186.63 128 180V140zM128 236C128 229.37 122.63 224 116 224H76C69.37 224 64 229.37 64 236V276C64 282.63 69.37 288 76 288H116C122.63 288 128 282.63 128 276V236zM256 44C256 37.37 250.63 32 244 32H204C197.37 32 192 37.37 192 44V84C192 90.63 197.37 96 204 96H244C250.63 96 256 90.63 256 84V44zM256 140C256 133.37 250.63 128 244 128H204C197.37 128 192 133.37 192 140V180C192 186.63 197.37 192 204 192H244C250.63 192 256 186.63 256 180V140zM256 236C256 229.37 250.63 224 244 224H204C197.37 224 192 229.37 192 236V276C192 282.63 197.37 288 204 288H244C250.63 288 256 282.63 256 276V236zM416 140C416 133.37 410.63 128 404 128H364C357.37 128 352 133.37 352 140V180C352 186.63 357.37 192 364 192H404C410.63 192 416 186.63 416 180V140zM416 236C416 229.37 410.63 224 404 224H364C357.37 224 352 229.37 352 236V276C352 282.63 357.37 288 364 288H404C410.63 288 416 282.63 416 276V236zM416 332C416 325.37 410.63 320 404 320H364C357.37 320 352 325.37 352 332V372C352 378.63 357.37 384 364 384H404C410.63 384 416 378.63 416 372V332zM576 44C576 37.37 570.63 32 564 32H524C517.37 32 512 37.37 512 44V84C512 90.63 517.37 96 524 96H564C570.63 96 576 90.63 576 84V44zM576 140C576 133.37 570.63 128 564 128H524C517.37 128 512 133.37 512 140V180C512 186.63 517.37 192 524 192H564C570.63 192 576 186.63 576 180V140z" glyph-name="city" horiz-adv-x="640" unicode=""/><glyph d="M336 384H256C256 419.3 227.3 448 192 448S128 419.3 128 384H48C21.5 384 0 362.5 0 336V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V336C384 362.5 362.5 384 336 384zM192 408C205.3 408 216 397.3 216 384S205.3 360 192 360S168 370.7 168 384S178.7 408 192 408zM313.2 176.2L170.2 34.4C165.5 29.7 157.9 29.8 153.2 34.5L70.6 117.8C65.9 122.5 66 130.1 70.7 134.8L99.1 163C103.8 167.7 111.4 167.6 116.1 162.9L162.1 116.5L268.1 221.7C272.8 226.4 280.4000000000001 226.3 285.1 221.6L313.3 193.2C318 188.4 317.9000000000001 180.9 313.2 176.2z" glyph-name="clipboard-check" horiz-adv-x="384" unicode=""/><glyph d="M336 384H256C256 419.3 227.3 448 192 448S128 419.3 128 384H48C21.5 384 0 362.5 0 336V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V336C384 362.5 362.5 384 336 384zM96 24C82.7 24 72 34.7 72 48S82.7 72 96 72S120 61.3 120 48S109.3 24 96 24zM96 120C82.7 120 72 130.7 72 144S82.7 168 96 168S120 157.3 120 144S109.3 120 96 120zM96 216C82.7 216 72 226.7 72 240S82.7 264 96 264S120 253.3 120 240S109.3 216 96 216zM192 408C205.3 408 216 397.3 216 384S205.3 360 192 360S168 370.7 168 384S178.7 408 192 408zM320 40C320 35.6 316.4 32 312 32H168C163.6 32 160 35.6 160 40V56C160 60.4 163.6 64 168 64H312C316.4 64 320 60.4 320 56V40zM320 136C320 131.6 316.4 128 312 128H168C163.6 128 160 131.6 160 136V152C160 156.4 163.6 160 168 160H312C316.4 160 320 156.4 320 152V136zM320 232C320 227.6 316.4 224 312 224H168C163.6 224 160 227.6 160 232V248C160 252.4 163.6 256 168 256H312C316.4 256 320 252.4 320 248V232z" glyph-name="clipboard-list" horiz-adv-x="384" unicode=""/><glyph d="M384 336V-16C384 -42.51 362.51 -64 336 -64H48C21.49 -64 0 -42.51 0 -16V336C0 362.51 21.49 384 48 384H128C128 419.29 156.71 448 192 448S256 419.29 256 384H336C362.51 384 384 362.51 384 336zM192 408C178.745 408 168 397.255 168 384S178.745 360 192 360S216 370.745 216 384S205.255 408 192 408M288 294V314A6 6 0 0 1 282 320H102A6 6 0 0 1 96 314V294A6 6 0 0 1 102 288H282A6 6 0 0 1 288 294z" glyph-name="clipboard" horiz-adv-x="384" unicode=""/><glyph d="M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM313.1 89.9L224.9 154C221.8 156.3 220 159.9 220 163.7V332C220 338.6 225.4 344 232 344H280C286.6 344 292 338.6 292 332V194.3L355.5 148.1C360.9 144.2000000000001 362 136.7000000000001 358.1 131.3L329.9000000000001 92.5C326.0000000000001 87.2 318.5000000000001 86 313.1 89.9z" glyph-name="clock" horiz-adv-x="512" unicode=""/><glyph d="M464 448C490.51 448 512 426.51 512 400V112C512 85.49 490.51 64 464 64H176C149.49 64 128 85.49 128 112V400C128 426.51 149.49 448 176 448H464M176 32C131.888 32 96 67.888 96 112V320H48C21.49 320 0 298.51 0 272V-16C0 -42.51 21.49 -64 48 -64H336C362.51 -64 384 -42.51 384 -16V32H176z" glyph-name="clone" horiz-adv-x="512" unicode=""/><glyph d="M464 384H48C21.5 384 0 362.5 0 336V48C0 21.5 21.5 0 48 0H464C490.5 0 512 21.5 512 48V336C512 362.5 490.5 384 464 384zM218.1 160.3C220.9 162.8 225.2 162.4 227.3 159.4L246.8 131.7000000000001C248.5 129.3000000000001 248.3 126.1 246.3 124.0000000000001C192.7 67.2000000000001 73.5 91.9 73.5 191.9000000000001C73.5 289.2000000000001 195.2 311.4000000000001 246 262.0000000000001C248.1 260.0000000000001 248.5 258.8000000000001 247 256.3000000000001L229.5 225.8000000000001C227.6 222.7000000000001 223.3 221.8000000000001 220.4 224.1000000000001C179.6 256.1000000000002 125.8 239.0000000000001 125.8 192.9000000000001C125.9 144.9000000000001 176.9 122.4000000000001 218.1 160.3000000000001zM408.5 160.3C411.3 162.8 415.6 162.4 417.7 159.4L437.2 131.7000000000001C438.9 129.3000000000001 438.7 126.1 436.7 124.0000000000001C383.2 67.1000000000001 264 91.9 264 191.9000000000001C264 289.2000000000001 385.7 311.4000000000001 436.5 262.0000000000001C438.6 260.0000000000001 439 258.8000000000001 437.5 256.3000000000001L420 225.8C418.1 222.7 413.8 221.8 410.9 224.1C370.1 256.1 316.3 239.0000000000001 316.3 192.9C316.3 144.9 367.3 122.4 408.5 160.3z" glyph-name="closed-captioning" horiz-adv-x="512" unicode=""/><glyph d="M537.6 221.4C541.7 232.1 544 243.8 544 256C544 309 501 352 448 352C428.3 352 409.9 346 394.7 335.8C367 383.8 315.3 416 256 416C167.6 416 96 344.4 96 256C96 253.3 96.1 250.6 96.2 247.9C40.2 228.2 0 174.8 0 112C0 32.5 64.5 -32 144 -32H512C582.7 -32 640 25.3 640 96C640 157.9 596 209.6 537.6 221.4zM404.7000000000001 132.7L299.3 27.3C293.1 21.1 282.9000000000001 21.1 276.7 27.3L171.3 132.7C161.2 142.8 168.4 160 182.6 160H248V272C248 280.8 255.2 288 264 288H312C320.8 288 328 280.8 328 272V160H393.4C407.6 160 414.8 142.8 404.7 132.7z" glyph-name="cloud-download-alt" horiz-adv-x="640" unicode=""/><glyph d="M48 96C21.5 96 0 74.5 0 48S21.5 0 48 0S96 21.5 96 48S74.5 96 48 96zM464 96C437.5 96 416 74.5 416 48S437.5 0 464 0S512 21.5 512 48S490.5 96 464 96zM345 84.9C349.6 99.4 346.6 115.7 335.2 127.2C323.7 138.7 307.4 141.6 292.9 137.1C285.9 150.6 272.2 160.1 256 160.1S226.1 150.6 219.1 137.1C204.6 141.7 188.3 138.7 176.8 127.2C165.3 115.7 162.4 99.4 166.9 84.9C153.4 77.9 143.9 64.2 143.9 48S153.4 18.1 166.9 11.1C162.3 -3.4 165.3 -19.7 176.8 -31.2C185 -39.4 195.7 -43.5 206.5 -43.5C210.8 -43.5 215 -42.4 219.0999999999999 -41C226.1 -54.5 239.8 -64 256 -64S285.8999999999999 -54.5 292.8999999999999 -41C297 -42.3 301.2 -43.5 305.5 -43.5C316.3 -43.5 327 -39.4 335.2 -31.2C346.7 -19.7 349.5999999999999 -3.4 345 11.1C358.5 18.1 368 31.8 368 48S358.5 77.9 345 84.9zM512 224C512 277 469 320 416 320C415.4 320 414.9 319.8 414.4 319.8C415.5 325 416 330.4 416 336C416 380.2000000000001 380.2 416 336 416C311.4 416 289.7 404.7000000000001 275 387.2000000000001C256.4 423.2 219.3 448 176 448C114.1 448 64 397.9 64 336C64 328.7 64.8 321.7 66.1 314.8C27.8 302.2 0 266.5 0 224C0 171 43 128 96 128H139.4C143 136 147.8 143.4 154.2 149.8C167.7 163.3 185.7 170.9 205 171.1C218.5 184.3 236.7 192 256 192S293.5 184.3 307 171.1C326.3 170.9 344.3 163.3 357.8 149.8C364.2 143.4 369.1 136 372.6 128H416C469 128 512 171 512 224z" glyph-name="cloud-meatball" horiz-adv-x="512" unicode=""/><glyph d="M350.5 222.5C343.6 259.7 311.2 288 272 288C259.7 288 248.1 285 237.7 280C220.3 304.1 192.1 320 160 320C107 320 64 277 64 224C64 223.5 64.2 222.9 64.2 222.4C27.6 215.1 0 182.8 0 144C0 99.8 35.8 64 80 64H336C380.2 64 416 99.8 416 144C416 183.2 387.8 215.7 350.5 222.5zM567.9 224.2C497.5 210.9 432.9 264.5 432.9 335C432.9 375.6 454.8 413 490.4 433.1C495.9 436.2 494.5 444.5 488.3 445.6C479.6 447.2 470.7 448 461.8 448C383.9 448 320.7000000000001 386.8 317.4 310.1C344.1 298.2 365.6 276.3 376.3 248.4C413.4 234.1 440.3 201 446.5 161.6C451.6 161.1 456.4999999999999 160.1 461.6999999999999 160.1C506.3999999999999 160.1 547.3 180.3 574.3 213.4C578.5 218.2 574.0999999999999 225.4 567.9 224.2zM364.5 29.9C356.9 34.2 347.1 31.7 342.7 23.9L306.1 -40.1C301.7 -47.8 304.4 -57.5 312.1 -61.9C314.6 -63.3 317.3 -64 320 -64C325.5 -64 330.8999999999999 -61.1 333.8999999999999 -55.9L370.5 8.1C374.8 15.8 372.2 25.5 364.5 29.9zM268.5 29.9C260.9 34.2 251.1 31.7 246.7 23.9L210.1 -40.1C205.7 -47.8 208.4 -57.5 216.1 -61.9C218.6 -63.3 221.3 -64 224 -64C229.5 -64 234.9 -61.1 237.9 -55.9L274.5 8.1C278.8 15.8 276.2 25.5 268.5 29.9zM172.5 29.9C164.9 34.2 155.1 31.7 150.7 23.9L114.1 -40.1C109.7 -47.8 112.4 -57.5 120.1 -61.9C122.6 -63.3 125.3 -64 128 -64C133.5 -64 138.9 -61.1 141.9 -55.9L178.5 8.1C182.8 15.8 180.2 25.5 172.5 29.9zM76.5 29.9C68.9 34.2 59.1 31.7 54.7 23.9L18.1 -40.1C13.7 -47.8 16.4 -57.5 24.1 -61.9C26.6 -63.3 29.3 -64 32 -64C37.5 -64 42.9 -61.1 45.9 -55.9L82.5 8.1C86.8 15.8 84.2 25.5 76.5 29.9z" glyph-name="cloud-moon-rain" horiz-adv-x="576" unicode=""/><glyph d="M342.8 95.3C348.5 104.9 352 116 352 128C352 163.3 323.3 192 288 192C270.8 192 255.2 185.1 243.7 174.1C227.4 203.7 196.2 224 160 224C107 224 64 181 64 128C64 126 64.5 124.2 64.6 122.3C27.1 109.2 0 73.9 0 32C0 -21 43 -64 96 -64H336C380.2 -64 416 -28.2 416 16C416 57.9 383.7 91.8 342.8 95.3zM565.3 149.6C472.1999999999999 131.9 386.8 203.3 386.8 297.3C386.8 351.5 415.8 401.3 462.9 428.1C470.2 432.2000000000001 468.3 443.2000000000001 460.1 444.8C448.4 446.9 436.7 448 425 448C319.1 448 233.1 362.1 233.1 256C233.1 247.5 233.8 239.2 234.9 231C240.8 226.7 246.5 222.1 251.6 216.8C263 221.5 275.3 224 288 224C340.9 224 384 180.9 384 128C384 124.4 383.8 120.8 383.4 117.3C407 106.5 425.8 87.8 436.9 64.7C491.3 68.1 540.6 94 574 135.1C579.3 141.6 573.5 151.2000000000001 565.3 149.6z" glyph-name="cloud-moon" horiz-adv-x="576" unicode=""/><glyph d="M416 320C415.4 320 414.9 319.8 414.4 319.8C415.5 325 416 330.4 416 336C416 380.2000000000001 380.2 416 336 416C311.4 416 289.7 404.7000000000001 275 387.2000000000001C256.4 423.2 219.3 448 176 448C114.1 448 64 397.9 64 336C64 328.7 64.8 321.7 66.1 314.8C27.8 302.2 0 266.5 0 224C0 171 43 128 96 128H416C469 128 512 171 512 224S469 320 416 320zM88 73.8C75.2 29.4 48 17.4 48 -13.9C48 -41.6 69.5 -64 96 -64S144 -41.6 144 -13.9C144 17.5 116.8 29.2 104 73.8C101.8 81.9 90.5 82.3 88 73.8zM248 73.8C235.2 29.4 208 17.4 208 -13.9C208 -41.6 229.5 -64 256 -64S304 -41.6 304 -13.9C304 17.5 276.8 29.2 264 73.8C261.8 81.9 250.5 82.3 248 73.8zM408 73.8C395.2 29.4 368 17.4 368 -13.9C368 -41.6 389.5 -64 416 -64S464 -41.6 464 -13.9C464 17.5 436.8 29.2 424 73.8C421.8 81.9 410.5 82.3 408 73.8z" glyph-name="cloud-rain" horiz-adv-x="512" unicode=""/><glyph d="M183.9 77.9C176.3 82.3 166.5 79.7 162.1 71.9L98.1 -40.1C93.7 -47.8 96.4 -57.6 104.1 -61.9C106.6 -63.3 109.3 -64 112 -64C117.5 -64 122.9 -61.1 125.9 -55.9L189.9 56.1C194.3 63.7000000000001 191.6 73.5 183.9 77.9zM279.9 77.9C272.3 82.3 262.5 79.7 258.1 71.9L194.1 -40.1C189.7 -47.8 192.4 -57.6 200.1 -61.9C202.6 -63.3 205.3 -64 208 -64C213.5 -64 218.9 -61.1 221.9 -55.9L285.9 56.1C290.3 63.7000000000001 287.6 73.5 279.9 77.9zM87.9 77.9C80.3 82.3 70.5 79.7 66.1 71.9L2.1 -40.1C-2.3 -47.8 0.4 -57.6 8.1 -61.9C10.6 -63.3 13.3 -64 16 -64C21.5 -64 26.9 -61.1 29.9 -55.9L93.9 56.1C98.3 63.7000000000001 95.6 73.5 87.9 77.9zM471.9 77.9C464.3 82.3 454.5 79.7 450.1 71.9L386.1 -40.1C381.7 -47.8 384.4 -57.6 392.1 -61.9C394.6 -63.3 397.3 -64 400 -64C405.5 -64 410.8999999999999 -61.1 413.8999999999999 -55.9L477.8999999999999 56.1C482.2999999999999 63.7000000000001 479.5999999999999 73.5 471.8999999999999 77.9zM375.9 77.9C368.3 82.3 358.5 79.7 354.1 71.9L290.1 -40.1C285.7 -47.8 288.4 -57.6 296.1 -61.9C298.6 -63.3 301.3 -64 304 -64C309.5 -64 314.8999999999999 -61.1 317.8999999999999 -55.9L381.8999999999999 56.1C386.2999999999999 63.7000000000001 383.5999999999999 73.5 375.8999999999999 77.9zM416 320C415.4 320 414.9 319.8 414.4 319.8C415.5 325 416 330.4 416 336C416 380.2000000000001 380.2 416 336 416C311.4 416 289.7 404.7000000000001 275 387.2000000000001C256.4 423.2 219.3 448 176 448C114.2 448 64 397.9 64 336C64 328.7 64.8 321.7 66.1 314.8C27.8 302.2 0 266.5 0 224C0 171 43 128 96 128H416C469 128 512 171 512 224S469 320 416 320z" glyph-name="cloud-showers-heavy" horiz-adv-x="512" unicode=""/><glyph d="M510.5 222.5C503.6 259.7 471.2 288 432 288C419.7 288 408.1 285 397.7 280C380.3 304.1 352.1 320 320 320C267 320 224 277 224 224C224 223.5 224.2 222.9 224.2 222.4C187.6 215 160 182.8 160 144C160 99.8 195.8 64 240 64H496C540.2 64 576 99.8 576 144C576 183.2 547.8 215.7 510.5 222.5zM124.1 188.1C86.7 225.5000000000001 86.7 286.4000000000001 124.1 323.9000000000001C158.7 358.5 213.2 360.7000000000001 250.8 331.3000000000001C270.8 344.2000000000001 294.4000000000001 352.0000000000001 320 352.0000000000001C320.7 352.0000000000001 321.3 351.8000000000001 322 351.8000000000001L330.9 378.5000000000001C334.3 388.7000000000001 324.6 398.3000000000001 314.4 394.9000000000001L239.1 369.8000000000001L203.6 440.8000000000001C198.8 450.4 185.1 450.4 180.3 440.8000000000001L144.8 369.8000000000001L69.5 394.9000000000001C59.3 398.3000000000001 49.7 388.6 53.1 378.4000000000001L78.2 303.1L7.2 267.6C-2.4 262.8 -2.4 249.1 7.2 244.3L78.2 208.8L53.1 133.5C49.7 123.3 59.4 113.7 69.6 117L128.8 136.7C128.6 139.1 128.1 141.4 128.1 143.9C128.1 156.4 130.4 168.4 134.3 179.8C130.7 182.5 127.2 185 124.1 188.1zM193.9 246.1C198.2000000000001 270.6 209.7000000000001 292.5 225.8000000000001 310.1C216 316.3 204.4 320 192.0000000000001 320C156.7000000000001 320 128.0000000000001 291.3000000000001 128.0000000000001 256C128.0000000000001 237.3000000000001 136.2000000000001 220.6 149.1000000000001 208.9C160.4000000000001 224.8000000000001 175.7000000000001 237.8000000000001 193.9 246.1zM524.5 29.9C516.9 34.2 507.1 31.7 502.7 23.9L466.1 -40.1C461.7 -47.8 464.4 -57.4999999999999 472.1 -61.9C474.6 -63.2999999999999 477.3 -64 479.9999999999999 -64C485.4999999999999 -64 490.8999999999999 -61.1 493.8999999999999 -55.9L530.4999999999999 8.1C534.7999999999998 15.8 532.1999999999999 25.5 524.4999999999999 29.9zM428.5 29.9C420.9 34.2 411.1 31.7 406.7 23.9L370.1 -40.1C365.7 -47.8 368.4 -57.4999999999999 376.1 -61.9C378.6 -63.2999999999999 381.3 -64 384 -64C389.5 -64 394.8999999999999 -61.1 397.8999999999999 -55.9L434.5 8.1C438.8 15.8 436.2 25.5 428.5 29.9zM332.5 29.9C324.9 34.2 315.1 31.7 310.7 23.9L274.1 -40.1C269.7 -47.8 272.4 -57.4999999999999 280.1 -61.9C282.6 -63.2999999999999 285.3 -64 288 -64C293.5 -64 298.8999999999999 -61.1 301.8999999999999 -55.9L338.5 8.1C342.8 15.8 340.2 25.5 332.5 29.9zM236.5 29.9C228.9 34.2 219.1 31.7 214.7 23.9L178.1 -40.1C173.7 -47.8 176.4 -57.4999999999999 184.1 -61.9C186.6 -63.2999999999999 189.3 -64 192 -64C197.5 -64 202.9 -61.1 205.9 -55.9L242.5 8.1C246.8 15.8 244.2 25.5 236.5 29.9z" glyph-name="cloud-sun-rain" horiz-adv-x="576" unicode=""/><glyph d="M575.2 122.3C575.4000000000001 124.2 576 126 576 127.9C576 163.2000000000001 547.3 191.9 512 191.9C499.4 191.9 487.8 188.1 477.9 181.9C460.3 220.7000000000001 421.4 247.9000000000001 376 247.9000000000001C314.2 247.9000000000001 264 197.8000000000001 264 135.9C264 132.9 264.7 130.1 264.9 127.2000000000001C215.3 123.5000000000001 176 82.5000000000001 176 31.9C176 -21.1 219 -64.0999999999999 272 -64.0999999999999H544C597 -64.0999999999999 640 -21.0999999999999 640 31.9000000000001C640 74.0000000000001 612.8 109.3000000000001 575.2 122.3000000000001zM144.8000000000001 144.9C101.1000000000001 188.6 101.1000000000001 259.6 144.8000000000001 303.2000000000001C188.5000000000001 346.9000000000001 259.5000000000001 346.9000000000001 303.2000000000001 303.2000000000001C312.9000000000001 293.5000000000001 320.1 282.3000000000001 325.5000000000001 270.5000000000001C335.3000000000001 274.2000000000001 345.6000000000001 276.5000000000001 356.2000000000001 278.0000000000001L386 366.9C390 378.8 378.7 390 366.8 386.1L279 356.8L237.5 439.6C232 450.8 216 450.8 210.4 439.6L169 356.8L81.1 386.1C69.3 390 58 378.7 61.9 366.9L91.2 279.1L8.4 237.6C-2.8 232.0000000000001 -2.8 216.1 8.4 210.5L91.2 169.1L61.9 81.3C57.9 69.4 69.2 58.2 81.1 62.1L157.2 87.4C163.3 99.8 171.2 111.1 180.8 120.9C167.7 126.3 155.4 134.3 144.8 144.9zM140.0000000000001 224.1C140.0000000000001 183.3 169.3000000000001 149.3 207.9000000000001 141.8C215.9000000000001 146.5 224.2000000000001 150.6 233.1000000000001 153.5C238.5000000000001 197.8 264.1 236 300.5000000000001 258.5C287.3 287.6 258 308 224 308C177.7 308 140 270.4 140 224.1z" glyph-name="cloud-sun" horiz-adv-x="640" unicode=""/><glyph d="M537.6 221.4C541.7 232.1 544 243.8 544 256C544 309 501 352 448 352C428.3 352 409.9 346 394.7 335.8C367 383.8 315.3 416 256 416C167.6 416 96 344.4 96 256C96 253.3 96.1 250.6 96.2 247.9C40.2 228.2 0 174.8 0 112C0 32.5 64.5 -32 144 -32H512C582.7 -32 640 25.3 640 96C640 157.9 596 209.6 537.6 221.4zM393.4 160H328V48C328 39.2 320.8 32 312 32H264C255.2 32 248 39.2 248 48V160H182.6C168.3 160 161.2 177.2 171.3 187.3L276.7 292.7000000000001C282.9 298.9 293.1 298.9 299.3 292.7000000000001L404.7000000000001 187.3C414.8000000000001 177.2 407.6 160 393.4000000000001 160z" glyph-name="cloud-upload-alt" horiz-adv-x="640" unicode=""/><glyph d="M537.6 221.4C541.7 232.1 544 243.8 544 256C544 309 501 352 448 352C428.3 352 409.9 346 394.7 335.8C367 383.8 315.3 416 256 416C167.6 416 96 344.4 96 256C96 253.3 96.1 250.6 96.2 247.9C40.2 228.2 0 174.8 0 112C0 32.5 64.5 -32 144 -32H512C582.7 -32 640 25.3 640 96C640 157.9 596 209.6 537.6 221.4z" glyph-name="cloud" horiz-adv-x="640" unicode=""/><glyph d="M296 -16H240V109.22L408.74 277.9500000000001C424.26 293.4700000000001 413.27 320 391.32 320H24.68C2.73 320 -8.26 293.4700000000001 7.26 277.9500000000001L176 109.22V-16H120C97.91 -16 80 -33.91 80 -56C80 -60.42 83.58 -64 88 -64H328C332.42 -64 336 -60.42 336 -56C336 -33.91 318.09 -16 296 -16zM432 448C369.39 448 316.65 407.8 296.82 352H349.36C366.01 380.55 396.63 400 432 400C484.93 400 528 356.94 528 304S484.93 208 432 208C417.96 208 404.71 211.2 392.68 216.64L357.42 181.38C379.23 168.08 404.59 160 432 160C511.53 160 576 224.47 576 304S511.53 448 432 448z" glyph-name="cocktail" horiz-adv-x="576" unicode=""/><glyph d="M384 304C384 348.2 348.2 384 304 384S224 348.2 224 304C224 267.6 248.3 236.9 281.5 227.2C280.9 211.1 277.3 198.7 270.5 190.3C255.1 171.1 221.2 167.9 185.3 164.6C157.1 162 127.9 159.2000000000001 104 147.7000000000001V291.7000000000001C136.5 301.9000000000001 160 332.2000000000001 160 368.0000000000001C160 412.2000000000001 124.2 448.0000000000001 80 448.0000000000001S0 412.2 0 368C0 332.2 23.5 301.9 56 291.7V92.4C23.5 82.1 0 51.8 0 16C0 -28.2 35.8 -64 80 -64S160 -28.2 160 16C160 50 138.8 79.1 108.8 90.6C111.9 95.8 116.6 100.4 123.7 104C139.9 112.2 164.1 114.4 189.8 116.8C232 120.7 279.8 125.2 308 160.2C322 177.6 329.1 200 329.6 228.1C361.2000000000001 238.9 384 268.8 384 304zM80 384C88.8 384 96 376.8 96 368S88.8 352 80 352S64 359.2 64 368S71.2 384 80 384zM80 0C71.2 0 64 7.2 64 16S71.2 32 80 32S96 24.8 96 16S88.8 0 80 0zM304 320C312.8 320 320 312.8 320 304S312.8 288 304 288S288 295.2 288 304S295.2 320 304 320z" glyph-name="code-branch" horiz-adv-x="384" unicode=""/><glyph d="M278.9 -63.5L217.9 -45.8C211.5 -44 207.9 -37.3 209.7 -30.9L346.2 439.3C348 445.7 354.7 449.3 361.1 447.5L422.1 429.8C428.5 428 432.1 421.3 430.3 414.9L293.8 -55.3C291.9000000000001 -61.7 285.3 -65.4 278.9000000000001 -63.5zM164.9 48.7L208.4 95.1C213 99.9999999999999 212.7 107.8 207.6 112.3L117 192L207.6 271.7C212.7 276.2 213.1 284 208.4 288.9L164.9 335.3C160.4 340.1 152.8 340.4 147.9 335.8L3.8 200.8C-1.3 196.1 -1.3 188 3.8 183.3L147.9 48.2C152.8 43.6 160.4 43.8000000000001 164.9 48.7zM492.1 48.1L636.1999999999999 183.1999999999999C641.3 187.8999999999999 641.3 196 636.1999999999999 200.6999999999999L492.1 335.9C487.3 340.4 479.7 340.2 475.1 335.4L431.6 289C427 284.1 427.3 276.3 432.4000000000001 271.8L523 192L432.4 112.3C427.3 107.8 426.9 100 431.6 95.1L475.1 48.7C479.6 43.8000000000001 487.2 43.6 492.1 48.1z" glyph-name="code" horiz-adv-x="640" unicode=""/><glyph d="M192 64H384C437 64 480 107 480 160H512C582.6 160 640 217.4 640 288S582.6 416 512 416H120C106.7 416 96 405.3 96 392V160C96 107 139 64 192 64zM512 352C547.3 352 576 323.3 576 288S547.3 224 512 224H480V352H512zM559.7 -32H48.3C0.7 -32 -12.7 32 12.3 32H595.5999999999999C620.5999999999999 32 607.3999999999999 -32 559.6999999999999 -32z" glyph-name="coffee" horiz-adv-x="640" unicode=""/><glyph d="M444.788 156.9L487.404 132.301C492.271 129.492 494.53 123.683 492.863 118.316C481.793 82.674 462.893 50.474 438.174 23.73A12.015999999999998 12.015999999999998 0 0 0 423.342 21.4759999999999L380.758 46.0709999999999A191.577 191.577 0 0 0 319.999 10.9409999999999V-38.2410000000001A12.01 12.01 0 0 0 310.622 -49.9590000000001C275.666 -57.8090000000001 238.123 -58.2150000000001 201.403 -49.9660000000001C195.913 -48.7330000000001 192 -43.8700000000001 192 -38.2430000000001V10.9409999999999A191.555 191.555 0 0 0 131.241 46.0709999999999L88.657 21.4759999999999A12.015999999999998 12.015999999999998 0 0 0 73.825 23.7299999999999C49.107 50.4739999999999 30.206 82.6739999999999 19.136 118.3159999999999C17.469 123.6819999999999 19.728 129.4909999999999 24.595 132.3009999999999L67.212 156.9A193.48000000000002 193.48000000000002 0 0 0 67.212 227.099L24.596 251.698C19.729 254.507 17.47 260.316 19.137 265.683C30.207 301.325 49.107 333.525 73.826 360.269A12.015999999999998 12.015999999999998 0 0 0 88.658 362.523L131.242 337.928A191.577 191.577 0 0 0 192.001 373.058V422.241A12.01 12.01 0 0 0 201.3780000000001 433.959C236.3340000000001 441.8090000000001 273.8770000000001 442.215 310.5970000000001 433.966C316.0870000000001 432.733 320.0000000000001 427.87 320.0000000000001 422.243V373.059A191.555 191.555 0 0 0 380.7590000000001 337.929L423.3430000000001 362.524A12.015999999999998 12.015999999999998 0 0 0 438.1750000000001 360.27C462.8930000000001 333.526 481.7940000000001 301.326 492.8640000000001 265.684C494.5310000000001 260.318 492.2720000000001 254.509 487.4050000000001 251.699L444.788 227.1A193.485 193.485 0 0 0 444.788 156.9zM336 192C336 236.112 300.112 272 256 272S176 236.112 176 192S211.888 112 256 112S336 147.888 336 192z" glyph-name="cog" horiz-adv-x="512" unicode=""/><glyph d="M512.1 257L503.9 242.7C500.9 237.4 494.5000000000001 235.2 488.8 237.3C477 241.7 466.2 248 456.7 255.9C452.1 259.7 450.9 266.4 453.9 271.6L462.1 285.9C455.2 293.9 449.8 303.2 446.2 313.3H429.7C423.7 313.3 418.5 317.6 417.5 323.6C415.5 335.6 415.4 348.2 417.5 360.7C418.5 366.7 423.7 371.1 429.7 371.1H446.2C449.8 381.2 455.2 390.5 462.1 398.5L453.9 412.8C450.9 418 452 424.7 456.7 428.5C466.2 436.4 477.1 442.7 488.8 447.1C494.5 449.2 500.9 447 503.9 441.7L512.1 427.4C522.6 429.3 533.3000000000001 429.3 543.8000000000001 427.4L552 441.7C555 447 561.4 449.2 567.1 447.1C578.9 442.7 589.7 436.4 599.2 428.5C603.8000000000001 424.7 605 418 602 412.8L593.8 398.5C600.6999999999999 390.5 606.0999999999999 381.2 609.6999999999999 371.1H626.1999999999999C632.1999999999999 371.1 637.4 366.8 638.4 360.8C640.4 348.8 640.5 336.2 638.4 323.7C637.4 317.7 632.1999999999999 313.3 626.1999999999999 313.3H609.6999999999999C606.0999999999999 303.2 600.6999999999999 293.9 593.8 285.9L602 271.6C605 266.4 603.9 259.7 599.2 255.9C589.7 248 578.8000000000001 241.7 567.1 237.3C561.4 235.2 555 237.4 552 242.7L543.8 257C533.4 255.1 522.5999999999999 255.1 512.0999999999999 257zM501.6 315.8C540.1 286.2000000000001 584 330.1 554.4 368.6C515.9 398.3 472 354.3 501.6 315.8zM386.3 161.9L420 145.1C430.1 139.3 434.5 127 430.5 116C421.6 91.8 404.1 69.6 387.9 50.1999999999999C380.5 41.3 367.7 39.0999999999999 357.6 44.8999999999999L328.5 61.6999999999999C312.5 47.9999999999999 293.8999999999999 37.0999999999999 273.6 29.9999999999999V-3.6000000000001C273.6 -15.2000000000001 265.3 -25.2000000000001 253.9 -27.2000000000001C229.3 -31.4000000000001 203.5 -31.6000000000001 178 -27.2000000000001C166.5 -25.2000000000001 158 -15.3000000000001 158 -3.6000000000001V30C137.7 37.2 119.1 48 103.1 61.7L74 45C64 39.2 51.1 41.4 43.7 50.3C27.5 69.7 10.4 91.9 1.5 116C-2.5 126.9 1.9 139.2 12 145.1L45.3 161.9C41.4 182.8 41.4 204.3000000000001 45.3 225.3000000000001L12 242.2C1.9 248 -2.6 260.3 1.5 271.2C10.4 295.4 27.5 317.6 43.7 337C51.1 345.9 63.9 348.1 74 342.3L103.1 325.5C119.1 339.2 137.7 350.1 158 357.2V390.9C158 402.4 166.2 412.4 177.6 414.4C202.2 418.6 228.1 418.8 253.6 414.5C265.1 412.5 273.6 402.6 273.6 390.9V357.3C293.9000000000001 350.1 312.5 339.3 328.5 325.6L357.6 342.4C367.6 348.2 380.5 346 387.9000000000001 337.1C404.1 317.7 421.1 295.5 430.0000000000001 271.3C434.0000000000001 260.4 430.1000000000001 248.1 420.0000000000001 242.2L386.3000000000001 225.4C390.2000000000001 204.4 390.2000000000001 182.9 386.3000000000001 161.9zM268.7000000000001 140.8C327.9000000000001 217.8 240.0000000000001 305.7 163.0000000000001 246.5C103.8000000000001 169.5 191.7000000000001 81.5999999999999 268.7000000000001 140.8zM512.1 -41.9L503.9 -56.2C500.9 -61.5000000000001 494.5000000000001 -63.7 488.8 -61.6C477 -57.2 466.2 -50.9 456.7 -43C452.1 -39.2 450.9 -32.5 453.9 -27.3L462.1 -13C455.2 -5 449.8 4.3 446.2 14.4H429.7C423.7 14.4 418.5 18.7 417.5 24.7C415.5 36.7 415.4 49.3 417.5 61.8C418.5 67.8 423.7 72.2 429.7 72.2H446.2C449.8 82.3 455.2 91.6 462.1 99.6L453.9 113.9C450.9 119.1 452 125.8 456.7 129.6C466.2 137.5 477.1 143.8 488.8 148.2C494.5 150.3 500.9 148.1 503.9 142.8L512.1 128.5C522.6 130.4 533.3000000000001 130.4 543.8000000000001 128.5L552.0000000000001 142.8C555.0000000000001 148.1 561.4000000000001 150.3 567.1000000000001 148.2C578.9000000000001 143.8 589.7000000000002 137.5 599.2000000000002 129.6C603.8000000000002 125.8 605.0000000000001 119.1 602.0000000000001 113.9L593.8000000000001 99.6C600.7 91.6 606.1 82.3 609.7 72.2H626.2C632.2 72.2 637.4000000000001 67.9 638.4000000000001 61.9C640.4000000000001 49.9 640.5000000000001 37.3 638.4000000000001 24.8C637.4000000000001 18.8 632.2 14.4 626.2 14.4H609.7C606.1 4.3 600.7 -5 593.8000000000001 -13L602.0000000000001 -27.3C605.0000000000001 -32.5 603.9000000000001 -39.2 599.2000000000002 -43C589.7000000000002 -50.9 578.8000000000002 -57.2 567.1000000000001 -61.6C561.4000000000001 -63.7 555.0000000000001 -61.5 552.0000000000001 -56.2L543.8000000000001 -41.9C533.4000000000001 -43.8 522.6 -43.8 512.1 -41.9zM501.6 17C540.1 -12.6 584 31.3 554.4 69.8C515.9 99.4 472 55.5 501.6 17z" glyph-name="cogs" horiz-adv-x="640" unicode=""/><glyph d="M0 42.7V0C0 -35.3 86 -64 192 -64S384 -35.3 384 0V42.7C342.7 13.6 267.2 0 192 0S41.3 13.6 0 42.7zM320 320C426 320 512 348.7 512 384S426 448 320 448S128 419.3 128 384S214 320 320 320zM0 147.6V96C0 60.7 86 32 192 32S384 60.7 384 96V147.6C342.7 113.6 267.1 96 192 96S41.3 113.6 0 147.6zM416 136.6C473.3 147.7000000000001 512 168.3 512 192V234.7000000000001C488.8 218.3000000000001 454.7 207.1000000000001 416 200.2000000000001V136.6zM192 288C86 288 0 252.2 0 208S86 128 192 128S384 163.8 384 208S298 288 192 288zM411.3 231.7C471.3 242.5 512 263.7 512 288V330.7C476.5 305.6 415.5 292.1 351.3 288.9C380.8 274.6 402.5 255.4 411.3 231.7z" glyph-name="coins" horiz-adv-x="512" unicode=""/><glyph d="M464 416H48C21.49 416 0 394.51 0 368V16C0 -10.51 21.49 -32 48 -32H464C490.51 -32 512 -10.51 512 16V368C512 394.51 490.51 416 464 416zM224 32H64V288H224V32zM448 32H288V288H448V32z" glyph-name="columns" horiz-adv-x="512" unicode=""/><glyph d="M448 448H64C28.7 448 0 419.3 0 384V96C0 60.7 28.7 32 64 32H160V-52C160 -61.8 171.2 -67.5 179.1 -61.7L304 32H448C483.3 32 512 60.7 512 96V384C512 419.3 483.3 448 448 448z" glyph-name="comment-alt" horiz-adv-x="512" unicode=""/><glyph d="M256 416C114.62 416 0 322.88 0 208C0 158.44 21.41 112.99 57.02 77.26C44.46 26.95 2.7 -17.97 2.2 -18.5A7.995 7.995 0 0 1 8 -32C74.26 -32 123.99 -0.25 148.6 19.38C181.29 7.07 217.59 0 256 0C397.38 0 512 93.12 512 208S397.38 416 256 416zM280 113.56V96C280 87.16 272.84 80 264 80H248C239.16 80 232 87.16 232 96V113.73C220.58 115.0800000000001 209.72 118.92 200.22 125.19C194 129.3 193.4 138.3 198.67 143.57L216.19 161.09C219.93 164.83 225.5 165.33 230.3 163.12C233.48 161.66 236.96 160.8999999999999 240.56 160.8999999999999H273.3400000000001C278.0000000000001 160.8999999999999 281.7800000000001 164.6799999999999 281.7800000000001 169.3199999999999C281.7800000000001 173.0699999999999 279.2600000000001 176.3999999999999 275.6600000000001 177.43L225.5900000000001 191.73C203.34 198.08 185.5800000000001 216.44 182.68 239.4C178.63 271.47 201.71 298.83 232.0000000000001 302.45V320C232.0000000000001 328.8400000000001 239.1600000000001 336 248.0000000000001 336H264C272.84 336 280 328.8400000000001 280 320V302.27C291.42 300.92 302.28 297.0800000000001 311.78 290.81C318 286.7 318.6 277.7 313.33 272.43L295.81 254.91C292.07 251.17 286.5 250.67 281.7 252.88A24.516 24.516 0 0 1 271.44 255.1H238.66C234 255.1 230.22 251.32 230.22 246.68C230.22 242.93 232.74 239.6 236.34 238.57L286.4100000000001 224.27C308.6600000000001 217.91 326.42 199.56 329.3200000000001 176.6C333.3700000000001 144.54 310.2900000000001 117.18 280.0000000000001 113.56z" glyph-name="comment-dollar" horiz-adv-x="512" unicode=""/><glyph d="M256 416C114.6 416 0 322.9 0 208C0 158.4 21.4 113 57 77.3C44.5 26.9 2.7 -18 2.2 -18.5C0 -20.8 -0.6 -24.2 0.7 -27.2S4.8 -32 8 -32C74.3 -32 124 -0.2 148.6 19.4C181.3 7.1 217.6 0 256 0C397.4 0 512 93.1 512 208S397.4 416 256 416zM128 176C110.3 176 96 190.3 96 208S110.3 240 128 240S160 225.7 160 208S145.7 176 128 176zM256 176C238.3 176 224 190.3 224 208S238.3 240 256 240S288 225.7 288 208S273.7 176 256 176zM384 176C366.3 176 352 190.3 352 208S366.3 240 384 240S416 225.7 416 208S401.7 176 384 176z" glyph-name="comment-dots" horiz-adv-x="512" unicode=""/><glyph d="M64 208C64 158.4 85.4 113 121 77.3C108.4 27 66.7 -17.9 66.2 -18.5C64 -20.8 63.4 -24.2 64.7 -27.2C66 -30.1 68.8 -32 72 -32C138.3 -32 188 -0.2 212.6 19.4C245.3 7.1 281.6 0 320 0C347.4 0 373.7 3.6 398.4 10L72.9 261.6C67.3 244.5 64 226.6 64 208zM633.8 -10.1L519.4 78.3C554.6 113.9 576 158.8 576 208C576 322.9 461.4 416 320 416C254.9 416 195.8 395.9 150.6 363.3L45.5 444.6C38.5 450 28.5 448.8 23 441.8L3.4 416.6C-2 409.6 -0.8 399.6 6.2 394.2L594.6 -60.5C601.6 -65.9 611.6 -64.7 617.1 -57.7L636.7 -32.4C642.1 -25.6 640.8000000000001 -15.5 633.8000000000001 -10.1z" glyph-name="comment-slash" horiz-adv-x="640" unicode=""/><glyph d="M256 416C114.6 416 0 322.9 0 208C0 158.4 21.4 113 57 77.3C44.5 26.9 2.7 -18 2.2 -18.5C0 -20.8 -0.6 -24.2 0.7 -27.2S4.8 -32 8 -32C74.3 -32 124 -0.2 148.6 19.4C181.3 7.1 217.6 0 256 0C397.4 0 512 93.1 512 208S397.4 416 256 416z" glyph-name="comment" horiz-adv-x="512" unicode=""/><glyph d="M416 256C416 344.37 322.88 416 208 416S0 344.37 0 256C0 221.73 14.13 190.05 37.97 164.02C24.61 133.78 2.52 109.84 2.2 109.5A7.995 7.995 0 0 1 8 96C44.58 96 74.93 108.25 96.73 120.98C128.93 105.24 167.02 96 208 96C322.88 96 416 167.63 416 256zM192 160V176.29C180.71 176.87 169.73 180.81 160.63 187.6400000000001C156.73 190.5700000000001 156.53 196.4100000000001 160.06 199.78L171.81 210.9900000000001C174.58 213.63 178.7 213.75 181.94 211.72C185.81 209.3000000000001 190.2 208 194.76 208H222.87C229.37 208 234.67 213.92 234.67 221.19C234.67 227.14 231.06 232.38 225.9 233.92L180.9 247.42C162.31 253.0000000000001 149.32 270.8400000000001 149.32 290.81C149.32 315.3300000000001 168.37 335.25 191.99 335.88V352C191.99 356.42 195.57 360 199.99 360H215.99C220.41 360 223.99 356.42 223.99 352V335.7100000000001C235.28 335.13 246.26 331.2 255.36 324.36C259.26 321.43 259.4600000000001 315.5900000000001 255.93 312.2200000000001L244.18 301.01C241.41 298.37 237.29 298.25 234.05 300.2800000000001C230.18 302.7100000000001 225.79 304 221.23 304H193.12C186.62 304 181.32 298.0800000000001 181.32 290.8100000000001C181.32 284.86 184.93 279.62 190.09 278.0800000000001L235.09 264.5800000000001C253.68 259 266.67 241.1600000000001 266.67 221.1900000000001C266.67 196.6600000000001 247.62 176.7500000000001 224 176.1200000000001V160C224 155.58 220.42 152 216 152H200C195.58 152 192 155.58 192 160zM538.01 36.01C561.87 62.04 576 93.73 576 128C576 194.94 522.51 252.2 446.67 276.07C447.53 269.4700000000001 448 262.78 448 256C448 150.13 340.3399999999999 64 208 64C197.22 64 186.68 64.77 176.27 65.88C207.8 8.37 281.77 -32 368 -32C408.98 -32 447.07 -22.76 479.27 -7.02C501.07 -19.75 531.42 -32 568 -32C571.2 -32 574.09 -30.09 575.34 -27.16C576.61 -24.22 576 -20.82 573.7900000000001 -18.49C573.4800000000001 -18.16 551.3700000000001 5.75 538.0100000000001 36.01z" glyph-name="comments-dollar" horiz-adv-x="576" unicode=""/><glyph d="M416 256C416 344.4 322.9 416 208 416S0 344.4 0 256C0 221.7 14.1 190.1 38 164C24.6 133.8 2.5 109.8 2.2 109.5C0 107.2 -0.6 103.8 0.7 100.8S4.8 96 8 96C44.6 96 74.9 108.3 96.7 121C128.9 105.3 167 96 208 96C322.9 96 416 167.6 416 256zM538 36C561.9 62 576 93.7 576 128C576 194.9 522.5 252.2 446.7 276.1C447.6 269.5 448 262.8 448 256C448 150.1 340.3 64 208 64C197.2 64 186.7 64.8 176.3 65.9C207.8 8.4 281.8 -32 368 -32C409 -32 447.1 -22.8 479.3 -7C501.1 -19.7 531.4 -32 568 -32C571.2 -32 574.1 -30.1 575.3 -27.2C576.5999999999999 -24.3 576 -20.9 573.8 -18.5C573.5 -18.2 551.4 5.7 538 36z" glyph-name="comments" horiz-adv-x="576" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM88 192H56C56 297.9 142.1 384 248 384V352C159.8 352 88 280.2 88 192zM248 96C195 96 152 139 152 192S195 288 248 288S344 245 344 192S301 96 248 96zM248 224C230.3 224 216 209.7 216 192S230.3 160 248 160S280 174.3 280 192S265.7 224 248 224z" glyph-name="compact-disc" horiz-adv-x="496" unicode=""/><glyph d="M225.38 214.63C212.88 202.13 212.88 181.87 225.38 169.38C237.87 156.88 258.14 156.88 270.63 169.38C283.13 181.88 283.13 202.14 270.63 214.63C258.13 227.12 237.87 227.12 225.38 214.63zM248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM374.14 291.95L308.17 147.6A31.938 31.938 0 0 0 292.4000000000001 131.8300000000001L148.06 65.86C131.41 58.25 114.25 75.41 121.86 92.06L187.84 236.41A31.938 31.938 0 0 0 203.6100000000001 252.18L347.9500000000001 318.15C364.6 325.75 381.7500000000001 308.6 374.1400000000001 291.9500000000001z" glyph-name="compass" horiz-adv-x="496" unicode=""/><glyph d="M200 160H88C66.6 160 55.9 134.2 71 119L103.9 88L4.7 -11.3C-1.5 -17.5 -1.5 -27.7 4.7 -33.9L30.1 -59.3C36.3 -65.5 46.5 -65.5 52.7 -59.3L152 40L183.1 7C198.2 -8.1 224 2.6 224 24V136C224 149.3 213.3 160 200 160zM312 224H424C445.4 224 456.1 249.9 441 265L408 296L507.3 395.3C513.5 401.5 513.5 411.7 507.3 417.9L481.9 443.3C475.7 449.5 465.5 449.5 459.3 443.3L360 344L328.9 377C313.8 392.1 288 381.4 288 360V248C288 234.7 298.7 224 312 224zM408 88L441 119.1C456.1 134.2000000000001 445.4 160 424 160H312C298.7 160 288 149.3 288 136V24C288 2.6 313.9 -8.1 329 7L360 39.9L459.3 -59.4C465.5 -65.6 475.7 -65.6 481.9 -59.4L507.3 -34.0000000000001C513.5 -27.8000000000001 513.5 -17.6000000000001 507.3 -11.4L408 88zM183 376.9L152 344L52.7 443.3C46.5 449.5 36.3 449.5 30.1 443.3L4.7 417.9C-1.5 411.7 -1.5 401.5 4.7 395.3L104 296L71 264.9C55.9 249.8 66.6 224 88 224H200C213.3 224 224 234.7 224 248V360C224 381.3 198.1 392 183 376.9z" glyph-name="compress-arrows-alt" horiz-adv-x="512" unicode=""/><glyph d="M436 256H312C298.7 256 288 266.7 288 280V404C288 410.6 293.4 416 300 416H340C346.6 416 352 410.6 352 404V320H436C442.6 320 448 314.6 448 308V268C448 261.4 442.6 256 436 256zM160 280V404C160 410.6 154.6 416 148 416H108C101.4 416 96 410.6 96 404V320H12C5.4 320 0 314.6 0 308V268C0 261.4 5.4 256 12 256H136C149.3 256 160 266.7 160 280zM160 -20V104C160 117.3 149.3 128 136 128H12C5.4 128 0 122.6 0 116V76C0 69.4 5.4 64 12 64H96V-20C96 -26.6 101.4 -32 108 -32H148C154.6 -32 160 -26.6 160 -20zM352 -20V64H436C442.6 64 448 69.4 448 76V116C448 122.6 442.6 128 436 128H312C298.7 128 288 117.3 288 104V-20C288 -26.6 293.4 -32 300 -32H340C346.6 -32 352 -26.6 352 -20z" glyph-name="compress" horiz-adv-x="448" unicode=""/><glyph d="M288 317.4600000000001V336H304C312.84 336 320 343.16 320 352V368C320 376.8400000000001 312.84 384 304 384H208C199.16 384 192 376.8400000000001 192 368V352C192 343.16 199.16 336 208 336H224V317.4600000000001C115.49 301.89 32 208.82 32 96H480C480 208.82 396.51 301.89 288 317.4600000000001zM496 64H16C7.16 64 0 56.84 0 48V16C0 7.16 7.16 0 16 0H496C504.84 0 512 7.16 512 16V48C512 56.84 504.84 64 496 64z" glyph-name="concierge-bell" horiz-adv-x="512" unicode=""/><glyph d="M510.52 192.18C440.55 193.03 384.05 249.87 384.05 320.04C313.88 320.04 257.05 376.53 256.19 446.49C228.93 450.63 201.06 446.19 176.47 433.67L107.34 398.45A132.221 132.221 0 0 1 49.55 340.64L14.4499999999999 271.76A132.645 132.645 0 0 1 1.6299999999999 190.81L13.7099999999999 114.54A132.521 132.521 0 0 1 50.8699999999999 41.58L105.6399999999999 -13.1799999999999A132.036 132.036 0 0 1 178.3499999999999 -50.2399999999999L255.06 -62.3899999999999C282.57 -66.7499999999999 310.76 -62.2799999999999 335.5899999999999 -49.6299999999999L404.7199999999999 -14.42A132.273 132.273 0 0 1 462.5099999999999 43.39L497.61 112.27C510.17 136.91 514.62 164.85 510.52 192.18zM176 80C158.33 80 144 94.33 144 112S158.33 144 176 144S208 129.67 208 112S193.67 80 176 80zM208 240C190.33 240 176 254.33 176 272S190.33 304 208 304S240 289.67 240 272S225.67 240 208 240zM368 112C350.33 112 336 126.33 336 144S350.33 176 368 176S400 161.67 400 144S385.67 112 368 112z" glyph-name="cookie-bite" horiz-adv-x="512" unicode=""/><glyph d="M510.37 193.21L498.29 269.4700000000001A132.493 132.493 0 0 1 461.13 342.42L406.37 397.17C386.64 416.8900000000001 361.19 429.87 333.6600000000001 434.2200000000001L256.9600000000001 446.37C229.4500000000001 450.73 201.2700000000001 446.2600000000001 176.4400000000001 433.61L107.32 398.4A132.25 132.25 0 0 1 49.53 340.6L14.43 271.7200000000001A132.602 132.602 0 0 1 1.61 190.78L13.69 114.51A132.493 132.493 0 0 1 50.85 41.56L105.61 -13.19A132.087 132.087 0 0 1 178.32 -50.24L255.02 -62.38C282.53 -66.74 310.71 -62.27 335.54 -49.63L404.66 -14.42A132.302 132.302 0 0 1 462.45 43.38L497.55 112.25C510.26 137.21 514.75 165.55 510.37 193.21zM176 80C158.33 80 144 94.33 144 112S158.33 144 176 144S208 129.67 208 112S193.67 80 176 80zM208 240C190.33 240 176 254.33 176 272S190.33 304 208 304S240 289.67 240 272S225.67 240 208 240zM368 112C350.33 112 336 126.33 336 144S350.33 176 368 176S400 161.67 400 144S385.67 112 368 112z" glyph-name="cookie" horiz-adv-x="512" unicode=""/><glyph d="M320 0V-40C320 -53.255 309.255 -64 296 -64H24C10.745 -64 0 -53.255 0 -40V328C0 341.255 10.745 352 24 352H96V56C96 25.121 121.121 0 152 0H320zM320 344V448H152C138.745 448 128 437.255 128 424V56C128 42.745 138.745 32 152 32H424C437.255 32 448 42.745 448 56V320H344C330.8 320 320 330.8 320 344zM440.971 375.029L375.029 440.971A24 24 0 0 1 358.0590000000001 448H352V352H448V358.059A24 24 0 0 1 440.971 375.029z" glyph-name="copy" horiz-adv-x="448" unicode=""/><glyph d="M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM373.134 93.247C371.5420000000001 91.38 333.358 47.516 263.283 47.516C178.591 47.516 118.799 110.776 118.799 193.083C118.799 274.386 180.803 336.4840000000001 262.5610000000001 336.4840000000001C329.5180000000001 336.4840000000001 364.5260000000001 299.1690000000001 365.9830000000001 297.5800000000001A12 12 0 0 0 367.2210000000001 282.9570000000001L344.8410000000001 248.3020000000001C340.7920000000001 242.0350000000001 332.0670000000001 240.9510000000001 326.6070000000001 246.0070000000001C326.3740000000001 246.2210000000001 300.0780000000001 269.8870000000001 264.7270000000001 269.8870000000001C218.6110000000001 269.8870000000001 190.8110000000001 236.3120000000001 190.8110000000001 193.8050000000001C190.8110000000001 154.2030000000001 216.3250000000001 114.1130000000001 265.0880000000001 114.1130000000001C303.7850000000001 114.1130000000001 330.3680000000001 142.4510000000001 330.6320000000001 142.7380000000001C335.7640000000001 148.3030000000001 344.6910000000001 147.7710000000001 349.1400000000001 141.6850000000001L373.6870000000001 108.1130000000001A12.001000000000001 12.001000000000001 0 0 0 373.1340000000001 93.2470000000001z" glyph-name="copyright" horiz-adv-x="512" unicode=""/><glyph d="M160 224V160H480V224C480 259.3 508.7 288 544 288H576C576 341 533 384 480 384H160C107 384 64 341 64 288H96C131.3 288 160 259.3 160 224zM576 256H544C526.3 256 512 241.7 512 224V128H128V224C128 241.7 113.7 256 96 256H64C28.7 256 0 227.3 0 192C0 168.4 13 148 32 136.9V16C32 7.2 39.2 0 48 0H112C120.8 0 128 7.2 128 16V32H512V16C512 7.2 519.2 0 528 0H592C600.8 0 608 7.2 608 16V136.9C627 148 640 168.4 640 192C640 227.3 611.3 256 576 256z" glyph-name="couch" horiz-adv-x="640" unicode=""/><glyph d="M0 16C0 -10.5 21.5 -32 48 -32H528C554.5 -32 576 -10.5 576 16V192H0V16zM192 84C192 90.6 197.4 96 204 96H340C346.6 96 352 90.6 352 84V44C352 37.4 346.6 32 340 32H204C197.4 32 192 37.4 192 44V84zM64 84C64 90.6 69.4 96 76 96H148C154.6 96 160 90.6 160 84V44C160 37.4 154.6 32 148 32H76C69.4 32 64 37.4 64 44V84zM576 368V320H0V368C0 394.5 21.5 416 48 416H528C554.5 416 576 394.5 576 368z" glyph-name="credit-card" horiz-adv-x="576" unicode=""/><glyph d="M488 96H448V352C448 369.67 433.67 384 416 384H192V288H352V-40C352 -53.25 362.75 -64 376 -64H424C437.25 -64 448 -53.25 448 -40V0H488C501.25 0 512 10.75 512 24V72C512 85.26 501.25 96 488 96zM160 424C160 437.26 149.25 448 136 448H88C74.75 448 64 437.26 64 424V384H24C10.75 384 0 373.26 0 360V312C0 298.75 10.75 288 24 288H64V32C64 14.33 78.33 0 96 0H320V96H160V424z" glyph-name="crop-alt" horiz-adv-x="512" unicode=""/><glyph d="M488 96H448V338.75L507.31 398.06C513.56 404.31 513.56 414.44 507.31 420.69L484.69 443.31C478.44 449.56 468.31 449.56 462.06 443.31L402.75 384H192V288H306.75L160 141.25V424C160 437.26 149.25 448 136 448H88C74.75 448 64 437.26 64 424V384H24C10.75 384 0 373.26 0 360V312C0 298.75 10.75 288 24 288H64V24C64 10.75 74.75 0 88 0H320V96H205.25L352 242.75V-40C352 -53.25 362.75 -64 376 -64H424C437.25 -64 448 -53.25 448 -40V0H488C501.25 0 512 10.75 512 24V72C512 85.26 501.25 96 488 96z" glyph-name="crop" horiz-adv-x="512" unicode=""/><glyph d="M352 320H256V416C256 433.67 241.67 448 224 448H160C142.33 448 128 433.67 128 416V320H32C14.33 320 0 305.67 0 288V224C0 206.33 14.33 192 32 192H128V-32C128 -49.67 142.33 -64 160 -64H224C241.67 -64 256 -49.67 256 -32V192H352C369.67 192 384 206.33 384 224V288C384 305.67 369.67 320 352 320z" glyph-name="cross" horiz-adv-x="384" unicode=""/><glyph d="M500 224H469.636C455.724 317.675 381.675 391.724 288 405.636V436C288 442.627 282.627 448 276 448H236C229.373 448 224 442.627 224 436V405.636C130.325 391.724 56.276 317.675 42.364 224H12C5.373 224 0 218.627 0 212V172C0 165.373 5.373 160 12 160H42.364C56.276 66.325 130.325 -7.724 224 -21.636V-52C224 -58.627 229.373 -64 236 -64H276C282.627 -64 288 -58.627 288 -52V-21.636C381.675 -7.724 455.724 66.325 469.636 160H500C506.627 160 512 165.373 512 172V212C512 218.627 506.627 224 500 224zM288 43.366V84C288 90.627 282.627 96 276 96H236C229.373 96 224 90.627 224 84V43.366C165.826 55.768 119.783 101.757 107.366 160H148C154.627 160 160 165.373 160 172V212C160 218.627 154.627 224 148 224H107.366C119.768 282.174 165.757 328.217 224 340.634V300C224 293.373 229.373 288 236 288H276C282.627 288 288 293.373 288 300V340.634C346.174 328.232 392.217 282.243 404.634 224H364C357.373 224 352 218.627 352 212V172C352 165.373 357.373 160 364 160H404.634C392.2320000000001 101.826 346.243 55.783 288 43.366zM288 192C288 174.327 273.673 160 256 160S224 174.327 224 192C224 209.673 238.327 224 256 224S288 209.673 288 192z" glyph-name="crosshairs" horiz-adv-x="512" unicode=""/><glyph d="M544 416H527.64C513.04 435.32 490.09 448 464 448C419.82 448 384 412.18 384 368V347.02L12.09 54.43A30.216 30.216 0 0 1 0 30.26C0 7.8 23.64 -6.81 43.73 3.23L165.27 64H261.76L306.17 -56.1C308.44 -62.33 315.32 -65.5400000000001 321.55 -63.27L344.1 -55.0600000000001C350.33 -52.7900000000001 353.54 -45.9100000000001 351.27 -39.6800000000001L312.94 64H352C353.9100000000001 64 355.76 64.23 357.6600000000001 64.29L402.17 -56.09C404.44 -62.32 411.32 -65.53 417.55 -63.26L440.1 -55.05C446.3300000000001 -52.78 449.54 -45.9 447.2700000000001 -39.67L406.0300000000001 71.86C485.74 95.2 544 168.74 544 256V336L640 352C640 387.35 597.02 416 544 416zM464 344C450.75 344 440 354.75 440 368C440 381.26 450.75 392 464 392S488 381.26 488 368C488 354.75 477.25 344 464 344z" glyph-name="crow" horiz-adv-x="640" unicode=""/><glyph d="M528 0H112C103.2 0 96 -7.2 96 -16V-48C96 -56.8 103.2 -64 112 -64H528C536.8 -64 544 -56.8 544 -48V-16C544 -7.2 536.8 0 528 0zM592 320C565.5 320 544 298.5 544 272C544 264.9 545.6 258.3 548.4 252.2L476 208.8C460.6 199.6 440.7 204.8 431.8 220.4L350.3 363C361 371.8 368 385 368 400C368 426.5 346.5 448 320 448S272 426.5 272 400C272 385 279 371.8 289.7 363L208.2 220.4C199.3 204.8 179.3 199.6 164 208.8L91.7 252.2C94.4 258.2000000000001 96.1 264.9 96.1 272C96.1 298.5 74.6 320 48.1 320S0 298.5 0 272S21.5 224 48 224C50.6 224 53.2 224.4 55.7 224.8L128 32H512L584.3 224.8C586.8 224.4 589.4 224 592 224C618.5 224 640 245.5 640 272S618.5 320 592 320z" glyph-name="crown" horiz-adv-x="640" unicode=""/><glyph d="M239.1 441.7L31.1 363.7C12.4 356.7 0 338.7 0 318.7V93.6C0 75.4 10.3 58.8 26.5 50.7L234.5 -53.3C248 -60.1 263.9 -60.1 277.4 -53.3L485.4 50.7C501.7 58.8000000000001 511.9 75.5000000000001 511.9 93.6V318.7C511.9 338.7 499.5 356.6 480.8 363.6L272.8 441.6C262 445.8 250 445.8 239.1 441.7zM256 379.6L448 307.6V306.5L256 228.5L64 306.5V307.6L256 379.6zM288 23.6V172.5L448 237.5V103.6L288 23.6z" glyph-name="cube" horiz-adv-x="512" unicode=""/><glyph d="M488.6 197.8L392 234V342.5C392 357.5 382.7 370.9 368.6 376.2L268.6 413.7C260.5 416.8 251.5000000000001 416.8 243.3 413.7L143.3 376.2C129.2 370.9 119.9 357.5 119.9 342.5V234L23.3 197.8C9.3 192.5 0 179.1 0 164.1V54C0 40.4 7.7 27.9 19.9 21.8L119.9 -28.2C130 -33.3 142 -33.3 152.1 -28.2L256 23.8L359.9 -28.2C370 -33.3 382 -33.3 392.1 -28.2L492.1 21.8C504.3 27.9 511.9999999999999 40.4 511.9999999999999 54V164.1C511.9999999999999 179.1 502.6999999999999 192.5 488.6 197.8zM358 233.2L273 201.3V269.5L358 306.5V233.2zM154 343.9L256 382.1L358 343.9V343.3L256 301.9L154 343.3V343.9zM238 52.8L153 10.3V89.4L238 128.2V52.8zM238 164.8L136 123.4L34 164.8V165.4L136 203.6L238 165.4V164.8zM478 52.8L393 10.3V89.4L478 128.2V52.8zM478 164.8L376 123.4L274 164.8V165.4L376 203.6L478 165.4V164.8z" glyph-name="cubes" horiz-adv-x="512" unicode=""/><glyph d="M278.06 192L444.48 358.43C449.17 363.12 449.17 370.7200000000001 444.48 375.4C411.68 408.2 358.49 408.2 325.69 375.4L210.18 259.88L185.32 284.74C189.63 295.66 192 307.55 192 320C192 373.02 149.02 416 96 416S0 373.02 0 320S42.98 224 96 224C100.54 224 104.99 224.32 109.36 224.93L142.29 192L109.36 159.07C104.99 159.68 100.53 160 96 160C42.98 160 0 117.02 0 64S42.98 -32 96 -32S192 10.98 192 64C192 76.45 189.63 88.34 185.32 99.26L210.18 124.12L325.69 8.6C358.49 -24.2 411.68 -24.2 444.48 8.6C449.17 13.28 449.17 20.88 444.48 25.5700000000001L278.06 192zM96 288C78.36 288 64 302.36 64 320S78.36 352 96 352S128 337.64 128 320S113.64 288 96 288zM96 32C78.36 32 64 46.36 64 64S78.36 96 96 96S128 81.64 128 64S113.64 32 96 32z" glyph-name="cut" horiz-adv-x="448" unicode=""/><glyph d="M448 374.857V329.1430000000001C448 288.857 347.667 256 224 256S0 288.857 0 329.1430000000001V374.857C0 415.1430000000001 100.333 448 224 448S448 415.1430000000001 448 374.857zM448 272V169.143C448 128.857 347.667 96 224 96S0 128.857 0 169.143V272C48.125 238.857 136.208 223.428 224 223.428S399.874 238.857 448 272zM448 112V9.143C448 -31.143 347.667 -64 224 -64S0 -31.143 0 9.143V112C48.125 78.857 136.208 63.428 224 63.428S399.874 78.857 448 112z" glyph-name="database" horiz-adv-x="448" unicode=""/><glyph d="M216 188C216 172.536 203.464 160 188 160S160 172.536 160 188C160 232.112 195.888 268 240 268S320 232.112 320 188C320 172.536 307.464 160 292 160S264 172.536 264 188C264 201.234 253.233 212 240 212S216 201.234 216 188zM240 364C142.953 364 64 285.0470000000001 64 188C64 172.536 76.536 160 92 160S120 172.536 120 188C120 254.168 173.832 308 240 308S360 254.168 360 188C360 112.836 288.991 117.689 288.003 44.378L288 44C288 15.327 264.673 -8 236 -8C220.536 -8 208 -20.536 208 -36S220.536 -64 236 -64C295.475 -64 343.876 -15.672 344 43.774C344.5950000000001 78.202 416 92.014 416 188C416 285.0470000000001 337.0470000000001 364 240 364zM508.485 416.201L480.2 444.485C475.513 449.171 467.916 449.171 463.229 444.485L376.2 357.456C371.514 352.77 371.514 345.1720000000001 376.2 340.485L404.485 312.2C409.171 307.514 416.769 307.514 421.4550000000001 312.2L508.485 399.229C513.172 403.917 513.172 411.515 508.485 416.201zM168.97 133.255C164.284 137.941 156.686 137.941 152 133.255L3.515 -15.23C-1.171 -19.916 -1.171 -27.514 3.515 -32.201L31.8 -60.485C36.487 -65.171 44.084 -65.171 48.771 -60.485L197.256 88C201.942 92.686 201.942 100.284 197.256 104.971L168.97 133.255z" glyph-name="deaf" horiz-adv-x="512" unicode=""/><glyph d="M637.3 191.1L617.6999999999999 220.5C589.4999999999999 262.8 542.4 288 491.5999999999999 288H256L174.8 369.2000000000001C194.9 389.3 197.4 420.3 182.3 443.1C178.9 448.3 171.5 449.0000000000001 167.1 444.6L125.3 402.8000000000001L82.4 445.6C78.8 449.2 72.8 448.6 70 444.4C57.7 425.8 59.7 400.4 76.1 384C79.4 380.7 83.4 378.7 87.4 376.5C85.2 374.8 82.7 373.4 81 371.1L6.4 271.8C-0.9 262.1 -2 249.1 3.4 238.3L17.7 209.7C23.1 198.9 34.2 192 46.3 192H77.3C85.8 192 93.9 195.4 99.9 201.4L138 236L192 128H544V205.8C560.2 193.6 562.3 188.2 584.1 155.5C589 148.1 598.9 146.2 606.3000000000001 151.1L632.9000000000001 168.8C640.2 173.8 642.2 183.7 637.3000000000001 191.1zM296.2 204.7L279.7 188.6L283.5999999999999 165.9C284.2999999999999 161.8 279.9999999999999 158.7000000000001 276.3999999999999 160.6L256 171.3L235.6 160.6C232 158.7000000000001 227.7 161.8 228.4 165.9L232.3 188.6L215.8 204.7C212.8 207.6 214.5 212.6 218.6 213.2L241.4000000000001 216.5L251.6 237.2C253.4000000000001 240.9 258.7000000000001 240.9 260.6 237.2L270.8 216.5L293.6 213.2C297.6 212.6 299.2000000000001 207.6 296.2000000000001 204.7zM408.2 204.7L391.7 188.6L395.5999999999999 165.9C396.2999999999999 161.8 391.9999999999999 158.7000000000001 388.3999999999999 160.6L368 171.3L347.6 160.6C344 158.7000000000001 339.7000000000001 161.8 340.4000000000001 165.9L344.3 188.6L327.8 204.7C324.8 207.6 326.5 212.6 330.6 213.2L353.4000000000001 216.5L363.6 237.2C365.4000000000001 240.9 370.7000000000001 240.9 372.6 237.2L382.8 216.5L405.6 213.2C409.6 212.6 411.2000000000001 207.6 408.2000000000001 204.7zM520.1999999999999 204.7L503.6999999999999 188.6L507.5999999999999 165.9C508.2999999999999 161.8 503.9999999999999 158.7000000000001 500.3999999999999 160.6L480 171.3L459.6 160.6C456 158.7000000000001 451.7 161.8 452.4 165.9L456.3 188.6L439.8 204.7C436.8 207.6 438.5 212.6 442.6 213.2L465.4 216.5L475.6 237.2C477.4 240.9 482.7 240.9 484.6 237.2L494.8 216.5L517.6 213.2C521.6 212.6 523.2 207.6 520.2 204.7zM192 -48C192 -56.8 199.2 -64 208 -64H272C280.8 -64 288 -56.8 288 -48V32H448V-48C448 -56.8 455.2 -64 464 -64H528C536.8 -64 544 -56.8 544 -48V96H192V-48z" glyph-name="democrat" horiz-adv-x="640" unicode=""/><glyph d="M528 448H48C21.5 448 0 426.5 0 400V80C0 53.5 21.5 32 48 32H240L224 -16H152C138.7 -16 128 -26.7 128 -40S138.7 -64 152 -64H424C437.3 -64 448 -53.3 448 -40S437.3 -16 424 -16H352L336 32H528C554.5 32 576 53.5 576 80V400C576 426.5 554.5 448 528 448zM512 96H64V384H512V96z" glyph-name="desktop" horiz-adv-x="576" unicode=""/><glyph d="M495 222.94L477.78 221.86C472.51 261.35 456.99 297.5 433.92 327.7L446.87 339.13C453.79 345.24 454.1199999999999 355.92 447.6 362.44L426.44 383.6C419.9100000000001 390.13 409.23 389.79 403.13 382.87L391.7 369.93C361.5 392.99 325.35 408.51 285.87 413.79L286.94 431C287.52 440.21 280.2 448 270.97 448H241.03C231.8 448 224.49 440.21 225.06 431L226.14 413.78C186.65 408.51 150.5 392.99 120.31 369.92L108.88 382.87C102.77 389.79 92.09 390.12 85.57 383.6L64.4 362.44C57.87 355.91 58.21 345.23 65.13 339.13L78.08 327.7C55.02 297.5 39.5 261.35 34.22 221.86L17 222.94C7.79 223.52 0 216.2 0 206.97V177.03C0 167.8 7.79 160.49 17 161.06L34.22 162.1399999999999C39.49 122.6499999999999 55.01 86.4999999999999 78.08 56.31L65.13 44.8799999999999C58.21 38.7699999999999 57.88 28.0899999999999 64.4 21.5699999999999L85.57 0.3999999999999C92.1 -6.1300000000001 102.78 -5.7900000000001 108.88 1.1299999999999L120.31 14.0799999999999C150.51 -8.9800000000001 186.66 -24.5000000000001 226.15 -29.7800000000001L225.06 -47C224.48 -56.21 231.8 -64 241.03 -64H270.9700000000001C280.2000000000001 -64 287.5100000000001 -56.21 286.9400000000001 -47L285.8600000000001 -29.78C325.3500000000001 -24.51 361.5000000000001 -8.99 391.7000000000001 14.08L403.1300000000001 1.1300000000001C409.2400000000001 -5.79 419.9200000000001 -6.1199999999999 426.4400000000001 0.4L447.6100000000001 21.5700000000001C454.14 28.1 453.8000000000001 38.78 446.8800000000001 44.8800000000001L433.9300000000001 56.3100000000001C456.9900000000001 86.5100000000001 472.51 122.6600000000001 477.7900000000001 162.1400000000001L495.0100000000001 161.0600000000001C504.2200000000001 160.4800000000001 512.0100000000001 167.8000000000001 512.0100000000001 177.0300000000001V206.9700000000001C512.0000000000001 216.2000000000001 504.2100000000001 223.5100000000001 495.0000000000001 222.9400000000001zM281.84 349.39C306.65 345.32 329.47 335.73 349.07 321.61L306.45 273.32C297.72 278.76 288.13 282.86 277.83 285.27L281.84 349.39zM230.16 349.39L234.17 285.27C223.88 282.86 214.28 278.75 205.55 273.32L162.93 321.61C182.53 335.73 205.35 345.32 230.16 349.39zM126.39 285.06L174.69 242.45C169.25 233.72 165.15 224.12 162.73 213.83L98.61 217.84C102.68 242.65 112.27 265.46 126.39 285.06zM98.61 166.16L162.73 170.17C165.14 159.88 169.25 150.28 174.68 141.55L126.39 98.93C112.27 118.53 102.68 141.35 98.61 166.16zM230.16 34.61C205.35 38.68 182.53 48.27 162.93 62.39L205.54 110.69C214.27 105.25 223.87 101.15 234.16 98.73L230.16 34.61zM256 160C238.33 160 224 174.33 224 192S238.33 224 256 224S288 209.67 288 192S273.67 160 256 160zM281.84 34.61L277.83 98.73C288.12 101.14 297.72 105.25 306.45 110.69L349.06 62.39C329.46 48.27 306.65 38.68 281.8400000000001 34.61zM385.61 98.94L337.32 141.56C342.76 150.29 346.86 159.88 349.2699999999999 170.18L413.39 166.17C409.32 141.35 399.7299999999999 118.53 385.6099999999999 98.94zM349.27 213.83C346.86 224.12 342.75 233.72 337.31 242.45L385.61 285.06C399.73 265.4600000000001 409.32 242.64 413.39 217.83L349.27 213.83z" glyph-name="dharmachakra" horiz-adv-x="512" unicode=""/><glyph d="M496 192C504.8 192 512 199.2 512 208S504.8 224 496 224S480 216.8 480 208S487.2 192 496 192zM320 272C368.5 272 408 311.5 408 360S368.5 448 320 448S232 408.5 232 360S271.5 272 320 272zM59.8 84C70 68.7 89.1 66.2 102.7 74.2C118.9 83.8 158.9 105.9 208 122.8V32H432V122.7C481.1 105.9 521.1 83.7 537.3 74.1C550.9 66.1 570 68.8 580.1999999999999 83.9L597.9999999999999 110.6C606.7999999999998 123.8 605.5999999999999 145.2 587.9999999999999 155.7C576.0999999999999 162.8 558.2999999999998 172.7 536.8999999999999 183.1C508.7999999999998 137 437.4999999999999 165.3 449.1999999999999 218.2C409.3 230.8 365.1 240 320 240C263 240 207.1 225.5 160 207.8C159.8 167.6 112.4 144.5 80.8 171.8C69.6 165.8 59.5 160.2 52.1 155.8C34.5 145.3 33.3 124 42.1 110.7L59.8 84zM368 104C381.3 104 392 93.3 392 80S381.3 56 368 56S344 66.7 344 80S354.7 104 368 104zM272 200C285.3 200 296 189.3 296 176S285.3 152 272 152S248 162.7 248 176S258.7 200 272 200zM112 192C120.8 192 128 199.2 128 208S120.8 224 112 224S96 216.8 96 208S103.2 192 112 192zM624 0H16C7.2 0 0 -7.2 0 -16V-48C0 -56.8 7.2 -64 16 -64H624C632.8 -64 640 -56.8 640 -48V-16C640 -7.2 632.8 0 624 0z" glyph-name="diagnoses" horiz-adv-x="640" unicode=""/><glyph d="M106.75 232.94L1.2 77.05C-1.88 72.05 1.3 65.55 7.13 64.91L215.39 42.84L106.75 232.9400000000001zM7.41 132.57L82.7 254.92L6.06 300.9C3.39 302.5 0 300.5800000000001 0 297.4700000000001V134.66C0 130.63 5.29 129.13 7.41 132.57zM18.25 24.4L212.65 -63.26C217.95 -65.71 224 -61.83 224 -56V9.67L20.45 31.97C16 32.47 14.22 26.3800000000001 18.25 24.4zM99.47 282.18L179.4 425.12C183.74 432.18 175.81 440.37 168.62 436.26L17.81 337.65C15.34 336.03 15.42 332.39 17.94 330.87L99.47 282.18zM240 272H349.21L253.63 440.38C250.5 445.46 245.25 448 240 448S229.5 445.46 226.37 440.38L130.79 272H240zM473.94 300.9L397.3 254.91L472.59 132.56C474.7 129.12 480.0000000000001 130.62 480.0000000000001 134.66V297.4700000000001C480.0000000000001 300.5800000000001 476.6100000000001 302.5 473.9400000000001 300.9zM380.53 282.18L462.0599999999999 330.88C464.5899999999999 332.4 464.66 336.04 462.1899999999999 337.6600000000001L311.38 436.26C304.19 440.37 296.26 432.18 300.6 425.12L380.53 282.18zM459.55 31.97L256 9.68V-55.99C256 -61.83 262.05 -65.7 267.35 -63.25L461.75 24.41C465.78 26.38 464 32.47 459.55 31.97zM373.25 232.9400000000001L264.62 42.84L472.8799999999999 64.91C478.7099999999999 65.56 481.8899999999999 72.05 478.8099999999999 77.05L373.25 232.94zM240 240H139.57L240 64.25L340.43 240H240z" glyph-name="dice-d20" horiz-adv-x="480" unicode=""/><glyph d="M422.19 338.05L256.21 438.93C236.3 451.03 211.69 451.03 191.78 438.93L25.81 338.05C20.49 334.82 20.52 326.78 25.87 323.5900000000001L224 205.45L422.14 323.59C427.49 326.78 427.52 334.81 422.19 338.05zM436.03 293.42L240 176.54V-47.28C240 -60.16 253.39 -68.1899999999999 264.05 -61.71L416.2100000000001 30.77C435.8900000000001 42.73 448.0000000000001 64.71 448.0000000000001 88.47V286.17C448.0000000000001 292.5800000000001 441.3600000000001 296.6 436.0300000000001 293.42zM0 286.17V88.47C0 64.7000000000001 12.11 42.73 31.79 30.77L183.95 -61.6999999999999C194.62 -68.1799999999999 208 -60.1599999999999 208 -47.2699999999999V176.54L11.97 293.42C6.64 296.6 0 292.5800000000001 0 286.17z" glyph-name="dice-d6" horiz-adv-x="448" unicode=""/><glyph d="M384 416H64C28.65 416 0 387.35 0 352V32C0 -3.35 28.65 -32 64 -32H384C419.35 -32 448 -3.35 448 32V352C448 387.35 419.35 416 384 416zM128 64C110.33 64 96 78.33 96 96S110.33 128 128 128S160 113.67 160 96S145.67 64 128 64zM128 256C110.33 256 96 270.3300000000001 96 288S110.33 320 128 320S160 305.67 160 288S145.67 256 128 256zM224 160C206.33 160 192 174.33 192 192S206.33 224 224 224S256 209.67 256 192S241.67 160 224 160zM320 64C302.33 64 288 78.33 288 96S302.33 128 320 128S352 113.67 352 96S337.67 64 320 64zM320 256C302.33 256 288 270.3300000000001 288 288S302.33 320 320 320S352 305.67 352 288S337.67 256 320 256z" glyph-name="dice-five" horiz-adv-x="448" unicode=""/><glyph d="M384 416H64C28.65 416 0 387.35 0 352V32C0 -3.35 28.65 -32 64 -32H384C419.35 -32 448 -3.35 448 32V352C448 387.35 419.35 416 384 416zM128 64C110.33 64 96 78.33 96 96S110.33 128 128 128S160 113.67 160 96S145.67 64 128 64zM128 256C110.33 256 96 270.3300000000001 96 288S110.33 320 128 320S160 305.67 160 288S145.67 256 128 256zM320 64C302.33 64 288 78.33 288 96S302.33 128 320 128S352 113.67 352 96S337.67 64 320 64zM320 256C302.33 256 288 270.3300000000001 288 288S302.33 320 320 320S352 305.67 352 288S337.67 256 320 256z" glyph-name="dice-four" horiz-adv-x="448" unicode=""/><glyph d="M384 416H64C28.65 416 0 387.35 0 352V32C0 -3.35 28.65 -32 64 -32H384C419.35 -32 448 -3.35 448 32V352C448 387.35 419.35 416 384 416zM224 160C206.33 160 192 174.33 192 192S206.33 224 224 224S256 209.67 256 192S241.67 160 224 160z" glyph-name="dice-one" horiz-adv-x="448" unicode=""/><glyph d="M384 416H64C28.65 416 0 387.35 0 352V32C0 -3.35 28.65 -32 64 -32H384C419.35 -32 448 -3.35 448 32V352C448 387.35 419.35 416 384 416zM128 64C110.33 64 96 78.33 96 96S110.33 128 128 128S160 113.67 160 96S145.67 64 128 64zM128 160C110.33 160 96 174.33 96 192S110.33 224 128 224S160 209.67 160 192S145.67 160 128 160zM128 256C110.33 256 96 270.3300000000001 96 288S110.33 320 128 320S160 305.67 160 288S145.67 256 128 256zM320 64C302.33 64 288 78.33 288 96S302.33 128 320 128S352 113.67 352 96S337.67 64 320 64zM320 160C302.33 160 288 174.33 288 192S302.33 224 320 224S352 209.67 352 192S337.67 160 320 160zM320 256C302.33 256 288 270.3300000000001 288 288S302.33 320 320 320S352 305.67 352 288S337.67 256 320 256z" glyph-name="dice-six" horiz-adv-x="448" unicode=""/><glyph d="M384 416H64C28.65 416 0 387.35 0 352V32C0 -3.35 28.65 -32 64 -32H384C419.35 -32 448 -3.35 448 32V352C448 387.35 419.35 416 384 416zM128 256C110.33 256 96 270.3300000000001 96 288S110.33 320 128 320S160 305.67 160 288S145.67 256 128 256zM224 160C206.33 160 192 174.33 192 192S206.33 224 224 224S256 209.67 256 192S241.67 160 224 160zM320 64C302.33 64 288 78.33 288 96S302.33 128 320 128S352 113.67 352 96S337.67 64 320 64z" glyph-name="dice-three" horiz-adv-x="448" unicode=""/><glyph d="M384 416H64C28.65 416 0 387.35 0 352V32C0 -3.35 28.65 -32 64 -32H384C419.35 -32 448 -3.35 448 32V352C448 387.35 419.35 416 384 416zM128 256C110.33 256 96 270.3300000000001 96 288S110.33 320 128 320S160 305.67 160 288S145.67 256 128 256zM320 64C302.33 64 288 78.33 288 96S302.33 128 320 128S352 113.67 352 96S337.67 64 320 64z" glyph-name="dice-two" horiz-adv-x="448" unicode=""/><glyph d="M592 256H473.26C485.95 226.41 480.38 190.8 456.26 166.68L320 30.42V-16C320 -42.51 341.49 -64 368 -64H592C618.51 -64 640 -42.51 640 -16V208C640 234.51 618.51 256 592 256zM480 72C466.75 72 456 82.75 456 96C456 109.26 466.75 120 480 120S504 109.26 504 96C504 82.75 493.25 72 480 72zM433.63 258.7L258.7 433.63C239.54 452.79 208.47 452.79 189.31 433.63L14.37 258.7C-4.79 239.54 -4.79 208.47 14.37 189.31L189.3 14.37C208.46 -4.79 239.53 -4.79 258.69 14.37L433.63 189.3C452.79 208.47 452.79 239.54 433.63 258.7000000000001zM96 200C82.75 200 72 210.75 72 224C72 237.26 82.75 248 96 248S120 237.26 120 224C120 210.75 109.25 200 96 200zM224 72C210.75 72 200 82.75 200 96C200 109.26 210.75 120 224 120S248 109.26 248 96C248 82.75 237.25 72 224 72zM224 200C210.75 200 200 210.75 200 224C200 237.26 210.75 248 224 248S248 237.26 248 224C248 210.75 237.25 200 224 200zM224 328C210.75 328 200 338.75 200 352C200 365.26 210.75 376 224 376S248 365.26 248 352C248 338.75 237.25 328 224 328zM352 200C338.75 200 328 210.75 328 224C328 237.26 338.75 248 352 248S376 237.26 376 224C376 210.75 365.25 200 352 200z" glyph-name="dice" horiz-adv-x="640" unicode=""/><glyph d="M608 352H32C14.33 352 0 337.67 0 320V64C0 46.33 14.33 32 32 32H608C625.67 32 640 46.33 640 64V320C640 337.67 625.67 352 608 352zM304 96C304 91.58 300.42 88 296 88H72C67.58 88 64 91.58 64 96V104C64 108.42 67.58 112 72 112H296C300.42 112 304 108.42 304 104V96zM72 160V176C72 180.42 75.58 184 80 184H96C100.42 184 104 180.42 104 176V160C104 155.58 100.42 152 96 152H80C75.58 152 72 155.58 72 160zM136 160V176C136 180.42 139.58 184 144 184H160C164.42 184 168 180.42 168 176V160C168 155.58 164.42 152 160 152H144C139.58 152 136 155.58 136 160zM200 160V176C200 180.42 203.58 184 208 184H224C228.42 184 232 180.42 232 176V160C232 155.58 228.42 152 224 152H208C203.58 152 200 155.58 200 160zM264 160V176C264 180.42 267.58 184 272 184H288C292.42 184 296 180.42 296 176V160C296 155.58 292.42 152 288 152H272C267.58 152 264 155.58 264 160zM304 224C304 215.16 296.84 208 288 208H80C71.16 208 64 215.16 64 224V272C64 280.8400000000001 71.16 288 80 288H288C296.84 288 304 280.8400000000001 304 272V224zM576 96C576 91.58 572.42 88 568 88H344C339.58 88 336 91.58 336 96V104C336 108.42 339.58 112 344 112H568C572.42 112 576 108.42 576 104V96z" glyph-name="digital-tachograph" horiz-adv-x="640" unicode=""/><glyph d="M502.61 214.68L278.68 438.61C266.1600000000001 451.13 245.85 451.13 233.32 438.61L9.39 214.68C-3.13 202.15 -3.13 181.85 9.39 169.32L233.32 -54.61C245.84 -67.14 266.15 -67.14 278.68 -54.61L502.61 169.32C515.13 181.85 515.13 202.15 502.61 214.68zM401.63 202.12L317.42 124.39C312.3 119.66 303.99 123.29 303.99 130.27V184H207.99V120C207.99 115.58 204.41 112 199.99 112H167.99C163.57 112 159.99 115.58 159.99 120V200C159.99 217.67 174.32 232 191.99 232H303.99V285.73C303.99 292.7 312.29 296.34 317.42 291.61L401.63 213.88C405.06 210.71 405.06 205.29 401.63 202.12z" glyph-name="directions" horiz-adv-x="512" unicode=""/><glyph d="M224 96C188.65 96 160 67.35 160 32S188.65 -32 224 -32S288 -3.35 288 32S259.35 96 224 96zM224 288C259.35 288 288 316.65 288 352S259.35 416 224 416S160 387.35 160 352S188.65 288 224 288zM416 240H32C14.33 240 0 225.67 0 208V176C0 158.33 14.33 144 32 144H416C433.67 144 448 158.33 448 176V208C448 225.67 433.67 240 416 240z" glyph-name="divide" horiz-adv-x="448" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM152 233.4L123.3 204.7C108.5 189.9 85.5 212.2 100.7 227.3L129.4 256L100.7 284.7C85.7 299.7 108.4 322.3 123.3 307.3L152 278.6L180.7 307.3C195.7 322.3 218.3 299.6 203.3 284.7L174.6 256L203.3 227.3C218.5 212.1 195.4 189.9 180.7 204.7L152 233.4zM248 32C212.7 32 184 60.7 184 96S212.7 160 248 160S312 131.3 312 96S283.3 32 248 32zM395.3 227.3C410.5 212.1 387.4000000000001 189.9 372.7 204.7L344 233.4L315.3 204.7C300.5 189.9 277.5 212.2 292.7 227.3L321.4 256L292.7 284.7C277.7 299.7 300.4 322.3 315.3 307.3L344 278.6L372.7 307.3C387.7 322.3 410.3 299.6 395.3 284.7L366.6 256L395.3 227.3z" glyph-name="dizzy" horiz-adv-x="496" unicode=""/><glyph d="M0.1 -46.1C-1 -55.6 6.4 -63.9 16 -63.9L48.3 -64C56.4 -64 63.2 -58.1 64.3 -50.1C65 -45.2 66.1 -39 67.7 -32H380C381.6 -38.9 382.9 -45.2 383.5 -50.1C384.6 -58.1 391.4 -64.1 399.5 -64L431.8 -63.9C441.4000000000001 -63.9 448.9000000000001 -55.6 447.7 -46.1C443.1 -8.2 422.1 82.9 328.8 161.6C311.2 149.2000000000001 291.7 137.4 270.3 126.2000000000001C276.5 121.6 281.7 116.8000000000001 287.3 112.0000000000001H159.7C181 130.1000000000001 206.7 147.6000000000001 238.4 163.4C410.5 248.9 442.1 382.2 447.9 430.1C449 439.6 441.6 447.9 432 447.9L399.6 448C391.5 448 384.7000000000001 442.1 383.6 434.1C382.9000000000001 429.2 381.8 423 380.2000000000001 416H67.8C66.2 423 65.1 429.1 64.4 434.1C63.3 442.1 56.5 448.1 48.4 448L16.1 447.9C6.5 447.9 -1 439.6 0.1 430.1C5.3 387.2 31.4 276.2 160 192C31.5 107.8 5.3 -3.2 0.1 -46.1zM224 228.4C198.9 242.1 177.6 256.8 159.7 272H288.2C270.4 256.8 249.1 242 224 228.4zM355.1 352C349.3 341.6 342.3 330.9 334.1 320H114C105.7 330.9 98.7 341.6 93 352H355.1zM92.9 32C98.7 42.4 105.7 53.1 113.9 64H333.3C341.6 53.1 348.7 42.4 354.5 32H92.9z" glyph-name="dna" horiz-adv-x="448" unicode=""/><glyph d="M496 352H432L424.84 366.31A32 32 0 0 1 396.2200000000001 384H342.6L315.3200000000001 411.28C305.23 421.36 288 414.2200000000001 288 399.9700000000001V250.13L416 204.42V240H448C483.35 240 512 268.65 512 304V336C512 344.8400000000001 504.84 352 496 352zM384 304C375.1600000000001 304 368 311.16 368 320S375.1600000000001 336 384 336S400 328.8400000000001 400 320S392.84 304 384 304zM96 224C78.36 224 64 238.36 64 256C64 273.67 49.67 288 32 288S0 273.67 0 256C0 214.34 26.83 179.15 64 165.9V-48C64 -56.84 71.16 -64 80 -64H144C152.84 -64 160 -56.84 160 -48V64H320V-48C320 -56.84 327.1600000000001 -64 336 -64H400C408.84 -64 416 -56.84 416 -48V170.45L266.05 224H96z" glyph-name="dog" horiz-adv-x="512" unicode=""/><glyph d="M209.2 214.6L101.2 246.2C88.7 249.8 80 261.5 80 274.5C80 290.8 93.2 304 109.5 304H175.8C188 304 200 300.3 210 293.5C216.1 289.4 224.3 290.4 229.5 295.5L264.3 329.5C271.4000000000001 336.4 270.4000000000001 347.9 262.5 354C238 373.2 207.4 383.9 176 384V432C176 440.8 168.8 448 160 448H128C119.2 448 112 440.8 112 432V384H109.5C45.8 384 -5.4 329.3 0.5 264.4C4.7 218.3 39.9 180.8 84.3 167.8L186.8 137.8C199.3 134.1 208 122.5 208 109.5C208 93.2 194.8 80 178.5 80H112.2C100 80 88 83.7 78 90.5C71.9 94.6 63.7 93.6 58.5 88.5L23.7 54.5C16.6 47.6 17.6 36.1 25.5 30C50 10.8 80.6 0.1 112 0V-48C112 -56.8 119.2 -64 128 -64H160C168.8 -64 176 -56.8 176 -48V0.2C222.6 1.1 266.3 28.8 281.7 72.9C303.2 134.5 267.1 197.7 209.2 214.6z" glyph-name="dollar-sign" horiz-adv-x="288" unicode=""/><glyph d="M208 128H592C600.8 128 608 135.2 608 144V400C608 408.8 600.8 416 592 416H448V288L400 320L352 288V416H208C199.2 416 192 408.8 192 400V144C192 135.2 199.2 128 208 128zM624 64H128V432C128 440.8 120.8 448 112 448H16C7.2 448 0 440.8 0 432V400C0 391.2 7.2 384 16 384H64V16C64 7.2 71.2 0 80 0H162.9C161.1 -5 160 -10.4 160 -16C160 -42.5 181.5 -64 208 -64S256 -42.5 256 -16C256 -10.4 254.8 -5 253.1 0H451C449.2 -5 448.1 -10.4 448.1 -16C448.1 -42.5 469.6 -64 496.1 -64S544.1 -42.5 544.1 -16C544.1 -10.4 542.9 -5 541.2 0H624C632.8 0 640 7.2 640 16V48C640 56.8 632.8 64 624 64z" glyph-name="dolly-flatbed" horiz-adv-x="640" unicode=""/><glyph d="M294.2 170.3C312.2 165.3 328.9 156.9 343.7 145.6L505.2 199.4C513.6 202.2000000000001 518.1 211.3000000000001 515.3 219.6L454.9 400.8C452.1 409.2 443 413.7 434.7 410.9L373.6 390.5L406.7 291.1L346 271L312.9 370.4L251.3 349.9C242.9 347.1 238.4 338 241.2 329.7L294.2 170.3zM575.2 121.6L565 152C562.2 160.4 553.1 164.9 544.8 162.1L331.3 90.9C314.1 112.9 287.7 127.3 257.8 127.9L158.4 426.1C154 439.2 141.8 448 128 448H16C7.2 448 0 440.8 0 432V400C0 391.2 7.2 384 16 384H104.9L197.1 107.3C171 86.9 155.4 53.7 161.1 16.8C167.2 -22.6 199 -55.5 238.4000000000001 -62.4C298.6 -73.1 350.7000000000001 -27.6 351.8000000000001 30.2L565.1000000000001 101.4C573.4000000000001 104.2000000000001 578.0000000000001 113.2000000000001 575.2000000000002 121.6zM256 -16C229.5 -16 208 5.5 208 32S229.5 80 256 80S304 58.5 304 32S282.5 -16 256 -16z" glyph-name="dolly" horiz-adv-x="576" unicode=""/><glyph d="M256 32C370.9 32 464 125.1 464 240S370.9 448 256 448S48 354.9 48 240S141.1 32 256 32zM233.8 350.6V367.4C233.8 376.6 241.2 384 250.4 384H261.5C270.7 384 278.1 376.6 278.1 367.4V350.4C293.6 349.6 308.6 344.3 321.1 335C326.7000000000001 330.9 327.3 322.7 322.3 317.9L306 302.4C302.2 298.7000000000001 296.5 298.6 292 301.4C286.6 304.8 280.6 306.5 274.2 306.5H235.3C226.3 306.5 219 298.3 219 288.2C219 280 224 272.7 231.1 270.6L293.4 251.9C319.1 244.2 337.1 219.5 337.1 191.8C337.1 157.8 310.7 130.3 278 129.4V112.6C278 103.4 270.6 96 261.3999999999999 96H250.3C241.1 96 233.7 103.4 233.7 112.6V129.6C218.1999999999999 130.4 203.1999999999999 135.7000000000001 190.6999999999999 145C185.0999999999999 149.1 184.5 157.3 189.5 162.1L205.8 177.6C209.6 181.3 215.3 181.4 219.8 178.6C225.2 175.2000000000001 231.2 173.5 237.6 173.5H276.5C285.5 173.5 292.8 181.7 292.8 191.8C292.8 200 287.8 207.3 280.7 209.4L218.3999999999999 228.1C192.6999999999999 235.8 174.6999999999999 260.5 174.6999999999999 288.2C174.7999999999999 322.2 201.0999999999999 349.7 233.8 350.6zM480 96H447.5C427.9 70 402.9 48.3 374.5 32H438.3C443.6 32 447.9000000000001 28.4 447.9000000000001 24V8C447.9000000000001 3.6 443.6 0 438.3 0H73.6C68.3 0 64 3.6 64 8V24C64 28.4 68.3 32 73.6 32H137.4C109 48.3 84.1 70 64.4 96H32C14.3 96 0 81.7 0 64V-32C0 -49.7 14.3 -64 32 -64H480C497.7 -64 512 -49.7 512 -32V64C512 81.7 497.7 96 480 96z" glyph-name="donate" horiz-adv-x="512" unicode=""/><glyph d="M624 0H512V397.2C512 425.2200000000001 490.47 448 464 448H175.99C149.52 448 127.99 425.2200000000001 127.99 397.2V0H16C7.16 0 0 -7.16 0 -16V-48C0 -56.84 7.16 -64 16 -64H624C632.84 -64 640 -56.84 640 -48V-16C640 -7.16 632.84 0 624 0zM415.99 160C398.32 160 383.99 174.33 383.99 192S398.32 224 415.99 224S447.99 209.67 447.99 192C448 174.33 433.67 160 415.99 160z" glyph-name="door-closed" horiz-adv-x="640" unicode=""/><glyph d="M624 0H544V334.55C544 361.81 522.47 384 496 384H384V320H480V-64H624C632.84 -64 640 -56.84 640 -48V-16C640 -7.16 632.84 0 624 0zM312.24 446.99L120.24 397.25C105.99 393.56 96 380.3 96 365.08V0H16C7.16 0 0 -7.16 0 -16V-48C0 -56.84 7.16 -64 16 -64H352V414.82C352 436.4 332.44 452.23 312.24 446.99zM264 160C250.75 160 240 174.33 240 192S250.75 224 264 224S288 209.67 288 192S277.25 160 264 160z" glyph-name="door-open" horiz-adv-x="640" unicode=""/><glyph d="M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM336 192C336 147.888 300.112 112 256 112S176 147.888 176 192S211.888 272 256 272S336 236.112 336 192z" glyph-name="dot-circle" horiz-adv-x="512" unicode=""/><glyph d="M288 280.8V308.9C259.8 345.2 240.9 388.2 233.9 434.1C231.8 447.6 214.9 452.9 206.1 442.4000000000001C185 417.5 168.4 388.3 157.2 355.9C191.4 317.6 237.2 291.3 288 280.8zM400 384C355.8 384 320 348.1 320 303.9V244.5C215.6 250.7 127 315 87 406.2C81.5 418.7 63.8 419.4 58 407.1C41.4 372 32 332.8 32 291.4C32 220.6 66.1 154.5 117.1 105.5C130.3 92.8 143.2 82.3 156 72.7L12.1 36.7C1.4 34 -3.4 21.6 2.6 12.3C20 -14.6 63 -60.2 155.8 -64C163.8 -64.2999999999999 171.8 -61.4 177.9 -56.1L243.1 0H320C408.4 0 480 71.5 480 159.9V320L512 384H400zM400 287.9C391.2 287.9 384 295.1 384 303.9S391.2 319.9 400 319.9S416 312.7000000000001 416 303.9S408.8 287.9 400 287.9z" glyph-name="dove" horiz-adv-x="512" unicode=""/><glyph d="M216 448H296C309.3 448 320 437.3 320 424V256H407.7C425.5 256 434.4 234.5 421.8 221.9L269.7 69.7C262.2 62.2 249.9 62.2 242.4 69.7L90.1 221.9C77.5 234.5 86.4 256 104.2 256H192V424C192 437.3 202.7 448 216 448zM512 72V-40C512 -53.3 501.3 -64 488 -64H24C10.7 -64 0 -53.3 0 -40V72C0 85.3 10.7 96 24 96H170.7L219.7 47C239.8 26.9 272.2 26.9 292.3 47L341.3 96H488C501.3 96 512 85.3 512 72zM388 -16C388 -5 379 4 368 4S348 -5 348 -16S357 -36 368 -36S388 -27 388 -16zM452 -16C452 -5 443 4 432 4S412 -5 412 -16S421 -36 432 -36S452 -27 452 -16z" glyph-name="download" horiz-adv-x="512" unicode=""/><glyph d="M457.01 103.58C431.96 83.25 404.38 66.4 374.47 54.53L428.85 -39.66L482.8 -62.7C492.61 -66.8900000000001 503.6899999999999 -60.4900000000001 504.97 -49.9L511.99 8.35L457.0099999999999 103.58zM499.5 198.14C504.36 205.81 501.39 216.13 493.45 220.53L465.38 236.1C457.9 240.25 448.77 237.56 444.12 230.38C403.01 166.85 332.25 128 256 128C232.07 128 208.77 132.25 186.59 139.53L253.95 256.21C254.65 256.19 255.29 256 255.99 256S257.34 256.19 258.03 256.21L309.12 167.71C340.35 176.67 368.68 193.46 391.73 216.63L339.94 306.34C347.39 319.9700000000001 352 335.37 352 352C352 405.02 309.02 448 256 448S160 405.02 160 352C160 335.37 164.61 319.9700000000001 172.05 306.3400000000001L103.75 188.03C91.2 199.64 79.79 212.62 70.07 227.03C65.28 234.13 56.1 236.65 48.69 232.36L20.94 216.29C13.09 211.75 10.31 201.39 15.3 193.82C30.87 170.18 49.99 149.61 71.28 131.8L0 8.34L7.02 -49.91C8.3 -60.5 19.38 -66.9 29.19 -62.71L83.14 -39.67L153.94 82.96C186.13 70.72 220.62 64 256 64C355.05 64 446.88 115.01 499.5 198.14zM256 384C273.67 384 288 369.67 288 352S273.67 320 256 320S224 334.33 224 352S238.33 384 256 384z" glyph-name="drafting-compass" horiz-adv-x="512" unicode=""/><glyph d="M18.32 192.22L192 224.04L100.72 155.35C90.64 145.2700000000001 97.78 128.04 112.03 128.04H334.73C325.29 154.44 320 182.51 320 211.42V253.6900000000001L200.27 341.29C176.45 357.17 144.98 355.3 123.21 336.7000000000001L5.81 220.36C-6.57 210.03 2.36 189.94 18.32 192.22zM575.19 158.12L474.5300000000001 208.43A47.992 47.992 0 0 0 448 251.35V288.04H512L540.09 265.41C546.09 259.41 554.23 256.04 562.72 256.04H593.69A32 32 0 0 1 622.3100000000001 273.73L636.62 302.35A32.005 32.005 0 0 1 633.6 335.86L559.07 435.24C553.02 443.3 543.54 448 533.47 448H296.02C288.89 448 285.32 439.43 290.36 434.39L352 384.04L292.42 359.2C286.5200000000001 356.25 286.5200000000001 347.8400000000001 292.42 344.89L352 320.04V211.42C352 139.34 388.03 72.03 448 32.04C252.41 25.23 103.44 -8.97 13.9 -28.87C5.78 -30.67 0 -37.88 0 -46.2C0 -56 7.95 -64 17.76 -64H516.84C580.13 -64.01 636.45 -16.44 639.83 46.76C642.35 94.04 617.1 137.16 575.19 158.12zM489.18 381.75L534.83 370.3400000000001C532.08 359.43 522.36 351.45 510.7 352.08C497.7400000000001 352.79 484.85 364.61 489.1800000000001 381.75z" glyph-name="dragon" horiz-adv-x="640" unicode=""/><glyph d="M384 96C383.65 96 383.33 95.9 382.98 95.9L343.7800000000001 161.22C348.85 170.39 352.0000000000001 180.78 352.0000000000001 192S348.8600000000001 213.61 343.7800000000001 222.78L382.98 288.1C383.3300000000001 288.0900000000001 383.6500000000001 288 384 288C419.35 288 448 316.65 448 352S419.35 416 384 416C360.37 416 339.96 403.05 328.88 384H119.12C108.04 403.05 87.63 416 64 416C28.65 416 0 387.35 0 352C0 328.37 12.95 307.9600000000001 32 296.88V87.13C12.95 76.04 0 55.63 0 32C0 -3.35 28.65 -32 64 -32C87.63 -32 108.04 -19.05 119.12 0H328.87C339.96 -19.05 360.36 -32 383.99 -32C419.3400000000001 -32 447.99 -3.35 447.99 32C448 67.35 419.35 96 384 96zM96 87.12V296.88A63.824999999999996 63.824999999999996 0 0 1 119.12 320H327.48L289.0200000000001 255.9C288.67 255.91 288.35 256 288.0000000000001 256C252.6500000000001 256 224.0000000000001 227.35 224.0000000000001 192S252.6500000000001 128 288.0000000000001 128C288.3500000000001 128 288.6700000000001 128.1 289.0200000000001 128.1L327.48 64H119.12A63.748000000000005 63.748000000000005 0 0 1 96 87.12zM272 192C272 200.82 279.18 208 288 208S304 200.82 304 192S296.82 176 288 176S272 183.18 272 192zM400 352C400 343.18 392.82 336 384 336S368 343.18 368 352S375.18 368 384 368S400 360.82 400 352zM64 368C72.82 368 80 360.82 80 352S72.82 336 64 336S48 343.18 48 352S55.18 368 64 368zM48 32C48 40.82 55.18 48 64 48S80 40.82 80 32S72.82 16 64 16S48 23.18 48 32zM384 16C375.18 16 368 23.18 368 32S375.18 48 384 48S400 40.82 400 32S392.82 16 384 16z" glyph-name="draw-polygon" horiz-adv-x="448" unicode=""/><glyph d="M288 416C128.94 416 0 358.69 0 288V96C0 25.31 128.94 -32 288 -32S576 25.31 576 96V288C576 358.69 447.06 416 288 416zM205.01 257.64C200.56 241.03 190.47 227.07 176.7 217.16C100.23 230.54 48 257.2200000000001 48 288C48 318.16 98.11 344.39 172.04 358.03L197.64 313.69C207.5 296.6 210.12 276.7 205.01 257.64zM288 208C266.92 208 246.59 209 227.11 210.7C235.17 236.83 259.26 256 288 256S340.83 236.83 348.89 210.7C329.4100000000001 209 309.08 208 288 208zM352 352C352 316.7100000000001 323.29 288 288 288S224 316.7100000000001 224 352V365.04C244.4 366.92 265.8 368 288 368S331.6 366.92 352 365.04V352zM398.93 217.1C385.12 227.01 374.99 241 370.5300000000001 257.64C365.42 276.7 368.04 296.6 377.9100000000001 313.68L403.56 358.1C477.72 344.5 528 318.2100000000001 528 288C528 257.17 475.6 230.46 398.93 217.1z" glyph-name="drum-steelpan" horiz-adv-x="576" unicode=""/><glyph d="M458.08 327.12L560.47 388.55C575.63 397.64 580.53 417.3 571.44 432.46C562.34 447.61 542.7 452.53 527.53 443.43L366.84 347.02A629.3200000000002 629.3200000000002 0 0 1 288 352C128.94 352 0 294.69 0 224V63.17C0 32.71 24.03 4.77 64 -17.2V79.17C64 96.77 78.4 111.17 96 111.17S128 96.77 128 79.17V-43.24C165.4 -54.37 209 -61.68 256 -63.99V47.16C256 64.7600000000001 270.4 79.16 288 79.16S320 64.7600000000001 320 47.16V-64C367 -61.69 410.6 -54.38 448 -43.25V79.16C448 96.7600000000001 462.4 111.16 480 111.16S512 96.7600000000001 512 79.16V-17.21C551.97 4.76 576 32.7 576 63.16V223.99C575.99 266.37 529.46 303.8300000000001 458.08 327.12zM288 144C155.45 144 48 179.82 48 224S155.45 304 288 304C290.34 304 292.62 303.9 294.94 303.88L207.53 251.44C192.37 242.35 187.47 222.69 196.56 207.53C206.12 191.6 226.07 187.92 240.47 196.56L403.18 294.18C477.55 280.5900000000001 528 254.26 528 223.99C528 179.81 420.54 144 288 144z" glyph-name="drum" horiz-adv-x="576" unicode=""/><glyph d="M462.79 398.43C396.6500000000001 464.52 289.43 464.52 223.29 398.43C187.81 362.98 160.12 320 160.12 256V170.17L119.5 129.5800000000001C109.8 119.8900000000001 95.46 118.5100000000001 82.72 123.6C61 132.28 35.3 127.8900000000001 17.7 110.31C-5.91 86.72 -5.91 48.47 17.7 24.88C32.98 9.61 54.23 5.3 73.84 9.79C69.34 -9.81 73.66 -31.04 88.94 -46.31C112.55 -69.9 150.82 -69.9 174.43 -46.31C192.03 -28.73 196.42 -3.05 187.74 18.66C182.65 31.39 184.02 45.71 193.73 55.41L234.35 96H320.24C343.44 96 363.81 99.72 382.13 106.03C342.49 149.92 342.3 216.26 383.18 257.1C417.56 291.46 469.94 296.56 511.92 273.9C513.22 318.83 497.11 364.15 462.79 398.43z" glyph-name="drumstick-bite" horiz-adv-x="512" unicode=""/><glyph d="M104 352H56C42.7 352 32 341.3 32 328V224H8C3.6 224 0 220.4 0 216V168C0 163.6 3.6 160 8 160H32V56C32 42.7 42.7 32 56 32H104C117.3 32 128 42.7 128 56V328C128 341.3 117.3 352 104 352zM632 224H608V328C608 341.3 597.3 352 584 352H536C522.7 352 512 341.3 512 328V56C512 42.7 522.7 32 536 32H584C597.3 32 608 42.7 608 56V160H632C636.4 160 640 163.6 640 168V216C640 220.4 636.4 224 632 224zM456 416H408C394.7 416 384 405.3 384 392V224H256V392C256 405.3 245.3 416 232 416H184C170.7 416 160 405.3 160 392V-8C160 -21.3 170.7 -32 184 -32H232C245.3 -32 256 -21.3 256 -8V160H384V-8C384 -21.3 394.7 -32 408 -32H456C469.3 -32 480 -21.3 480 -8V392C480 405.3 469.3 416 456 416z" glyph-name="dumbbell" horiz-adv-x="640" unicode=""/><glyph d="M418.7 343.9L418.9 344.1L404.5 416.1H304V288.1H364.8C381 307.4000000000001 399 326.3 418.7 343.9000000000001zM272 416H171.5L145.9 288H272V416zM461.3 343.9C479.5 327.6 496.8 310.2 512.4 292.4C518.1 298 523.8 303.5 529.6999999999999 308.7000000000001L550.9999999999999 327.7000000000001L572.2999999999998 308.7000000000001C573.3999999999999 307.8 574.3999999999999 306.6 575.3999999999999 305.6C575.2999999999998 306.4000000000001 575.5999999999999 307.1 575.3999999999999 307.9000000000001L551.3999999999999 403.9000000000001C549.7 411 543.3 416 536 416H437.1L449.4000000000001 354.5L461.3 343.9zM16 288H113.3L138.9 416H40C32.7 416 26.3 411 24.5 403.9L0.5 307.9C-2 297.8 5.6 288 16 288zM340.6 256H32L36 224H16C7.2 224 0 216.8 0 208V176C0 167.2 7.2 160 16 160H44L64 0V-16C64 -24.8 71.2 -32 80 -32H112C120.8 -32 128 -24.8 128 -16V0H336.8C306.6 33.7 288 77.9 288 126.4C288 162.3 307.9 209.3 340.6 256zM551.1 284.8C536.2 271.5 522.8000000000001 257.6 510.9 243.6C491.4 269.4000000000001 467.3 295.6 439.9000000000001 320C369.7000000000001 257.3 319.9000000000001 175.7000000000001 319.9000000000001 126.4C319.9000000000001 38.9 391.5 -32 479.9 -32S639.9000000000001 38.9 639.9000000000001 126.4C640.0000000000001 163 602.9000000000001 238.6 551.1000000000001 284.8zM532.5 55.4C517.8 44.7 499.6 38.4 480 38.4C431 38.4 391.1 71.9 391.1 126.4C391.1 153.5 407.6 177.4 440.5 218.3C445.2 212.7 507.6 130.2 507.6 130.2L547.4 177.2C550.1999999999999 172.4 552.8 167.7 555.1 163.2C573.7 126.5 565.9 79.6 532.5 55.4z" glyph-name="dumpster-fire" horiz-adv-x="640" unicode=""/><glyph d="M560 288C570.4 288 578 297.8 575.5 307.9L551.5 403.9C549.7 411 543.3 416 536 416H437.1L462.7 288H560zM272 416H171.5L145.9 288H272V416zM404.5 416H304V288H430.1L404.5 416zM16 288H113.3L138.9 416H40C32.7 416 26.3 411 24.5 403.9L0.5 307.9C-2 297.8 5.6 288 16 288zM560 224H540L544 256H32L36 224H16C7.2 224 0 216.8 0 208V176C0 167.2 7.2 160 16 160H44L64 0V-16C64 -24.8 71.2 -32 80 -32H112C120.8 -32 128 -24.8 128 -16V0H448V-16C448 -24.8 455.2 -32 464 -32H496C504.8 -32 512 -24.8 512 -16V0L532 160H560C568.8 160 576 167.2 576 176V208C576 216.8 568.8 224 560 224z" glyph-name="dumpster" horiz-adv-x="576" unicode=""/><glyph d="M128.73 252.68L45.92 304.44C37.88 309.4600000000001 26.93 306.61 22.99 297.99A254.18999999999997 254.18999999999997 0 0 1 0.54 208.72C-0.05 199.63 7.59 192 16.69 192H113.82C121.78 192 127.9 198.25 128.83 206.16C129.92 215.49 132.07 224.49 135.07 233.1C137.63 240.44 135.32 248.56 128.73 252.68zM319.03 440C298.86 445.18 277.77 448 256 448S213.14 445.18 192.97 440C183.8 437.65 179.06 427.4 182.58 418.61L220.05 314.58A16.003 16.003 0 0 1 235.1 304H276.9C283.65 304 289.67 308.23 291.95 314.5800000000001L329.42 418.61C332.94 427.4000000000001 328.2 437.64 319.03 440zM112 160H16C7.16 160 0 152.84 0 144V80C0 71.16 7.16 64 16 64H112C120.84 64 128 71.16 128 80V144C128 152.84 120.84 160 112 160zM112 32H16C7.16 32 0 24.84 0 16V-48C0 -56.84 7.16 -64 16 -64H112C120.84 -64 128 -56.84 128 -48V16C128 24.84 120.84 32 112 32zM189.31 315.67L152.99 406.4700000000001C149.46 415.3 138.86 419.4600000000001 130.57 414.7800000000001A257.308 257.308 0 0 1 58.96 354.89C52.9 347.5700000000001 55.11 336.4100000000001 63.18 331.37L146.11 279.54C152.62 275.4700000000001 160.77 276.92 166.22 282.3300000000001C171.4 287.48 177.01 292.18 183.01 296.38C189.29 300.79 192.16 308.55 189.31 315.67zM398.18 192H495.31C504.41 192 512.05 199.63 511.46 208.72A254.13500000000002 254.13500000000002 0 0 1 489.01 297.99C485.07 306.61 474.12 309.4600000000001 466.08 304.44L383.27 252.68C376.68 248.56 374.37 240.44 376.93 233.1C379.94 224.49 382.08 215.48 383.17 206.16C384.1 198.25 390.2200000000001 192 398.18 192zM453.03 354.89A257.308 257.308 0 0 1 381.42 414.78C373.1400000000001 419.46 362.54 415.3 359 406.47L322.68 315.67C319.83 308.55 322.7 300.79 328.98 296.39C334.98 292.19 340.5900000000001 287.49 345.7700000000001 282.34C351.2100000000001 276.93 359.3700000000001 275.48 365.8800000000001 279.55L448.8100000000001 331.38C456.8800000000001 336.41 459.1000000000001 347.57 453.0300000000001 354.89zM496 160H400C391.1600000000001 160 384 152.84 384 144V80C384 71.16 391.1600000000001 64 400 64H496C504.84 64 512 71.16 512 80V144C512 152.84 504.84 160 496 160zM496 32H400C391.1600000000001 32 384 24.84 384 16V-48C384 -56.84 391.1600000000001 -64 400 -64H496C504.84 -64 512 -56.84 512 -48V16C512 24.84 504.84 32 496 32zM240 270.38V-24C240 -28.42 243.58 -32 248 -32H264C268.42 -32 272 -28.42 272 -24V270.38C266.77 271.27 261.48 272 256 272S245.23 271.27 240 270.38zM176 228.87V-24C176 -28.42 179.58 -32 184 -32H200C204.42 -32 208 -28.42 208 -24V258.64C195.22 251.19 184.16 241.17 176 228.87zM304 258.64V-24C304 -28.42 307.58 -32 312 -32H328C332.42 -32 336 -28.42 336 -24V228.87C327.84 241.17 316.78 251.19 304 258.64z" glyph-name="dungeon" horiz-adv-x="512" unicode=""/><glyph d="M402.6 364.8L492.8 274.6C496.6 270.8 496.6 264.6 492.8 260.8L274.4 42.4L181.6 32.1C169.2 30.7 158.7 41.2 160.1 53.6L170.4 146.4L388.8 364.8C392.6 368.6 398.8 368.6 402.6 364.8zM564.6 387.7L515.8000000000001 436.5C500.6000000000001 451.7 475.9000000000001 451.7 460.6000000000001 436.5L425.2000000000001 401.1C421.4000000000001 397.3 421.4000000000001 391.1 425.2000000000001 387.3L515.4000000000001 297.1C519.2 293.3 525.4000000000001 293.3 529.2 297.1L564.6 332.5C579.8000000000001 347.8 579.8000000000001 372.5 564.6 387.7zM384 101.8V0H64V320H293.8C297 320 300 321.3 302.3 323.5L342.3 363.5C349.9000000000001 371.1 344.5 384 333.8 384H48C21.5 384 0 362.5 0 336V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V141.8C448 152.5 435.1 157.8 427.5 150.3L387.5 110.3C385.3 108 384 105 384 101.8z" glyph-name="edit" horiz-adv-x="576" unicode=""/><glyph d="M448 64V0C448 -17.673 433.673 -32 416 -32H32C14.327 -32 0 -17.673 0 0V64C0 81.673 14.327 96 32 96H416C433.673 96 448 81.673 448 64zM48.053 128H399.939C441.5900000000001 128 463.52 177.674 435.322 208.435L259.383 400.442C240.369 421.185 207.632 421.186 188.616 400.442L12.67 208.435C-15.475 177.732 6.324 128 48.053 128z" glyph-name="eject" horiz-adv-x="448" unicode=""/><glyph d="M328 192C328 152.2 295.8 120 256 120S184 152.2 184 192S216.2 264 256 264S328 231.8 328 192zM432 264C392.2 264 360 231.8 360 192S392.2 120 432 120S504 152.2 504 192S471.8 264 432 264zM80 264C40.2 264 8 231.8 8 192S40.2 120 80 120S152 152.2 152 192S119.8 264 80 264z" glyph-name="ellipsis-h" horiz-adv-x="512" unicode=""/><glyph d="M96 264C135.8 264 168 231.8 168 192S135.8 120 96 120S24 152.2 24 192S56.2 264 96 264zM24 368C24 328.2 56.2 296 96 296S168 328.2 168 368S135.8 440 96 440S24 407.8 24 368zM24 16C24 -23.8 56.2 -56 96 -56S168 -23.8 168 16S135.8 88 96 88S24 55.8 24 16z" glyph-name="ellipsis-v" horiz-adv-x="192" unicode=""/><glyph d="M176 232H336C344.84 232 352 239.16 352 248V264C352 272.8400000000001 344.84 280 336 280H176C167.16 280 160 272.8400000000001 160 264V248C160 239.16 167.16 232 176 232zM160 152C160 143.16 167.16 136 176 136H336C344.84 136 352 143.16 352 152V168C352 176.84 344.84 184 336 184H176C167.16 184 160 176.84 160 168V152zM256 30.87C239.58 30.87 223.16 35.93 209.14 46.06L0 197.14V-16C0 -42.51 21.49 -64 48 -64H464C490.51 -64 512 -42.51 512 -16V197.14L302.86 46.06C288.8400000000001 35.94 272.42 30.87 256 30.87zM493.61 285.05C484.76 291.99 476.37 298.52 464 307.86V352C464 378.51 442.51 400 416 400H338.45C335.41 402.2 332.58 404.26 329.41 406.56C312.6 418.83 279.2 448.35 256 448C232.8 448.35 199.41 418.83 182.59 406.56C179.42 404.26 176.59 402.2 173.55 400H96C69.49 400 48 378.51 48 352V307.86C35.63 298.53 27.24 291.99 18.39 285.05A47.995 47.995 0 0 1 0 247.28V236.63L96 167.28V352H416V167.28L512 236.63V247.28C512 262.02 505.22 275.95 493.61 285.05z" glyph-name="envelope-open-text" horiz-adv-x="512" unicode=""/><glyph d="M512 -16C512 -42.51 490.51 -64 464 -64H48C21.49 -64 0 -42.51 0 -16V247.276A48 48 0 0 0 18.387 285.052C43.3 304.581 63.888 320.4170000000001 182.587 406.563C199.412 418.83 232.797 448.347 256 447.997C279.198 448.351 312.596 418.825 329.413 406.564C448.1 320.427 468.716 304.569 493.613 285.052A48 48 0 0 0 512 247.276V-16zM446.334 180.605C443.771 184.333 438.634 185.2000000000001 434.995 182.512C412.15 165.639 379.533 141.807 329.413 105.433C312.588 93.167 279.2030000000001 63.652 256 64.003C232.789 63.659 199.441 93.146 182.587 105.433C132.473 141.803 99.853 165.637 77.005 182.512C73.366 185.2 68.229 184.333 65.666 180.605L56.594 167.409A7.997999999999999 7.997999999999999 0 0 1 58.433 156.442C81.32 139.543 113.887 115.752 163.736 79.574C184.01 64.793 220.26 31.761 256 32.001C291.724 31.759 327.961 64.7720000000001 348.2630000000001 79.574C398.1130000000001 115.7530000000001 430.6810000000001 139.544 453.566 156.442A7.997999999999999 7.997999999999999 0 0 1 455.405 167.409L446.334 180.605z" glyph-name="envelope-open" horiz-adv-x="512" unicode=""/><glyph d="M400 416H48C21.49 416 0 394.51 0 368V16C0 -10.51 21.49 -32 48 -32H400C426.51 -32 448 -10.51 448 16V368C448 394.51 426.51 416 400 416zM178.117 185.896C87.429 251.713 88.353 251.879 64 270.833V296C64 309.255 74.745 320 88 320H360C373.255 320 384 309.255 384 296V270.833C359.629 251.864 360.566 251.709 269.883 185.895C259.383 178.24 238.491 159.775 224 160.001C209.497 159.783 188.633 178.228 178.117 185.896zM384 230.225V88C384 74.745 373.255 64 360 64H88C74.745 64 64 74.745 64 88V230.225C77.958 219.431 97.329 204.989 159.303 160.011C173.465 149.67 197.278 127.866 223.997 128.001C250.884 127.867 275.034 150.042 288.717 160.026C350.675 204.991 370.042 219.432 384 230.225z" glyph-name="envelope-square" horiz-adv-x="448" unicode=""/><glyph d="M502.3 257.2C506.2 260.3 512 257.4 512 252.5V48C512 21.5 490.5 0 464 0H48C21.5 0 0 21.5 0 48V252.4C0 257.4 5.7 260.2000000000001 9.7 257.1C32.1 239.7 61.8 217.6 163.8 143.5C184.9 128.1 220.5 95.7 256 95.9C291.7 95.6 328 128.7 348.3 143.5C450.3 217.6 479.9 239.8 502.3 257.2zM256 128C279.2 127.6 312.6 157.2 329.4 169.4C462.1 265.7 472.2 274.1 502.8 298.1C508.6 302.6 511.9999999999999 309.6 511.9999999999999 317V336C511.9999999999999 362.5 490.4999999999999 384 463.9999999999999 384H48C21.5 384 0 362.5 0 336V317C0 309.6 3.4 302.7 9.2 298.1C39.8 274.2 49.9 265.7 182.6 169.4C199.4 157.2 232.8 127.6 256 128z" glyph-name="envelope" horiz-adv-x="512" unicode=""/><glyph d="M416 144H32C14.33 144 0 129.67 0 112V80C0 62.33 14.33 48 32 48H416C433.67 48 448 62.33 448 80V112C448 129.67 433.67 144 416 144zM416 336H32C14.33 336 0 321.67 0 304V272C0 254.33 14.33 240 32 240H416C433.67 240 448 254.33 448 272V304C448 321.67 433.67 336 416 336z" glyph-name="equals" horiz-adv-x="448" unicode=""/><glyph d="M497.941 174.059C516.6859999999999 192.804 516.6859999999999 223.196 497.941 241.9410000000001L337.941 401.9410000000001C319.196 420.6860000000001 288.805 420.687 270.058 401.9410000000001L14.058 145.941C-4.687 127.196 -4.687 96.804 14.058 78.059L110.058 -17.941A48.004000000000005 48.004000000000005 0 0 1 144 -32H500C506.627 -32 512 -26.627 512 -20V20C512 26.627 506.627 32 500 32H355.883L497.941 174.059zM195.314 236.6860000000001L332.687 99.3130000000001L265.373 32H150.628L70.628 112L195.314 236.686z" glyph-name="eraser" horiz-adv-x="512" unicode=""/><glyph d="M496 256H448V304C448 312.8 440.8 320 432 320H384V368C384 376.8 376.8 384 368 384H144C135.2 384 128 376.8 128 368V320H80C71.2 320 64 312.8 64 304V256H16C7.2 256 0 248.8 0 240V16C0 7.2 7.2 0 16 0H96V128H128V0H192V128H224V0H288V128H320V0H384V128H416V0H496C504.8 0 512 7.2 512 16V240C512 248.8 504.8 256 496 256z" glyph-name="ethernet" horiz-adv-x="512" unicode=""/><glyph d="M310.706 34.235C309.392 40.865 302.8710000000001 45.107 296.2820000000001 43.604C285.5900000000001 41.165 268.86 38.191 250.8560000000001 38.191C194.0930000000001 38.191 148.9270000000001 72.9810000000001 129.3950000000001 123.6400000000001H243.0840000000001A12 12 0 0 1 254.7920000000001 133.009L261.165 161.369C262.851 168.8710000000001 257.146 176 249.457 176H115.22C114.01 190.328 113.806 204.287 115.357 218.245H261.95A12 12 0 0 1 273.673 227.679L280.185 257.434C281.823 264.918 276.124 272 268.462 272H130.184C150.817 316.991 192.874 347.03 247.803 347.03C262.289 347.03 276.367 344.78 285.654 342.885C291.87 341.617 298.001 345.3830000000001 299.656 351.5080000000001L311.647 395.8760000000001C313.469 402.617 309.182 409.492 302.321 410.793C290.217 413.088 270.71 416 249.635 416C152.451 416 74.03 355.748 45.075 272H12C5.373 272 0 266.627 0 260V230.245C0 223.618 5.373 218.245 12 218.245H33.569C32.56 204.638 32.388 188.958 33.388 176H12C5.373 176 0 170.627 0 164V135.64C0 129.013 5.373 123.64 12 123.64H42.114C67.139 33.308 145.264 -32 249.635 -32C275.936 -32 298.197 -27.456 310.736 -24.212C316.903 -22.617 320.763 -16.504 319.524 -10.255L310.706 34.235z" glyph-name="euro-sign" horiz-adv-x="320" unicode=""/><glyph d="M0 280V296C0 309.255 10.745 320 24 320H384V368C384 389.367 409.899 400.0420000000001 424.971 384.971L504.971 304.971C514.343 295.598 514.343 280.4020000000001 504.971 271.03L424.971 191.03C409.956 176.018 384 186.544 384 208V256H24C10.745 256 0 266.745 0 280zM488 128H128V176C128 197.314 102.138 208.08 87.029 192.971L7.029 112.971C-2.343 103.598 -2.343 88.402 7.029 79.03L87.029 -0.97C102.057 -15.997 128 -5.437 128 16V64H488C501.255 64 512 74.745 512 88V104C512 117.255 501.255 128 488 128z" glyph-name="exchange-alt" horiz-adv-x="512" unicode=""/><glyph d="M504 192C504 55.003 392.957 -56 256 -56S8 55.003 8 192C8 328.9170000000001 119.043 440 256 440S504 328.9170000000001 504 192zM256 142C230.595 142 210 121.405 210 96S230.595 50 256 50S302 70.595 302 96S281.405 142 256 142zM212.327 307.346L219.745 171.346C220.092 164.982 225.354 160 231.727 160H280.273C286.646 160 291.908 164.982 292.255 171.346L299.673 307.346C300.048 314.2200000000001 294.575 320 287.6910000000001 320H224.308C217.424 320 211.952 314.2200000000001 212.327 307.346z" glyph-name="exclamation-circle" horiz-adv-x="512" unicode=""/><glyph d="M569.517 7.987C587.975 -24.007 564.806 -64 527.94 -64H48.054C11.117 -64 -11.945 -23.945 6.477 7.987L246.423 424.015C264.89 456.024 311.1430000000001 455.966 329.577 424.015L569.517 7.987zM288 94C262.5950000000001 94 242 73.405 242 48S262.5950000000001 2 288 2S334 22.595 334 48S313.405 94 288 94zM244.327 259.346L251.745 123.346C252.092 116.982 257.354 112 263.727 112H312.273C318.646 112 323.908 116.982 324.255 123.346L331.673 259.346C332.048 266.2200000000001 326.575 272 319.6910000000001 272H256.3080000000001C249.4240000000001 272 243.9520000000001 266.2200000000001 244.3270000000001 259.346z" glyph-name="exclamation-triangle" horiz-adv-x="576" unicode=""/><glyph d="M176 16C176 -28.112 140.112 -64 96 -64S16 -28.112 16 16S51.888 96 96 96S176 60.112 176 16zM25.26 422.801L38.86 150.801C39.499 138.028 50.041 128 62.83 128H129.17C141.959 128 152.501 138.028 153.14 150.801L166.74 422.801C167.425 436.51 156.496 448 142.77 448H49.23C35.504 448 24.575 436.51 25.26 422.801z" glyph-name="exclamation" horiz-adv-x="192" unicode=""/><glyph d="M448.1 104V-8C448.1 -21.3 437.4000000000001 -32 424.1 -32H312.1C290.7000000000001 -32 280 -6.1 295.1 9L331.3 45.2L224 152.4L116.8 45.1L153 9C168.1 -6.1 157.4 -32 136 -32H24C10.7 -32 0 -21.3 0 -8V104C0 125.4 25.9 136.1 41 121L77.2 84.8L184.5 192L77.2 299.3L41 263C25.9 247.9 0 258.6 0 280V392C0 405.3 10.7 416 24 416H136C157.4 416 168.1 390.1 153 375L116.8 338.8L224 231.6L331.3 338.9L295.1 375C280 390.1 290.7000000000001 416 312.1 416H424.1C437.4000000000001 416 448.1 405.3 448.1 392V280C448.1 258.6 422.2000000000001 247.9 407.1 263L370.9000000000001 299.2L263.6 192L370.9000000000001 84.7L407.1 120.9C422.2000000000001 136.1 448.1 125.4 448.1 104z" glyph-name="expand-arrows-alt" horiz-adv-x="448.1" unicode=""/><glyph d="M0 268V392C0 405.3 10.7 416 24 416H148C154.6 416 160 410.6 160 404V364C160 357.4 154.6 352 148 352H64V268C64 261.4 58.6 256 52 256H12C5.4 256 0 261.4 0 268zM288 404V364C288 357.4 293.4 352 300 352H384V268C384 261.4 389.4 256 396 256H436C442.6 256 448 261.4 448 268V392C448 405.3 437.3 416 424 416H300C293.4 416 288 410.6 288 404zM436 128H396C389.4 128 384 122.6 384 116V32H300C293.4 32 288 26.6 288 20V-20C288 -26.6 293.4 -32 300 -32H424C437.3 -32 448 -21.3 448 -8V116C448 122.6 442.6 128 436 128zM160 -20V20C160 26.6 154.6 32 148 32H64V116C64 122.6 58.6 128 52 128H12C5.4 128 0 122.6 0 116V-8C0 -21.3 10.7 -32 24 -32H148C154.6 -32 160 -26.6 160 -20z" glyph-name="expand" horiz-adv-x="448" unicode=""/><glyph d="M576 424V296.016C576 274.555 550.04 264.0360000000001 535.029 279.045L499.322 314.754L255.799 71.231C246.426 61.858 231.231 61.858 221.858 71.231L199.231 93.858C189.858 103.231 189.858 118.427 199.231 127.799L442.756 371.324L407.053 407.029C391.9820000000001 422.1 402.656 448 424.024 448H552C565.255 448 576 437.255 576 424zM407.029 177.206L391.029 161.206A23.999000000000002 23.999000000000002 0 0 1 384 144.235V0H64V320H328A24.003 24.003 0 0 1 344.9700000000001 327.029L360.9700000000001 343.029C376.089 358.149 365.381 384 344 384H48C21.49 384 0 362.51 0 336V-16C0 -42.51 21.49 -64 48 -64H400C426.51 -64 448 -42.51 448 -16V160.236C448 181.618 422.148 192.326 407.029 177.206z" glyph-name="external-link-alt" horiz-adv-x="576" unicode=""/><glyph d="M448 368V16C448 -10.51 426.51 -32 400 -32H48C21.49 -32 0 -10.51 0 16V368C0 394.51 21.49 416 48 416H400C426.51 416 448 394.51 448 368zM360 352H248.029C226.716 352 215.949 326.139 231.058 311.029L263.042 279.0420000000001L67.515 83.515C62.829 78.829 62.829 71.231 67.515 66.544L98.544 35.515C103.231 30.829 110.829 30.829 115.515 35.515L311.041 231.041L343.029 199.05C358.058 184.023 384 194.575 384 216.021V328C384 341.255 373.255 352 360 352z" glyph-name="external-link-square-alt" horiz-adv-x="448" unicode=""/><glyph d="M50.75 114.75C38.75 102.75 32 86.47 32 69.49V24L0 -32L32 -64L88 -32H133.49C150.46 -32 166.74 -25.26 178.74 -13.26L305.38 113.36L177.38 241.36L50.75 114.75zM483.88 419.88C446.41 457.38 385.6 457.38 348.13 419.88L271.04 342.79L257.94 355.89C248.5 365.33 233.29 365.2 224 355.89L183.03 314.92C173.66 305.55 173.66 290.35 183.03 280.98L344.9699999999999 119.04C354.4099999999999 109.6 369.6199999999999 109.73 378.9099999999999 119.04L419.88 160C429.25 169.37 429.25 184.57 419.88 193.94L406.78 207.04L483.87 284.13C521.38 321.61 521.38 382.39 483.88 419.88z" glyph-name="eye-dropper" horiz-adv-x="512" unicode=""/><glyph d="M286.693 56.016L319.272 9.474A333.958 333.958 0 0 0 288 8C168.19 8 63.031 71.949 6.646 167.631A47.999 47.999 0 0 0 6.646 216.37C30.669 257.136 63.559 292.145 102.67 318.907L159.747 237.368C154.736 223.18 152 207.913 152 192C152 117.264 212.135 56.718 286.693 56.016zM569.354 167.631C537.687 113.894 490.607 70.1710000000001 434.1790000000001 42.1560000000001L434.1900000000001 42.1410000000001L475.6600000000001 -17.0589999999999C483.2600000000001 -27.9189999999999 480.6200000000001 -42.8789999999999 469.7600000000001 -50.4789999999999L456.6500000000001 -59.6589999999999C445.7900000000001 -67.2589999999999 430.8300000000001 -64.6189999999999 423.2300000000001 -53.759L100.34 401.06C92.74 411.92 95.38 426.88 106.24 434.48L119.35 443.6600000000001C130.21 451.26 145.17 448.62 152.77 437.76L203.808 365.1430000000001C230.68 372.224 258.905 376 288 376C407.81 376 512.969 312.051 569.354 216.369A48.00200000000001 48.00200000000001 0 0 0 569.354 167.631zM424 192C424 267.174 363.162 328 288 328C270.061 328 252.944 324.527 237.271 318.228L256.57 291.17C282.439 299.341 311.614 297.3330000000001 336.9700000000001 283.76H336.9400000000001C313.2900000000001 283.76 294.1200000000001 264.5900000000001 294.1200000000001 240.9400000000001C294.1200000000001 217.314 313.2670000000001 198.12 336.9400000000001 198.12C360.5900000000001 198.12 379.7600000000001 217.29 379.7600000000001 240.9400000000001V240.9700000000001C398.2220000000001 206.48 396.0720000000001 163.0560000000001 371.5100000000001 130.0200000000001V130.0100000000001L390.8240000000001 102.9490000000001C411.496 126.8 424 157.926 424 192zM262.014 91.273L184.484 202.03C179.47 149.643 213.798 103.6760000000001 262.014 91.273z" glyph-name="eye-slash" horiz-adv-x="576" unicode=""/><glyph d="M569.354 216.369C512.969 312.051 407.81 376 288 376C168.14 376 63.004 312.006 6.646 216.369A47.999 47.999 0 0 1 6.646 167.63C63.031 71.949 168.19 8 288 8C407.86 8 512.996 71.994 569.354 167.631A47.997 47.997 0 0 1 569.354 216.369zM288 56C212.838 56 152 116.827 152 192C152 267.1620000000001 212.826 328 288 328C363.1620000000001 328 424 267.174 424 192C424 116.838 363.174 56 288 56zM392 192C392 134.562 345.438 88 288 88S184 134.562 184 192C184 209.708 188.431 226.379 196.236 240.973L196.235 240.941C196.235 217.29 215.408 198.118 239.059 198.118S281.883 217.291 281.883 240.941C281.883 264.592 262.71 283.765 239.059 283.765L239.027 283.764C253.621 291.569 270.292 296 288 296C345.438 296 392 249.438 392 192z" glyph-name="eye" horiz-adv-x="576" unicode=""/><glyph d="M0 12V372C0 378.6 5.4 384 12 384H52C58.6 384 64 378.6 64 372V220.1L235.5 376.6C256.1 393.7 288 379.4 288 352V220.1L459.5 376.6C480.1 393.7 512 379.4 512 352V32C512 4.6 480.1 -9.7 459.5 7.4L288 162.7V32C288 4.6 256.1 -9.7 235.5 7.4L64 162.7V12C64 5.4 58.6 0 52 0H12C5.4 0 0 5.4 0 12z" glyph-name="fast-backward" horiz-adv-x="512" unicode=""/><glyph d="M512 372V12C512 5.4 506.6 0 500 0H460C453.4 0 448 5.4 448 12V163.9L276.5 7.4C255.9 -9.8 224 4.6 224 32V163.9L52.5 7.4C31.9 -9.8 0 4.6 0 32V352C0 379.4 31.9 393.7 52.5 376.6L224 221.2V352C224 379.4 255.9 393.7 276.5 376.6L448 221.2V372C448 378.6 453.4 384 460 384H500C506.6 384 512 378.6 512 372z" glyph-name="fast-forward" horiz-adv-x="512" unicode=""/><glyph d="M64 320H32C14.33 320 0 305.67 0 288V-32C0 -49.67 14.33 -64 32 -64H64C81.67 -64 96 -49.67 96 -32V288C96 305.67 81.67 320 64 320zM480 288V370.75C480 379.24 476.63 387.37 470.63 393.38L425.37 438.63C419.37 444.63 411.23 448 402.74 448H160C142.33 448 128 433.67 128 416V-32C128 -49.67 142.33 -64 160 -64H480C497.67 -64 512 -49.67 512 -32V256C512 273.67 497.67 288 480 288zM288 16C288 7.16 280.84 0 272 0H240C231.16 0 224 7.16 224 16V48C224 56.84 231.16 64 240 64H272C280.84 64 288 56.84 288 48V16zM288 144C288 135.16 280.84 128 272 128H240C231.16 128 224 135.16 224 144V176C224 184.84 231.16 192 240 192H272C280.84 192 288 184.84 288 176V144zM416 16C416 7.16 408.84 0 400 0H368C359.1600000000001 0 352 7.16 352 16V48C352 56.84 359.1600000000001 64 368 64H400C408.84 64 416 56.84 416 48V16zM416 144C416 135.16 408.84 128 400 128H368C359.1600000000001 128 352 135.16 352 144V176C352 184.84 359.1600000000001 192 368 192H400C408.84 192 416 184.84 416 176V144zM432 256H176V400H384V368C384 359.16 391.1600000000001 352 400 352H432V256z" glyph-name="fax" horiz-adv-x="512" unicode=""/><glyph d="M512 448C460.22 444.44 96.44 409.8 71.01 160.39C67.92 133.73 66.17 106.95 65.02 80.15L243.89 258.84C250.14 265.09 260.29 265.09 266.54 258.84S272.79 242.46 266.54 236.21L7.04 -23.03C-2.34 -32.4 -2.34 -47.6 7.04 -56.97C16.42 -66.3399999999999 31.63 -66.3399999999999 41.02 -56.97L98.15 0.1C140.24 0.24 182.3 2.63 224.11 7.46C277.5900000000001 12.9 321.13 33.9300000000001 356.6900000000001 64.0000000000001H255.74L402.53 112.8800000000001C413.78 127.7700000000001 423.9 143.59 432.98 160.0000000000001H351.84L458.38 213.2100000000001C500.29 315.14 510.19 421.74 512 448z" glyph-name="feather-alt" horiz-adv-x="512" unicode=""/><glyph d="M467.14 403.16C404.59 465.64 305.4700000000001 467.94 214.86 377.43C136.25 298.91 153.88 316.51 129.11 291.77C68.65 231.38 58.72 140.94 65.47 80.6L243.91 258.85C250.17 265.1 260.31 265.1 266.56 258.85S272.81 242.4700000000001 266.56 236.2200000000001L7.04 -23.03C-2.34 -32.4 -2.34 -47.6 7.04 -56.97C16.42 -66.3399999999999 31.64 -66.3399999999999 41.02 -56.97L107.12 9.0600000000001C159.42 -6.65 279 -9.11 353.95 64H255.76L403.33 113.14C453.32 163.07 439.71 149.32 449.64 160H351.86L483.4 203.8C528.8399999999999 278.26 517.71 352.64 467.14 403.1600000000001z" glyph-name="feather" horiz-adv-x="512" unicode=""/><glyph d="M128 448C163.346 448 192 419.346 192 384S163.346 320 128 320C92.654 320 64 348.654 64 384S92.654 448 128 448M247.283 93.821L199.283 285.8210000000001A24 24 0 0 1 176 304H164.64C141.929 293.557 115.05 293.106 91.36 304H80A24 24 0 0 1 56.717 285.8210000000001L8.717 93.821C4.935 78.695 16.383 64 32 64H88V-40C88 -53.255 98.745 -64 112 -64H144C157.255 -64 168 -53.255 168 -40V64H224C239.591 64 251.071 78.671 247.283 93.821z" glyph-name="female" horiz-adv-x="256" unicode=""/><glyph d="M544 224L416 240L368 256H344L227.158 404H266.667C278.3330000000001 404 288 406.625 288 410S278.3330000000001 416 266.6670000000001 416H152V404H168V240H120L53.333 320H18.667L8 309.333V240H16V224H64V221.334L0 213.334V170.667L64 162.667V160H16V144H8V74.667L18.667 64H53.334L120 144H168V-20H152V-32H266.6670000000001C278.334 -32 288 -29.375 288 -26S278.3330000000001 -20 266.6670000000001 -20H227.158L344 128H368L416 144L544 160C640 181.333 640 186.583 640 192C640 197.417 640 202.667 544 224z" glyph-name="fighter-jet" horiz-adv-x="640" unicode=""/><glyph d="M224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM288 76C288 69.4 282.6 64 276 64H108C101.4 64 96 69.4 96 76V84C96 90.6 101.4 96 108 96H276C282.6 96 288 90.6 288 84V76zM288 140C288 133.4 282.6 128 276 128H108C101.4 128 96 133.4 96 140V148C96 154.6 101.4 160 108 160H276C282.6 160 288 154.6 288 148V140zM288 212V204C288 197.4 282.6 192 276 192H108C101.4 192 96 197.4 96 204V212C96 218.6 101.4 224 108 224H276C282.6 224 288 218.6 288 212zM384 326.1V320H256V448H262.1C268.5 448 274.6 445.5 279.1 441L377 343C381.5 338.5 384 332.4 384 326.1z" glyph-name="file-alt" horiz-adv-x="384" unicode=""/><glyph d="M224 312V448H160.4V416H128.4V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM95.9 416H127.9V384H95.9V416zM128.2 32C95 32 70.2 62.4 76.8 94.9L96.4 192V224H128.4V256H96.4V288H128.4V320H96.4V352H128.4V384H160.4V352H128.4V320H160.4V288H128.4V256H160.4V224H128.4V192H150.5C156.2 192 161.2 187.9 162.3 182.3L179.6 94.6C186 62.2000000000001 161.2 32 128.2 32zM160.9 85C160.9 70.1 146.4 58 128.5 58S96 70 96 85C96 99.9 110.5 112 128.4 112S160.9 99.9 160.9 85zM384 326.1V320H256V448H262.1C268.5 448 274.6 445.5 279.1 441L377 343C381.5 338.5 384 332.4 384 326.1z" glyph-name="file-archive" horiz-adv-x="384" unicode=""/><glyph d="M224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM160 44C160 33.3 147.1 28 139.5 35.5L104 72H76C69.4 72 64 77.4 64 84V140C64 146.6 69.4 152 76 152H104L139.5 188.5C147.1 196.1 160 190.7 160 180V44zM193.2 91.6C202.3 100.9 202.3 115.7000000000001 193.2 125C171.1 147.8 205.4 181.2 227.6 158.5C254.8 130.6 254.8 86.1 227.6 58.1C205.8 35.8 170.7 68.5 193.2 91.6zM279.2 208.7C333.6 152.8 333.6 63.9 279.2 7.9C257.4 -14.5 222.2 18.2 244.8 41.4C281 78.6 281.1 137.9 244.8 175.2C222.7 198 257.1 231.5 279.2 208.7zM384 326.1V320H256V448H262.1C268.5 448 274.6 445.5 279.1 441L377 343C381.5 338.5 384 332.4 384 326.1z" glyph-name="file-audio" horiz-adv-x="384" unicode=""/><glyph d="M384 326.059V320H256V448H262.0590000000001C268.4240000000001 448 274.5290000000001 445.471 279.0300000000001 440.971L376.971 343.03A24.005 24.005 0 0 0 384 326.059zM248 288C234.8 288 224 298.8 224 312V448H24C10.745 448 0 437.255 0 424V-40C0 -53.255 10.745 -64 24 -64H360C373.255 -64 384 -53.255 384 -40V288H248zM123.206 47.495A5.4 5.4 0 0 0 115.573 47.249L50.707 108.061A5.4 5.4 0 0 0 50.707 115.9400000000001L115.573 176.7520000000001A5.4 5.4 0 0 0 123.206 176.5060000000001L142.785 155.6210000000001A5.4 5.4 0 0 0 142.413 147.8740000000001L101.65 112L142.413 76.126A5.4 5.4 0 0 0 142.785 68.379L123.206 47.495zM174.501 -2.984L147.048 4.986A5.401999999999999 5.401999999999999 0 0 0 143.367 11.6780000000001L204.807 223.3040000000001A5.401999999999999 5.401999999999999 0 0 0 211.499 226.9850000000001L238.951 219.0150000000001A5.4 5.4 0 0 0 242.631 212.3230000000001L181.191 0.6970000000001A5.396999999999999 5.396999999999999 0 0 0 174.501 -2.9839999999999zM335.293 108.061L270.427 47.249A5.4 5.4 0 0 0 262.7940000000001 47.495L243.2140000000001 68.38A5.4 5.4 0 0 0 243.5860000000001 76.127L284.35 112L243.587 147.874A5.4 5.4 0 0 0 243.215 155.6210000000001L262.795 176.506A5.4 5.4 0 0 0 270.428 176.752L335.294 115.94A5.4 5.4 0 0 0 335.293 108.061z" glyph-name="file-code" horiz-adv-x="384" unicode=""/><glyph d="M224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM64 376C64 380.42 67.58 384 72 384H152C156.42 384 160 380.42 160 376V360C160 355.58 156.42 352 152 352H72C67.58 352 64 355.58 64 360V376zM64 312C64 316.42 67.58 320 72 320H152C156.42 320 160 316.42 160 312V296C160 291.5800000000001 156.42 288 152 288H72C67.58 288 64 291.5800000000001 64 296V312zM256.81 64H304C312.84 64 320 56.84 320 48S312.84 32 304 32H256.81C240.36 32 225.54 41.14 218.17 55.86C215.22 61.78 210.08 62.38 208 62.38S200.78 61.79 197.98 56.19L190.31 40.85A15.986 15.986 0 0 0 176 32.0100000000001C175.62 32.0100000000001 175.25 32.03 174.8600000000001 32.0600000000001C168.4100000000001 32.5100000000001 162.8600000000001 36.8100000000001 160.8300000000001 42.95L144 93.41L133.39 61.53C127.5 43.87 111.01 32 92.39 32H80C71.16 32 64 39.16 64 48S71.16 64 80 64H92.39C97.22 64 101.5 67.08 103.03 71.66L121.22 126.3C124.52 136.11 133.66 142.71 144 142.71S163.48 136.1200000000001 166.77 126.3L180.65 84.66C200.42 100.85 234.7 94.36 246.65 70.5C248.67 66.44 252.61 64 256.81 64zM377 343L279.1 441C274.6 445.5 268.5 448 262.1 448H256V320H384V326.1C384 332.4 381.5 338.5 377 343z" glyph-name="file-contract" horiz-adv-x="384" unicode=""/><glyph d="M224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM128 168C128 163.58 124.42 160 120 160H112C103.16 160 96 152.84 96 144V112C96 103.16 103.16 96 112 96H120C124.42 96 128 92.42 128 88V72C128 67.58 124.42 64 120 64H112C85.49 64 64 85.49 64 112V144C64 170.51 85.49 192 112 192H120C124.42 192 128 188.42 128 184V168zM172.27 64H160C155.58 64 152 67.58 152 72V88C152 92.42 155.58 96 160 96H172.27C178.22 96 182.68 99.5 182.68 102.62C182.68 103.92 181.93 105.28 180.56 106.46L158.67 125.23C150.2 132.45 145.34 142.71 145.34 153.37C145.34 174.67 164.36 191.99 187.75 191.99H200C204.42 191.99 208 188.41 208 183.99V167.99C208 163.5699999999999 204.42 159.99 200 159.99H187.73C181.78 159.99 177.32 156.49 177.32 153.37C177.32 152.0699999999999 178.07 150.7099999999999 179.44 149.53L201.33 130.76C209.8 123.54 214.66 113.28 214.66 102.62C214.67 81.33 195.66 64 172.27 64zM256 184V163.2C256 142.93 261.7 123.03 272 106.32C282.3 123.02 288 142.93 288 163.2V184C288 188.42 291.58 192 296 192H312C316.42 192 320 188.42 320 184V163.2C320 127.72 307.12 94.31 283.7200000000001 69.11C280.7000000000001 65.86 276.4500000000001 64 272 64S263.3 65.86 260.28 69.11C236.88 94.31 224 127.72 224 163.2000000000001V184C224 188.42 227.58 192 232 192H248C252.42 192 256 188.42 256 184zM377 343L279.1 441C274.6 445.5 268.5 448 262.1 448H256V320H384V326.1C384 332.4 381.5 338.5 377 343z" glyph-name="file-csv" horiz-adv-x="384" unicode=""/><glyph d="M224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM300.45 100.64L204.03 4.94C197.38 -1.67 186.64 -1.67 179.99 4.94L83.57 100.64C73.42 110.71 80.54 128 94.82 128H160V208C160 216.84 167.16 224 176 224H208C216.84 224 224 216.84 224 208V128H289.18C303.46 128 310.58 110.71 300.45 100.64zM377 343L279.1 441C274.6 445.5 268.5 448 262.1 448H256V320H384V326.1C384 332.4 381.5 338.5 377 343z" glyph-name="file-download" horiz-adv-x="384" unicode=""/><glyph d="M224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM284.1 205.5L224 112L284.1 18.5C289.2000000000001 10.5 283.5 0 274 0H239.1C234.7 0 230.6 2.4 228.5 6.3C208.9 42.5 192 75 192 75C185.6 60.2 182 55 155.4 6.2C153.3 2.3 149.3 -0.1 144.9 -0.1H110C100.5 -0.1 94.8 10.4 99.9 18.4L160.2 111.9L99.9 205.4C94.7 213.4 100.5 223.9 110 223.9H144.8C149.2 223.9 153.3 221.5 155.4 217.6C181.5 168.8 175.4 184 192 149.1C192 149.1 198.1 160.8 228.6 217.6C230.7 221.5 234.8 223.9 239.2 223.9H274C283.5 224 289.2 213.5 284.1 205.5zM384 326.1V320H256V448H262.1C268.5 448 274.6 445.5 279.1 441L377 343C381.5 338.5 384 332.4 384 326.1z" glyph-name="file-excel" horiz-adv-x="384" unicode=""/><glyph d="M384 326.1C384 332.4 381.5 338.5 377 343L279.1 441C274.6 445.5 268.5 448 262.1 448H256V320H384V326.1zM192 112V144C192 152.84 199.16 160 208 160H384V288H248C234.8 288 224 298.8 224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V96H208C199.16 96 192 103.16 192 112zM571.05 140.02L475.35 236.45C465.29 246.59 447.99 239.46 447.99 225.18V160H384V96H447.99V30.82C447.99 16.54 465.28 9.41 475.35 19.55L571.0500000000001 115.97C577.6500000000001 122.6300000000001 577.6500000000001 133.37 571.0500000000001 140.0200000000001z" glyph-name="file-export" horiz-adv-x="576" unicode=""/><glyph d="M384 326.059V320H256V448H262.0590000000001A24 24 0 0 0 279.029 440.971L376.9700000000001 343.03A24.002000000000002 24.002000000000002 0 0 0 384 326.059zM248 288C234.8 288 224 298.8 224 312V448H24C10.745 448 0 437.255 0 424V-40C0 -53.255 10.745 -64 24 -64H360C373.255 -64 384 -53.255 384 -40V288H248zM112.545 272C139.055 272 160.545 250.51 160.545 224S139.055 176 112.545 176S64.545 197.49 64.545 224S86.036 272 112.545 272zM320.545 32H64.545L65.03 80.485L104.545 120C109.231 124.686 116.344 124.201 121.03 119.515L160.545 80L264.06 183.515C268.746 188.201 276.344 188.201 281.031 183.515L320.545 144V32z" glyph-name="file-image" horiz-adv-x="384" unicode=""/><glyph d="M16 160C7.16 160 0 152.84 0 144V112C0 103.16 7.16 96 16 96H128V160H16zM352 312V448H152C138.7 448 128 437.3 128 424V160H255.99V225.18C255.99 239.46 273.2800000000001 246.59 283.35 236.45L379.05 140.02C385.6500000000001 133.37 385.6500000000001 122.63 379.05 115.98L283.35 19.5599999999999C273.29 9.42 255.99 16.55 255.99 30.8299999999999V96H128V-40C128 -53.3 138.7 -64 152 -64H488C501.3 -64 512 -53.3 512 -40V288H376C362.8 288 352 298.8 352 312zM505 343L407.1 441C402.6 445.5 396.5 448 390.1 448H384V320H512V326.1C512 332.4 509.5 338.5 505 343z" glyph-name="file-import" horiz-adv-x="512" unicode=""/><glyph d="M377 343L279.1 441C274.6 445.5 268.5 448 262.1 448H256V320H384V326.1C384 332.4 381.5 338.5 377 343zM224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM64 376C64 380.42 67.58 384 72 384H152C156.42 384 160 380.42 160 376V360C160 355.58 156.42 352 152 352H72C67.58 352 64 355.58 64 360V376zM64 296V312C64 316.42 67.58 320 72 320H152C156.42 320 160 316.42 160 312V296C160 291.5800000000001 156.42 288 152 288H72C67.58 288 64 291.5800000000001 64 296zM208 32.12V8C208 3.58 204.42 0 200 0H184C179.58 0 176 3.58 176 8V32.29C164.71 32.87 153.73 36.81 144.63 43.64C140.73 46.5700000000001 140.53 52.41 144.06 55.78L155.81 66.99C158.58 69.63 162.7 69.75 165.94 67.72C169.81 65.3 174.2 64 178.76 64H206.87C213.37 64 218.67 69.92 218.67 77.19C218.67 83.14 215.06 88.38 209.9 89.92L164.9 103.42C146.31 109 133.32 126.84 133.32 146.81C133.32 171.33 152.37 191.25 175.99 191.88V216C175.99 220.42 179.57 224 183.99 224H199.99C204.41 224 207.99 220.42 207.99 216V191.71C219.28 191.13 230.26 187.2 239.36 180.36C243.26 177.43 243.46 171.59 239.93 168.22L228.18 157.01C225.41 154.37 221.29 154.25 218.05 156.28C214.18 158.71 209.79 160 205.23 160H177.12C170.62 160 165.32 154.08 165.32 146.81C165.32 140.86 168.93 135.62 174.09 134.08L219.09 120.58C237.68 115 250.67 97.16 250.67 77.19C250.67 52.66 231.62 32.75 208 32.12z" glyph-name="file-invoice-dollar" horiz-adv-x="384" unicode=""/><glyph d="M288 192H96V128H288V192zM377 343L279.1 441C274.6 445.5 268.5 448 262.1 448H256V320H384V326.1C384 332.4 381.5 338.5 377 343zM224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM64 376C64 380.42 67.58 384 72 384H152C156.42 384 160 380.42 160 376V360C160 355.58 156.42 352 152 352H72C67.58 352 64 355.58 64 360V376zM64 312C64 316.42 67.58 320 72 320H152C156.42 320 160 316.42 160 312V296C160 291.5800000000001 156.42 288 152 288H72C67.58 288 64 291.5800000000001 64 296V312zM320 8C320 3.58 316.42 0 312 0H232C227.58 0 224 3.58 224 8V24C224 28.42 227.58 32 232 32H312C316.42 32 320 28.42 320 24V8zM320 208V112C320 103.16 312.84 96 304 96H80C71.16 96 64 103.16 64 112V208C64 216.84 71.16 224 80 224H304C312.84 224 320 216.84 320 208z" glyph-name="file-invoice" horiz-adv-x="384" unicode=""/><glyph d="M288 312V448H88C74.7 448 64 437.3 64 424V192H8C3.6 192 0 188.4 0 184V168C0 163.6 3.6 160 8 160H148.9C151.9 160 154.7 158.3 156.1 155.6L176 115.8L232.8 229.5C235.7 235.4 244.2 235.4 247.1 229.5L281.8 160H352C360.8 160 368 152.8 368 144S360.8 128 352 128H262.1L240 172.2L183.2 58.5C180.3 52.6 171.8 52.6 168.9 58.5L134.1 128H64V-40C64 -53.3 74.7 -64 88 -64H424C437.3 -64 448 -53.3 448 -40V288H312C298.8 288 288 298.8 288 312zM441 343L343.1 441C338.6 445.5 332.5 448 326.1 448H320V320H448V326.1C448 332.4 445.5 338.5 441 343z" glyph-name="file-medical-alt" horiz-adv-x="448" unicode=""/><glyph d="M377 343L279.1 441C274.6 445.5 268.5 448 262.1 448H256V320H384V326.1C384 332.4 381.5 338.5 377 343zM224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM288 152V104C288 99.6 284.4 96 280 96H224V40C224 35.6 220.4 32 216 32H168C163.6 32 160 35.6 160 40V96H104C99.6 96 96 99.6 96 104V152C96 156.4 99.6 160 104 160H160V216C160 220.4 163.6 224 168 224H216C220.4 224 224 220.4 224 216V160H280C284.4 160 288 156.4 288 152z" glyph-name="file-medical" horiz-adv-x="384" unicode=""/><glyph d="M181.9 191.9C176.9 207.9 177 238.8 179.9 238.8C188.3 238.8 187.5 201.9 181.9 191.9zM180.2 144.7C172.5 124.5 162.9 101.4 151.8 82C170.1 89 190.8 99.2 214.7 103.9C202 113.5 189.8 127.3 180.2 144.7zM86.1 19.9C86.1 19.1 99.3 25.3 121 60.1C114.3 53.8 91.9 35.6 86.1 19.9zM248 288H384V-40C384 -53.3 373.3 -64 360 -64H24C10.7 -64 0 -53.3 0 -40V424C0 437.3 10.7 448 24 448H224V312C224 298.8 234.8 288 248 288zM240 116.2C220 128.4 206.7 145.2 197.3 170C201.8 188.5 208.9 216.6 203.5 234.2C198.8 263.6 161.1 260.7 155.7 241C150.7 222.7 155.3 196.9 163.8 164C152.2 136.4 135.1 99.4 123 78.2C122.9 78.2 122.9 78.1 122.8 78.1C95.7 64.2 49.2 33.6 68.3 10.1C73.9 3.2 84.3 0.1 89.8 0.1C107.7 0.1 125.5 18.1 150.9 61.9C176.7 70.4 205 81 229.9 85.1C251.6 73.3 277 65.6 293.9 65.6C323.1 65.6 325.1 97.6 313.6 108.9999999999999C299.7 122.6 259.3 118.6999999999999 240 116.1999999999999zM377 343L279 441C274.5 445.5 268.4 448 262 448H256V320H384V326.1C384 332.4 381.5 338.5 377 343zM302.9 87.7C307 90.4 300.4 99.6 260.1 96.7C297.2 80.9 302.9 87.7 302.9 87.7z" glyph-name="file-pdf" horiz-adv-x="384" unicode=""/><glyph d="M193.7 176.8C202.5 176.8 209.2 174.1 214 168.7C223.6 157.8 223.8 136 213.8 124.6C208.9 119 201.9 116.1 192.7 116.1H165.8V176.8H193.7zM377 343L279 441C274.5 445.5 268.4 448 262 448H256V320H384V326.1C384 332.4 381.5 338.5 377 343zM224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM277 146.8C277 56.5 188.2 69.2000000000001 165.9 69.2000000000001V12C165.9 5.4 160.5 0 153.9 0H123.1C116.5 0 111.1 5.4 111.1 12V211.8C111.1 218.4 116.5 223.8 123.1 223.8H204.1C248.6 223.8 277 191 277 146.8z" glyph-name="file-powerpoint" horiz-adv-x="384" unicode=""/><glyph d="M224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM292.53 132.52L303.84 121.21C310.09 114.96 310.09 104.83 303.84 98.58L273.94 68.68L304 38.62C310.25 32.37 310.25 22.24 304 15.99L292.69 4.68C286.44 -1.57 276.31 -1.57 270.06 4.68L240 34.75L209.94 4.69C203.69 -1.56 193.56 -1.56 187.31 4.69L176 16C169.75 22.25 169.75 32.38 176 38.63L206.06 68.69L146.74 128H128V80C128 71.16 120.84 64 112 64H96C87.16 64 80 71.16 80 80V240C80 248.84 87.16 256 96 256H176C211.35 256 240 227.35 240 192C240 167.78 226.38 146.95 206.54 136.08L240 102.62L269.9 132.52C276.15 138.77 286.28 138.77 292.53 132.52zM176 176H128V208H176C184.82 208 192 200.82 192 192S184.82 176 176 176zM384 326.1V320H256V448H262.1C268.5 448 274.6 445.5 279.1 441L377 343C381.5 338.5 384 332.4 384 326.1z" glyph-name="file-prescription" horiz-adv-x="384" unicode=""/><glyph d="M218.17 23.86C215.22 29.78 210.08 30.38 208 30.38S200.78 29.79 197.98 24.19L190.31 8.85C183.94 -3.9299999999999 165.28 -2.52 160.83 10.94L144 61.41L133.39 29.53C127.5 11.87 111.01 0 92.39 0H80C71.16 0 64 7.16 64 16S71.16 32 80 32H92.39C97.22 32 101.5 35.08 103.03 39.66L121.22 94.3C124.52 104.11 133.66 110.71 144 110.71S163.48 104.1200000000001 166.77 94.3L180.65 52.66C200.4 68.85 234.71 62.36 246.65 38.5C248.54 34.72 252.14 32.55 256.01 32.24V114.36L384.01 241.45V288H248C234.8 288 224 298.8 224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V0L256 0.11C239.88 0.42 225.42 9.39 218.17 23.86zM384 326.1C384 332.4 381.5 338.5 377 343L279.1 441C274.6 445.5 268.5 448 262.1 448H256V320H384V326.1zM288 101.04V32H356.99L518.6700000000001 194.78L450.7900000000001 262.66L288 101.04zM568.54 280.67L536.67 312.54C526.7299999999999 322.48 510.6 322.48 500.66 312.54L473.41 285.29L541.29 217.41L568.54 244.66C578.49 254.6 578.49 270.73 568.54 280.67z" glyph-name="file-signature" horiz-adv-x="576" unicode=""/><glyph d="M224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM289.18 95.99H224V15.99C224 7.15 216.84 -0.01 208 -0.01H176C167.16 -0.01 160 7.15 160 15.99V95.99H94.82C80.54 95.99 73.41 113.28 83.55 123.35L179.97 219.05C186.62 225.6600000000001 197.36 225.6600000000001 204.01 219.05L300.43 123.35C310.58 113.28 303.46 95.99 289.18 95.99zM377 343L279.1 441C274.6 445.5 268.5 448 262.1 448H256V320H384V326.1C384 332.4 381.5 338.5 377 343z" glyph-name="file-upload" horiz-adv-x="384" unicode=""/><glyph d="M384 326.059V320H256V448H262.0590000000001C268.4240000000001 448 274.5290000000001 445.471 279.0300000000001 440.971L376.971 343.03A24.005 24.005 0 0 0 384 326.059zM224 312V448H24C10.745 448 0 437.255 0 424V-40C0 -53.255 10.745 -64 24 -64H360C373.255 -64 384 -53.255 384 -40V288H248C234.8 288 224 298.8 224 312zM320 167.984V56.0210000000001C320 34.5760000000001 294.057 24.0230000000001 279.029 39.0500000000001L224 94.059V56C224 42.745 213.255 32 200 32H88C74.745 32 64 42.745 64 56V168C64 181.255 74.745 192 88 192H200C213.255 192 224 181.255 224 168V129.941L279.029 184.954C294.04 199.964 320 189.445 320 167.984z" glyph-name="file-video" horiz-adv-x="384" unicode=""/><glyph d="M224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM281.1 192H305C312.7 192 318.4 184.9 316.7 177.3L278.7 9.3C277.5 3.8 272.6 0 267 0H229C223.5 0 218.7 3.8 217.4 9.1C191.6 112.6 196.6 90.3 191.8 119.6H191.3C190.2 105.3 188.9 102.2000000000001 165.7 9.1C164.4 3.8 159.6 0 154.1 0H117C111.4 0 106.5 3.9 105.3 9.4L67.5 177.4C65.8 184.9 71.5 192 79.2 192H103.7C109.4 192 114.4 188 115.5 182.3C131.1 104.3 135.6 72.8 136.5 60.1C138.1 70.3 143.8 92.8 165.9 182.8C167.2 188.2 172 191.9 177.6 191.9H206.7C212.3 191.9 217.1 188.1 218.4 182.7000000000001C242.4 82.3000000000001 247.2 58.7000000000001 248 53.3000000000001C247.8 64.5000000000001 245.4 71.1000000000001 269.6 182.5000000000001C270.6 188.1000000000001 275.5 192.0000000000001 281.1 192.0000000000001zM384 326.1V320H256V448H262.1C268.5 448 274.6 445.5 279.1 441L377 343C381.5 338.5 384 332.4 384 326.1z" glyph-name="file-word" horiz-adv-x="384" unicode=""/><glyph d="M224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM384 326.1V320H256V448H262.1C268.5 448 274.6 445.5 279.1 441L377 343C381.5 338.5 384 332.4 384 326.1z" glyph-name="file" horiz-adv-x="384" unicode=""/><glyph d="M512 128S448 35.35 448 0C448 -35.35 476.66 -64 512 -64S576 -35.35 576 0S512 128 512 128zM502.63 230.94L294.94 438.63C288.69 444.88 280.5 448 272.31 448S255.93 444.88 249.69 438.63L168.11 357.05L81.93 443.24C75.68 449.49 65.55 449.49 59.31 443.24L36.69 420.62C30.45 414.37 30.45 404.24 36.69 398L122.88 311.82L28.12 217.06C-9.37 179.58 -9.37 118.8 28.12 81.31L145.31 -35.88C164.05 -54.62 188.62 -64 213.18 -64C237.75 -64 262.31 -54.63 281.05 -35.88L502.62 185.69C515.12 198.19 515.12 218.44 502.63 230.94zM386.41 159.97H65.93C67.29 163.81 69.5 167.9500000000001 73.36 171.8L86.51 184.95L168.12 266.56L226.72 207.96C239.21 195.47 259.4700000000001 195.47 271.96 207.96S284.45 240.71 271.96 253.2L213.36 311.8L272.31 370.75L434.75 208.31L386.41 159.97z" glyph-name="fill-drip" horiz-adv-x="576" unicode=""/><glyph d="M502.63 230.94L294.94 438.63C288.69 444.88 280.5 448 272.31 448S255.93 444.88 249.69 438.63L168.11 357.05L81.93 443.23C75.69 449.48 65.55 449.48 59.31 443.23L36.69 420.62C30.45 414.37 30.45 404.24 36.69 397.99L122.88 311.81L28.12 217.05C-9.37 179.56 -9.37 118.79 28.12 81.3L145.31 -35.89C164.06 -54.63 188.62 -64.01 213.18 -64.01C237.75 -64.01 262.31 -54.64 281.06 -35.89L502.63 185.68C515.12 198.18 515.12 218.44 502.63 230.94zM386.41 159.97H65.93C67.29 163.81 69.5 167.9500000000001 73.36 171.8L86.51 184.95L168.12 266.56L226.73 207.96C239.2200000000001 195.47 259.48 195.47 271.9700000000001 207.96C284.4600000000001 220.45 284.4600000000001 240.71 271.9700000000001 253.2L213.36 311.8L272.31 370.75L434.76 208.31L386.41 159.97z" glyph-name="fill" horiz-adv-x="512" unicode=""/><glyph d="M488 384H480V364C480 357.4 474.6 352 468 352H428C421.4 352 416 357.4 416 364V384H96V364C96 357.4 90.6 352 84 352H44C37.4 352 32 357.4 32 364V384H24C10.7 384 0 373.3 0 360V24C0 10.7 10.7 0 24 0H32V20C32 26.6 37.4 32 44 32H84C90.6 32 96 26.6 96 20V0H416V20C416 26.6 421.4 32 428 32H468C474.6 32 480 26.6 480 20V0H488C501.3 0 512 10.7 512 24V360C512 373.3 501.3 384 488 384zM96 76C96 69.4 90.6 64 84 64H44C37.4 64 32 69.4 32 76V116C32 122.6 37.4 128 44 128H84C90.6 128 96 122.6 96 116V76zM96 172C96 165.4 90.6 160 84 160H44C37.4 160 32 165.4 32 172V212C32 218.6 37.4 224 44 224H84C90.6 224 96 218.6 96 212V172zM96 268C96 261.4 90.6 256 84 256H44C37.4 256 32 261.4 32 268V308C32 314.6 37.4 320 44 320H84C90.6 320 96 314.6 96 308V268zM368 60C368 53.4 362.6 48 356 48H156C149.4 48 144 53.4 144 60V156C144 162.6 149.4 168 156 168H356C362.6 168 368 162.6 368 156V60zM368 228C368 221.4 362.6 216 356 216H156C149.4 216 144 221.4 144 228V324C144 330.6 149.4 336 156 336H356C362.6 336 368 330.6 368 324V228zM480 76C480 69.4 474.6 64 468 64H428C421.4 64 416 69.4 416 76V116C416 122.6 421.4 128 428 128H468C474.6 128 480 122.6 480 116V76zM480 172C480 165.4 474.6 160 468 160H428C421.4 160 416 165.4 416 172V212C416 218.6 421.4 224 428 224H468C474.6 224 480 218.6 480 212V172zM480 268C480 261.4 474.6 256 468 256H428C421.4 256 416 261.4 416 268V308C416 314.6 421.4 320 428 320H468C474.6 320 480 314.6 480 308V268z" glyph-name="film" horiz-adv-x="512" unicode=""/><glyph d="M487.976 448H24.028C2.71 448 -8.047 422.134 7.058 407.029L192 222.059V16C192 8.169 195.821 0.83 202.237 -3.662L282.237 -59.642C298.02 -70.69 320 -59.493 320 -39.98V222.059L504.947 407.029C520.021 422.104 509.338 448 487.976 448z" glyph-name="filter" horiz-adv-x="512" unicode=""/><glyph d="M256.12 202.04C242.87 202.04 232.12 191.3 232.12 178.04C233.26 105.79 223.98 36.14 204.42 -33.51C201.69 -43.2300000000001 206.57 -64 227.54 -64C238.02 -64 247.6500000000001 -57.08 250.63 -46.48C264.1600000000001 1.43 281.67 78.93 280.11 178.04C280.12 191.29 269.38 202.04 256.12 202.04zM255.26 283.77C194 283.8400000000001 151.25 236.7 152.1 182.68C152.85 134.74 148.35 86.77 138.73 40.13C136.04 27.15 144.4 14.44 157.37 11.77C170.42 9.1 183.04 17.43 185.73 30.41C196.07 80.5 200.9 131.99 200.1 183.43C199.69 209.38 220.0200000000001 235.92 254.55 235.77C285.86 235.3 311.7 210.43 312.17 180.3C312.94 132.25 309.36 83.97 301.56 36.7499999999999C299.39 23.6899999999999 308.25 11.3299999999999 321.32 9.17C341.29 5.84 348.13 24.27 348.9 28.9399999999999C357.18 78.9699999999999 360.96 130.1499999999999 360.17 181.05C359.29 236.85 312.23 282.93 255.26 283.77zM144.57 303.55C134.27 311.89 119.2 310.35 110.81 300.07C85.19 268.57 71.42 228.79 72.06 188.07C72.65 150.49 69.59 112.8 62.95 76.02C60.61 62.97 69.26 50.49 82.31 48.13C102.42 44.63 109.38 62.94 110.2 67.49C117.39 107.33 120.7 148.15 120.06 188.82C119.59 218.7 129.26 246.7 148.06 269.79C156.41 280.07 154.85 295.18 144.57 303.55zM254.04 365.88C238.63 366.29 223.17 364.44 208.26 360.91C195.37 357.85 187.39 344.93 190.43 332.02C193.49 319.13 206.43 311.19 219.32 314.19C230.37 316.8 241.79 317.9600000000001 253.32 317.88C328.75 316.75 391.05 256.38 392.2 183.3C392.79 145.42 390.92 107.1899999999999 386.62 69.67C385.12 56.4999999999999 394.57 44.59 407.73 43.09C424.4500000000001 41.14 433.24 54.97 434.31 64.2A929.06 929.06 0 0 1 440.2 184.05C438.64 282.8 355.13 364.38 254.04 365.88zM506.11 244.43C503.25 257.35 490.6 265.63 477.5 262.7C464.56 259.84 456.38 247.04 459.24 234.09C463.95 212.68 464.15 196.68 463.94 172.49C463.83 159.22 474.49 148.4 487.74 148.29H487.94C501.11 148.29 511.83 158.9 511.94 172.09C512.12 194.27 512.34 216.2 506.11 244.43zM465.99 335.15C417.29 404.54 337.6 446.71 252.81 447.98C183.02 448.82 118.47 423.09 70.46 375.06C24.09 328.63 -0.9 266.9600000000001 0.14 201.35L0.02 179.88C-0.37 166.63 10.05 155.57 23.3 155.19C23.53 155.17 23.78 155.17 24.02 155.17C36.94 155.17 47.61 165.47 47.99 178.47L48.15 202.11C47.32 254.61 67.31 303.9700000000001 104.43 341.11C143.19 379.9100000000001 195.77 400.7800000000001 252.11 399.9700000000001C321.56 398.94 386.8400000000001 364.4100000000001 426.73 307.5800000000001C434.3400000000001 296.7200000000001 449.29 294.13 460.15 301.7200000000001C470.99 309.3400000000001 473.61 324.31 465.99 335.15z" glyph-name="fingerprint" horiz-adv-x="512" unicode=""/><glyph d="M323.56 396.8C302.76 377.5 283.98 357.21 267.3400000000001 336.83C240.08 374.38 206.28 412.4700000000001 168 448C69.74 356.83 0 238.04 0 166.4C0 39.15 100.29 -64 224 -64S448 39.15 448 166.4C448 219.67 396.02 329.54 323.56 396.8zM304.0900000000001 56.15C282.43 40.99 255.72 32 226.86 32C154.71 32 96 79.74 96 157.25C96 195.86 120.31 229.88 168.79 288C175.72 280.02 267.62 162.66 267.62 162.66L326.25 229.54C330.39 222.69 334.1600000000001 215.99 337.52 209.57C364.87 157.38 353.33 90.6 304.09 56.15z" glyph-name="fire-alt" horiz-adv-x="448" unicode=""/><glyph d="M434.027 421.671L266.027 393.671C254.693 391.782 256 380.2 256 376H197.668C208.353 411.892 181.446 448 144 448C104.565 448 77.632 408.324 91.772 371.7970000000001C39.733 358.746 16.391 317.584 1.723 280.913C-3.2 268.606 2.786 254.639 15.093 249.716C27.41 244.79 41.372 250.791 46.289 263.086C75.058 335.01 106.964 328 168 328V300.924C126.457 290.062 96 251.689 96 206.795V-40C96 -53.255 106.745 -64 120 -64H264C277.255 -64 288 -53.255 288 -40V208C288 252.731 257.404 290.312 216 300.9700000000001V328H256C256 325.026 254.297 312.284 266.027 310.329L434.027 282.329C441.342 281.11 448 286.75 448 294.166V409.834C448 417.25 441.342 422.89 434.027 421.671zM144 376C135.178 376 128 383.178 128 392S135.178 408 144 408S160 400.822 160 392S152.822 376 144 376z" glyph-name="fire-extinguisher" horiz-adv-x="448" unicode=""/><glyph d="M216 424.14C216 447.94 185.35 456.91 171.85 437.18C48 256.15 224 248 224 160C224 124.37 194.89 95.54 159.15 96.01C123.98 96.46 96 125.78 96 160.95V246.46C96 268.16 69.53 278.69 54.57 262.96C27.8 234.84 0 186.67 0 128C0 22.13 86.13 -64 192 -64S384 22.13 384 128C384 298.29 216 321 216 424.14z" glyph-name="fire" horiz-adv-x="384" unicode=""/><glyph d="M0 368V16C0 -10.5 21.5 -32 48 -32H96V416H48C21.5 416 0 394.5 0 368zM128 -32H448V416H128V-32zM192 216C192 220.4 195.6 224 200 224H256V280C256 284.4 259.6 288 264 288H312C316.4 288 320 284.4 320 280V224H376C380.4 224 384 220.4 384 216V168C384 163.6 380.4 160 376 160H320V104C320 99.6 316.4 96 312 96H264C259.6 96 256 99.6 256 104V160H200C195.6 160 192 163.6 192 168V216zM528 416H480V-32H528C554.5 -32 576 -10.5 576 16V368C576 394.5 554.5 416 528 416z" glyph-name="first-aid" horiz-adv-x="576" unicode=""/><glyph d="M327.1 352C237.13 352 158.56 297.23 114.83 250.37L27.5 316.42C15.37 325.6 -2.74 315.82 0.36 301.76L24.54 192L0.35 82.23C-2.75 68.17 15.36 58.4 27.49 67.57L114.82 133.62C158.55 86.77 237.13 32 327.1 32C464.56 32 576 160 576 192S464.56 352 327.1 352zM414.5300000000001 168C401.2800000000001 168 390.5300000000001 178.75 390.5300000000001 192C390.5300000000001 205.26 401.2800000000001 216 414.5300000000001 216C427.79 216 438.5300000000001 205.26 438.5300000000001 192C438.5300000000001 178.75 427.7800000000001 168 414.5300000000001 168z" glyph-name="fish" horiz-adv-x="576" unicode=""/><glyph d="M255.98 288V432C255.98 440.84 248.82 448 239.98 448H207.98C199.14 448 191.98 440.84 191.98 432V285.07C197 286.85 202.32 288 207.95 288H255.98zM383.98 192.01C383.9700000000001 227.35 355.32 256 319.99 256H207.85C199.07 256 191.95 248.93 191.95 240.15V239.59C191.95 213.32 213.25 192 239.52 192H274.78C284.46 192 287.98 188.42 287.98 184V167.8C287.98 163.51 284.39 160.0200000000001 280.1 159.8C235.58 157.5200000000001 215.94 135.09 184.05 87.25L177.74 77.78A7.993999999999999 7.993999999999999 0 0 0 166.65 75.56L153.34 84.4399999999999A7.993999999999999 7.993999999999999 0 0 0 151.12 95.5299999999999L157.43 104.9999999999999C173.16 128.6 187.63 148.2599999999999 204.74 163.0799999999999C187.47 168.5899999999999 173.34 181.1999999999999 165.87 197.5299999999999C159.28 194.1199999999999 151.91 192.0099999999999 144 192.0099999999999H111.9999999999999C99.6599999999999 192.0099999999999 88.51 196.8199999999999 79.9999999999999 204.4899999999999C71.48 196.81 60.33 192 48 192H16C10.36 192 5.03 193.15 0 194.95V117.02C0 83.07 13.48 50.52 37.49 26.51L63.99 0V-64H319.97V-0.04L355.88 35.88A96.035 96.035 0 0 1 384 103.79L383.98 192.01zM351.9700000000001 282.1V400C351.9700000000001 408.8400000000001 344.81 416 335.9700000000001 416H303.9700000000001C295.1300000000001 416 287.9700000000001 408.8400000000001 287.9700000000001 400V288H319.9700000000001C331.25 288 341.9100000000001 285.69 351.9700000000001 282.1zM16 224H48C56.84 224 64 231.16 64 240V368C64 376.8400000000001 56.84 384 48 384H16C7.16 384 0 376.8400000000001 0 368V240C0 231.16 7.16 224 16 224zM111.99 224H143.99C152.83 224 159.99 231.16 159.99 240V400C159.99 408.8400000000001 152.83 416 143.99 416H111.99C103.15 416 95.99 408.8400000000001 95.99 400V240C95.99 231.16 103.15 224 111.99 224z" glyph-name="fist-raised" horiz-adv-x="384" unicode=""/><glyph d="M466.515 381.072C487.731 390.926 512 375.449 512 352.056V108.956C512 98.43 506.839 88.549 498.157 82.598C462.32 58.034 423.822 41.74 375.652 41.74C308.279 41.74 264.022 76.523 210.435 76.523C159.582 76.523 124.311 66.465 96 54.401V-40C96 -53.255 85.255 -64 72 -64H56C42.745 -64 32 -53.255 32 -40V346.055C17.497 356.175 8 372.974 8 392C8 423.704 34.345 449.254 66.338 447.952C94.806 446.794 118.117 423.984 119.889 395.548C120.409 387.206 119.079 379.238 116.303 371.986C137.039 379.616 159.393 384 184.348 384C251.721 384 295.978 349.217 349.5650000000001 349.217C390.0610000000001 349.217 432.177 365.123 466.515 381.072zM96 313.37V242.88C125 253.55 147.18 260.71 169.6 263.79V335.36C146.1 333.19 129.16 325.57 96 313.37zM316.8 304.18C290.3830000000001 308.852 266.914 318.159 243.2 325.52V258.1C267.375 251.3940000000001 290.766 241.6560000000001 316.8 235.79V304.18zM169.6 263.79V193.75C202.396 196.728 223.51 194.385 243.2 189.95V258.1C217.953 265.135 196.619 267.523 169.6 263.79zM243.2 121.5600000000001C269.538 116.9080000000001 292.932 107.633 316.8 100.2200000000001V167.6300000000001C292.523 174.3760000000001 269.26 184.0800000000001 243.2 189.9500000000001V121.5600000000001zM96 105.9C119.62 114.29 143.79 119.74 169.6 122.46V193.75C143.49 191.4 122.24 185.71 96 176.39V105.9zM464 327.5C442.7 318.65 417.41 309.86 390.4 305.03V233.12C417.71 237.48 440.43 247.22 464 257.01V327.5zM464 117.54V188.03C441.81 173.83 415.2200000000001 165.42 390.4 162.01V90.43C415.47 92.81 438.89 101.47 464 117.54zM316.8 235.79V167.63C342.464 160.496 363.416 158.288 390.4 162.01V233.12C364.401 228.933 340.457 230.444 316.8 235.79z" glyph-name="flag-checkered" horiz-adv-x="512" unicode=""/><glyph d="M32 448C14.3 448 0 433.7 0 416V-48C0 -56.8 7.2 -64 16 -64H48C56.8 -64 64 -56.8 64 -48V416C64 433.7 49.7 448 32 448zM299.9 144.4C242.7 159.5 188.2 173.2 96 133.3V64C281.7 156.2 317.7 10.7 493.5 87.1C504.9 92.1 512 103.6 512 115.9V151.9C468.4 134.6 431.8 127.8 399.9 127.8C362.5 127.9 331 136.2 299.9 144.4zM299.9 240.4C242.7 255.5 188.2 269.2 96 229.3V167.8C190.8 205.4 250.6 190.5 308.1 175.4C365.3 160.3 419.8 146.6 512 186.5V248C468.4 230.7 431.8 223.9 399.9 223.9C362.5 223.9 331 232.2 299.9 240.4zM309.4 366.3C361.2 350.7 406.8 337.3 512 386.4V417.2C512 442.3 485.2 455.3 462.6 443.8C291.3 356.5 305.4 510.2 96 415.6V263.7C190.8 301.2 250.6 286.4 308.1 271.3C365.3 256.3 419.8 242.6 512 282.4V351.3C458.4 327.8 418.7 319.9 385.9 319.9S326.9 327.7 300.2 335.8C296.2 337 292.1 338.2000000000001 288.1 339.3V372.5C295.3 370.5 302.4 368.4 309.4 366.3zM160 319.9C151.2 319.9 144 327 144 335.9C144 344.7 151.2 351.9 160 351.9S176 344.8 176 335.9S168.8 319.9 160 319.9zM160 375.7C151.2 375.7 144 382.8 144 391.7C144 400.5 151.2 407.7 160 407.7S176 400.6 176 391.7C176 382.9 168.8 375.7 160 375.7zM224 327.8C215.2 327.8 208 334.9 208 343.8C208 352.6 215.2 359.8 224 359.8S240 352.7000000000001 240 343.8C240 335 232.8 327.8 224 327.8zM224 383.7000000000001C215.2 383.7000000000001 208 390.8 208 399.7000000000001C208 408.5 215.2 415.7000000000001 224 415.7000000000001S240 408.6 240 399.7000000000001C240 390.9000000000001 232.8 383.7000000000001 224 383.7000000000001z" glyph-name="flag-usa" horiz-adv-x="512" unicode=""/><glyph d="M349.565 349.217C295.978 349.217 251.721 384 184.348 384C159.393 384 137.039 379.616 116.303 371.987A55.947 55.947 0 0 1 119.889 395.549C118.117 423.985 94.806 446.794 66.338 447.952C34.345 449.254 8 423.704 8 392C8 372.974 17.497 356.175 32 346.055V-40C32 -53.255 42.745 -64 56 -64H72C85.255 -64 96 -53.255 96 -40V54.4C124.311 66.464 159.582 76.522 210.435 76.522C264.023 76.522 308.279 41.739 375.6520000000001 41.739C423.8210000000001 41.739 462.3190000000001 58.033 498.157 82.597C506.84 88.548 512 98.429 512 108.955V352.055C512 375.448 487.731 390.925 466.515 381.071C432.177 365.123 390.061 349.217 349.565 349.217z" glyph-name="flag" horiz-adv-x="512" unicode=""/><glyph d="M437.2 44.5L320 233V384H328C341.3 384 352 394.7 352 408V424C352 437.3 341.3 448 328 448H120C106.7 448 96 437.3 96 424V408C96 394.7 106.7 384 120 384H128V233L10.8 44.5C-18.5 -2.6 15.3 -64 70.9 -64H377.1C432.8 -64 466.5 -2.5 437.2000000000001 44.5zM137.9 128L186.1 205.6C189.8 210.8 191.9 217.2 191.9 224V384H255.9000000000001V224C255.9000000000001 217.1 258.1 210.8 261.7000000000001 205.6L309.9000000000001 128H137.9z" glyph-name="flask" horiz-adv-x="448" unicode=""/><glyph d="M344 248C330.7 248 320 237.3 320 224S330.7 200 344 200S368 210.7 368 224S357.3 248 344 248zM152 248C138.7 248 128 237.3 128 224S138.7 200 152 200S176 210.7 176 224S165.3 248 152 248zM248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM80 224C80 263.8 112.2 296 152 296S224 263.8 224 224S191.8 152 152 152S80 184.2 80 224zM312 48H184C162.8 48 162.8 80 184 80H312C333.2 80 333.2 48 312 48zM344 152C304.2 152 272 184.2 272 224S304.2 296 344 296S416 263.8 416 224S383.8 152 344 152z" glyph-name="flushed" horiz-adv-x="496" unicode=""/><glyph d="M464 320H272L208 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H464C490.51 0 512 21.49 512 48V272C512 298.51 490.51 320 464 320zM368 152C368 143.16 360.84 136 352 136H160C151.16 136 144 143.16 144 152V168C144 176.84 151.16 184 160 184H352C360.84 184 368 176.84 368 168V152z" glyph-name="folder-minus" horiz-adv-x="512" unicode=""/><glyph d="M572.694 155.907L500.27 31.752A63.99699999999999 63.99699999999999 0 0 0 444.989 0H45.025C26.502 0 14.961 20.093 24.294 36.093L96.718 160.2480000000001A64 64 0 0 0 152 192H551.9639999999999C570.487 192 582.0279999999999 171.907 572.694 155.907zM152 224H480V272C480 298.51 458.51 320 432 320H272L208 384H48C21.49 384 0 362.51 0 336V57.954L69.077 176.372C86.214 205.75 117.989 224 152 224z" glyph-name="folder-open" horiz-adv-x="576" unicode=""/><glyph d="M464 320H272L208 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H464C490.51 0 512 21.49 512 48V272C512 298.51 490.51 320 464 320zM368 152C368 143.16 360.84 136 352 136H280V64C280 55.16 272.84 48 264 48H248C239.16 48 232 55.16 232 64V136H160C151.16 136 144 143.16 144 152V168C144 176.84 151.16 184 160 184H232V256C232 264.8400000000001 239.16 272 248 272H264C272.84 272 280 264.8400000000001 280 256V184H352C360.84 184 368 176.84 368 168V152z" glyph-name="folder-plus" horiz-adv-x="512" unicode=""/><glyph d="M464 320H272L208 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H464C490.51 0 512 21.49 512 48V272C512 298.51 490.51 320 464 320z" glyph-name="folder" horiz-adv-x="512" unicode=""/><glyph d="M152 32H127.987L154.573 112.782H292.8L319.386 32H296C287.163 32 280 24.837 280 16V-16C280 -24.837 287.163 -32 296 -32H432C440.837 -32 448 -24.837 448 -16V16C448 24.837 440.837 32 432 32H405.261L275.495 405.254A16 16 0 0 1 260.382 416H187.616A16 16 0 0 1 172.503 405.254L42.739 32H16C7.163 32 0 24.837 0 16V-16C0 -24.837 7.163 -32 16 -32H152C160.837 -32 168 -24.837 168 -16V16C168 24.837 160.837 32 152 32zM216.353 303.778C220.701 318.9940000000001 222.963 331.9340000000001 223.939 338.4220000000001C224.778 331.901 226.878 318.9460000000001 231.6660000000001 303.716L273.0010000000001 179.71H174.382L216.353 303.778z" glyph-name="font" horiz-adv-x="448" unicode=""/><glyph d="M481.5 387.7C476.7 405.9 462.4 420.2 444.2 425.1C420.3 431.5 383 439.1 339.4 440L496 283.2C495.2 326.7 487.8 363.8 481.5 387.7zM14.5 -3.7C19.3 -21.9 33.6 -36.2 51.8 -41.1C75.7 -47.4999999999999 113 -55.1 156.6 -55.9999999999999L0 100.8C0.8 57.3 8.2 20.2 14.5 -3.7zM4.2 164.6L220.4 -52C352.9 -32.6 469.2 66.7 491.9 219.4L275.6 436C143.1 416.6 26.8 317.3 4.2 164.6zM321.5 288.2000000000001C324.6 291.3 329.7 291.3 332.8 288.2000000000001L344.1 276.9C347.2000000000001 273.8 347.2000000000001 268.7000000000001 344.1 265.6L315.8 237.3L344.1 209C347.2000000000001 205.9 347.2000000000001 200.8 344.1 197.7L332.8 186.4C329.7 183.3 324.6 183.3 321.5 186.4L293.2 214.7L270.6 192L298.9 163.7C302 160.6 302 155.5 298.9 152.4L287.6 141.1C284.5 138 279.4 138 276.3 141.1L248 169.4L225.4 146.8L253.7 118.5C256.8 115.3999999999999 256.8 110.3 253.7 107.1999999999999L242.4 95.8999999999999C239.3 92.7999999999999 234.2 92.7999999999999 231.1 95.8999999999999L202.8 124.1999999999999L174.5 95.8999999999999C171.4 92.7999999999999 166.3 92.7999999999999 163.2 95.8999999999999L151.9 107.1999999999999C148.8 110.3 148.8 115.3999999999999 151.9 118.5L180.2 146.8L151.9 175C148.8 178.1 148.8 183.1999999999999 151.9 186.3L163.2 197.6C166.3 200.7 171.4 200.7 174.5 197.6L202.8 169.3L225.4 191.9L197.1 220.2C194 223.3 194 228.4 197.1 231.5L208.4 242.8C211.5 245.9 216.6 245.9 219.7 242.8L248 214.5L270.6 237.1L242.3 265.4C239.2 268.5 239.2 273.6 242.3 276.7000000000001L253.6 288C256.7000000000001 291.1 261.8 291.1 264.9000000000001 288L293.2000000000001 259.7000000000001L321.5000000000001 288.2000000000001z" glyph-name="football-ball" horiz-adv-x="496" unicode=""/><glyph d="M500.5 216.6L308.5 376.6C287.9 393.7 256 379.4 256 352V32C256 4.6 287.9 -9.8 308.5 7.4L500.5 167.4C515.8 180.2 515.8 203.8 500.5 216.6zM244.5 216.6L52.5 376.6C31.9 393.7 0 379.4 0 352V32C0 4.6 31.9 -9.8 52.5 7.4L244.5 167.4C259.8 180.2 259.8 203.8 244.5 216.6z" glyph-name="forward" horiz-adv-x="512" unicode=""/><glyph d="M446.53 350.57C439.67 387.77 407.19 416 368 416C328.77 416 296.28 387.71 289.46 350.46C126.75 335.04 -0.5 197.88 0 31.02C0.11 -3.9 29.08 -32 64 -32H368C376.84 -32 384 -24.84 384 -16C384 1.67 369.67 16 352 16H272.51L308.31 64.33C332.45 100.56 318.6600000000001 152.61 274.6 170.93C250.7100000000001 180.86 223.05 175.5799999999999 202.36 160.05L169.6 135.46C162.54 130.15 152.51 131.55 147.19 138.65C141.89 145.73 143.31 155.76 150.38 161.06L185.16 187.15C222 214.81 273.4400000000001 214.77 310.29 187.15C321.1600000000001 179 356.1600000000001 148.09 351.0900000000001 93.94L469.62 -32H560C568.84 -32 576 -24.84 576 -16C576 1.67 561.67 16 544 16H490.37L391.85 120.68L546.29 207.33A58.15999999999999 58.15999999999999 0 0 1 576 258.06C576 279.4600000000001 564.28 299.01 545.52 309.29C504.96 331.51 446.53 350.57 446.53 350.57zM368 312C354.74 312 344 322.75 344 336C344 349.26 354.74 360 368 360C381.25 360 392 349.26 392 336C392 322.75 381.25 312 368 312z" glyph-name="frog" horiz-adv-x="576" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM136 240C136 257.7 150.3 272 168 272S200 257.7 200 240S185.7 208 168 208S136 222.3 136 240zM323.3 56.7C292.1 66.3 263.9000000000001 72 248 72S203.9 66.3 172.7 56.7C161.2 53.2 150.2 63 152.2 74.8C159.2 114.8 212.3 136 248 136S336.8 114.7 343.8 74.8C345.8 62.9 334.7 53.2 323.3 56.7zM328 208C310.3 208 296 222.3 296 240S310.3 272 328 272S360 257.7 360 240S345.7 208 328 208z" glyph-name="frown-open" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM328 272C345.7 272 360 257.7 360 240S345.7 208 328 208S296 222.3 296 240S310.3 272 328 272zM168 272C185.7 272 200 257.7 200 240S185.7 208 168 208S136 222.3 136 240S150.3 272 168 272zM338.2 53.8C315.8 80.6 282.9 96 248 96S180.2 80.6 157.8 53.8C144.3 37.5 119.7 58 133.2 74.3C161.7 108.4 203.6 128 248 128S334.3 108.4 362.7 74.2C376.3 58 351.7 37.5 338.2 53.8z" glyph-name="frown" horiz-adv-x="496" unicode=""/><glyph d="M433.46 282.06L534.66 393.93C554.61 413.88 540.48 448 512.26 448H31.74C3.52 448 -10.61 413.88 9.34 393.93L192 192V36.08C192 23.4900000000001 197.93 11.64 208 4.08L287.99 -55.92C308.85 -71.5599999999999 336.4600000000001 -62.89 347.2100000000001 -42.35C310.8 -7.38 288 41.65 288 96C288 185.79 350.05 261.17 433.4600000000001 282.06zM480 256C391.63 256 320 184.37 320 96S391.63 -64 480 -64S640 7.63 640 96S568.37 256 480 256zM496 16.12V0C496 -4.42 492.42 -8 488 -8H472C467.58 -8 464 -4.42 464 0V16.29C452.71 16.87 441.73 20.81 432.63 27.64C428.73 30.5700000000001 428.53 36.41 432.06 39.78L443.81 50.99C446.58 53.63 450.7 53.75 453.94 51.72C457.81 49.3 462.2 48 466.76 48H494.87C501.37 48 506.67 53.92 506.67 61.19C506.67 67.14 503.06 72.38 497.9 73.92L452.9 87.42C434.3100000000001 93 421.3200000000001 110.84 421.3200000000001 130.81C421.3200000000001 155.33 440.3700000000001 175.25 463.9900000000001 175.88V192C463.9900000000001 196.42 467.5700000000001 200 471.9900000000001 200H487.9900000000001C492.4100000000001 200 495.9900000000001 196.42 495.9900000000001 192V175.71C507.2800000000001 175.13 518.2600000000001 171.2 527.36 164.36C531.26 161.43 531.46 155.59 527.9300000000001 152.22L516.1800000000001 141.01C513.4100000000001 138.37 509.2900000000001 138.25 506.0500000000001 140.28C502.1800000000001 142.71 497.7900000000001 144 493.2300000000001 144H465.1200000000001C458.6200000000001 144 453.3200000000001 138.08 453.3200000000001 130.81C453.3200000000001 124.86 456.9300000000001 119.62 462.09 118.08L507.09 104.58C525.6800000000001 99 538.6700000000001 81.16 538.6700000000001 61.19C538.6700000000001 36.66 519.6300000000001 16.75 496.0000000000001 16.12z" glyph-name="funnel-dollar" horiz-adv-x="640" unicode=""/><glyph d="M504 192C504 55.033 392.967 -56 256 -56S8 55.033 8 192S119.033 440 256 440S504 328.967 504 192zM456 192L455.997 192.282L429.933 169.541L367.254 228.041L383.7080000000001 312.396L418.011 309.324C393.122 343.54 358.007 369.413 317.302 382.4650000000001L330.9530000000001 350.526L256 309L181.047 350.525L194.698 382.464C154.067 369.436 118.918 343.594 93.989 309.323L128.554 312.396L144.746 228.041L82.068 169.541L56.004 192.282L56.001 192C56.001 148.985 69.498 108.048 94.473 74.009L102.177 107.906L187.315 97.459L223.616 19.633L193.714 1.847C233.916 -11.275 278.004 -11.301 318.286 1.847L288.384 19.633L324.685 97.4590000000001L409.823 107.9060000000001L417.527 74.0090000000001C442.503 108.048 456 148.985 456 192zM207.898 122.429L178.004 213.741L256 270.2680000000001L333.996 213.741L304.374 122.429H207.898z" glyph-name="futbol" horiz-adv-x="512" unicode=""/><glyph d="M480 352H160C71.6 352 0 280.4 0 192S71.6 32 160 32C204.8 32 245.2 50.4 274.2 80H365.7C394.7 50.4 435.2 32 479.9 32C568.3 32 639.9 103.6 639.9 192S568.4 352 480 352zM256 172C256 165.4 250.6 160 244 160H192V108C192 101.4 186.6 96 180 96H140C133.4 96 128 101.4 128 108V160H76C69.4 160 64 165.4 64 172V212C64 218.6 69.4 224 76 224H128V276C128 282.6 133.4 288 140 288H180C186.6 288 192 282.6 192 276V224H244C250.6 224 256 218.6 256 212V172zM440 104C413.5 104 392 125.5 392 152S413.5 200 440 200S488 178.5 488 152S466.5 104 440 104zM520 184C493.5 184 472 205.5 472 232S493.5 280 520 280S568 258.5 568 232S546.5 184 520 184z" glyph-name="gamepad" horiz-adv-x="640" unicode=""/><glyph d="M336 0H16C7.2 0 0 -7.2 0 -16V-48C0 -56.8 7.2 -64 16 -64H336C344.8 -64 352 -56.8 352 -48V-16C352 -7.2 344.8 0 336 0zM493.2 340.7L412.2 421.7C406 427.9 395.8 427.9 389.6 421.7L378.3 410.4C372.1 404.2 372.1 394 378.3 387.8L416 350.1V288C416 259.9 436.9 236.7 464 232.8V72C464 58.8 453.2 48 440 48S416 58.8 416 72V104C416 152.6 376.6 192 328 192H320V384C320 419.3 291.3 448 256 448H96C60.7 448 32 419.3 32 384V32H320V144H328C350.1 144 368 126.1 368 104V76.2C368 38.5 395 4.2 432.5 0.3C475.5 -4.0000000000001 512 29.8 512 71.9999999999999V295.4C512 312.4 505.2 328.7 493.2 340.7zM256 256H96V384H256V256z" glyph-name="gas-pump" horiz-adv-x="512" unicode=""/><glyph d="M504.971 248.638L482.344 271.265C472.971 280.6380000000001 457.775 280.6380000000001 448.403 271.265L442.7460000000001 265.608L329.608 378.745L335.265 384.402C344.638 393.775 344.638 408.971 335.265 418.343L312.638 440.971C303.265 450.344 288.069 450.344 278.697 440.971L154.246 316.52C144.873 307.1470000000001 144.873 291.951 154.246 282.579L176.873 259.952C186.246 250.579 201.442 250.579 210.814 259.952L216.471 265.6090000000001L256.069 226.011L175.029 144.971L169.372 150.628C156.875 163.125 136.614 163.125 124.117 150.628L9.373 35.882C-3.124 23.385 -3.124 3.124 9.373 -9.373L54.628 -54.628C67.125 -67.125 87.386 -67.125 99.883 -54.628L214.628 60.117C227.125 72.614 227.125 92.875 214.628 105.372L208.971 111.029L290.011 192.069L329.6090000000001 152.471L323.9520000000001 146.814C314.5790000000001 137.441 314.5790000000001 122.245 323.9520000000001 112.8730000000001L346.5790000000001 90.246C355.9520000000001 80.8730000000001 371.1480000000001 80.8730000000001 380.5200000000001 90.246L504.9710000000001 214.697C514.3430000000001 224.069 514.3430000000001 239.2650000000001 504.9710000000001 248.6380000000001z" glyph-name="gavel" horiz-adv-x="512" unicode=""/><glyph d="M485.5 448L576 288H474.9L405.7 448H485.5zM357.5 448L426.7 288H149.3L218.5 448H357.5zM90.5 448H170.3L101.1 288H0L90.5 448zM0 256H100.7L223.7 4.3C225.2 1.2 221 -1.6 218.7 1L0 256zM148.2 256H427.8L290.8 -62.2C289.8 -64.6 286.3 -64.6 285.3 -62.2L148.2 256zM352.3 4.3L475.3 256H576L357.3 1.1C355 -1.6 350.8 1.2 352.3 4.3z" glyph-name="gem" horiz-adv-x="576" unicode=""/><glyph d="M144 272C188.1 272 224 236.1 224 192S188.1 112 144 112S64 147.9 64 192S99.9 272 144 272M144 336C64.5 336 0 271.5 0 192S64.5 48 144 48S288 112.5 288 192S223.5 336 144 336z" glyph-name="genderless" horiz-adv-x="288" unicode=""/><glyph d="M186.1 447.9100000000001C81.01 444.76 0 353.08 0 247.95V-15.97C0 -30.23 17.23 -37.36 27.31 -27.28L52.23 -8.75C58.89 -3.8 68.23 -4.76 73.74 -10.96L116.69 -59.31C122.94 -65.5599999999999 133.07 -65.5599999999999 139.32 -59.31L180.04 -13.46C186.41 -6.29 197.6 -6.29 203.96 -13.46L244.6800000000001 -59.31C250.9300000000001 -65.5599999999999 261.0600000000001 -65.5599999999999 267.3100000000001 -59.31L310.2600000000001 -10.96C315.7700000000001 -4.76 325.1100000000001 -3.79 331.7700000000001 -8.75L356.6900000000001 -27.28C366.7700000000001 -37.36 384.0000000000001 -30.22 384.0000000000001 -15.97V256C384 364 294.83 451.17 186.1 447.9100000000001zM128 224C110.33 224 96 238.33 96 256S110.33 288 128 288S160 273.67 160 256S145.67 224 128 224zM256 224C238.33 224 224 238.33 224 256S238.33 288 256 288S288 273.67 288 256S273.67 224 256 224z" glyph-name="ghost" horiz-adv-x="384" unicode=""/><glyph d="M32 0C32 -17.7 46.3 -32 64 -32H224V128H32V0zM288 -32H448C465.7 -32 480 -17.7 480 0V128H288V-32zM480 288H437.9C444.1 300.1 448 313.5 448 328C448 376.5 408.5 416 360 416C318.4 416 291.5 394.7 257 347.7C222.5 394.7 195.6 416 154 416C105.5 416 66 376.5 66 328C66 313.5 69.8 300.1 76.1 288H32C14.3 288 0 273.7 0 256V176C0 167.2 7.2 160 16 160H496C504.8 160 512 167.2 512 176V256C512 273.7 497.7 288 480 288zM153.9 288C131.8 288 113.9 305.9 113.9 328S131.8 368 153.9 368C173.8 368 188.5 364.7 240 288H153.9zM360 288H273.9C325.3 364.5 339.6 368 360 368C382.1 368 400 350.1 400 328S382.1 288 360 288z" glyph-name="gift" horiz-adv-x="512" unicode=""/><glyph d="M240.6 253.9C242.5 284.7000000000001 257.9 315.1 284.6 333.7C279.4 344.5 268.7 352 256 352H226.6L257.3 374C264.5 379.1 266.2 389.1 261 396.3L251.7 409.3C246.6 416.5 236.6 418.2 229.4 413L197.4 390.1L208.9 420.7C212 429 207.8 438.2 199.5 441.3L184.5 446.9C176.2 450 167 445.8 163.9 437.5L144 384.5L124.1 437.6C121 445.9 111.8 450.1 103.5 447L88.5 441.4C80.2 438.3 76 429 79.2 420.8L90.7 390.2L58.6 413C51.4 418.1 41.4 416.5 36.3 409.3L27 396.3C21.9 389.1 23.5 379.1 30.7 374L61.4 352H32C14.3 352 0 337.7 0 320V-32C0 -49.7 14.3 -64 32 -64H200.9C195.4 -54.5 192 -43.7 192 -32V192C192 221.9 212.8 247 240.6 253.9zM224 -32C224 -49.7 238.3 -64 256 -64H416V64H224V-32zM448 -64H608C625.7 -64 640 -49.7 640 -32V64H448V-64zM608 224H587.6C590.2 231.6 592 239.5 592 247.8C592 283.3 565 320 519.9 320C471.8 320 444 272.3 432 244.7C419.9 272.3 392.1 320 344.1 320C299 320 272 283.3 272 247.8C272 239.5 273.7 231.6 276.4 224H256C238.3 224 224 209.7 224 192V96H416V224H431.3L432 224.2L432.7 224H448V96H640V192C640 209.7 625.7 224 608 224zM336 224C333.3 225.4 330.9 227 328.8 228.8C321.5 235.2 320 242.6 320 247.8C320 257.5 326.4 272 344.1 272C362.8 272 379.7000000000001 244.6 388.6 224H336zM535.2 228.8C533.1 227 530.7 225.4 528 224H475.4C484.2 244.3 501.2 272 519.9 272C537.6 272 544 257.5 544 247.8C544 242.6 542.5 235.2 535.2 228.8z" glyph-name="gifts" horiz-adv-x="640" unicode=""/><glyph d="M639.4 14.4C631 34.8 607.6 44.5 587.1999999999999 36L565.0999999999999 26.8L526.3999999999999 128.7000000000001C574.2999999999998 163.7000000000001 591.1999999999998 229.0000000000001 560.8999999999999 281.5000000000001L474.3 432C466.3 445.9 449.2 451.7 434.3 445.6L320 398.2L205.7 445.6C190.8 451.8 173.7 445.9 165.7 432L79.1 281.5C48.9 229 65.7 163.7 113.6 128.8L74.9 26.9L52.8 36.1C32.4 44.6 9.1 34.9 0.6 14.4999999999999C-1.1 10.3999999999999 0.8 5.6999999999999 4.9 3.9999999999999L167.2 -63.4000000000001C171.3 -65.1000000000001 175.9 -63.2000000000001 177.6 -59.1000000000001C186 -38.7000000000001 176.4 -15.3000000000001 156 -6.8000000000001L133.9 2.3999999999999L173.3 106C177.7 105.5 182.1 104.7 186.4 104.7C238.1 104.7 285.8 137.8 299.8 190L320 265.4L340.2 190C354.2 137.8 401.9 104.7 453.6 104.7C457.9 104.7 462.3 105.5 466.7 106L506 2.4L483.9 -6.8C463.5 -15.3 453.8 -38.7 462.3 -59.1C463.9999999999999 -63.2 468.6999999999999 -65.1 472.6999999999999 -63.4L635.1 4C639.1 5.7 641.1 10.3 639.4 14.4zM275.9 285.9L163.8 332.4L200.3 395.8L294.8 356.6L275.9 285.9zM364.1 285.9L345.2 356.6L439.7 395.8L476.2 332.4L364.1 285.9z" glyph-name="glass-cheers" horiz-adv-x="640" unicode=""/><glyph d="M502.05 390.4C523.3 411.66 508.25 448 478.2 448H33.8C3.75 448 -11.3 411.66 9.95 390.4L224 176.36V-16H168C145.91 -16 128 -33.91 128 -56C128 -60.42 131.58 -64 136 -64H376C380.42 -64 384 -60.42 384 -56C384 -33.91 366.09 -16 344 -16H288V176.36L502.05 390.4zM443.77 400L395.77 352H116.24L68.24 400H443.77z" glyph-name="glass-martini-alt" horiz-adv-x="512" unicode=""/><glyph d="M502.05 390.4C523.3 411.66 508.25 448 478.2 448H33.8C3.75 448 -11.3 411.66 9.95 390.4L224 176.36V-16H168C145.91 -16 128 -33.91 128 -56C128 -60.42 131.58 -64 136 -64H376C380.42 -64 384 -60.42 384 -56C384 -33.91 366.09 -16 344 -16H288V176.36L502.05 390.4z" glyph-name="glass-martini" horiz-adv-x="512" unicode=""/><glyph d="M480 416H32C12.5 416 -2.4 398.8 0.3 379.5L56.3 23C60.8 -8.5 87.8 -31.9 119.7 -31.9H392.7C424.5 -31.9 451.6 -8.5 456.1 23L511.7 379.5C514.4 398.8 499.5 416 480 416zM442.6 352L412.6 160H99.6L69.4 352H442.6z" glyph-name="glass-whiskey" horiz-adv-x="512" unicode=""/><glyph d="M574.1 167.63L528.75 349.3400000000001C522.84 373.04 507.16 393.39 485.75 405.15C464.31 416.88 438.78 419.26 415.56 411.48L400.31 406.4C391.92 403.61 387.39 394.54 390.19 386.1600000000001L395.25 370.98C398.04 362.6 407.1 358.0700000000001 415.48 360.86L428.6600000000001 365.25C439.5300000000001 368.87 451.66 368.82 461.8200000000001 363.52C472.1100000000001 358.15 479.39 348.9600000000001 482.1900000000001 337.7000000000001L520.6500000000001 183.88C498.4600000000001 190.69 470.8600000000001 196.34 439.4500000000001 196.34C404.6800000000001 196.34 365.4700000000001 189.32 324.6000000000002 169.6H251.4200000000002C210.5500000000001 189.34 171.3400000000002 196.35 136.5600000000001 196.35C105.1400000000001 196.35 77.5400000000001 190.7000000000001 55.3500000000001 183.8900000000001L93.8100000000001 337.7200000000001C96.6000000000001 348.9700000000001 103.9000000000001 358.1700000000001 114.1900000000001 363.5300000000001C124.3500000000001 368.8300000000001 136.4700000000001 368.8800000000001 147.3400000000001 365.2600000000001L160.5100000000001 360.8700000000001C168.8900000000001 358.0800000000001 177.9500000000001 362.6100000000001 180.7400000000001 370.9900000000001L185.8000000000001 386.1700000000001C188.6000000000001 394.5500000000001 184.0700000000001 403.6200000000001 175.6800000000001 406.4100000000001L160.4300000000001 411.4900000000001C137.2100000000001 419.2700000000001 111.6800000000001 416.9000000000001 90.2400000000001 405.1600000000001C68.8300000000001 393.3900000000001 53.1500000000001 373.0500000000001 47.2400000000001 349.3600000000001L1.9 167.63A64.218 64.218 0 0 1 0 152.14V81.89C0 18.99 51.58 -32 115.2 -32H152.32C212.6 -32 262.69 13.94 267.2 73.37L270.13 112H305.88L308.81 73.37C313.31 13.94 363.4 -32 423.68 -32H460.8C524.42 -32 576 18.99 576 81.88V152.13C576 157.36 575.36 162.56 574.1 167.63zM203.38 78.21C201.41 52.3 178.98 32 152.32 32H115.2C86.97 32 64 54.38 64 81.89V119.43C82.12 125.92 107.42 132.35 136.58 132.35C160.44 132.35 183.84 128.0200000000001 206.51 119.43L203.38 78.21zM512 81.88C512 54.37 489.03 32 460.8 32H423.68C397.01 32 374.58 52.3 372.62 78.21L369.49 119.43C392.1600000000001 128.0199999999999 415.57 132.35 439.44 132.35C468.56 132.35 493.87 125.91 511.99 119.42V81.8799999999999z" glyph-name="glasses" horiz-adv-x="576" unicode=""/><glyph d="M248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM408 224.5V217.57C408 211.7 404.68 206.33 399.43 203.71L384.04 196.01A15.485 15.485 0 0 0 368.5100000000001 196.98L350.3000000000001 209.12A15.519999999999998 15.519999999999998 0 0 1 336.8000000000001 210.93L334.1500000000001 210.05C324.4500000000001 206.82 320.4900000000001 195.26 326.1600000000001 186.75L339.4000000000001 166.89C342.2700000000001 162.58 347.1100000000001 159.99 352.2900000000001 159.99H360.5000000000001C369.0600000000001 159.99 376.0000000000001 153.05 376.0000000000001 144.49V133.15C376.0000000000001 129.8 374.9100000000001 126.53 372.9000000000001 123.85L354.1600000000001 98.87C352.74 96.97 351.7700000000001 94.77 351.3300000000001 92.44L347.0300000000001 69.61C346.4100000000001 66.32 344.74 63.32 342.2700000000001 61.05A159.60800000000003 159.60800000000003 0 0 1 317.2700000000001 31.89L304.2400000000001 12.34A27.756 27.756 0 0 0 281.1500000000001 -0.02C270.6400000000001 -0.02 261.0300000000001 5.92 256.3300000000001 15.3199999999999A78.902 78.902 0 0 0 248.0000000000001 50.61V80.5C248.0000000000001 89.06 241.0600000000001 96 232.5000000000001 96H206.6200000000001C192.1300000000001 96 178.2400000000001 101.76 167.9900000000001 112A54.65899999999999 54.65899999999999 0 0 0 151.9900000000001 150.63V164.69C151.9900000000001 181.88 160.0900000000001 198.07 173.8400000000001 208.39L201.4200000000001 229.08A54.663 54.663 0 0 0 234.2000000000001 240.01H235.0900000000001C243.5700000000001 240.01 251.9400000000001 238.04 259.5200000000001 234.24L274.2400000000001 226.88C277.9200000000001 225.04 282.1700000000001 224.74 286.0700000000001 226.04L333.3800000000001 241.81C339.7100000000001 243.92 343.9800000000001 249.84 343.9800000000001 256.51C343.9800000000001 265.07 337.0400000000001 272.01 328.4800000000001 272.01H318.3900000000001C314.2800000000001 272.01 310.3400000000001 273.64 307.4300000000001 276.55L300.5100000000001 283.4699999999999A15.493 15.493 0 0 1 289.5500000000002 288.01H199.5C190.94 288.01 184 294.95 184 303.51V307.91C184 315.02 188.84 321.2199999999999 195.74 322.95L210.19 326.56C213.93 327.5 217.19 329.79 219.33 333L227.41 345.1099999999999C230.28 349.42 235.12 352.01 240.3 352.01H264.51C273.07 352.01 280.01 358.95 280.01 367.51V389.2099999999999C359.23 376.37 422.86 316.98 441.93 240H423.5C414.94 240 408 233.06 408 224.5z" glyph-name="globe-africa" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM330.29 82.4C326.3900000000001 78.52 322.3 74.45 318.98 71.12C315.99 68.12 313.88 64.42 312.81 60.41C311.3 54.75 310.08 49.03 308.04 43.54L290.6500000000001 -3.31C276.8900000000001 -6.31 262.6500000000001 -8 248.0000000000001 -8V19.38C249.6900000000001 32 240.3600000000001 55.64 225.3700000000001 70.63C219.37 76.63 216 84.77 216 93.26V125.27C216 136.91 209.73 147.61 199.54 153.24C185.17 161.19 164.73 172.3 150.73 179.35C139.25 185.13 128.63 192.49 119.08 201.1L118.28 201.82A114.792 114.792 0 0 0 100.22 222.56C90.84 236.3300000000001 75.56 258.98 65.63 273.7000000000001C86.1 319.2000000000001 122.99 355.7400000000001 168.83 375.5900000000001L192.84 363.5800000000001C203.48 358.26 216 365.99 216 377.89V389.19C223.99 390.48 232.12 391.3 240.39 391.61L268.69 363.31C274.94 357.06 274.94 346.93 268.69 340.68L264 336L253.66 325.66C250.54 322.54 250.54 317.4700000000001 253.66 314.35L258.35 309.66C261.4700000000001 306.54 261.4700000000001 301.4700000000001 258.35 298.35L250.35 290.35A8.008 8.008 0 0 0 244.6900000000001 288.01H235.7C233.62 288.01 231.62 287.2 230.12 285.74L220.2 276.09A8.008 8.008 0 0 1 218.62 266.78L234.21 235.59C236.87 230.27 233 224.01 227.06 224.01H221.42C219.49 224.01 217.63 224.71 216.18 225.97L206.9 234.03A16.017 16.017 0 0 1 191.35 237.13L160.18 226.74A11.95 11.95 0 0 1 152.01 215.4C152.01 210.87 154.57 206.74 158.62 204.71L169.7000000000001 199.17C179.1100000000001 194.46 189.4900000000001 192.01 200.0100000000001 192.01S222.6000000000001 164.72 232.0100000000001 160.01H298.7600000000001C307.2500000000001 160.01 315.3800000000001 156.64 321.3900000000001 150.64L335.0800000000001 136.95A30.503000000000004 30.503000000000004 0 0 0 344.0100000000001 115.38A46.536 46.536 0 0 0 330.29 82.4zM417 173.75C411.21 175.2 406.1600000000001 178.75 402.85 183.72L384.87 210.69A23.97 23.97 0 0 0 384.87 237.3100000000001L404.46 266.6900000000001C406.78 270.1600000000001 409.96 272.98 413.7 274.8400000000001L426.68 281.3300000000001C440.2 254.41 448 224.13 448 192C448 183.33 447.26 174.84 446.18 166.46L417 173.75z" glyph-name="globe-americas" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM236.66 199.77C233.77 194.95 228.56 192 222.94 192H222.63C218.39 192 214.32 190.31 211.32 187.31L205.66 181.65C202.54 178.53 202.54 173.46 205.66 170.34L211.32 164.68C214.32 161.68 216.01 157.61 216.01 153.37V144C216.01 135.16 208.85 128 200.01 128H193.9C187.84 128 182.3 131.42 179.59 136.85L156.97 182.0800000000001C154.53 186.96 148.02 188.0200000000001 144.16 184.16L124.69 164.7000000000001C121.69 161.7000000000001 117.62 160.0100000000001 113.38 160.0100000000001H50.81C49.12 170.45 48 181.08 48 192C48 302.28 137.72 392 248 392C269.51 392 290.2 388.49 309.63 382.18L259.4700000000001 343.65C254.36 340.24 254.8400000000001 332.5900000000001 260.3300000000001 329.8400000000001L271.1600000000001 324.43C276.5800000000001 321.7200000000001 280 316.18 280 310.12V232C280 227.58 276.42 224 272 224H268.94C265.9100000000001 224 263.14 225.71 261.79 228.42C260.23 231.54 255.83 231.71 254.0300000000001 228.72L236.6600000000001 199.77zM408 89.57C408 85.33 406.31 81.26 403.31 78.26L393.74 68.69C390.74 65.69 386.67 64 382.43 64H367.27C363.03 64 358.96 65.69 355.96 68.69L342.95 81.7A26.767 26.767 0 0 1 317.53 88.74L296.26 83.42C294.99 83.1 293.69 82.94 292.38 82.94H282.04C277.8 82.94 273.73 84.63 270.73 87.63L258.82 99.54A8.008 8.008 0 0 0 256.48 105.2000000000001V115.4C256.48 118.67 258.4700000000001 121.61 261.51 122.8300000000001L300.85 138.5700000000001C302.8300000000001 139.3600000000001 304.7100000000001 140.3900000000001 306.44 141.6200000000001L330.15 158.5100000000001A7.978 7.978 0 0 0 334.79 159.9900000000001H346.88C350.11 159.9900000000001 353.0299999999999 158.0500000000001 354.2699999999999 155.0600000000001L359.62 142.21A4 4 0 0 1 363.31 139.7500000000001H367.11C368.89 139.7500000000001 370.46 140.9300000000001 370.95 142.6300000000001L375.1499999999999 157.1000000000001C375.6499999999999 158.8100000000001 377.2099999999999 159.9800000000001 378.9899999999999 159.9800000000001H385.0499999999999C387.2599999999999 159.9800000000001 389.0499999999999 158.1900000000001 389.0499999999999 155.9800000000001V143.0500000000001C389.0499999999999 140.9300000000001 389.8899999999999 138.8900000000001 391.3899999999999 137.3900000000001L403.2999999999999 125.48C406.2999999999999 122.48 407.9899999999999 118.41 407.9899999999999 114.17V89.57z" glyph-name="globe-asia" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM448 192C448 169.5 444.1 147.8 437.2 127.6H416.9C412.6 127.6 408.5 129.3 405.5 132.4L373.5 165.0000000000001C369 169.6000000000001 369 177.1000000000001 373.6 181.7000000000001L386.1 194.2000000000001V202.9C386.1 205.9 384.9000000000001 208.8000000000001 382.8 210.9L373.4000000000001 220.3000000000001C371.3 222.4 368.4000000000001 223.6000000000001 365.4000000000001 223.6000000000001H349.4000000000001C343.2000000000001 223.6000000000001 338.1 228.7000000000001 338.1 234.9000000000001C338.1 237.9000000000001 339.3 240.8000000000001 341.4000000000001 242.9000000000001L350.8 252.3000000000001C352.9000000000001 254.4000000000001 355.8 255.6000000000001 358.8 255.6000000000001H390.8C397 255.6000000000001 402.1 260.7000000000001 402.1 266.9000000000001V276.3000000000001C402.1 282.5000000000001 397 287.6000000000002 390.8 287.6000000000002H354.1C345.3 287.6000000000002 338.1 280.4000000000001 338.1 271.6000000000002V267.1000000000002C338.1 260.2000000000001 333.7000000000001 254.1000000000001 327.2000000000001 251.9000000000001L295.6 241.4000000000001C292.3 240.3000000000002 290.1 237.3000000000002 290.1 233.8000000000002V231.6000000000002C290.1 227.2000000000002 286.5 223.6000000000001 282.1 223.6000000000001H266.1C261.7000000000001 223.6000000000001 258.1 227.2000000000002 258.1 231.6000000000002S254.5000000000001 239.6000000000002 250.1 239.6000000000002H247C244 239.6000000000002 241.2 237.9000000000002 239.8 235.2000000000002L230.4 216.5000000000002C227.7 211.1000000000001 222.2 207.7000000000001 216.1 207.7000000000001H194C185.2 207.7000000000001 178 214.9000000000001 178 223.7000000000001V249C178 253.2 179.7 257.3 182.7 260.3L202.8 280.4C207.4 285 210 291.3 210 297.9C210 301.3 212.2 304.4 215.5 305.5L255.5 318.8C257.2 319.4 258.7 320.3 259.9 321.5L286.7 348.3C288.8 350.4 290 353.3 290 356.3C290 362.5 284.9 367.6 278.7 367.6H258L242 351.6V343.6C242 339.2 238.4 335.6 234 335.6H218C213.6 335.6 210 339.2 210 343.6V363.6C210 366.1 211.2 368.5 213.2 370L242.1 391.7000000000001C244 391.8 245.9 392 247.8 392C358.3 392 448 302.3 448 192zM130.1 298.9C130.1 301.9 131.3 304.8 133.4 306.9L158.8 332.3C160.9 334.4 163.8 335.6 166.8 335.6C173 335.6 178.1 330.5 178.1 324.3V308.3C178.1 305.3 176.9 302.4 174.8 300.3L165.4 290.9C163.3 288.8 160.4 287.6 157.4 287.6H141.4C135.2 287.6 130.1 292.7 130.1 298.9zM258.1 -7.5V-0.4C258.1 8.4 250.9000000000001 15.6 242.1 15.6H221.9C211.1 15.6 195.2000000000001 20.9 186.5 27.4L164.3000000000001 44.1C152.8000000000001 52.7 146.1000000000001 66.2000000000001 146.1000000000001 80.5V104.4C146.1000000000001 120.4 154.5000000000001 135.2 168.2000000000001 143.4L211.1000000000001 169.1C218.2000000000001 173.3 226.3000000000001 175.6 234.5000000000001 175.6H265.7000000000001C276.6 175.6 287.1 171.7 295.3000000000001 164.7L338.5000000000001 127.6H356.8000000000001C365.3000000000001 127.6 373.4000000000001 124.2 379.4000000000001 118.2L396.7000000000001 100.9C400.1000000000001 97.5 404.8000000000002 95.6 409.6000000000001 95.6H423C390.6 36.7 329.2 -3.9 258.1 -7.5z" glyph-name="globe-europe" horiz-adv-x="496" unicode=""/><glyph d="M336.5 288C322 377.3 287.8 440 248 440S174 377.3 159.5 288H336.5zM152 192C152 169.8 153.2 148.5 155.3 128H340.6C342.7000000000001 148.5 343.9000000000001 169.8 343.9000000000001 192S342.7000000000001 235.5 340.6 256H155.3C153.2 235.5 152 214.2 152 192zM476.7 288C448.1 355.9 390.2 408.4 318.7 429.6C343.1 395.8 359.9 344.9 368.7 288H476.7zM177.2 429.6C105.8 408.4 47.8 355.9 19.3 288H127.3C136 344.9 152.8 395.8 177.2 429.6zM487.4 256H372.7C374.8 235 376 213.5 376 192S374.8 149 372.7 128H487.3C492.8 148.5 495.9 169.8 495.9 192S492.8 235.5 487.4 256zM120 192C120 213.5 121.2 235 123.3 256H8.6C3.2 235.5 0 214.2 0 192S3.2 148.5 8.6 128H123.2C121.2 149 120 170.5 120 192zM159.5 96C174 6.7 208.2 -56 248 -56S322 6.7 336.5 96H159.5zM318.8 -45.6C390.2000000000001 -24.4 448.2000000000001 28.1 476.8 96H368.8C360 39.1 343.2 -11.8 318.8 -45.6zM19.3 96C47.9 28.1 105.8 -24.4 177.3 -45.6C152.9 -11.8 136.1 39.1 127.3 96H19.3z" glyph-name="globe" horiz-adv-x="496" unicode=""/><glyph d="M96 32H320C320 14.3 305.7 0 288 0H272C254.3 0 240 -14.3 240 -32V-52C240 -58.6 234.6 -64 228 -64H188C181.4 -64 176 -58.6 176 -52V-32C176 -14.3 161.7 0 144 0H128C110.3 0 96 14.3 96 32zM416 240C416 165.8 377 100.8 318.5 64H97.5C39 100.8 0 165.8 0 240C0 354.9 93.1 448 208 448S416 354.9 416 240zM235.9 196.1C254.2 196.1 269 210.9 269 229.2C269 243.6 259.7 255.5 246.9 260.1C256.5 233.3 231.3 208.8 205 218.2C209.6 205.4 221.5 196.1 235.9 196.1zM285 149.2C285 163.6 275.7 175.5 262.9 180.1C272.5 153.3 247.3 128.8 221 138.2C225.6 125.4 237.5 116.1 251.9 116.1C270.2 116.1 285 131 285 149.2zM349 213.2C349 227.6 339.7 239.5 326.9 244.1C336.5 217.3 311.3 192.8 285 202.2C289.6 189.4 301.5 180.1 315.9 180.1C334.2 180.1 349 195 349 213.2z" glyph-name="golf-ball" horiz-adv-x="416" unicode=""/><glyph d="M496 96H480V208C480 216.84 472.84 224 464 224H448V304C448 312.8400000000001 440.84 320 432 320H416V432C416 440.84 408.84 448 400 448S384 440.84 384 432V416H320V432C320 440.84 312.84 448 304 448S288 440.84 288 432V416H224V432C224 440.84 216.84 448 208 448S192 440.84 192 432V416H128V432C128 440.84 120.84 448 112 448S96 440.84 96 432V320H80C71.16 320 64 312.8400000000001 64 304V224H48C39.16 224 32 216.84 32 208V96H16C7.16 96 0 88.84 0 80V-48C0 -56.84 7.16 -64 16 -64H96V96H128V224H160V320H192V224H160V96H128V-64H208V16C208 24.84 215.16 32 224 32H288C296.84 32 304 24.84 304 16V-64H384V96H352V224H320V320H352V224H384V96H416V-64H496C504.84 -64 512 -56.84 512 -48V80C512 88.84 504.84 96 496 96zM224 96V160C224 168.84 231.16 176 240 176H272C280.84 176 288 168.84 288 160V96H224zM232 224V272C232 280.8400000000001 239.16 288 248 288H264C272.84 288 280 280.8400000000001 280 272V224H232z" glyph-name="gopuram" horiz-adv-x="512" unicode=""/><glyph d="M622.34 294.8L343.4 380.5C328.2 385.17 311.8 385.17 296.61 380.5L17.66 294.8C-5.88 287.5700000000001 -5.88 256.44 17.66 249.21L66.29 234.27C55.62 221.08 49.06 204.99 48.41 187.37C38.78 181.85 32 171.89 32 160C32 149.22 37.68 140.15 45.86 134.35L20.33 19.47C18.11 9.48 25.71 0 35.94 0H92.05C102.29 0 109.89 9.48 107.67 19.47L82.14 134.35C90.32 140.15 96 149.22 96 160C96 171.57 89.53 181.25 80.34 186.87C81.1 201.89 88.78 215.17 101.03 223.59L296.6 163.5C305.6600000000001 160.72 323.04 157.25 343.3900000000001 163.5L622.34 249.2C645.89 256.44 645.89 287.56 622.34 294.8zM352.79 132.91C324.26 124.15 299.9500000000001 128.99 287.2000000000001 132.91L142.18 177.46L128 64C128 28.65 213.96 0 320 0S512 28.65 512 64L497.82 177.47L352.79 132.91z" glyph-name="graduation-cap" horiz-adv-x="640" unicode=""/><glyph d="M55.22 340.31L230.78 272.2200000000001L55.34 204.17C36.95 198.14 27.46 179.78 34.14 163.17L46.23 133.09C52.91 116.48 73.22 107.9 91.61 113.9400000000001L393.02 233.8C406.79 238.32 416 250.4100000000001 416 263.9700000000001V279.9300000000001C416 293.49 406.79 305.5800000000001 393.02 310.1L91.3 430.08C73.01 436.08 52.79 427.55 46.15 411.02L34.12 381.1C27.48 364.57 36.93 346.31 55.22 340.31zM424 48H24C10.75 48 0 37.26 0 24V-24C0 -37.25 10.75 -48 24 -48H424C437.25 -48 448 -37.25 448 -24V24C448 37.26 437.25 48 424 48z" glyph-name="greater-than-equal" horiz-adv-x="448" unicode=""/><glyph d="M365.52 238.15L59.22 380.99C43.16 388.48 24.07 381.53 16.58 365.4700000000001L3.01 336.39C-4.48 320.33 2.47 301.24 18.53 293.75L236.96 191.9L18.49 90.01C2.47 82.54 -4.46 63.5 3.01 47.48L16.53 18.48C24 2.46 43.04 -4.47 59.06 3L365.5300000000001 145.91A32.003 32.003 0 0 1 384.0100000000001 174.91V209.14C384.0000000000001 221.59 376.8000000000001 232.9 365.5200000000001 238.15z" glyph-name="greater-than" horiz-adv-x="384" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM144 48H136C118.3 48 104 62.3 104 80V88H144V48zM144 104H104V112C104 129.7 118.3 144 136 144H144V104zM136 240C136 257.7 150.3 272 168 272S200 257.7 200 240S185.7 208 168 208S136 222.3 136 240zM208 48H160V88H208V48zM208 104H160V144H208V104zM272 48H224V88H272V48zM272 104H224V144H272V104zM336 48H288V88H336V48zM336 104H288V144H336V104zM328 208C310.3 208 296 222.3 296 240S310.3 272 328 272S360 257.7 360 240S345.7 208 328 208zM392 80C392 62.3 377.7 48 360 48H352V88H392V80zM392 104H352V144H360C377.7 144 392 129.7 392 112V104z" glyph-name="grimace" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM311.7 311.3C319.3 322.7000000000001 336.4 323 344.4 311.3C356.8 292.9 359.5 274.4 360.1 256C359.6 237.6 356.8 219.1 344.4 200.7C336.8 189.3 319.7 189 311.7 200.7C299.3 219.1 296.6 237.6 296 256C296.5 274.4 299.3 292.9 311.7 311.3zM151.7 311.3C159.3 322.7000000000001 176.4 323 184.4 311.3C196.8 292.9 199.5 274.4 200.1 256C199.6 237.6 196.8 219.1 184.4 200.7C176.8 189.3 159.7 189 151.7 200.7C139.3 219.1 136.6 237.6 136 256C136.5 274.4 139.3 292.9 151.7 311.3zM248 16C187.4 16 113.5 54.3 104.2 109.3C102.2 121.1 113.5 130.9 124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.5 130.9 393.7000000000001 121.1 391.8 109.3C382.5 54.3 308.6 16 248 16z" glyph-name="grin-alt" horiz-adv-x="496" unicode=""/><glyph d="M456 320C482.5 320 504 341 504 367C504 387 475.5 427.4 462.4 444.8C459.2 449.1 452.8 449.1 449.6 444.8C436.5 427.4 408 387 408 367C408 341 429.5 320 456 320zM456 288C411.9 288 376 323.4 376 367C376 371.4 376.3 381.2 384.1 399.2C345 424.9 298.3 440 248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192C496 227.1 488.6 260.4 475.5 290.6C469.2 289.1 462.8 288 456 288zM328 296C351.8 296 380.7 266.7 384 224.6C384.7 216 373.2 212.6 369.1 220.1L359.6 237.1C351.9000000000001 250.8 340.4000000000001 258.7 328.1 258.7S304.3 250.8 296.6 237.1L287.1 220.1C283 212.7 271.5 216.1 272.2000000000001 224.6C275.3000000000001 266.7 304.2000000000001 296 328.0000000000001 296zM168 296C191.8 296 220.7 266.7 224 224.6C224.7 216 213.2 212.6 209.1 220.1L199.6 237.1C191.9 250.8 180.4 258.7 168.1 258.7S144.3 250.8 136.6 237.1L127.1 220.1C122.9 212.7 111.5 216.1 112.2 224.6C115.3 266.7 144.2 296 168 296zM248 16C187.4 16 113.5 54.3 104.2 109.3C102.2 121.1 113.5 130.9 124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.6 130.9 393.7000000000001 121 391.8 109.3C382.5 54.3 308.6 16 248 16z" glyph-name="grin-beam-sweat" horiz-adv-x="504" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM328 296C351.8 296 380.7 266.7 384 224.6C384.7 216 373.2 212.7 369.1 220.1L359.6 237.1C351.9000000000001 250.8 340.4000000000001 258.7 328.1 258.7S304.3 250.8 296.6 237.1L287.1 220.1C283 212.8 271.5 216.1 272.2000000000001 224.6C275.3000000000001 266.7 304.2000000000001 296 328.0000000000001 296zM168 296C191.8 296 220.7 266.7 224 224.6C224.7 216 213.2 212.7 209.1 220.1L199.6 237.1C191.9 250.8 180.4 258.7 168.1 258.7S144.3 250.8 136.6 237.1L127.1 220.1C122.9 212.7 111.5 216.1 112.2 224.6C115.3 266.7 144.2 296 168 296zM248 16C187.4 16 113.5 54.3 104.2 109.3C102.2 121.2 113.6 130.9 124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.5 130.9 393.7000000000001 121.1 391.8 109.3C382.5 54.3 308.6 16 248 16z" glyph-name="grin-beam" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM90.4 264.4C97.1 282 117.1 291.1 135.3 286.3L142.4 284.4L144.4 291.5C149.4 309.6 167.2 322.4 185.9 319.4C207.3 316 220.3 295.2000000000001 214.7 274.9L195.3 205C194.1 200.5 189.4 197.8 184.8 199L114.6 217.2C94.2 222.6 82.7 244.2 90.4 264.4zM248 16C187.4 16 113.5 54.3 104.2 109.3C102.2 121.1 113.4 130.8 124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.5 130.8 393.7000000000001 121.1 391.8 109.3C382.5 54.3 308.6 16 248 16zM381.4 217.3L311.2 199.1C306.7 197.9 302 200.6 300.7 205.1L281.3 275C275.7 295.3 288.7 316.1 310.1 319.5C328.7000000000001 322.5 346.5 309.7 351.6 291.6L353.6 284.5L360.7000000000001 286.4C378.9000000000001 291.1 398.9000000000001 282.1 405.6 264.5C413.3 244.2 401.8 222.6 381.4000000000001 217.3z" glyph-name="grin-hearts" horiz-adv-x="496" unicode=""/><glyph d="M409.6 336.1C432.2000000000001 339.3 483.1 348.1 497.9 362.9C517.1 382.1 516.8000000000001 413.5 497.2 433.1S446 453 426.9 433.8C412.1 419 403.4 368.1 400.1 345.5C399.3 340 404 335.3 409.6 336.1zM102.4 47.9C79.8 44.7 28.9 35.9 14.1 21.1C-5 1.9999999999999 -4.7 -29.5000000000001 14.9 -49.1S65.9 -69 85.1 -49.8C99.9 -35 108.6 15.9 111.9 38.5C112.7 44 108 48.7 102.4 47.9zM414.1 304.4C381.1 300.5 365.5 329.5 368.4000000000001 350.1C371.8 374.1 375.8 392.2 379.9000000000001 406.6C285.1 461.4 161.8 448.5 80.6 367.4C-0.5 286.3 -13.4 163 41.4 68.1C55.8 72.2000000000001 73.8 76.1 97.9 79.6C131.1 83.5 146.5 54.4 143.6 33.9C140.2 9.9 136.2 -8.2 132.1 -22.6C226.9000000000001 -77.4 350.2000000000001 -64.5 431.4000000000001 16.6S525.4000000000001 221 470.6 315.9000000000001C456.2 311.8000000000001 438.1 307.9000000000001 414.1 304.4000000000001zM255.7 342C259 355.2 278.1 353.5 279.3 340.2L284.1 287.9L336.4000000000001 283.1C349.8 281.9 351.3 262.8 338.2000000000001 259.5L247.7000000000001 236.9C238.8000000000001 234.7 231.0000000000001 242.8 233.2000000000001 251.4L255.7000000000001 342zM164.8 111.7L160 164L107.7 168.8C94.3 170 92.8 189.1 105.9 192.4L196.4 215C205.2 217.2 213.1 209.2 210.9 200.5L188.3 110C185.2 96.8 166.1 98.3 164.8 111.7zM380.5 67.5C351.2 38.2 304.8 17.1 263.8 17.1C244.9 17.1 227.2 21.6 212.8 31.8C203 38.7 204.1 53.6 214.8 59C243.1 73.6 278.7 101.4 312.6 135.3S374.3 204.9 388.9000000000001 233.1C394.3 243.6 409.1 245.0000000000001 416.2000000000001 235.1C448.5000000000001 189.8 423.3000000000001 110.4 380.5000000000001 67.5z" glyph-name="grin-squint-tears" horiz-adv-x="512" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM281.8 250.3L361.8 298.3C373.4000000000001 305.2000000000001 385.8 290.6 377.2 280.3L343.6 240L377.2000000000001 199.7C385.9000000000001 189.3 373.3000000000001 174.9 361.8000000000001 181.7L281.8000000000001 229.7C274.1000000000001 234.4 274.1000000000001 245.6 281.8000000000001 250.3zM118.8 280.3C110.2 290.6 122.6 305.2000000000001 134.2 298.3L214.2 250.3C222 245.6 222 234.4 214.2 229.7L134.2 181.7000000000001C122.7 174.9 110.2 189.3000000000001 118.8 199.7000000000001L152.4 240.0000000000001L118.8 280.3000000000001zM248 16C187.4 16 113.5 54.3 104.2 109.3C102.2 121.2 113.6 130.9 124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.6 130.9 393.7000000000001 121 391.8 109.3C382.5 54.3 308.6 16 248 16z" glyph-name="grin-squint" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM94.6 279.1L129.5 284.1L145 315.7C147.9 321.5 156 321.5 158.9 315.7L174.4 284.1L209.3 279.1C215.5 278.1 218.2 270.5 213.6 265.9L188.2 241.3L194.2 206.4C195.2 200.2 188.9 195.4 183.2 198.5L152 214.7L120.7 198.4C115 195.3 108.7 200.1 109.7 206.3L115.7 241.2L90.3 265.8C85.7 270.5 88.4 278.1 94.6 279.1zM248 16C187.4 16 113.5 54.3 104.2 109.3C102.2 121.1 113.5 130.8 124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.6 130.9 393.7000000000001 121.1 391.8 109.3C382.5 54.3 308.6 16 248 16zM405.7 265.9L380.3 241.3L386.3 206.4C387.3 200.2 381 195.4 375.3 198.5L344 214.7L312.7 198.4C307 195.3 300.7 200.1 301.7 206.3L307.7 241.2L282.3 265.8C277.8 270.4 280.4000000000001 278 286.6 279L321.5 284L337 315.6C339.9 321.4 348 321.4 350.9 315.6L366.4 284L401.3 279C407.6 278.1 410.3 270.5 405.7 265.9z" glyph-name="grin-stars" horiz-adv-x="496" unicode=""/><glyph d="M102.4 191.9C79.8 188.7 28.9 179.9 14.1 165.1C-5 146 -4.7 114.5 14.9 94.9S65.9 75 85.1 94.2C99.9 109 108.6 159.9 111.9 182.5C112.7 188 108 192.7 102.4 191.9zM625.8 165.1C611 179.9 560.0999999999999 188.6 537.5 191.9C532 192.7 527.2 188 528 182.4C531.2 159.8 540 108.9 554.8 94.1C574 74.9 605.4 75.2 625 94.8S645 146 625.8 165.1zM496.4 177.9C492.6 204.5 515.5 227.4 542.1 223.6C551 222.3 558.9 220.9 566.4 219.5C552.7 343.5 447.7 440 320 440S87.3 343.5 73.6 219.5C81.1 220.9 89 222.3 97.9 223.6C131.1 227.5 146.5 198.3 143.6 177.9C131.8 95.6 113.7 77.5 107.8 71.5C106.9 70.6 105.8 69.9 104.8 69C147.5 -5.6 227.8 -56 320 -56S492.5 -5.6 535.2 69.1C534.2 70 533.1 70.6 532.2 71.6C526.3000000000001 77.5 508.2 95.6 496.4 177.9zM400 296C423.8 296 452.7 266.7 456 224.6C456.7 216 445.2 212.6 441.1 220.1L431.6 237.1C423.9000000000001 250.8 412.4000000000001 258.7 400.1 258.7S376.3 250.8 368.6 237.1L359.1 220.1C354.9000000000001 212.7 343.5 216.1 344.2000000000001 224.6C347.3000000000001 266.7 376.2000000000001 296 400.0000000000001 296zM240 296C263.8 296 292.7 266.7 296 224.6C296.7 216 285.2 212.6 281.1 220.1L271.6 237.1C263.9000000000001 250.8 252.4000000000001 258.7 240.1 258.7S216.3 250.8 208.6 237.1L199.1 220.1C194.9 212.7 183.5 216.1 184.2 224.6C187.3 266.7 216.2 296 240 296zM320 16C259.4 16 185.5 54.3 176.2 109.3C174.2 121 185.4 130.9 196.9 127.2C227.1 117.5 272 112 320 112S412.9 117.5 443.1 127.2C454.5 130.9 465.7 121.1 463.8 109.3C454.5 54.3 380.6 16 320 16z" glyph-name="grin-tears" horiz-adv-x="640" unicode=""/><glyph d="M293.1 73.4C278.7000000000001 79.9 262 71.2 258.5 55.8L256.7 47.9999999999999C254.6 38.8 241.5 38.8 239.4 47.9999999999999L237.6 55.8C234.1 71.1999999999999 217.4 79.9 203 73.4C202.1 73 203.3 73.6 184.1 64V1C184.1 -34.2 212.1 -63.5 247.2 -63.9C282.9 -64.4 312.1 -35.5 312.1 0.1V64.1C292.6 73.7000000000001 293.9 73 293.1 73.4zM248 440C111 440 0 329 0 192C0 85.7 67 -4.7 161 -40C155.4 -27.8 152 -14.3 152 0V45.5C127.3 61.7 108.5 83.6 104.2 109.3C102.2 121.1 113.4 130.8 124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.5 130.9 393.7000000000001 121.1 391.8 109.3C387.5 83.6 368.7 61.7 344 45.5V0C344 -14.3 340.6 -27.8 335 -40C429 -4.7 496 85.7 496 192C496 329 385 440 248 440zM214.2 229.7L134.2 181.7C122.7 174.9 110.2 189.3 118.8 199.7L152.4 240L118.8 280.3C110.2 290.6 122.6 305.2000000000001 134.2 298.3L214.2 250.3C221.9 245.6 221.9 234.4 214.2 229.7zM377.2 199.7C385.9 189.3 373.3 174.9 361.8 181.7L281.8 229.7C274 234.4 274 245.6 281.8 250.3L361.8 298.3C373.5 305.2 385.7 290.6 377.2 280.3L343.6 240L377.2000000000001 199.7z" glyph-name="grin-tongue-squint" horiz-adv-x="496" unicode=""/><glyph d="M344 264C330.7 264 320 253.3 320 240S330.7 216 344 216S368 226.7 368 240S357.3 264 344 264zM248 440C111 440 0 329 0 192C0 85.7 67 -4.7 161 -40C155.4 -27.8 152 -14.3 152 0V45.5C127.3 61.7 108.5 83.6 104.2 109.3C102.2 121.1 113.5 130.8 124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.6 130.9 393.7000000000001 121.1 391.8 109.3C387.5 83.6 368.7 61.7 344 45.5V0C344 -14.3 340.6 -27.8 335 -40C429 -4.7 496 85.7 496 192C496 329 385 440 248 440zM192 215L182.5 223.5C167.7 236.7 136.3 236.7 121.5 223.5L112 215C103.5 207.6 90.4 214.7 92.2 225.8C96.2 251 126.4 267.9 152.1 267.9S208 251 212 225.8C213.6 214.7 200.4 207.6 192 215zM344 176C308.7 176 280 204.7 280 240S308.7 304 344 304S408 275.3 408 240S379.3 176 344 176zM293.1 73.4C278.7000000000001 79.9 262 71.2 258.5 55.8L256.7 47.9999999999999C254.6 38.8 241.5 38.8 239.4 47.9999999999999L237.6 55.8C234.1 71.1999999999999 217.4 79.9 203 73.4C202.1 73 203.3 73.6 184.1 64V1C184.1 -34.2 212.1 -63.5 247.2 -63.9C282.9 -64.4 312.1 -35.5 312.1 0.1V64.1C292.6 73.7000000000001 293.9 73 293.1 73.4z" glyph-name="grin-tongue-wink" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192C0 85.7 67 -4.7 161 -40C155.4 -27.8 152 -14.3 152 0V45.5C127.3 61.7 108.5 83.6 104.2 109.3C102.2 121.1 113.5 130.8 124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.5 130.8 393.7000000000001 121.1 391.8 109.3C387.5 83.6 368.7 61.7 344 45.5V0C344 -14.3 340.6 -27.8 335 -40C429 -4.7 496 85.7 496 192C496 329 385 440 248 440zM168 208C150.3 208 136 222.3 136 240S150.3 272 168 272S200 257.7 200 240S185.7 208 168 208zM328 208C310.3 208 296 222.3 296 240S310.3 272 328 272S360 257.7 360 240S345.7 208 328 208zM293.1 73.4C278.7000000000001 79.9 262 71.2 258.5 55.8L256.7 47.9999999999999C254.6 38.8 241.5 38.8 239.4 47.9999999999999L237.6 55.8C234.1 71.1999999999999 217.4 79.9 203 73.4C202.1 73 203.3 73.6 184.1 64V1C184.1 -34.2 212.1 -63.5 247.2 -63.9C282.9 -64.4 312.1 -35.5 312.1 0.1V64.1C292.6 73.7000000000001 293.9 73 293.1 73.4z" glyph-name="grin-tongue" horiz-adv-x="496" unicode=""/><glyph d="M0 192C0 55 111 -56 248 -56S496 55 496 192S385 440 248 440S0 329 0 192zM200 240C200 222.3 185.7 208 168 208S136 222.3 136 240S150.3 272 168 272S200 257.7 200 240zM368 215L358.5 223.5C343.7 236.7 312.3 236.7 297.5 223.5L288 215C279.7 207.6 266.4 214.6 268.2 225.8C272.2 251 302.4 267.9 328.1 267.9S384 251 388 225.8C389.6 214.8 376.5 207.6 368 215zM124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.4000000000001 130.9 393.7000000000001 121.2 391.8 109.3C382.6 54.3 308.6 16 248 16S113.5 54.3 104.2 109.3C102.2 121.2 113.5 130.9 124.9 127.2z" glyph-name="grin-wink" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM328 272C345.7 272 360 257.7 360 240S345.7 208 328 208S296 222.3 296 240S310.3 272 328 272zM168 272C185.7 272 200 257.7 200 240S185.7 208 168 208S136 222.3 136 240S150.3 272 168 272zM248 16C187.4 16 113.5 54.3 104.2 109.3C102.2 121.1 113.5 130.9 124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.4000000000001 130.9 393.7000000000001 121.1 391.8 109.3C382.5 54.3 308.6 16 248 16z" glyph-name="grin" horiz-adv-x="496" unicode=""/><glyph d="M96 160H32C14.33 160 0 145.67 0 128V64C0 46.33 14.33 32 32 32H96C113.67 32 128 46.33 128 64V128C128 145.67 113.67 160 96 160zM256 160H192C174.33 160 160 145.67 160 128V64C160 46.33 174.33 32 192 32H256C273.67 32 288 46.33 288 64V128C288 145.67 273.67 160 256 160zM416 160H352C334.33 160 320 145.67 320 128V64C320 46.33 334.33 32 352 32H416C433.67 32 448 46.33 448 64V128C448 145.67 433.67 160 416 160zM96 352H32C14.33 352 0 337.67 0 320V256C0 238.33 14.33 224 32 224H96C113.67 224 128 238.33 128 256V320C128 337.67 113.67 352 96 352zM256 352H192C174.33 352 160 337.67 160 320V256C160 238.33 174.33 224 192 224H256C273.67 224 288 238.33 288 256V320C288 337.67 273.67 352 256 352zM416 352H352C334.33 352 320 337.67 320 320V256C320 238.33 334.33 224 352 224H416C433.67 224 448 238.33 448 256V320C448 337.67 433.67 352 416 352z" glyph-name="grip-horizontal" horiz-adv-x="448" unicode=""/><glyph d="M96 -48V432C96 440.8 88.8 448 80 448H48C39.2 448 32 440.8 32 432V-48C32 -56.8 39.2 -64 48 -64H80C88.8 -64 96 -56.8 96 -48zM224 -48V432C224 440.8 216.8 448 208 448H176C167.2 448 160 440.8 160 432V-48C160 -56.8 167.2 -64 176 -64H208C216.8 -64 224 -56.8 224 -48z" glyph-name="grip-lines-vertical" horiz-adv-x="256" unicode=""/><glyph d="M496 160H16C7.2 160 0 152.8 0 144V112C0 103.2 7.2 96 16 96H496C504.8 96 512 103.2 512 112V144C512 152.8 504.8 160 496 160zM496 288H16C7.2 288 0 280.8 0 272V240C0 231.2 7.2 224 16 224H496C504.8 224 512 231.2 512 240V272C512 280.8 504.8 288 496 288z" glyph-name="grip-lines" horiz-adv-x="512" unicode=""/><glyph d="M96 416H32C14.33 416 0 401.67 0 384V320C0 302.33 14.33 288 32 288H96C113.67 288 128 302.3300000000001 128 320V384C128 401.67 113.67 416 96 416zM96 256H32C14.33 256 0 241.67 0 224V160C0 142.33 14.33 128 32 128H96C113.67 128 128 142.33 128 160V224C128 241.67 113.67 256 96 256zM96 96H32C14.33 96 0 81.67 0 64V0C0 -17.67 14.33 -32 32 -32H96C113.67 -32 128 -17.67 128 0V64C128 81.67 113.67 96 96 96zM288 416H224C206.33 416 192 401.67 192 384V320C192 302.33 206.33 288 224 288H288C305.67 288 320 302.3300000000001 320 320V384C320 401.67 305.67 416 288 416zM288 256H224C206.33 256 192 241.67 192 224V160C192 142.33 206.33 128 224 128H288C305.67 128 320 142.33 320 160V224C320 241.67 305.67 256 288 256zM288 96H224C206.33 96 192 81.67 192 64V0C192 -17.67 206.33 -32 224 -32H288C305.67 -32 320 -17.67 320 0V64C320 81.67 305.67 96 288 96z" glyph-name="grip-vertical" horiz-adv-x="320" unicode=""/><glyph d="M502.6 393.4L457.4 438.6C444.9 451.1 424.6 451.1 412.1 438.6L344.2 370.7C331.7 358.2 331.7 337.9 344.2 325.4L290 271.3C244.6 300.3 189.6 300.2000000000001 156.5 267.1C146.8 257.4000000000001 140.1 245.9000000000001 136 233.2C129.9 214.4 112.5 200.1 93.3 198.3C69.3 196 47 186.7 29.9 169.5C-16.3 123.4 -8 40.4 48.2 -15.8C104.4 -72 187.4 -80.2 233.5 -34.1C250.7 -17 260 5.3 262.3 29.4C264.1 48.5 278.4000000000001 66 297.2 72.1C309.9 76.2 321.4 82.9 331.1 92.6C364.2 125.7 364.2 180.6999999999999 335.3 226.1L389.5 280.3C402 267.8 422.3 267.8 434.8 280.3L502.6999999999999 348.2C515.0999999999999 360.6 515.0999999999999 380.9 502.5999999999999 393.4zM208 96C181.5 96 160 117.5 160 144S181.5 192 208 192S256 170.5 256 144S234.5 96 208 96z" glyph-name="guitar" horiz-adv-x="512" unicode=""/><glyph d="M448 368V16C448 -10.51 426.51 -32 400 -32H48C21.49 -32 0 -10.51 0 16V368C0 394.51 21.49 416 48 416H400C426.51 416 448 394.51 448 368zM336 320H304C295.163 320 288 312.837 288 304V224H160V304C160 312.837 152.837 320 144 320H112C103.163 320 96 312.837 96 304V80C96 71.163 103.163 64 112 64H144C152.837 64 160 71.163 160 80V160H288V80C288 71.163 295.163 64 304 64H336C344.837 64 352 71.163 352 80V304C352 312.837 344.837 320 336 320z" glyph-name="h-square" horiz-adv-x="448" unicode=""/><glyph d="M571.31 254.06L548.68 276.69C542.43 282.94 532.3 282.94 526.05 276.69L514.74 265.38L485.84 294.28C491.47 315.5900000000001 486.2 339.18 469.49 355.89L424.24 401.14C361.76 463.62 260.4500000000001 463.62 197.96 401.14L288.4700000000001 355.89V337.14C288.4700000000001 320.17 295.2100000000001 303.89 307.2200000000001 291.89L356.36 242.75C373.07 226.04 396.6600000000001 220.77 417.9700000000001 226.4L446.87 197.5L435.56 186.19C429.31 179.94 429.31 169.81 435.56 163.56L458.19 140.93C464.44 134.68 474.57 134.68 480.82 140.93L571.33 231.44C577.5600000000001 237.68 577.5600000000001 247.81 571.3100000000001 254.06zM284.5899999999999 269.26C280.89 272.96 277.75 277.05 274.7399999999999 281.21L19.64 43.04C-5.93 19.16 -6.62 -21.15 18.11 -45.89S83.16 -69.9399999999999 107.04 -44.36L345.17 210.71C341.2100000000001 213.62 337.2700000000001 216.58 333.73 220.12L284.5900000000001 269.26z" glyph-name="hammer" horiz-adv-x="576" unicode=""/><glyph d="M509.34 140.75C504.28 152.44 492.75 160 480 160H416V368C416 390 398 408 376 408S336 390 336 368V234C336 228.48 331.52 224 326 224H306C300.48 224 296 228.48 296 234V408C296 430 278 448 256 448S216 430 216 408V234C216 228.48 211.52 224 206 224H186C180.48 224 176 228.48 176 234V368C176 390 158 408 136 408S96 390 96 368V160H32C19.25 160 7.72 152.44 2.66 140.75A31.966 31.966 0 0 1 8.6 106.17L111.29 -3.86C146.97 -42.08 199.69 -64 256 -64S365.03 -42.08 400.7200000000001 -3.86L503.4 106.17A31.966 31.966 0 0 1 509.34 140.75zM256 32C202.98 32 160 96 160 96S202.98 160 256 160S352 96 352 96S309.02 32 256 32zM256 128C238.33 128 224 113.67 224 96S238.33 64 256 64S288 78.33 288 96S273.67 128 256 128z" glyph-name="hamsa" horiz-adv-x="512" unicode=""/><glyph d="M275.3 197.5C282.3 190.1 293.7 190.1 300.8 197.5L409.7000000000001 311.7C441.3000000000001 344.9 439.5000000000001 399.9 404.1 430.5C373.3 457.2 327.4000000000001 452.4 299.2000000000001 422.8L288 411.1L276.9 422.7C248.7 452.4 202.8 457.2 172 430.5C136.7 399.9 134.8 344.9 166.4 311.7L275.3 197.5zM565.3 119.9C553.5 130.6 535.0999999999999 129.9 522.6999999999999 119.9L430.3 46C419 36.9 404.9000000000001 32 390.3 32H272C263.2 32 256 39.2 256 48S263.2 64 272 64H350.3C366.2 64 381 74.9 383.6 90.6C386.9000000000001 110.6 371.5 128 352 128H192C165 128 138.9 118.7 117.9 101.7L71.4 64H16C7.2 64 0 56.8 0 48V-48C0 -56.8 7.2 -64 16 -64H372.8C387.3 -64 401.4000000000001 -59.1 412.8 -50L564 71C579.2 83.1 580.4 106.3 565.3 119.9z" glyph-name="hand-holding-heart" horiz-adv-x="576" unicode=""/><glyph d="M257.6 303.7L307.6 289.4C311.2000000000001 288.4 313.7000000000001 285 313.7000000000001 281.3C313.7000000000001 276.7 309.9000000000001 272.9 305.3000000000001 272.9H272.5000000000001C268.9000000000001 272.9 265.4000000000001 273.7 262.2000000000001 275.1C257.4000000000001 277.3 251.8000000000001 276.8 248.1000000000001 273.1L230.6000000000001 255.6C225.3000000000001 250.3 225.9000000000001 241.3 232.1000000000001 237.2C241.6000000000001 230.9 252.4000000000001 227.1 263.9000000000001 225.7V208C263.9000000000001 199.2 271.1 192 279.9000000000001 192H295.9000000000001C304.7000000000001 192 311.9000000000001 199.2 311.9000000000001 208V225.6C342.2000000000001 229.2 365.2000000000001 256.6 361.2000000000001 288.6C358.3000000000001 311.6 340.5000000000001 329.9 318.3000000000001 336.3L268.3000000000001 350.6C264.7000000000001 351.6 262.2000000000001 355 262.2000000000001 358.7C262.2000000000001 363.3 266.0000000000001 367.1 270.6 367.1H303.4000000000001C307.0000000000001 367.1 310.5000000000001 366.3 313.7000000000001 364.9C318.5000000000001 362.7 324.1 363.2 327.8000000000001 366.9L345.3000000000001 384.4C350.6000000000001 389.7 350.0000000000001 398.7 343.8000000000001 402.8C334.3000000000001 409.1 323.5000000000001 412.9 312.0000000000001 414.3V432C312.0000000000001 440.8 304.8000000000001 448 296.0000000000001 448H280.0000000000001C271.2000000000001 448 264.0000000000001 440.8 264.0000000000001 432V414.4C233.7000000000001 410.8 210.7000000000001 383.4 214.7000000000001 351.4C217.6000000000001 328.4 235.4000000000001 310.1 257.6 303.7zM533.9000000000001 119.9C522.7 130.6 505.4000000000001 129.9 493.6000000000001 119.9L406.4 46C395.7 36.9 382.4 32 368.6 32H256.9C248.6 32 241.8 39.2 241.8 48S248.6 64 256.9 64H330.8C345.9 64 359.8 74.9 362.2 90.6C365.3 110.6 350.7 128 332.3999999999999 128H181.3C155.8 128 131.1 118.7 111.4 101.7L67.5 64H15.1C6.8 64 0 56.8 0 48V-48C0 -56.8 6.8 -64 15.1 -64H352C365.7 -64 379 -59.1 389.8 -50L532.6 71C547 83.1 548.1 106.3 533.9 119.9z" glyph-name="hand-holding-usd" horiz-adv-x="544" unicode=""/><glyph d="M565.3 119.9C553.5 130.6 535.0999999999999 129.9 522.6999999999999 119.9L430.3 46C419 36.9 404.9000000000001 32 390.3 32H272C263.2 32 256 39.2 256 48S263.2 64 272 64H350.3C366.2 64 381 74.9 383.6 90.6C386.9000000000001 110.6 371.5 128 352 128H192C165 128 138.9 118.7 117.9 101.7L71.4 64H16C7.2 64 0 56.8 0 48V-48C0 -56.8 7.2 -64 16 -64H372.8C387.3 -64 401.4000000000001 -59.1 412.8 -50L564 71C579.2 83.1 580.4 106.3 565.3 119.9z" glyph-name="hand-holding" horiz-adv-x="576" unicode=""/><glyph d="M384 -32H576V84.222A95.998 95.998 0 0 1 561.167 135.485L398.127 393.632A48 48 0 0 1 357.544 416H24C10.745 416 0 405.255 0 392V376C0 345.072 25.072 320 56 320H285.981C298.825 320 307.537 306.933 302.596 295.077L281.186 243.692A32 32 0 0 0 251.648 224H128C92.654 224 64 195.346 64 160V152C64 138.745 74.745 128 88 128H235.406A47.995 47.995 0 0 0 261.098 120.545L372.846 49.734A24.001000000000005 24.001000000000005 0 0 0 384 29.461V-32z" glyph-name="hand-lizard" horiz-adv-x="576" unicode=""/><glyph d="M408.781 319.993C386.356 320.4220000000001 368 301.64 368 279.2100000000001V192H360V368.21C360 390.64 341.644 409.4220000000001 319.219 408.993C297.488 408.577 280 390.831 280 369V192H272V407.21C272 429.64 253.644 448.4220000000001 231.219 447.993C209.488 447.577 192 429.831 192 408V192H184V367.21C184 389.64 165.644 408.4220000000001 143.219 407.993C121.488 407.577 104 389.831 104 368V132.0080000000001L72.352 175.5270000000001C59.359 193.393 34.343 197.3440000000001 16.475 184.35C-1.39 171.356 -5.34 146.34 7.653 128.473L133.254 -44.232A48 48 0 0 1 172.073 -64H369.663C391.937 -64 411.2850000000001 -48.676 416.387 -26.994L442.895 85.6659999999999A192.011 192.011 0 0 1 447.999 129.641V280C448 301.831 430.512 319.577 408.781 319.993z" glyph-name="hand-paper" horiz-adv-x="448" unicode=""/><glyph d="M408 232C385.908 232 368 214.091 368 192H360V224C360 246.091 342.092 264 320 264S280 246.091 280 224V192H272V400C272 426.51 250.51 448 224 448S176 426.51 176 400V192H162.428L92.688 369.551C82.994 394.226 55.134 406.37 30.461 396.676C5.787 386.983 -6.356 359.123 3.337 334.449L78.102 144.107L47.012 119.235C31.631 106.929 27.497 85.257 37.271 68.1539999999999L101.271 -43.8460000000001A39.998 39.998 0 0 1 136 -64H376C394.562 -64 410.686 -51.23 414.937 -33.162L446.937 102.838A39.97 39.97 0 0 1 448 112V192C448 214.091 430.092 232 408 232z" glyph-name="hand-peace" horiz-adv-x="448" unicode=""/><glyph d="M91.826 -19.2V130.034C83.578 124.193 75.268 119.464 66.908 115.881C35.098 102.248 -0.014 125.778 0 160C0.008 178.616 10.897 192.203 29.092 200C57.378 212.122 93.421 278.648 106.415 307.534C114.371 325.391 131.894 335.987 150.26 335.998L150.261 336H321.7870000000001C333.5990000000001 336 343.6840000000001 327.404 345.49 315.731C352.74 268.894 383.973 253.971 383.805 192C383.798 189.276 384 178.746 384 176C384 125.346 361.878 94.426 312.737 103.4C303.44 84.803 273.251 72.662 250.422 86.95C229.245 62.305 196.526 64.311 179.478 80.651V-19.2C179.478 -43.35 159.277 -64 135.652 -64C112.369 -64 91.826 -42.65 91.826 -19.2zM112 376V424C112 437.255 122.745 448 136 448H328C341.255 448 352 437.255 352 424V376C352 362.745 341.255 352 328 352H136C122.745 352 112 362.745 112 376zM324 400C324 411.046 315.046 420 304 420S284 411.046 284 400S292.954 380 304 380S324 388.954 324 400z" glyph-name="hand-point-down" horiz-adv-x="384" unicode=""/><glyph d="M44.8 292.174H194.034C188.193 300.4220000000001 183.464 308.732 179.881 317.092C166.248 348.902 189.778 384.014 224 384C242.616 383.992 256.203 373.103 264 354.908C276.122 326.622 342.648 290.579 371.534 277.5850000000001C389.391 269.629 399.987 252.106 399.998 233.74L400 233.739V62.213C400 50.401 391.404 40.316 379.731 38.51C332.894 31.26 317.971 0.027 256 0.195C253.276 0.202 242.746 0 240 0C189.346 0 158.426 22.122 167.4 71.263C148.803 80.5600000000001 136.662 110.749 150.95 133.578C126.305 154.7550000000001 128.311 187.4740000000001 144.651 204.5220000000001H44.8C20.65 204.5220000000001 0 224.7230000000001 0 248.3480000000001C0 271.6310000000001 21.35 292.1740000000001 44.8 292.1740000000001zM440 272H488C501.255 272 512 261.255 512 248V56C512 42.745 501.255 32 488 32H440C426.745 32 416 42.745 416 56V248C416 261.255 426.745 272 440 272zM464 60C475.046 60 484 68.954 484 80S475.046 100 464 100S444 91.046 444 80S452.954 60 464 60z" glyph-name="hand-point-left" horiz-adv-x="512" unicode=""/><glyph d="M512 248.348C512 224.723 491.35 204.522 467.2 204.522H367.349C383.689 187.4740000000001 385.695 154.756 361.05 133.578C375.338 110.749 363.197 80.561 344.6 71.263C353.574 22.122 322.654 0 272 0C269.254 0 258.724 0.203 256 0.195C194.029 0.027 179.106 31.26 132.269 38.51C120.596 40.317 112 50.401 112 62.214V233.739L112.002 233.74C112.013 252.106 122.609 269.629 140.466 277.5850000000001C169.352 290.579 235.879 326.623 248 354.908C255.797 373.102 269.384 383.992 288 384C322.222 384.014 345.752 348.902 332.1190000000001 317.092C328.536 308.733 323.807 300.422 317.966 292.174H467.2C490.65 292.174 512 271.631 512 248.348zM96 248V56C96 42.745 85.255 32 72 32H24C10.745 32 0 42.745 0 56V248C0 261.255 10.745 272 24 272H72C85.255 272 96 261.255 96 248zM68 80C68 91.046 59.046 100 48 100S28 91.046 28 80S36.954 60 48 60S68 68.954 68 80z" glyph-name="hand-point-right" horiz-adv-x="512" unicode=""/><glyph d="M135.652 448C159.277 448 179.478 427.35 179.478 403.2V303.349C196.526 319.689 229.244 321.695 250.422 297.05C273.251 311.338 303.439 299.197 312.737 280.6C361.878 289.574 384 258.654 384 208C384 205.254 383.7970000000001 194.724 383.805 192C383.973 130.029 352.74 115.106 345.49 68.269C343.683 56.596 333.599 48 321.786 48H150.261L150.26 48.002C131.894 48.013 114.371 58.609 106.415 76.466C93.421 105.352 57.377 171.878 29.092 184C10.897 191.797 0.008 205.384 0 224C-0.014 258.222 35.098 281.752 66.908 268.1190000000001C75.267 264.536 83.578 259.807 91.826 253.966V403.2C91.826 426.65 112.369 448 135.652 448zM136 32H328C341.255 32 352 21.255 352 8V-40C352 -53.255 341.255 -64 328 -64H136C122.745 -64 112 -53.255 112 -40V8C112 21.255 122.745 32 136 32zM304 4C292.954 4 284 -4.954 284 -16S292.954 -36 304 -36S324 -27.046 324 -16S315.046 4 304 4z" glyph-name="hand-point-up" horiz-adv-x="384" unicode=""/><glyph d="M448 208V112C448 108.916 447.644 105.841 446.937 102.838L414.937 -33.162C410.686 -51.23 394.562 -64 376 -64H168A40.004 40.004 0 0 0 135.65 -47.527L7.653 128.473C-5.34 146.339 -1.39 171.356 16.475 184.349C34.342 197.343 59.359 193.392 72.352 175.526L104 132.008V408C104 430.091 121.908 448 144 448S184 430.091 184 408V208H192V248C192 270.091 209.908 288 232 288S272 270.091 272 248V208H280V232C280 254.091 297.908 272 320 272S360 254.091 360 232V208H368C368 230.091 385.908 248 408 248S448 230.091 448 208zM192 128H184V32H192V128zM280 128H272V32H280V128zM368 128H360V32H368V128z" glyph-name="hand-pointer" horiz-adv-x="448" unicode=""/><glyph d="M512 319.2100000000001C512 345.5320000000001 491.139 367.554 464.82 367.993C437.935 368.442 416 346.783 416 320H408V351.21C408 377.532 387.139 399.554 360.82 399.993C333.935 400.442 312 378.783 312 352V320H304V367.21C304 393.532 283.139 415.554 256.82 415.993C229.935 416.442 208 394.783 208 368V320H200V351.21C200 377.532 179.139 399.554 152.82 399.993C125.935 400.442 104 378.783 104 352V216L96 223.111V271.2100000000001C96 297.5320000000001 75.139 319.554 48.82 319.993C21.935 320.442 0 298.783 0 272V205.555A95.998 95.998 0 0 1 32.221 133.804L143.889 34.543A47.999 47.999 0 0 0 160 -1.333V-8C160 -21.255 170.745 -32 184 -32H424C437.255 -32 448 -21.255 448 -8V-5.079A96.01 96.01 0 0 0 455.523 32.175L504.477 148.44A96.002 96.002 0 0 1 512 185.694V319.2100000000001z" glyph-name="hand-rock" horiz-adv-x="512" unicode=""/><glyph d="M216 8C216 30.092 233.909 48 256 48V56H224C201.909 56 184 73.908 184 96S201.909 136 224 136H256V144H48C21.49 144 0 165.49 0 192S21.49 240 48 240H256V253.572L78.449 323.312C53.775 333.006 41.631 360.867 51.324 385.54C61.017 410.214 88.878 422.357 113.552 412.664L303.894 337.899L328.766 368.9890000000001C341.072 384.37 362.7440000000001 388.504 379.8470000000001 378.73L491.847 314.73A40.002 40.002 0 0 0 512 280V40C512 21.438 499.23 5.314 481.162 1.063L345.162 -30.937A39.982 39.982 0 0 0 336 -32H256C233.909 -32 216 -14.092 216 8z" glyph-name="hand-scissors" horiz-adv-x="512" unicode=""/><glyph d="M10.872 131.415C26.011 147.501 51.326 148.269 67.415 133.1280000000001L128 76.107V155.5120000000001L88.995 327.135C84.099 348.677 97.593 370.1090000000001 119.135 375.005C140.684 379.899 162.11 366.406 167.005 344.8640000000001L201.747 192H211.58L164.016 399.034C159.07 420.565 172.514 442.028 194.044 446.974C215.576 451.924 237.038 438.476 241.984 416.9460000000001L293.664 192H308.769L357.194 385.702C362.5510000000001 407.134 384.269 420.164 405.701 414.806C427.1330000000001 409.448 440.1640000000001 387.731 434.805 366.299L391.231 192H402.311L433.079 321.265C438.196 342.756 459.764 356.033 481.256 350.912C502.747 345.795 516.021 324.226 510.903 302.735L474.611 150.268A96.02400000000002 96.02400000000002 0 0 1 472 128.033V85.931A96.002 96.002 0 0 0 468.04 58.6440000000001L441.8660000000001 -29.6429999999999C435.825 -50.022 417.101 -64 395.846 -64H179.172A48.00200000000001 48.00200000000001 0 0 0 146.274 -50.954L12.585 74.872C-3.502 90.013 -4.268 115.328 10.872 131.415z" glyph-name="hand-spock" horiz-adv-x="512" unicode=""/><glyph d="M488 256H336V200C336 160.3 303.7 128 264 128S192 160.3 192 200V321.6L127.1 282.6C107.8 271.1 96 250.2 96 227.8V180.5L16 134.3C0.7 125.5 -4.6 105.9 4.3 90.6L84.3 -48C93.1 -63.3 112.7 -68.5 128 -59.7L231.4 0H368C403.3 0 432 28.7 432 64H448C465.7 64 480 78.3 480 96V160H488C501.3 160 512 170.7 512 184V232C512 245.3 501.3 256 488 256zM635.7 293.4L555.7 432C546.9 447.3 527.3 452.5 512 443.7L408.6 384H306.4C294.4 384 282.7 380.6 272.5 374.3L239 353.4C229.6 347.6 224 337.3 224 326.3V200C224 177.9 241.9 160 264 160S304 177.9 304 200V288H488C518.9 288 544 262.9 544 232V203.5L624 249.7C639.3 258.6 644.5 278.1 635.7 293.4z" glyph-name="hands-helping" horiz-adv-x="640" unicode=""/><glyph d="M204.8 217.6C194.2 231.7 174.1 234.6 160 224C145.9 213.4 143 193.3 153.6 179.2L191.7 128.4C196.5 122 195.8 113.1 190.2 107.5L177.4 94.7C170.7 88 159.8 88.5 153.8 95.8L64 203.6V352C64 369.7 49.7 384 32 384S0 369.7 0 352V133.6C0 122.7000000000001 3.7 112.1 10.5 103.6L114.6 -30.7C119.6 -37.2 123 -44.6 125 -52.4C126.8 -59.2999999999999 133.1 -64 140.3 -64H272C280.8 -64 288 -56.8 288 -48V64C288 91.7 279 118.6 262.4 140.8L204.8 217.6zM608 384C590.3 384 576 369.7 576 352V203.6L486.2 95.8C480.2 88.6 469.2 88.1 462.6 94.7L449.8 107.5C444.2 113.1 443.5 122 448.3 128.4L486.4 179.2C497 193.3 494.1 213.4 480 224C465.9 234.6 445.8 231.7 435.2 217.6L377.6 140.8C361 118.6 352 91.7 352 64V-48C352 -56.8 359.2 -64 368 -64H499.7C506.8 -64 513.2 -59.3 515 -52.4C517 -44.6 520.4 -37.2 525.4 -30.7L629.5 103.6C636.3 112.1 640 122.7000000000001 640 133.6V352C640 369.7 625.7 384 608 384z" glyph-name="hands" horiz-adv-x="640" unicode=""/><glyph d="M434.7 384H348.8C340.8 384 333.1 381 327.2 375.6L228.8999999999999 285.6C228.8 285.5 228.7 285.3 228.5999999999999 285.2C211.9999999999999 269.6 212.2999999999999 244.7 226.4999999999999 229.2C239.1999999999999 215.3 265.8999999999999 211.6 282.5999999999999 226.5C282.7 226.6 282.8999999999999 226.6 282.9999999999999 226.7L362.8999999999999 299.9C369.3999999999999 305.8 379.5999999999999 305.4 385.4999999999999 298.9C391.4999999999999 292.4 390.9999999999999 282.3 384.4999999999999 276.3L358.3999999999999 252.4L504 134.2C506.9 131.8 509.5 129.2 511.9 126.5V320L457.3 374.6C451.4 380.6 443.2 384 434.7 384zM544 319.8V95.9C544 78.2 558.3 63.9 576 63.9H640V319.8H544zM592 95.9C583.2 95.9 576 103.1 576 111.9S583.2 127.9 592 127.9S608 120.7 608 111.9S600.8 95.9 592 95.9zM0 64H64C81.7 64 96 78.3 96 96V319.8H0V64zM48 127.9C56.8 127.9 64 120.7 64 111.9S56.8 95.9 48 95.9S32 103.1 32 111.9C32 120.8 39.2 127.9 48 127.9zM483.9 109.3L334.6 230.5L304.6 203C274.9000000000001 175.9 229.4000000000001 178.5 202.9 207.4C176 236.8 178.1 282.3 207.3000000000001 309.1L289.1 384H205.3C196.8 384 188.7 380.6 182.7 374.6L128 320V96.1H146.3L236.8 14.2C264.2 -8.1 304.5 -3.9 326.8 23.5000000000001L327 23.7L344.9 8.2C360.8 -4.8 384.3 -2.3 397.2 13.6L428.6 52.2L434 47.8000000000001C447.7 36.7 467.8999999999999 38.7 478.9999999999999 52.5000000000001L488.4999999999999 64.2000000000001C499.6999999999999 78.0000000000001 497.6 98.1 483.8999999999999 109.3000000000001z" glyph-name="handshake" horiz-adv-x="640" unicode=""/><glyph d="M232 288C227.58 288 224 284.42 224 280V160H256V280C256 284.42 252.42 288 248 288H232zM168 288C163.58 288 160 284.42 160 280V160H192V280C192 284.42 188.42 288 184 288H168zM392 288C387.58 288 384 284.42 384 280V160H416V280C416 284.42 412.42 288 408 288H392zM456 288C451.58 288 448 284.42 448 280V160H480V280C480 284.42 476.42 288 472 288H456zM544 280C544 284.42 540.42 288 536 288H520C515.58 288 512 284.42 512 280V160H544V280zM104 288C99.58 288 96 284.42 96 280V160H128V280C128 284.42 124.42 288 120 288H104zM624 288H592C583.16 288 576 280.8400000000001 576 272V160C576 142.33 561.67 128 544 128H352V320C352 328.8400000000001 344.84 336 336 336H304C295.1600000000001 336 288 328.8400000000001 288 320V128H96C78.33 128 64 142.33 64 160V272C64 280.8400000000001 56.84 288 48 288H16C7.16 288 0 280.8400000000001 0 272V160C0 106.98 42.98 64 96 64H288V0H112C103.16 0 96 -7.16 96 -16V-48C96 -56.84 103.16 -64 112 -64H528C536.84 -64 544 -56.84 544 -48V-16C544 -7.16 536.84 0 528 0H352V64H544C597.02 64 640 106.98 640 160V272C640 280.8400000000001 632.84 288 624 288zM608 320C621.25 320 632 331.94 632 346.67S608 400 608 400S584 361.39 584 346.67S594.75 320 608 320zM32 320C45.25 320 56 331.94 56 346.67S32 400 32 400S8 361.39 8 346.67S18.75 320 32 320zM320 368C333.25 368 344 379.94 344 394.67S320 448 320 448S296 409.39 296 394.67S306.75 368 320 368zM112 320C125.25 320 136 331.94 136 346.67S112 400 112 400S88 361.39 88 346.67S98.75 320 112 320zM176 320C189.25 320 200 331.94 200 346.67S176 400 176 400S152 361.39 152 346.67S162.75 320 176 320zM240 320C253.25 320 264 331.94 264 346.67S240 400 240 400S216 361.39 216 346.67S226.75 320 240 320zM400 320C413.25 320 424 331.94 424 346.67S400 400 400 400S376 361.39 376 346.67S386.75 320 400 320zM464 320C477.25 320 488 331.94 488 346.67S464 400 464 400S440 361.39 440 346.67S450.75 320 464 320zM528 320C541.25 320 552 331.94 552 346.67S528 400 528 400S504 361.39 504 346.67S514.75 320 528 320z" glyph-name="hanukiah" horiz-adv-x="640" unicode=""/><glyph d="M440.667 265.891L447.81 305.891C449.123 313.246 443.468 320 435.997 320H361.187L375.81 401.891C377.123 409.246 371.468 416 363.997 416H323.365A12 12 0 0 1 311.552 406.109L296.175 320H197.54L212.163 401.891C213.477 409.246 207.822 416 200.35 416H159.718A12 12 0 0 1 147.905 406.109L132.528 320H53.432A12 12 0 0 1 41.619 310.1090000000001L34.476 270.1090000000001C33.163 262.754 38.818 256 46.289 256H121.099L98.242 128H19.146A12 12 0 0 1 7.333 118.109L0.19 78.109C-1.123 70.754 4.532 64 12.003 64H86.813L72.19 -17.891C70.877 -25.246 76.532 -32 84.003 -32H124.635A12 12 0 0 1 136.448 -22.109L151.826 64H250.46L235.837 -17.891C234.523 -25.246 240.178 -32 247.65 -32H288.282A12 12 0 0 1 300.095 -22.109L315.472 64H394.568A12 12 0 0 1 406.381 73.891L413.524 113.891C414.837 121.2460000000001 409.182 128 401.711 128H326.901L349.7579999999999 256H428.854A12 12 0 0 1 440.6669999999999 265.891zM261.889 128H163.255L186.112 256H284.746L261.889 128z" glyph-name="hashtag" horiz-adv-x="448" unicode=""/><glyph d="M496 0H16C7.16 0 0 -7.16 0 -16V-48C0 -56.84 7.16 -64 16 -64H496C504.84 -64 512 -56.84 512 -48V-16C512 -7.16 504.84 0 496 0zM192 64L128 96L192 128L224 192L256 128L320 96L256 64L240 32H448L361.5900000000001 233.63A63.95499999999999 63.95499999999999 0 0 0 359.7000000000001 279.08L416 448L228.42 340.81A127.98900000000002 127.98900000000002 0 0 1 174.96 281.66L64 32H208L192 64zM256 288L272 320L288 288L320 272L288 256L272 224L256 256L224 272L256 288z" glyph-name="hat-wizard" horiz-adv-x="512" unicode=""/><glyph d="M496.25 245.48L386.25 260.92L428.07 365.26C434.74 381.9 416.47 397.44 401.48 387.89L307.44 328L273.35 435.18C270.64 443.73 263.32 448 256 448C248.68 448 241.36 443.73 238.65 435.18L204.56 327.99L110.52 387.88C95.53 397.43 77.27 381.89 83.93 365.25L125.75 260.9100000000001L15.75 245.48C-1.79 243.02 -5.93 219.21 9.72 210.81L107.88 158.15L33.4 74.61C22.48 62.36 31.68 43.68 46.69 43.68C48 43.68 49.36 43.8199999999999 50.76 44.1299999999999L159.33 67.7799999999999L155.22 -44.7700000000001C154.79 -56.4200000000001 164.09 -63.9900000000001 173.63 -63.9900000000001C178.78 -63.9900000000001 184.02 -61.7800000000001 187.83 -56.8100000000001L256.01 32.0899999999999L324.19 -56.8100000000001C328 -61.7800000000001 333.23 -63.9900000000001 338.39 -63.9900000000001C347.93 -63.9900000000001 357.23 -56.4200000000001 356.8 -44.7700000000001L352.69 67.7799999999999L461.26 44.1299999999999C478.62 40.37 490.47 61.3299999999999 478.61 74.62L404.13 158.16L502.29 210.82C517.93 219.21 513.79 243.02 496.2499999999999 245.48zM338.51 136.32L286.62 147.62L288.5900000000001 93.83L256 136.32L223.41 93.83L225.37 147.62L173.48 136.32L209.08 176.25L162.16 201.42L214.73 208.8L194.74 258.67L239.69 230.05L256 281.28L272.29 230.05L317.24 258.67L297.25 208.8L349.82 201.42L302.9 176.25L338.51 136.32z" glyph-name="haykal" horiz-adv-x="512" unicode=""/><glyph d="M576 144V48C576 21.49 554.51 0 528 0H48C21.49 0 0 21.49 0 48V144C0 170.51 21.49 192 48 192H528C554.51 192 576 170.51 576 144zM528 224A79.557 79.557 0 0 0 558.777 217.835L462.25 362.626A48.003 48.003 0 0 1 422.311 384H153.689A48 48 0 0 1 113.751 362.626L17.223 217.835A79.557 79.557 0 0 0 48 224H528zM480 128C462.327 128 448 113.673 448 96S462.327 64 480 64S512 78.327 512 96S497.673 128 480 128zM384 128C366.327 128 352 113.673 352 96S366.327 64 384 64S416 78.327 416 96S401.673 128 384 128z" glyph-name="hdd" horiz-adv-x="576" unicode=""/><glyph d="M496 368V400C496 408.837 488.837 416 480 416H320C311.163 416 304 408.837 304 400V368C304 359.163 311.163 352 320 352H357.621V224H154.379V352H192C200.837 352 208 359.163 208 368V400C208 408.837 200.837 416 192 416H32C23.163 416 16 408.837 16 400V368C16 359.163 23.163 352 32 352H69.275V32H32C23.163 32 16 24.837 16 16V-16C16 -24.837 23.163 -32 32 -32H192C200.837 -32 208 -24.837 208 -16V16C208 24.837 200.837 32 192 32H154.379V160H357.62V32H320C311.163 32 304 24.837 304 16V-16C304 -24.837 311.163 -32 320 -32H480C488.837 -32 496 -24.837 496 -16V16C496 24.837 488.837 32 480 32H442.725V352H480C488.837 352 496 359.163 496 368z" glyph-name="heading" horiz-adv-x="512" unicode=""/><glyph d="M160 160H144C108.65 160 80 131.3 80 95.88V32.12C80 -3.29 108.65 -32 144 -32H160C177.67 -32 192 -17.64 192 0.06V127.94C192 145.65 177.67 160 160 160zM368 160H352C334.33 160 320 145.65 320 127.94V0.06C320 -17.64 334.33 -32 352 -32H368C403.35 -32 432 -3.29 432 32.12V95.88C432 131.29 403.35 160 368 160zM256 416C112.91 416 4.57 296.87 0 160V48C0 39.16 7.16 32 16 32H32C40.84 32 48 39.16 48 48V160C48 274.67 141.33 367.8 256 367.82C370.67 367.8 464 274.67 464 160V48C464 39.16 471.16 32 480 32H496C504.84 32 512 39.16 512 48V160C507.43 296.87 399.09 416 256 416z" glyph-name="headphones-alt" horiz-adv-x="512" unicode=""/><glyph d="M256 416C114.52 416 0 301.504 0 160V112A32 32 0 0 1 17.689 83.378L32.072 76.187C34.083 16.097 83.421 -32 144 -32H168C181.255 -32 192 -21.255 192 -8V168C192 181.255 181.255 192 168 192H144C112.658 192 84.329 179.121 64 158.373V160C64 265.8690000000001 150.131 352 256 352S448 265.8690000000001 448 160V158.373C427.671 179.121 399.342 192 368 192H344C330.745 192 320 181.255 320 168V-8C320 -21.255 330.745 -32 344 -32H368C428.579 -32 477.917 16.098 479.928 76.187L494.31 83.378A32 32 0 0 1 512 112V160C512 301.4790000000001 397.504 416 256 416z" glyph-name="headphones" horiz-adv-x="512" unicode=""/><glyph d="M192 240C192 257.67 177.67 272 160 272H144C108.65 272 80 243.35 80 208V160C80 124.65 108.65 96 144 96H160C177.67 96 192 110.33 192 128V240zM368 96C403.35 96 432 124.65 432 160V208C432 243.35 403.35 272 368 272H352C334.33 272 320 257.67 320 240V128C320 110.33 334.33 96 352 96H368zM256 448C113.18 448 4.58 329.17 0 192V176C0 167.16 7.16 160 16 160H32C40.84 160 48 167.16 48 176V192C48 306.69 141.31 400 256 400S464 306.69 464 192H463.88C463.96 189.57 464 26.28 464 26.28C464 2.93 445.07 -16 421.7200000000001 -16H320C320 10.51 298.51 32 272 32H240C213.49 32 192 10.51 192 -16S213.49 -64 240 -64H421.7200000000001C471.58 -64 512 -23.58 512 26.28V192C507.42 329.17 398.82 448 256 448z" glyph-name="headset" horiz-adv-x="512" unicode=""/><glyph d="M473.7 374.2L471.3 376.7C425.3 423.7 353.3 428.4 301.7000000000001 391.5L336 288.1L240 224.1L288 96.1L144 240.1L240 304.1L211.4 390.6C159.7 428.4 87 424 40.7 376.6L38.3 374.2C-10.4 324.4 -12.5 245.1 31 192L243.1 -26.6C250.2 -33.9 261.7 -33.9 268.8 -26.6L481 192.1C524.5 245.1 522.4 324.4 473.7 374.2z" glyph-name="heart-broken" horiz-adv-x="512" unicode=""/><glyph d="M462.3 385.4C407.5 432.1 326 423.7 275.7 371.8L256 351.5L236.3 371.8C186.1 423.7 104.5 432.1 49.7 385.4C-13.1 331.8 -16.4 235.6 39.8 177.5L233.3 -22.3C245.8 -35.2 266.1 -35.2 278.6 -22.3L472.1 177.5C528.4 235.6 525.1 331.8 462.3 385.4z" glyph-name="heart" horiz-adv-x="512" unicode=""/><glyph d="M320.2 204.2L270.5 104.8C264.5 92.6999999999999 247.1 93.1 241.6 105.4L184.7 231.7L154.7 160H60.6L243.1 -26.5C250.2 -33.8 261.7 -33.8 268.8 -26.5L451.4 160H342.3L320.2 204.2zM473.7 374.1L471.3 376.6C419.8 429.2 335.5 429.2 283.9 376.6L256 348L228.1 376.5C176.6 429.2 92.2 429.2 40.7 376.5L38.3 374.1C-10.4 324.3 -12.5 245 31 192H133.4L169.3 278.2C174.7 291.1 192.9 291.4 198.7 278.6L256.9000000000001 149.3L305.9000000000001 247.2C311.8 259 328.6 259 334.5000000000001 247.2L362.1000000000001 192H481C524.5 245 522.4 324.3 473.7 374.0999999999999z" glyph-name="heartbeat" horiz-adv-x="512" unicode=""/><glyph d="M304 64H576C593.67 64 608 78.33 608 96C608 219.71 507.71 320 384 320V384H560C568.84 384 576 391.16 576 400V432C576 440.84 568.84 448 560 448H144C135.16 448 128 440.84 128 432V400C128 391.16 135.16 384 144 384H320V320H112L68.8 377.6C65.78 381.63 61.03 384 56 384H16.01C5.6 384 -2.04 374.2200000000001 0.49 364.12L32 256L192 192L278.4 76.8A31.991999999999997 31.991999999999997 0 0 1 304 64zM416 252.49C478.55 239.7 528.03 190.56 540.79 128H416V252.49zM635.37 -10.81L613.22 11.39C606.97 17.65 596.98 17.49 590.58 11.38C583.49 4.61 576.74 0.13 565.94 0.13H240C231.16 0.13 224 -7.05 224 -15.9V-47.96C224 -56.81 231.16 -63.99 240 -63.99H565.94C580.82 -63.99 601.24 -63.52 634.3900000000001 -34.47C641.4100000000001 -28.33 641.9600000000002 -17.42 635.3700000000001 -10.81z" glyph-name="helicopter" horiz-adv-x="640" unicode=""/><glyph d="M0 -31.98L99.92 -64L135.37 -28.55L68.33 38.49L0 -31.98zM124.61 208.03A36.592 36.592 0 0 1 113.82 169.93L126.87 127.1L75.94 76.16L172.17 -20.07L223.03 30.79L265.7700000000001 17.71C279.5000000000001 13.51 294.42 17.72 303.92 28.49L339.4700000000001 70.1299999999999L166.13 243.47L124.61 208.03zM527.92 368.73L464.72 431.93C444.23 452.42 411.34 453.45 389.6 434.28L190.55 264.32L360.3200000000001 94.54L530.27 293.6C549.4499999999999 315.3400000000001 548.42 348.23 527.92 368.73z" glyph-name="highlighter" horiz-adv-x="544" unicode=""/><glyph d="M80.95 -24.23C76.67 -41.39 87.09 -58.76 104.23 -63.04C106.84 -63.7 109.45 -63.99 112.03 -63.99C126.36 -63.99 139.4 -54.29 143.05 -39.76L168.29 61.21L115.51 113.99L80.95 -24.23zM95.84 171.89L137 331C139.19 339.42 133.86 347.95 125.08 350.06C81.2 360.58 36.73 334.99 25.76 292.89L0.49 194.76C-1.7 186.34 3.63 177.81 12.41 175.7L75.97 160.45C84.76 158.35 93.65 163.47 95.84 171.89zM368 288H352C343.1600000000001 288 336 280.8400000000001 336 272V256H301.25L254.47 302.78C243.38 313.89 228.61 320 212.91 320C185.89 320 162.44 301.7 155.88 275.48L128.96 167.76A32.012 32.012 0 0 1 137.38 137.37L224 50.75V-32C224 -49.67 238.33 -64 256 -64S288 -49.67 288 -32V50.75C288 67.84 281.34 83.91 269.25 96L222.43 142.82C222.58 143.32 222.92 143.71 223.05 144.23L242.94 223.8L265.37 201.37C271.37 195.37 279.51 191.99 287.99 191.99H335.99V-48.01C335.99 -56.85 343.1500000000001 -64.01 351.99 -64.01H367.99C376.83 -64.01 383.99 -56.85 383.99 -48.01V272C384 280.8400000000001 376.8400000000001 288 368 288zM240 352C266.51 352 288 373.49 288 400S266.51 448 240 448S192 426.51 192 400S213.49 352 240 352z" glyph-name="hiking" horiz-adv-x="384" unicode=""/><glyph d="M581.12 351.8C553.45 351.95 528.62 334.2200000000001 504.52 325.18C489.98 359.73 455.83 384 416 384C404.7200000000001 384 394.05 381.7 384 378.12V392C384 405.26 373.25 416 360 416H344C330.75 416 320 405.26 320 392V343.02C286.01 368.42 241.24 384 192 384C85.96 384 0 312.36 0 224V-16C0 -24.84 7.16 -32 16 -32H80C88.84 -32 96 -24.84 96 -16V54.79C128.35 40.43 166.72 32 208 32S287.65 40.43 320 54.79V-16C320 -24.84 327.1600000000001 -32 336 -32H400C408.84 -32 416 -24.84 416 -16V160H544V128C544 119.16 551.16 112 560 112H592C600.84 112 608 119.16 608 128V160C625.67 160 640 174.33 640 192V284.02C640 318.11 615.21 351.61 581.12 351.8zM448 272C439.1600000000001 272 432 279.16 432 288S439.1600000000001 304 448 304S464 296.8400000000001 464 288S456.84 272 448 272z" glyph-name="hippo" horiz-adv-x="640" unicode=""/><glyph d="M504 192.469C504.253 55.829 392.82 -55.903 256.18 -55.999C197.165 -56.041 142.957 -35.469 100.358 -1.088C89.281 7.852 88.453 24.453 98.519 34.519L109.786 45.786C118.395 54.395 132.139 55.337 141.677 47.77C173.062 22.865 212.781 8 256 8C357.705 8 440 90.311 440 192C440 293.705 357.689 376 256 376C207.186 376 162.851 357.031 129.932 326.068L180.686 275.314C190.766 265.234 183.627 248 169.373 248H24C15.163 248 8 255.163 8 264V409.373C8 423.627 25.234 430.766 35.314 420.687L84.686 371.315C129.209 413.864 189.552 440 256 440C392.81 440 503.747 329.2200000000001 504 192.469zM323.088 113.685L332.911 126.315C341.0489999999999 136.778 339.164 151.857 328.701 159.994L288 191.651V296C288 309.255 277.255 320 264 320H248C234.745 320 224 309.255 224 296V160.349L289.409 109.475C299.872 101.338 314.95 103.222 323.088 113.685z" glyph-name="history" horiz-adv-x="512" unicode=""/><glyph d="M0 288C0 341 114.6 384 256 384S512 341 512 288S397.4 192 256 192S0 235 0 288zM0 205.8V96C0 43 114.6 0 256 0S512 43 512 96V205.8C398.6 123.5 113.5 123.4 0 205.8z" glyph-name="hockey-puck" horiz-adv-x="512" unicode=""/><glyph d="M144 256C170.5 256 192 277.5 192 304S170.5 352 144 352S96 330.5 96 304S117.5 256 144 256zM256 304C256 277.5 277.5 256 304 256S352 277.5 352 304S330.5 352 304 352S256 330.5 256 304zM224 352C250.5 352 272 373.5 272 400S250.5 448 224 448S176 426.5 176 400S197.5 352 224 352zM207.8 212.9C207.9 225.3 194.7 233 184 226.6C149.7 206.3 112.6 193.9 75.3 190.4C65.6 189.5 59.7 179.1 63.7 170.2C69.9 156.3 74.8 141.6 78.4 126.4C82 111.2 73.1 95.8 58.2 91.3C43.3 86.8 28.1 83.6999999999999 12.9 82.1999999999999C3.2 81.1999999999999 -2.8 70.8999999999999 1.2 61.9999999999999C16.2 29.1999999999999 24.1 -7.5000000000001 24.2 -45.7C24.3 -60.1 39.4 -68.8000000000001 51.8 -61.7C85 -42.7 120.7 -31.2 156.6 -27.8000000000001C166.3 -26.9000000000001 172.2 -16.5000000000001 168.2 -7.6000000000001C162 6.2999999999999 157.1 20.9999999999999 153.5 36.1999999999999C149.9 51.3999999999999 158.8 66.8 173.7 71.3C188.6 75.8 203.8 78.9 219 80.4C228.7 81.4 234.7 91.7 230.7 100.6C215.2 134.8 207.4 173.1 207.8 212.9zM435 82.4C419.8 84 404.7 87.1 389.7 91.5C374.8 96 365.9 111.4 369.5 126.6C373.1 141.8 378 156.4 384.2 170.4C388.2 179.3 382.3 189.7000000000001 372.6 190.6C335.3 194.1 298.2 206.5 263.9 226.8C253.2 233.1 240 225.4 240.1 213.1C240.1 211.5 239.9 209.9 239.9 208.2C240.1 174.9 246.9 142.5 259.8 114.2000000000001C265.5 101.8000000000001 265 87.6 259.2 75.3000000000001C264.0999999999999 74.1000000000001 269.0999999999999 73.1000000000001 274 71.6000000000001C288.8999999999999 67.1000000000001 297.8 51.7000000000001 294.2 36.5000000000001C290.5999999999999 21.3000000000001 285.7 6.7 279.5 -7.3C275.5 -16.1999999999999 281.3999999999999 -26.6 291.1 -27.4999999999999C327 -30.8999999999999 362.7 -42.3999999999999 395.9 -61.3999999999999C408.4 -68.4999999999999 423.5 -59.7999999999999 423.5 -45.3999999999999C423.7 -7.1999999999999 431.5 29.6000000000001 446.5 62.3000000000001C450.8 71.0000000000001 444.7 81.4000000000001 435 82.4000000000001z" glyph-name="holly-berry" horiz-adv-x="448" unicode=""/><glyph d="M488 135.3V-8C488 -21.3 477.3 -32 464 -32H348C341.4 -32 336 -26.6 336 -20V92C336 98.6 330.6 104 324 104H252C245.4 104 240 98.6 240 92V-20C240 -26.6 234.6 -32 228 -32H112C98.7 -32 88 -21.3 88 -8V135.3C88 138.9 89.6 142.3 92.4 144.6L280.4 299.4000000000001C284.8 303 291.2 303 295.7 299.4000000000001L483.7 144.6C486.4 142.3 488 138.9 488 135.3zM571.6 196.2L488 265.1V403.6C488 410.2 482.6 415.6 476 415.6H420C413.4 415.6 408 410.2 408 403.6V331L318.5 404.7C300.8 419.3 275.2 419.3 257.5 404.7L4.4 196.2C-0.7 192 -1.4 184.4 2.8 179.3L28.3 148.3C32.5 143.2 40.1 142.5 45.2 146.7L280.4 340.4C284.8 344 291.2 344 295.7 340.4L530.9 146.7C536 142.5 543.6 143.2 547.8 148.3L573.3 179.3C577.5 184.5 576.6999999999999 192 571.5999999999999 196.2z" glyph-name="home" horiz-adv-x="576" unicode=""/><glyph d="M509.8 115.5L439.9 279.8C425 321 389.5 350.8 346.9 359C364.9 369.6 393.2 394.9000000000001 381.1 441.3C379.8 446.3 374 449.2 369.1 447.4000000000001L166.9 371.7C35.9 324.6 0 209.1 0 49.2V-32C0 -49.7 14.3 -64 32 -64H268.2C292 -64 307.5 -39 296.8 -17.7L256 64V64.7C210.4 68.2 171.4 95.4 151.7 134.3C150.1 137.4 150.8 141.1999999999999 153.3 143.6L165.4 155.7C169.3 159.6 176 158.4 178.3 153.3C193.1 119.6 226.5 95.9 265.7 95.9C282.9 95.9 298.7 101.0000000000001 312.5 109.1L358.5 45.2C364.5 36.8000000000001 374.2 31.9 384.5 31.9H434.8C443.3 31.9 451.4 35.3 457.4 41.3L502.7 81.1C511.6 90.2000000000001 514.4000000000001 103.7000000000001 509.8000000000001 115.5zM328 224C314.7 224 304 234.7 304 248S314.7 272 328 272S352 261.3 352 248S341.3 224 328 224z" glyph-name="horse-head" horiz-adv-x="512" unicode=""/><glyph d="M575.92 371.4C575.91 379.53 572.9 387.27 567.3399999999999 393.2C563.56 397.23 558.7599999999999 402.32 553.6499999999999 407.7C564.7099999999998 414.54 573.1499999999999 425.19 575.8299999999998 438.36C576.85 443.32 572.96 448 567.9 448H447.92C377.23 448 319.92 390.69 319.92 320H160C131.16 320 105.6 307.02 88 286.89V288C39.47 288 0 248.53 0 200V144C0 135.16 7.16 128 16 128H32C40.84 128 48 135.16 48 144V200C48 213.22 54.87 224.39 64.78 231.68C64.57 229.1 64 226.63 64 224C64 196.36 75.84 171.64 94.54 154.12L68.82 85.52A63.94500000000001 63.94500000000001 0 0 1 66.66 47.53L91.51 -51.88A15.982 15.982 0 0 1 107.02 -64H172.98C183.39 -64 191.03 -54.22 188.5 -44.12L162.19 61.14L186.03 124.73L320 102.4V-48C320 -56.84 327.1600000000001 -64 336 -64H400C408.84 -64 416 -56.84 416 -48V129.78C435.74 149.97 448 177.53 448 208C448 208.22 447.93 208.42 447.92 208.64V311.11L463.92 304L482.82 266.3C490.27 251.43 507.87 244.75 523.31 250.93L555.8599999999999 263.9500000000001A31.997 31.997 0 0 1 575.9799999999999 293.6900000000001L575.92 371.4000000000001zM511.92 352C503.08 352 495.92 359.16 495.92 368S503.08 384 511.92 384S527.92 376.8400000000001 527.92 368S520.76 352 511.92 352z" glyph-name="horse" horiz-adv-x="576" unicode=""/><glyph d="M544 352H416V416C416 433.7 401.7 448 384 448H192C174.3 448 160 433.7 160 416V352H32C14.3 352 0 337.7 0 320V-48C0 -56.8 7.2 -64 16 -64H560C568.8 -64 576 -56.8 576 -48V320C576 337.7 561.7 352 544 352zM160 12C160 5.4 154.6 0 148 0H108C101.4 0 96 5.4 96 12V52C96 58.6 101.4 64 108 64H148C154.6 64 160 58.6 160 52V12zM160 140C160 133.4 154.6 128 148 128H108C101.4 128 96 133.4 96 140V180C96 186.6 101.4 192 108 192H148C154.6 192 160 186.6 160 180V140zM320 12C320 5.4 314.6 0 308 0H268C261.4 0 256 5.4 256 12V52C256 58.6 261.4 64 268 64H308C314.6 64 320 58.6 320 52V12zM320 140C320 133.4 314.6 128 308 128H268C261.4 128 256 133.4 256 140V180C256 186.6 261.4 192 268 192H308C314.6 192 320 186.6 320 180V140zM336 310C336 306.7 333.3 304 330 304H304V278C304 274.7 301.3 272 298 272H278C274.7 272 272 274.7 272 278V304H246C242.7 304 240 306.7 240 310V330C240 333.3 242.7 336 246 336H272V362C272 365.3 274.7 368 278 368H298C301.3 368 304 365.3 304 362V336H330C333.3 336 336 333.3 336 330V310zM480 12C480 5.4 474.6 0 468 0H428C421.4 0 416 5.4 416 12V52C416 58.6 421.4 64 428 64H468C474.6 64 480 58.6 480 52V12zM480 140C480 133.4 474.6 128 468 128H428C421.4 128 416 133.4 416 140V180C416 186.6 421.4 192 428 192H468C474.6 192 480 186.6 480 180V140z" glyph-name="hospital-alt" horiz-adv-x="576" unicode=""/><glyph d="M256 448C114.6 448 0 333.4 0 192S114.6 -64 256 -64S512 50.6 512 192S397.4 448 256 448zM368 72C368 67.6 364.4 64 360 64H312C307.6 64 304 67.6 304 72V160H208V72C208 67.6 204.4 64 200 64H152C147.6 64 144 67.6 144 72V312C144 316.4 147.6 320 152 320H200C204.4 320 208 316.4 208 312V224H304V312C304 316.4 307.6 320 312 320H360C364.4 320 368 316.4 368 312V72z" glyph-name="hospital-symbol" horiz-adv-x="512" unicode=""/><glyph d="M448 -44V-64H0V-44C0 -37.373 5.373 -32 12 -32H32V328C32 341.255 42.745 352 56 352H144V424C144 437.255 154.745 448 168 448H280C293.255 448 304 437.255 304 424V352H392C405.255 352 416 341.255 416 328V-32H436C442.627 -32 448 -37.373 448 -44zM308 256H268C261.373 256 256 250.627 256 244V204C256 197.373 261.373 192 268 192H308C314.627 192 320 197.373 320 204V244C320 250.627 314.627 256 308 256zM140 192H180C186.627 192 192 197.373 192 204V244C192 250.627 186.627 256 180 256H140C133.373 256 128 250.627 128 244V204C128 197.373 133.373 192 140 192zM244 64H204C197.373 64 192 58.627 192 52V-32H256V52C256 58.627 250.627 64 244 64zM308 160H268C261.373 160 256 154.627 256 148V108C256 101.373 261.373 96 268 96H308C314.627 96 320 101.373 320 108V148C320 154.627 314.627 160 308 160zM192 148C192 154.627 186.627 160 180 160H140C133.373 160 128 154.627 128 148V108C128 101.373 133.373 96 140 96H180C186.627 96 192 101.373 192 108V148zM182 352H208V326A6 6 0 0 1 214 320H234A6 6 0 0 1 240 326V352H266A6 6 0 0 1 272 358V378A6 6 0 0 1 266 384H240V410A6 6 0 0 1 234 416H214A6 6 0 0 1 208 410V384H182A6 6 0 0 1 176 378V358A6 6 0 0 1 182 352z" glyph-name="hospital" horiz-adv-x="448" unicode=""/><glyph d="M414.21 270.35C415.23 262.14 421.96 256 429.96 256H446.08C455.59 256 463.16 264.57 462.08 274.35C457.74 313.46 439.68 348.88 411.95 371.51C394.58 385.68 383.13 408.26 379.97 433.66C378.96 441.86 372.2200000000001 448 364.23 448H348.11C338.6 448 331.0200000000001 439.43 332.11 429.65C336.45 390.54 354.51 355.12 382.24 332.49C399.6 318.3200000000001 411.06 295.74 414.2100000000001 270.35zM306.21 270.35C307.23 262.14 313.96 256 321.96 256H338.08C347.59 256 355.16 264.57 354.08 274.35C349.74 313.46 331.68 348.88 303.95 371.51C286.58 385.68 275.13 408.26 271.97 433.66C270.96 441.86 264.2200000000001 448 256.23 448H240.11C230.6 448 223.02 439.43 224.11 429.65C228.45 390.54 246.51 355.12 274.24 332.49C291.6 318.3200000000001 303.06 295.74 306.2100000000001 270.35zM480 192H256L145.07 275.2A63.99 63.99 0 0 1 106.67 288H64C28.65 288 0 259.35 0 224V0C0 -35.35 28.65 -64 64 -64H448C483.35 -64 512 -35.35 512 0V160C512 177.67 497.67 192 480 192zM128 8C128 3.58 124.42 0 120 0H104C99.58 0 96 3.58 96 8V120C96 124.42 99.58 128 104 128H120C124.42 128 128 124.42 128 120V8zM224 8C224 3.58 220.42 0 216 0H200C195.58 0 192 3.58 192 8V120C192 124.42 195.58 128 200 128H216C220.42 128 224 124.42 224 120V8zM320 8C320 3.58 316.42 0 312 0H296C291.58 0 288 3.58 288 8V120C288 124.42 291.58 128 296 128H312C316.42 128 320 124.42 320 120V8zM416 8C416 3.58 412.42 0 408 0H392C387.58 0 384 3.58 384 8V120C384 124.42 387.58 128 392 128H408C412.42 128 416 124.42 416 120V8zM64 320C99.35 320 128 348.65 128 384S99.35 448 64 448S0 419.35 0 384S28.65 320 64 320z" glyph-name="hot-tub" horiz-adv-x="512" unicode=""/><glyph d="M560 384C568.84 384 576 391.16 576 400V432C576 440.84 568.84 448 560 448H16C7.16 448 0 440.84 0 432V400C0 391.16 7.16 384 16 384H31.98V0H16C7.16 0 0 -7.16 0 -16V-48C0 -56.84 7.16 -64 16 -64H256V16C256 24.8 263.2 32 272 32H304C312.8 32 320 24.8 320 16V-64H560C568.84 -64 576 -56.84 576 -48V-16C576 -7.16 568.84 0 560 0H544V384H560zM256 339.2C256 345.6 262.4 352 268.8 352H307.2C313.6 352 320 345.6 320 339.2V300.8C320 294.4 313.6 288 307.2 288H268.8C262.4000000000001 288 256 294.4 256 300.8V339.2000000000001zM256 243.2C256 249.6 262.4 256 268.8 256H307.2C313.6 256 320 249.6 320 243.2V204.8C320 198.4 313.6 192 307.2 192H268.8C262.4000000000001 192 256 198.4 256 204.8V243.2zM128 339.2C128 345.6 134.4 352 140.8 352H179.2C185.6 352 192 345.6 192 339.2V300.8C192 294.4 185.6 288 179.2 288H140.8C134.4 288 128 294.4 128 300.8V339.2zM179.2 192H140.8C134.4 192 128 198.4 128 204.8V243.2C128 249.6 134.4 256 140.8 256H179.2C185.6 256 192 249.6 192 243.2V204.8C192 198.4 185.6 192 179.2 192zM192 64C192 117.02 234.98 160 288 160S384 117.02 384 64H192zM448 204.8C448 198.4 441.6 192 435.2 192H396.8C390.4000000000001 192 384 198.4 384 204.8V243.2C384 249.6 390.4 256 396.8 256H435.2C441.6 256 448 249.6 448 243.2V204.8zM448 300.8C448 294.4 441.6 288 435.2 288H396.8C390.4000000000001 288 384 294.4 384 300.8V339.2000000000001C384 345.6 390.4 352 396.8 352H435.2C441.6 352 448 345.6 448 339.2000000000001V300.8z" glyph-name="hotel" horiz-adv-x="576" unicode=""/><glyph d="M360 384C373.255 384 384 394.745 384 408V424C384 437.255 373.255 448 360 448H24C10.745 448 0 437.255 0 424V408C0 394.745 10.745 384 24 384C24 293.035 75.016 216.266 144.842 192C75.016 167.734 24 90.965 24 0C10.745 0 0 -10.745 0 -24V-40C0 -53.255 10.745 -64 24 -64H360C373.255 -64 384 -53.255 384 -40V-24C384 -10.745 373.255 0 360 0C360 90.965 308.984 167.734 239.158 192C308.984 216.266 360 293.035 360 384zM192 240C134.213 240 88 306.5180000000001 88 384H296C296 306.055 249.49 240 192 240z" glyph-name="hourglass-end" horiz-adv-x="384" unicode=""/><glyph d="M360 448H24C10.745 448 0 437.255 0 424V408C0 394.745 10.745 384 24 384C24 293.035 75.016 216.266 144.842 192C75.016 167.734 24 90.965 24 0C10.745 0 0 -10.745 0 -24V-40C0 -53.255 10.745 -64 24 -64H360C373.255 -64 384 -53.255 384 -40V-24C384 -10.745 373.255 0 360 0C360 90.965 308.984 167.734 239.158 192C308.984 216.266 360 293.035 360 384C373.255 384 384 394.745 384 408V424C384 437.255 373.255 448 360 448zM284.9220000000001 64H99.08C116.139 110.797 151.176 144 192 144C232.821 144 267.862 110.804 284.9220000000001 64zM284.9410000000001 320H99.078C91.988 339.452 88 361.252 88 384H296C296 361.195 292.013 339.413 284.941 320z" glyph-name="hourglass-half" horiz-adv-x="384" unicode=""/><glyph d="M360 448H24C10.745 448 0 437.255 0 424V408C0 394.745 10.745 384 24 384C24 293.035 75.016 216.266 144.842 192C75.016 167.734 24 90.965 24 0C10.745 0 0 -10.745 0 -24V-40C0 -53.255 10.745 -64 24 -64H360C373.255 -64 384 -53.255 384 -40V-24C384 -10.745 373.255 0 360 0C360 90.965 308.984 167.734 239.158 192C308.984 216.266 360 293.035 360 384C373.255 384 384 394.745 384 408V424C384 437.255 373.255 448 360 448zM296 0H88C88 77.458 134.204 144 192 144C249.786 144 296 77.483 296 0z" glyph-name="hourglass-start" horiz-adv-x="384" unicode=""/><glyph d="M360 384C373.255 384 384 394.745 384 408V424C384 437.255 373.255 448 360 448H24C10.745 448 0 437.255 0 424V408C0 394.745 10.745 384 24 384C24 293.035 75.016 216.266 144.842 192C75.016 167.734 24 90.965 24 0C10.745 0 0 -10.745 0 -24V-40C0 -53.255 10.745 -64 24 -64H360C373.255 -64 384 -53.255 384 -40V-24C384 -10.745 373.255 0 360 0C360 90.965 308.984 167.734 239.158 192C308.984 216.266 360 293.035 360 384z" glyph-name="hourglass" horiz-adv-x="384" unicode=""/><glyph d="M288 333.04L69.47 140.29C67.85 138.8300000000001 65.78 138.15 64 136.94V-48C64 -56.84 71.16 -64 80 -64H229.23L192 8.81L296.11 72.81L235.95 192.03L384 55.25L279.89 -8.75L319.81 -64H496C504.84 -64 512 -56.84 512 -48V136.9C510.3 138.06 508.28 138.72 506.74 140.1L288 333.04zM570.69 211.72L512 263.55V400C512 408.8400000000001 504.84 416 496 416H432C423.1600000000001 416 416 408.8400000000001 416 400V348.31L314.75 437.69C307.12 444.55 297.56 447.99 288 448S268.9 444.59 261.3 437.73L5.31 211.72C-1.26 205.81 -1.81 195.7 4.1 189.12L25.5 165.3C31.4 158.73 41.52 158.18 48.1 164.09L277.42 366.37C283.4700000000001 371.7 292.54 371.7 298.5900000000001 366.37L527.91 164.1C534.48 158.2000000000001 544.6 158.74 550.51 165.31L571.91 189.13C577.81 195.7 577.27 205.82 570.6899999999999 211.72z" glyph-name="house-damage" horiz-adv-x="576" unicode=""/><glyph d="M368 208C376.84 208 384 215.16 384 224V256C384 264.8400000000001 376.84 272 368 272H326.14C339.55 300.63 339.88 335.33 322.01 366.05C303.34 398.16 267.1 416 229.96 416H151.14C126.82 416 103.28 407.4700000000001 84.6 391.91L72.83 382.1C62.65 373.61 61.27 358.48 69.76 348.3L90.25 323.71C98.74 313.52 113.87 312.15 124.06 320.64L135.79 330.42C140.11 334.02 145.56 335.99 151.18 335.99H234.8C246.49 335.99 256 326.4700000000001 256 314.79C256 308.88 253.52 303.2100000000001 249.19 299.2100000000001L219.7 272H16C7.16 272 0 264.8400000000001 0 256V224C0 215.16 7.16 208 16 208H150.37L115.7 176H16C7.16 176 0 168.84 0 160V128C0 119.16 7.16 112 16 112H57.86C44.45 83.37 44.12 48.67 61.99 17.95C80.66 -14.15 116.9 -32 154.04 -32H232.86C257.18 -32 280.72 -23.47 299.4 -7.91L311.17 1.9C321.35 10.39 322.73 25.52 314.24 35.7L293.75 60.29C285.26 70.48 270.13 71.85 259.94 63.36L248.19 53.5599999999999A23.992 23.992 0 0 0 232.83 47.9999999999999H149.2C137.51 47.9999999999999 128 57.5199999999999 128 69.1999999999999C128 75.11 130.48 80.7799999999999 134.81 84.7799999999999L164.3 112H368C376.84 112 384 119.16 384 128V160C384 168.84 376.84 176 368 176H233.63L268.3 208H368z" glyph-name="hryvnia" horiz-adv-x="384" unicode=""/><glyph d="M256 395.952V435.935C256 442.504 250.726 447.852 244.158 447.9340000000001C211.621 448.344 166.469 447.989 128 410.041C90.266 447.264 46.979 448.114 11.913 447.886C5.318 447.843 0 442.481 0 435.886V396.241C0 389.554 5.458 384.163 12.145 384.243C38.111 384.553 96 380.757 96 335.818V224H60C53.373 224 48 218.627 48 212V172C48 165.373 53.373 160 60 160H96V48C96 3.068 39.925 -0.031 12.05 0.041C5.404 0.058 0 -5.306 0 -11.952V-51.935C0 -58.504 5.274 -63.852 11.842 -63.934C44.379 -64.3430000000001 89.531 -63.988 128 -26.04C165.734 -63.263 209.021 -64.1130000000001 244.087 -63.885C250.682 -63.842 256 -58.48 256 -51.885V-12.24C256 -5.553 250.542 -0.162 243.855 -0.242C217.889 -0.553 160 3.061 160 48V160H196C202.627 160 208 165.373 208 172V212C208 218.627 202.627 224 196 224H160V335.818C160 380.75 216.075 384.031 243.95 383.9600000000001C250.596 383.942 256 389.3060000000001 256 395.952z" glyph-name="i-cursor" horiz-adv-x="256" unicode=""/><glyph d="M511.4 410.1C515.1 429.8 500 448 480 448H32C10.6 448 -4.8 427.3 1.4 406.8L88.5 133.4C91 126.2000000000001 101.2 126.2000000000001 103.6 133.4L140 257.5L184.2 70.2C186.1 61.9 197.9 61.9 199.8 70.2L246.3 267.1L280.4 133.7C282.7 126.1 293.4 126.1 295.7 133.7L341.5 306.2L408.2 -57.6C409.9 -66.2 422.2 -66.2 423.9 -57.6L511.4 410.1z" glyph-name="icicles" horiz-adv-x="512" unicode=""/><glyph d="M336 448H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V400C384 426.5 362.5 448 336 448zM144 416H240C248.8 416 256 408.8 256 400S248.8 384 240 384H144C135.2 384 128 391.2 128 400S135.2 416 144 416zM192 288C227.3 288 256 259.3 256 224S227.3 160 192 160S128 188.7 128 224S156.7 288 192 288zM304 51.2C304 40.6 294 32 281.6 32H102.4C90 32 80 40.6 80 51.2V70.4C80 102.2 110.1 128 147.2 128H152.2C164.5 122.9 177.9 120 192 120S219.6 122.9 231.8 128H236.8C273.9000000000001 128 304 102.2 304 70.4V51.2z" glyph-name="id-badge" horiz-adv-x="384" unicode=""/><glyph d="M528 384H384V288H192V384H48C21.5 384 0 362.5 0 336V-16C0 -42.5 21.5 -64 48 -64H528C554.5 -64 576 -42.5 576 -16V336C576 362.5 554.5 384 528 384zM288 224C323.3 224 352 195.3 352 160S323.3 96 288 96S224 124.7 224 160S252.7 224 288 224zM381.3 0H194.7C184.3 0 175.9 10 179.1 19.8C187.4 45.4 211.5 64 240 64H248.2C260.5 58.9 273.9 56 288 56S315.6 58.9 327.8 64H336C364.4 64 388.5 45.5 396.9 19.8C400.1 10 391.7 0 381.3 0zM352 416C352 433.7 337.7 448 320 448H256C238.3 448 224 433.7 224 416V320H352V416z" glyph-name="id-card-alt" horiz-adv-x="576" unicode=""/><glyph d="M528 416H48C21.5 416 0 394.5 0 368V352H576V368C576 394.5 554.5 416 528 416zM0 16C0 -10.5 21.5 -32 48 -32H528C554.5 -32 576 -10.5 576 16V320H0V16zM352 248C352 252.4 355.6 256 360 256H504C508.4 256 512 252.4 512 248V232C512 227.6 508.4 224 504 224H360C355.6 224 352 227.6 352 232V248zM352 184C352 188.4 355.6 192 360 192H504C508.4 192 512 188.4 512 184V168C512 163.6 508.4 160 504 160H360C355.6 160 352 163.6 352 168V184zM352 120C352 124.4 355.6 128 360 128H504C508.4 128 512 124.4 512 120V104C512 99.6 508.4 96 504 96H360C355.6 96 352 99.6 352 104V120zM176 256C211.3 256 240 227.3 240 192S211.3 128 176 128S112 156.7 112 192S140.7 256 176 256zM67.1 51.8C75.5 77.5 99.6 96 128 96H136.2C148.5 90.9 161.9 88 176 88S203.6 90.9 215.8 96H224C252.4 96 276.5 77.5 284.9 51.8C288.1 41.9 279.7 32 269.3 32H82.7C72.3 32 63.9 42 67.1 51.8z" glyph-name="id-card" horiz-adv-x="576" unicode=""/><glyph d="M320 414.1C309.5 415.3 298.8 416 288 416C188.2 416 100.2 365.2 48.6 288H320V414.1zM96 256H30.3C11.1 217.4 0 174 0 128H96V256zM352 408.6V288H527.4C487.2 348.1 424.8 392.1 352 408.6zM480 128H576C576 174 564.9 217.4 545.7 256H480V128zM416 64V-32H544C561.7 -32 576 -17.7 576 0V96H411.5C414.1 85.7 416 75.1 416 64zM448 256H128V128H177.8C200 166.1 240.8 192 288 192S376 166.1 398.2 128H448V256zM0 0C0 -17.7 14.3 -32 32 -32H160V64C160 75.1 161.9 85.7 164.5 96H0V0zM288 160C235 160 192 117 192 64V-32H384V64C384 117 341 160 288 160z" glyph-name="igloo" horiz-adv-x="576" unicode=""/><glyph d="M464 0H48C21.49 0 0 21.49 0 48V336C0 362.51 21.49 384 48 384H464C490.51 384 512 362.51 512 336V48C512 21.49 490.51 0 464 0zM112 328C81.072 328 56 302.928 56 272S81.072 216 112 216S168 241.072 168 272S142.928 328 112 328zM64 64H448V176L360.485 263.515C355.7990000000001 268.201 348.201 268.201 343.514 263.515L208 128L152.485 183.515C147.799 188.201 140.201 188.201 135.514 183.515L64 112V64z" glyph-name="image" horiz-adv-x="512" unicode=""/><glyph d="M480 32V16C480 -10.51 458.51 -32 432 -32H48C21.49 -32 0 -10.51 0 16V272C0 298.51 21.49 320 48 320H64V112C64 67.888 99.888 32 144 32H480zM576 112V368C576 394.51 554.51 416 528 416H144C117.49 416 96 394.51 96 368V112C96 85.49 117.49 64 144 64H528C554.51 64 576 85.49 576 112zM256 320C256 293.49 234.51 272 208 272S160 293.49 160 320S181.49 368 208 368S256 346.51 256 320zM160 176L215.515 231.515C220.201 236.201 227.799 236.201 232.486 231.515L272 192L407.515 327.515C412.201 332.201 419.799 332.201 424.486 327.515L512 240V128H160V176z" glyph-name="images" horiz-adv-x="576" unicode=""/><glyph d="M567.938 204.092L462.25 362.626A48.003 48.003 0 0 1 422.311 384H153.689A48 48 0 0 1 113.751 362.626L8.062 204.092A47.994 47.994 0 0 1 0 177.467V48C0 21.49 21.49 0 48 0H528C554.51 0 576 21.49 576 48V177.467A47.994 47.994 0 0 1 567.938 204.092zM162.252 320H413.749L499.082 192H376L344 128H232L200 192H76.918L162.252 320z" glyph-name="inbox" horiz-adv-x="576" unicode=""/><glyph d="M0 364V404C0 412.837 7.163 420 16 420H432C440.837 420 448 412.837 448 404V364C448 355.163 440.837 348 432 348H16C7.163 348 0 355.163 0 364zM176 220H432C440.837 220 448 227.163 448 236V276C448 284.837 440.837 292 432 292H176C167.163 292 160 284.837 160 276V236C160 227.163 167.163 220 176 220zM16 -36H432C440.837 -36 448 -28.837 448 -20V20C448 28.837 440.837 36 432 36H16C7.163 36 0 28.837 0 20V-20C0 -28.837 7.163 -36 16 -36zM176 92H432C440.837 92 448 99.163 448 108V148C448 156.837 440.837 164 432 164H176C167.163 164 160 156.837 160 148V108C160 99.163 167.163 92 176 92zM123.313 203.313L27.313 299.297C17.266 309.348 0 302.224 0 287.9840000000001V96.009C0 81.68 17.325 74.705 27.313 84.696L123.313 180.6880000000001C129.562 186.9350000000001 129.562 197.0650000000001 123.313 203.3130000000001z" glyph-name="indent" horiz-adv-x="448" unicode=""/><glyph d="M475.115 284.219L336 195.691V263.971C336 282.887 315.069 294.37 299.115 284.219L160 195.691V392C160 405.255 149.255 416 136 416H24C10.745 416 0 405.255 0 392V-8C0 -21.255 10.745 -32 24 -32H488C501.255 -32 512 -21.255 512 -8V263.971C512 282.8880000000001 491.069 294.37 475.115 284.219z" glyph-name="industry" horiz-adv-x="512" unicode=""/><glyph d="M471.1 352C405 352 353.3 310.7 320 273.4C286.7 310.7 235 352 168.9 352C75.8 352 0 280.2 0 192S75.8 32 168.9 32C235 32 286.7 73.3 320 110.6C353.3 73.3 405 32 471.1 32C564.2 32 640 103.8 640 192S564.2 352 471.1 352zM168.9 128C128.7 128 96 156.7 96 192S128.7 256 168.9 256C207.1 256 242.3 219.9 262.9 192C242.5 164.4 207 128 168.9 128zM471.1 128C432.9000000000001 128 397.7000000000001 164.1 377.1 192C397.5 219.6 433 256 471.1 256C511.3 256 544 227.3 544 192S511.3 128 471.1 128z" glyph-name="infinity" horiz-adv-x="640" unicode=""/><glyph d="M256 440C119.043 440 8 328.9170000000001 8 192C8 55.003 119.043 -56 256 -56S504 55.003 504 192C504 328.9170000000001 392.957 440 256 440zM256 330C279.1960000000001 330 298 311.1960000000001 298 288S279.1960000000001 246 256 246S214 264.804 214 288S232.804 330 256 330zM312 76C312 69.373 306.627 64 300 64H212C205.373 64 200 69.373 200 76V100C200 106.627 205.373 112 212 112H224V176H212C205.373 176 200 181.373 200 188V212C200 218.627 205.373 224 212 224H276C282.627 224 288 218.627 288 212V112H300C306.627 112 312 106.627 312 100V76z" glyph-name="info-circle" horiz-adv-x="512" unicode=""/><glyph d="M20 23.771H40V168.229H20C8.954 168.229 0 177.183 0 188.229V236C0 247.046 8.954 256 20 256H132C143.046 256 152 247.046 152 236V23.771H172C183.046 23.771 192 14.817 192 3.771V-44C192 -55.046 183.046 -64 172 -64H20C8.954 -64 0 -55.046 0 -44V3.771C0 14.817 8.954 23.771 20 23.771zM96 448C56.235 448 24 415.765 24 376S56.235 304 96 304S168 336.235 168 376S135.764 448 96 448z" glyph-name="info" horiz-adv-x="192" unicode=""/><glyph d="M204.758 32H170.909L233.0010000000001 352H273.7260000000001A16 16 0 0 1 289.4300000000001 364.937L295.6720000000001 396.937C297.599 406.8160000000001 290.034 416 279.968 416H120.235A16 16 0 0 1 104.531 403.063L98.289 371.063C96.362 361.184 103.927 352 113.993 352H147.839L85.749 32H46.278A16 16 0 0 1 30.574 19.065L24.329 -12.935C22.402 -22.815 29.967 -32 40.034 -32H198.513A16 16 0 0 1 214.217 -19.065L220.462 12.935C222.389 22.815 214.824 32 204.758 32z" glyph-name="italic" horiz-adv-x="320" unicode=""/><glyph d="M479.99 96L538.87 154.87C542.16 171.67 544 188.99 544 206.73C544 212.54 543.32 218.24 542.95 224H496L537.25 265.24C522.75 330.0300000000001 484.82 388.29 429.3400000000001 427.5100000000001C426.5700000000001 429.4700000000001 423.37 430.5000000000001 420.0900000000001 430.5000000000001C414.7200000000001 430.5000000000001 409.68 427.7900000000001 406.6 423.2600000000001C403.55 418.7700000000001 402.9600000000001 413.2700000000001 404.99 408.1700000000001C411.54 391.7100000000001 414.85 374.4400000000001 414.85 356.86C414.85 311.74 393.8200000000001 270.2900000000001 357.1600000000001 243.1300000000001C353.1400000000001 240.1500000000001 350.7000000000001 235.6300000000001 350.4600000000001 230.7300000000001C350.2200000000001 225.8100000000001 352.2200000000001 221.0700000000001 355.9500000000001 217.7000000000001C388.8800000000001 187.9500000000001 403.3000000000001 144.1900000000001 394.5200000000001 100.6300000000001C384.7800000000001 52.28 345.6800000000001 13.5300000000001 297.2100000000001 4.1300000000001L294.7100000000001 69.47L321.88 51C324.86 48.94 329.27 49.31 331.9 51.8A8.002 8.002 0 0 1 333.24 61.72L313.13 95.4500000000001L355.2 104.1700000000001C358.8999999999999 104.9200000000001 361.58 108.2200000000001 361.58 112.0000000000001C361.58 115.7700000000001 358.89 119.0600000000001 355.2 119.8300000000001L313.13 128.5600000000001L333.26 162.3300000000001C335.18 165.5600000000001 334.5999999999999 169.6400000000001 331.88 172.2400000000001C329.18 174.7900000000001 324.9099999999999 175.1300000000001 321.88 173.0400000000001L291.49 152.3700000000001L279.96 440.3A7.9639999999999995 7.9639999999999995 0 0 1 271.96 448C267.63 448 264.12 444.62 263.96 440.33L252.44 152.36L222.05 173.02C218.91 175.14 214.78 174.85 212.05 172.24C209.33 169.65 208.75 165.57 210.69 162.3L230.8 128.57L188.73 119.84C185.03 119.09 182.35 115.79 182.35 112.01S185.02 104.93 188.73 104.18L230.8 95.46L210.67 61.69C208.75 58.46 209.33 54.36 212.06 51.75C214.65 49.3 219.09 49 222.06 51L249.22 69.48L246.72 4.22C189.78 15.86 146.8299999999999 66.11 146.8299999999999 126.1400000000001C146.8299999999999 161.22 161.4499999999999 193.7400000000001 188 217.72C191.72 221.0800000000001 193.72 225.8300000000001 193.4799999999999 230.73C193.2399999999999 235.63 190.7999999999999 240.14 186.7899999999999 243.11C150.12 270.27 129.0799999999999 311.73 129.0799999999999 356.85C129.0799999999999 374.4100000000001 132.3899999999999 391.6600000000001 138.9199999999999 408.11C140.94 413.2 140.3499999999999 418.7 137.2999999999999 423.2C134.2199999999999 427.74 129.1699999999999 430.45 123.7899999999999 430.45C120.4899999999999 430.45 117.2899999999999 429.4100000000001 114.5199999999999 427.45C58.6499999999999 387.93 20.9199999999999 330.08 6.5499999999999 265.38L47.93 224H0.72C0.09 214.08 -0.25 204.09 0.22 194.01C0.84 180.58 2.76 167.48 5.33 154.6L63.93 96H24.02C65.27 5.77 155.15 -58.94 259.12 -63.71C263.42 -63.91 267.71 -64 271.9700000000001 -64C382.3100000000001 -64 477.3200000000001 1.83 519.95 96H479.9900000000001z" glyph-name="jedi" horiz-adv-x="544" unicode=""/><glyph d="M444.34 266.9C466.72 251.22 480 225.74 480 198.31V168C480 163.58 483.58 160 488 160H536C540.42 160 544 163.58 544 168V198.31C544 241.55 522.99 281.7200000000001 487.66 306.37C463.85 322.98 448 348.66 448 377.69V440C448 444.42 444.42 448 440 448H392C387.58 448 384 444.42 384 440V373.6C384 329.91 408.56 291.9700000000001 444.3400000000001 266.9zM194.97 89.02C126.03 77.93 59.69 53.31 0 16C83.65 -36.28 180.3 -64 278.94 -64H367.51L254.79 67.51C240.05 84.71 217.34 92.62 194.97 89.02zM553.28 360.91C547.61 364.71 544 370.87 544 377.69V440C544 444.42 540.42 448 536 448H488C483.58 448 480 444.42 480 440V377.69C480 355.67 490.17 334.28 508.64 322.3C550.79 294.9600000000001 576 248.46 576 198.31V168C576 163.58 579.58 160 584 160H632C636.42 160 640 163.58 640 168V198.31C640 263.75 607.59 324.5 553.28 360.91zM360.89 95.95C326.49 95.89 274.08 95.8 272.68 95.78L390.48 -41.65A63.98700000000001 63.98700000000001 0 0 1 439.07 -64H527.52L409.57 73.6A63.95499999999999 63.95499999999999 0 0 1 360.89 95.9500000000001zM616 96H432L549.99 -41.65A63.98700000000001 63.98700000000001 0 0 1 598.58 -64H616C629.25 -64 640 -53.25 640 -40V72C640 85.26 629.25 96 616 96z" glyph-name="joint" horiz-adv-x="640" unicode=""/><glyph d="M448 89.6V422.4C448 438.4 438.4 448 422.4 448H96C41.6 448 0 406.4 0 352V32C0 -22.4 41.6 -64 96 -64H422.4C435.2 -64 448 -54.4 448 -38.4V-22.4C448 -16 444.8 -9.6 438.4 -3.2C435.2 12.8 435.2 57.6 438.4 70.4C444.8 73.6 448 80 448 89.6zM133.08 303.61L154.34 282.35C155.9 280.79 157.95 280.01 160 280.01S164.09 280.79 165.66 282.35C168.78 285.4700000000001 168.78 290.54 165.66 293.6600000000001L139.24 320.0800000000001C149.24 340.98 165.48 358.05 185.61 369.3400000000001C179.62 359.6 176 348.26 176 336C176 316.04 185.33 298.43 199.66 286.69C190.01 276.63 184 263.04 184 248C184 221.06 203.04 198.6 228.38 193.24L229.74 225.95L219.37 218.91C218.68 218.46 217.9 218.22 217.12 218.22C216.12 218.22 215.14 218.6 214.37 219.31A4.006 4.006 0 0 0 213.68 224.26L222.22 238.57L204.31 242.29C202.45 242.68 201.12 244.32 201.12 246.21S202.45 249.74 204.31 250.13L222.22 253.85L213.68 268.16C212.73 269.77 213.01 271.83 214.37 273.11C215.73 274.41 217.81 274.55 219.37 273.52L231.38 265.36L236 376.17C236.09 378.31 237.86 380 240 380S243.91 378.31 244 376.17L248.68 263.88L262.88 273.53A4.067 4.067 0 0 0 267.88 273.12A4.006 4.006 0 0 0 268.57 268.17L260.03 253.86L277.94 250.14C279.8 249.7500000000001 281.13 248.11 281.13 246.2200000000001S279.8 242.6900000000001 277.94 242.3000000000001L260.03 238.5800000000001L268.57 224.2700000000001C269.52 222.66 269.24 220.6000000000001 267.88 219.3200000000001C267.11 218.6000000000001 266.11 218.2300000000001 265.13 218.2300000000001C264.35 218.2300000000001 263.57 218.46 262.88 218.9200000000001L250.2 227.5400000000001L251.63 193.2600000000001C276.96 198.6 296 221.06 296 248C296 263.04 289.99 276.63 280.34 286.69C294.67 298.43 304 316.04 304 336C304 348.26 300.38 359.6 294.4 369.33C314.53 358.05 330.77 340.9700000000001 340.77 320.07L314.35 293.65C311.23 290.53 311.23 285.46 314.35 282.34C315.91 280.78 317.96 280 320.01 280S324.1 280.78 325.67 282.34L346.93 303.6C349.9000000000001 293.52 352 283.05 352 272C352 271.48 351.86 271.01 351.85 270.49L314.74 238.02A7.974999999999999 7.974999999999999 0 0 1 313.99 226.74A7.97 7.97 0 0 1 320.01 224.01C321.89 224.01 323.76 224.67 325.28 225.99L348.87 246.63C337.32 197.04 293.09 160 240 160S142.68 197.04 131.14 246.62L154.73 225.98A7.957 7.957 0 0 1 160 224C162.22 224 164.44 224.92 166.02 226.73C168.94 230.06 168.6 235.11 165.27 238.01L128.16 270.48C128.15 271 128.01 271.4700000000001 128.01 271.99C128 283.05 130.1 293.52 133.08 303.61zM380.8 0H96C76.8 0 64 12.8 64 32S80 64 96 64H380.8V0z" glyph-name="journal-whills" horiz-adv-x="448" unicode=""/><glyph d="M554.12 364.49L318.36 443.07A95.962 95.962 0 0 1 257.6500000000001 443.07L21.88 364.49A32.006 32.006 0 0 1 0 334.13V285.12L265.02 364.63C280.05 369.13 295.94 369.13 311 364.63L576 285.12V334.13C576 347.9 567.19 360.13 554.12 364.49zM274.2200000000001 333.9700000000001L0 251.7V23.32C0 8.32 10.42 -4.66 25.06 -7.92L267.18 -61.72A95.937 95.937 0 0 1 308.83 -61.72L550.95 -7.92C565.59 -4.67 576.01 8.32 576.01 23.32V251.71L301.81 333.9700000000001C292.77 336.69 283.2200000000001 336.69 274.2200000000001 333.9700000000001zM128 217.89C128 214.28 125.59 211.12 122.11 210.17L42.11 188.35C37.02 186.97 32 190.8 32 196.07V212.65C32 216.26 34.41 219.42 37.89 220.37L117.89 242.19C122.98 243.58 128 239.75 128 234.47V217.89zM272 257.17C272 253.56 269.59 250.4 266.11 249.45L170.11 223.27C165.02 221.88 160 225.71 160 230.99V247.57C160 251.18 162.41 254.34 165.89 255.29L261.89 281.4700000000001C266.98 282.86 272 279.03 272 273.75V257.17zM448 234.47C448 239.75 453.02 243.58 458.11 242.19L538.11 220.37C541.59 219.42 544 216.26 544 212.65V196.07C544 190.79 538.98 186.96 533.89 188.35L453.89 210.17A7.997 7.997 0 0 0 448 217.89V234.47zM304 273.74C304 279.02 309.02 282.85 314.11 281.4600000000001L410.11 255.28C413.5900000000001 254.33 416 251.17 416 247.56V230.98C416 225.7 410.98 221.87 405.89 223.26L309.89 249.4400000000001A7.997 7.997 0 0 0 304 257.1600000000001V273.74z" glyph-name="kaaba" horiz-adv-x="576" unicode=""/><glyph d="M512 271.999C512 174.797 433.202 96 336 96C324.78 96 313.81 97.062 303.173 99.069L279.161 72.055A23.999000000000002 23.999000000000002 0 0 0 261.223 64H224V24C224 10.745 213.255 0 200 0H160V-40C160 -53.255 149.255 -64 136 -64H24C10.745 -64 0 -53.255 0 -40V38.059C0 44.424 2.529 50.529 7.029 55.03L168.831 216.832C163.108 234.186 160 252.729 160 272C160 369.202 238.797 447.999 335.999 448C433.488 448.001 512 369.4890000000001 512 271.999zM336 320C336 293.49 357.49 272 384 272S432 293.49 432 320S410.51 368 384 368S336 346.51 336 320z" glyph-name="key" horiz-adv-x="512" unicode=""/><glyph d="M528 0H48C21.49 0 0 21.49 0 48V336C0 362.51 21.49 384 48 384H528C554.51 384 576 362.51 576 336V48C576 21.49 554.51 0 528 0zM128 268V308C128 314.627 122.627 320 116 320H76C69.373 320 64 314.627 64 308V268C64 261.373 69.373 256 76 256H116C122.627 256 128 261.373 128 268zM224 268V308C224 314.627 218.627 320 212 320H172C165.373 320 160 314.627 160 308V268C160 261.373 165.373 256 172 256H212C218.627 256 224 261.373 224 268zM320 268V308C320 314.627 314.627 320 308 320H268C261.373 320 256 314.627 256 308V268C256 261.373 261.373 256 268 256H308C314.627 256 320 261.373 320 268zM416 268V308C416 314.627 410.627 320 404 320H364C357.373 320 352 314.627 352 308V268C352 261.373 357.373 256 364 256H404C410.627 256 416 261.373 416 268zM512 268V308C512 314.627 506.627 320 500 320H460C453.373 320 448 314.627 448 308V268C448 261.373 453.373 256 460 256H500C506.627 256 512 261.373 512 268zM176 172V212C176 218.627 170.627 224 164 224H124C117.373 224 112 218.627 112 212V172C112 165.373 117.373 160 124 160H164C170.627 160 176 165.373 176 172zM272 172V212C272 218.627 266.627 224 260 224H220C213.373 224 208 218.627 208 212V172C208 165.373 213.373 160 220 160H260C266.627 160 272 165.373 272 172zM368 172V212C368 218.627 362.627 224 356 224H316C309.373 224 304 218.627 304 212V172C304 165.373 309.373 160 316 160H356C362.627 160 368 165.373 368 172zM464 172V212C464 218.627 458.627 224 452 224H412C405.373 224 400 218.627 400 212V172C400 165.373 405.373 160 412 160H452C458.627 160 464 165.373 464 172zM128 76V116C128 122.627 122.627 128 116 128H76C69.373 128 64 122.627 64 116V76C64 69.373 69.373 64 76 64H116C122.627 64 128 69.373 128 76zM416 76V116C416 122.627 410.627 128 404 128H172C165.373 128 160 122.627 160 116V76C160 69.373 165.373 64 172 64H404C410.627 64 416 69.373 416 76zM512 76V116C512 122.627 506.627 128 500 128H460C453.373 128 448 122.627 448 116V76C448 69.373 453.373 64 460 64H500C506.627 64 512 69.373 512 76z" glyph-name="keyboard" horiz-adv-x="576" unicode=""/><glyph d="M415.81 382C409.44 385.5 401.44 384.33 396.45 378.98A15.973999999999998 15.973999999999998 0 0 1 394.54 359.4600000000001C411.03 333.3 419.74 303.07 419.74 272.05C419.55 218.8 392.97 169.36 348.47 139.64L271.84 86.29V106.39L315.89 142.48C319.81 146.68 320.89 152.57 318.7 157.76L310.85 175C344.6900000000001 194.26 367.79 230.25 367.79 271.99C367.79 312.78 345.7700000000001 348.12 313.2000000000001 367.7L318.4200000000001 379.14C320.7600000000001 384.67 319.3500000000001 390.9700000000001 314.8500000000001 395.18L255.86 448L196.87 395.19C192.37 390.98 190.97 384.68 193.3 379.15L198.52 367.7100000000001C165.95 348.13 143.93 312.78 143.93 271.99C143.93 230.24 167.02 194.26 200.87 175L193.02 157.76C190.83 152.58 191.92 146.69 195.83 142.48L239.88 106.39V86.49L163.29 139.82C119.02 169.38 92.44 218.81 92.26 272C92.26 303.08 100.97 333.31 117.46 359.4700000000001C121.33 365.63 119.86 373.24 114.87 378.55C109.87 383.89 101.19 384.75 94.85 381.25C16.32 338.4 -22.3 242.7 13.36 152.01C20.43 134.02 31.25 117.63 43.82 102.95L99.79 37.59C104.66 31.9 112.83 30.35 119.44 33.87L198.79 76.1L228 55.77L180.92 22.99C179.25 23.36 177.69 24 175.91 24C162.66 24 151.92 13.26 151.92 0C151.92 -13.25 162.66 -24 175.91 -24C188.01 -24 197.6 -14.89 199.24 -3.24L239.87 25.04V-4.91C230.48 -10.48 223.88 -20.29 223.88 -32.01C223.88 -49.6800000000001 238.2 -64.01 255.86 -64.01S287.84 -49.68 287.84 -32.01C287.84 -20.3 281.23 -10.49 271.85 -4.91V25.24L312.76 -3.24C314.4100000000001 -14.89 324 -24 336.09 -24C349.34 -24 360.08 -13.25 360.08 0C360.08 13.26 349.34 24 336.09 24C334.31 24 332.75 23.36 331.08 22.99L284 55.77L313.21 76.11L392.56 33.8799999999999C399.17 30.36 407.3399999999999 31.9099999999999 412.2099999999999 37.5899999999999L464.7199999999999 98.8999999999999C483.5899999999999 120.9199999999999 498.7199999999999 146.3999999999999 505.9699999999999 174.4899999999999C527.5899999999999 258.1499999999999 489.5199999999999 341.7599999999999 415.81 381.9999999999999zM319.82 272C319.82 249.7 308.33 230.08 290.99 218.62L285.3400000000001 231.03C276.5900000000001 255.55 276.5900000000001 282.07 285.3400000000001 306.5900000000001L293.17 323.77C309.24 312.12 319.82 293.3200000000001 319.82 272zM191.89 272C191.89 293.32 202.47 312.12 218.55 323.76L226.38 306.58C235.13 282.06 235.13 255.55 226.38 231.02L220.73 218.61C203.39 230.07 191.89 249.7 191.89 272z" glyph-name="khanda" horiz-adv-x="512" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM209 220.1L199.5 237.1C191.8 250.8 180.3 258.7 168 258.7S144.2 250.8 136.5 237.1L127 220.1C122.8 212.7 111.4 216.1 112.1 224.6C115.4 266.7 144.3 296 168.1 296S220.8 266.7 224.1 224.6C224.6 216.1 213.2 212.6 209 220.1zM304 52C304 32.8 275.3 10.5 232.5 8C224 7.2 220.4 19.8 228.9 23.4L245.9 30.6C258.9 36.1 266.7 44.1 266.7 52.1S258.9 68.1 245.9 73.6L228.9 80.8C222.9 83.3 222.8 92.9999999999999 228.9 95.6L245.9 102.8C258.9 108.3 266.7 116.3 266.7 124.3S258.9 140.3 245.9 145.8L228.9 153C220.3 156.6 224.1 169.5 232.5 168.3999999999999C275.3 165.8999999999999 304 143.5999999999999 304 124.3999999999999C304 111.3999999999999 290.6 97.0999999999999 268.8 88.3999999999999C290.6 79.3 304 65 304 52zM369 220.1L359.5 237.1C351.8 250.8 340.3 258.7 328 258.7S304.2 250.8 296.5 237.1L287 220.1C282.9 212.8 271.4 216.1 272.1 224.6C275.4000000000001 266.7 304.3 296 328.1 296S380.8 266.7 384.1 224.6C384.6 216.1 373.2000000000001 212.6 369 220.1z" glyph-name="kiss-beam" horiz-adv-x="496" unicode=""/><glyph d="M501.1 45.5C493.1 66.3 469.6 77 448 71.4L439.6 69.2L437.3 77.6C431.4000000000001 98.9999999999999 410.3 114.1 388.3 110.6C363.1 106.6 347.7 81.9999999999999 354.3 57.9999999999999L377.2 -24.6C378.7 -29.9 384.2 -33.1 389.6 -31.7L472.6 -10.2C496.7 -3.9 510.3 21.6 501.1 45.4999999999999zM323.5 49.5C317.9 69.8 321.2 91.5 332.5 109.2C362.2 155.5 431.2 154.7 460.3 104.9C466.7 104.8 472.9 103.5 478.9 102C489.8 129.9 496.0000000000001 160.2 496.0000000000001 192C496 329 385 440 248 440S0 329 0 192S111 -56 248 -56C283.4 -56 316.9 -48.5 347.4 -35.1C347.1 -34.4 323.5 49.5 323.5 49.5zM168 208C150.3 208 136 222.3 136 240S150.3 272 168 272S200 257.7 200 240S185.7 208 168 208zM288 52C288 32.8 259.3 10.5 216.5 8C208 7.2 204.4 19.8 212.9 23.4L229.9 30.6C242.9 36.1 250.7 44.1 250.7 52.1S242.9 68.1 229.9 73.6L212.9 80.8C206.9 83.3 207.2 93.1 212.9 95.6L229.9 102.8C242.9 108.3 250.7 116.3 250.7 124.3S242.9 140.3 229.9 145.8L212.9 153C204.1 156.6999999999999 208.3 169.6 216.5 168.3999999999999C259.3 165.8999999999999 288 143.5999999999999 288 124.3999999999999C288 111.3999999999999 274.6 97.0999999999999 252.8 88.3999999999999C274.6 79.3 288 65 288 52zM304 231C295.7 223.6 282.4 230.6 284.2 241.8C288.2 267 318.4 283.9 344.1 283.9S400 267 404 241.8C405.7 230.7 392.7 223.5 384.2 231L374.7 239.5C359.9 252.7 328.5 252.7 313.7 239.5L304 231z" glyph-name="kiss-wink-heart" horiz-adv-x="504" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM168 208C150.3 208 136 222.3 136 240S150.3 272 168 272S200 257.7 200 240S185.7 208 168 208zM304 52C304 32.8 275.3 10.5 232.5 8C224 7.2 220.4 19.8 228.9 23.4L245.9 30.6C258.9 36.1 266.7 44.1 266.7 52.1S258.9 68.1 245.9 73.6L228.9 80.8C222.9 83.3 222.8 92.9999999999999 228.9 95.6L245.9 102.8C258.9 108.3 266.7 116.3 266.7 124.3S258.9 140.3 245.9 145.8L228.9 153C220.3 156.6 224.1 169.5 232.5 168.3999999999999C275.3 165.8999999999999 304 143.5999999999999 304 124.3999999999999C304 111.3999999999999 290.6 97.0999999999999 268.8 88.3999999999999C290.6 79.3 304 65 304 52zM328 208C310.3 208 296 222.3 296 240S310.3 272 328 272S360 257.7 360 240S345.7 208 328 208z" glyph-name="kiss" horiz-adv-x="496" unicode=""/><glyph d="M575.81 230.02C572.64 290.5900000000001 518.28 336 457.63 336H448.26C395.44 336 344.01 352.25 300.52 382.24C258.53 411.2 204.48 423.86 147.31 410.94C129.3 406.88 -0.08 369.76 0 224C0.04 153.05 38.68 91.2 95.99 57.99V-16C95.99 -24.84 103.15 -32 111.99 -32H127.99C136.83 -32 143.99 -24.84 143.99 -16V38.26C159.35 34.3 175.39 32 191.99 32C197.43 32 202.67 32.73 207.99 33.18V-16C207.99 -24.84 215.15 -32 223.99 -32H239.99C248.83 -32 255.99 -24.84 255.99 -16V43.43C270.23 48.49 283.87 54.82 296.3300000000001 62.94C342.07 92.75 393.86 112 448.46 112C473.94 112 464.47 112.31 471.51 112.78L545.92 -23.66C548.78 -28.89 554.2199999999999 -32 559.9699999999999 -32C561.2799999999999 -32 562.6099999999999 -31.84 563.92 -31.5C571.01 -29.7 575.9699999999999 -23.31 575.9699999999999 -16C575.9699999999999 -16 576.1099999999999 224.24 575.81 230.02zM463.97 200C450.72 200 439.9700000000001 210.75 439.9700000000001 224C439.9700000000001 237.26 450.72 248 463.97 248S487.97 237.26 487.97 224C487.97 210.75 477.22 200 463.97 200zM543.97 46.75L504.11 119.83C519.23 125.66 532.84 134.43 543.97 145.81V46.75z" glyph-name="kiwi-bird" horiz-adv-x="576" unicode=""/><glyph d="M501.62 355.89L267.24 445.96A31.958 31.958 0 0 1 244.77 445.96L10.38 355.89A16.001 16.001 0 0 1 0 340.91V304C0 295.16 7.16 288 16 288H496C504.84 288 512 295.16 512 304V340.91C512 347.58 507.86 353.55 501.62 355.89zM64 256V96H48C39.16 96 32 88.84 32 80V32H480V80C480 88.84 472.84 96 464 96H448V256H384V96H288V256H224V96H128V256H64zM496 0H16C7.16 0 0 -7.16 0 -16V-48C0 -56.84 7.16 -64 16 -64H496C504.84 -64 512 -56.84 512 -48V-16C512 -7.16 504.84 0 496 0z" glyph-name="landmark" horiz-adv-x="512" unicode=""/><glyph d="M304 32H24C10.745 32 0 42.745 0 56V328C0 341.255 10.745 352 24 352H304V32zM183.324 104.622A12 12 0 0 1 194.839 96H217.702C225.922 96 231.709 104.078 229.064 111.861L171.61 280.915A12 12 0 0 1 160.248 289.054H127.759A12.001000000000001 12.001000000000001 0 0 1 116.397 280.915L58.942 111.861C56.297 104.078 62.084 96 70.304 96H93.109A12 12 0 0 1 104.644 104.693L113.762 136.5H173.973L183.324 104.622zM144.273 245.042S148.593 223.981 152.103 211.832L162.9030000000001 174.301H124.8330000000001L135.9030000000001 211.832C139.4130000000001 223.982 143.7330000000001 245.042 143.7330000000001 245.042H144.2730000000001zM616 32H336V352H616C629.255 352 640 341.255 640 328V56C640 42.745 629.255 32 616 32zM580 260H516V276C516 282.627 510.627 288 504 288H488C481.373 288 476 282.627 476 276V260H412C405.373 260 400 254.627 400 248V232C400 225.373 405.373 220 412 220H526.106C519.843 205.701 509.588 191.028 496.083 176.794C489.523 183.692 483.686 190.704 478.718 197.727C475.079 202.871 468.133 204.402 462.723 201.173L455.443 196.827L448.945 192.948C442.989 189.392 441.252 181.527 445.21 175.831C451.275 167.102 458.308 158.495 466.194 150.105C458.0719999999999 143.879 449.353 137.861 440.091 132.141C434.57 128.731 432.7099999999999 121.585 435.929 115.951L443.87 102.055C447.232 96.172 454.8049999999999 94.2289999999999 460.576 97.7789999999999C473.308 105.61 485.147 113.954 496.0189999999999 122.67C506.9359999999999 113.9089999999999 518.785 105.568 531.415 97.789C537.189 94.233 544.7679999999999 96.171 548.132 102.059L556.0759999999999 115.962C559.2889999999999 121.585 557.4459999999999 128.722 551.9409999999999 132.133A312.737 312.737 0 0 0 525.881 150.152C546.905 172.577 561.649 196.441 568.5939999999999 220.002H580C586.627 220.002 592 225.375 592 232.002V248.002C592 254.627 586.627 260 580 260z" glyph-name="language" horiz-adv-x="640" unicode=""/><glyph d="M255.03 186.35C261.28 180.1 271.4100000000001 180.1 277.6600000000001 186.35L288.9700000000001 197.66C295.2200000000001 203.91 295.2200000000001 214.04 288.9700000000001 220.29L253.25 256L288.96 291.7200000000001C295.21 297.9700000000001 295.21 308.1 288.96 314.35L277.65 325.66C271.4 331.91 261.27 331.91 255.02 325.66L196.68 267.32C190.43 261.07 190.43 250.94 196.68 244.69L255.03 186.35zM351.04 197.65L362.35 186.34C368.6 180.09 378.73 180.09 384.98 186.34L443.3200000000001 244.6800000000001C449.5700000000001 250.9300000000001 449.5700000000001 261.0600000000001 443.3200000000001 267.3100000000001L384.98 325.6500000000001C378.73 331.9000000000001 368.6 331.9000000000001 362.35 325.6500000000001L351.04 314.3400000000001C344.79 308.0900000000001 344.79 297.9600000000001 351.04 291.7100000000001L386.75 256L351.04 220.28C344.79 214.03 344.79 203.9 351.04 197.65zM624 32H381.54C380.8 12.19 366.8300000000001 0 348.8 0H288C269.31 0 254.98 17.47 255.23 32H16C7.2 32 0 24.8 0 16V0C0 -35.2 28.8 -64 64 -64H576C611.2 -64 640 -35.2 640 0V16C640 24.8 632.8 32 624 32zM576 400C576 426.4 554.4 448 528 448H112C85.6 448 64 426.4 64 400V64H576V400zM512 128H128V384H512V128z" glyph-name="laptop-code" horiz-adv-x="640" unicode=""/><glyph d="M624 32H381.54C380.8 12.19 366.8300000000001 0 348.8 0H288C269.31 0 254.98 17.47 255.23 32H16C7.2 32 0 24.8 0 16V0C0 -35.2 28.8 -64 64 -64H576C611.2 -64 640 -35.2 640 0V16C640 24.8 632.8 32 624 32zM576 400C576 426.4 554.4 448 528 448H112C85.6 448 64 426.4 64 400V64H576V400zM512 128H128V384H512V128z" glyph-name="laptop" horiz-adv-x="640" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM272 240.6C275.3 282.7 304.2 312 328 312S380.7 282.7 384 240.6C384.7 232 373.2 228.7 369.1 236.1L359.6 253.1C351.9000000000001 266.8 340.4000000000001 274.7 328.1 274.7S304.3 266.8 296.6 253.1L287.1 236.1C282.9000000000001 228.7 271.3 232 272 240.6zM112 240.6C115.3 282.7 144.2 312 168 312S220.7 282.7 224 240.6C224.7 232 213.2 228.7 209.1 236.1L199.6 253.1C191.9 266.8 180.4 274.7 168.1 274.7S144.3 266.8 136.6 253.1L127.1 236.1C122.8 228.7 111.3 232.1 112 240.6zM398.9 142C390 71 329.4 16 256 16H240C166.6 16 106 71 97.1 142C95.9 151.5 103.4 160 113 160H383C392.6 160 400.1 151.6 398.9 142z" glyph-name="laugh-beam" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM281.8 278.3L361.8 326.3C373.4000000000001 333.2000000000001 385.8 318.6 377.2 308.3L343.6 268L377.2000000000001 227.7C385.9000000000001 217.3 373.3000000000001 202.9 361.8000000000001 209.7L281.8000000000001 257.7C274.1000000000001 262.4 274.1000000000001 273.6 281.8000000000001 278.3zM118.8 308.3C110.2 318.6 122.6 333.2000000000001 134.2 326.3L214.2 278.3C222 273.6 222 262.4 214.2 257.7000000000001L134.2 209.7C122.7 202.9 110.2 217.3 118.8 227.7L152.4 268L118.8 308.3zM398.9 142C390 71 329.4 16 256 16H240C166.6 16 106 71 97.1 142C95.9 151.5 103.4 160 113 160H383C392.6 160 400.1 151.6 398.9 142z" glyph-name="laugh-squint" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM268.1 241.9C272.1 267.1 302.3 284 328 284S383.9 267.1 387.9 241.9C389.6 230.8 376.5 223.6 368.1 231.1L358.6 239.6C343.8 252.8 312.4 252.8 297.6 239.6L288 231C279.6 223.6 266.4 230.7 268.1 241.9zM168 288C185.7 288 200 273.7 200 256S185.7 224 168 224S136 238.3 136 256S150.3 288 168 288zM398.9 142C390 71 329.4 16 256 16H240C166.6 16 106 71 97.1 142C95.9 151.5 103.4 160 113 160H383C392.6 160 400.1 151.6 398.9 142z" glyph-name="laugh-wink" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM328 288C345.7 288 360 273.7 360 256S345.7 224 328 224S296 238.3 296 256S310.3 288 328 288zM168 288C185.7 288 200 273.7 200 256S185.7 224 168 224S136 238.3 136 256S150.3 288 168 288zM256 16H240C166.6 16 106 71 97.1 142C95.9 151.5 103.4 160 113 160H383C392.6 160 400.1 151.6 398.9 142C390 71 329.4 16 256 16z" glyph-name="laugh" horiz-adv-x="496" unicode=""/><glyph d="M12.41 299.98L245.35 194.31C252.15 191.22 259.84 191.22 266.64 194.31L499.58 299.98C516.13 307.49 516.13 332.5 499.58 340.01L266.65 445.69A25.606999999999996 25.606999999999996 0 0 1 245.36 445.69L12.41 340.02C-4.14 332.51 -4.14 307.49 12.41 299.98zM499.59 211.7L441.5 238.03L279.86 164.76C272.3 161.33 264.2700000000001 159.59 256 159.59S239.71 161.33 232.14 164.76L70.51 238.03L12.41 211.7C-4.14 204.2 -4.14 179.2 12.41 171.7L245.35 66.11C252.15 63.03 259.84 63.03 266.64 66.11L499.59 171.7C516.14 179.2 516.14 204.2 499.59 211.7zM499.59 83.9L441.7200000000001 110.13L279.86 36.76C272.3 33.33 264.2700000000001 31.59 256 31.59S239.71 33.33 232.14 36.76L70.29 110.13L12.41 83.9C-4.14 76.4 -4.14 51.4 12.41 43.9L245.35 -61.69C252.15 -64.7700000000001 259.84 -64.7700000000001 266.64 -61.69L499.59 43.9C516.14 51.4 516.14 76.4 499.59 83.9z" glyph-name="layer-group" horiz-adv-x="512" unicode=""/><glyph d="M546.2 438.3C540.6 450.8 524.6 451.3 517.9000000000001 439.5C486.9 385.6 431.4 352 368 352H288C182 352 96 266 96 160C96 153 96.8 146.3 97.5 139.5C161.3 185.2 253.4 224 384 224C392.8 224 400 216.8 400 208S392.8 192 384 192C132.6 192 26 37.9 2.4 -20C-4.2 -36.3 3.6 -54.9 19.9 -61.6C36.3 -68.4 54.9 -60.5 61.7 -44.3C63.2 -40.7 82.6 3.6 133.6 46.3C166 2.4 227.6 -39.5000000000001 308.5 -30.9C465.5 -19.5 576 121.3 576 293.7C576 343.9 565.2 395.9 546.2 438.3z" glyph-name="leaf" horiz-adv-x="576" unicode=""/><glyph d="M489.038 425.037C465.944 448.13 434.648 453.93 413.947 441.871C355.041 407.5590000000001 232.697 494.948 92.874 355.125S40.441 92.959 6.129 34.055C-5.93 13.353 -0.131 -17.944 22.962 -41.038C46.057 -64.133 77.354 -69.929 98.057 -57.87C156.958 -23.56 279.303 -110.9489999999999 419.125 28.873S471.56 291.04 505.871 349.944C517.93 370.646 512.132 401.943 489.038 425.0370000000001zM243.881 352.478C185.692 337.931 110.073 262.323 95.523 204.12C93.706 196.85 87.181 191.996 80.012 191.996C78.728 191.996 77.422 192.152 76.119 192.477C67.547 194.621 62.335 203.307 64.477 211.88C81.901 281.573 166.316 366.07 236.119 383.522C244.694 385.665 253.38 380.453 255.522 371.88S252.453 354.621 243.881 352.478z" glyph-name="lemon" horiz-adv-x="512" unicode=""/><glyph d="M54.98 233.8L356.3900000000001 113.93C374.7800000000001 107.9 395.1 116.47 401.7700000000001 133.08L413.86 163.16C420.54 179.77 411.04 198.13 392.6500000000001 204.16L217.21 272.21L392.7700000000001 340.3C411.0600000000001 346.3 420.5100000000001 364.57 413.8700000000001 381.09L401.8400000000001 411.01C395.2000000000001 427.54 374.9800000000001 436.07 356.6900000000001 430.07L54.98 310.11C41.21 305.5900000000001 32 293.5 32 279.93V263.9700000000001C32 250.41 41.21 238.32 54.98 233.8zM424 48H24C10.75 48 0 37.26 0 24V-24C0 -37.25 10.75 -48 24 -48H424C437.25 -48 448 -37.25 448 -24V24C448 37.26 437.25 48 424 48z" glyph-name="less-than-equal" horiz-adv-x="448" unicode=""/><glyph d="M365.46 90.26L147.04 192.11L365.51 293.99C381.53 301.4600000000001 388.46 320.5 380.99 336.52L367.4700000000001 365.52C360 381.54 340.96 388.4700000000001 324.94 381L18.48 238.09A32.014 32.014 0 0 1 0 209.09V174.85C0 162.41 7.21 151.1 18.48 145.85L324.79 3.02C340.85 -4.47 359.94 2.48 367.43 18.54L380.99 47.62C388.48 63.68 381.5300000000001 82.7699999999999 365.4600000000001 90.2599999999999z" glyph-name="less-than" horiz-adv-x="384" unicode=""/><glyph d="M313.553 55.669L209.587 -56.334C200.102 -66.548 183.911 -66.563 174.413 -56.334L70.438 55.669C56.232 70.969 67.062 96 88.025 96H152V368H68.024A11.996 11.996 0 0 0 59.539 371.515L3.539 427.515C-4.021 435.074 1.333 448 12.024 448H208C221.255 448 232 437.255 232 424V96H295.966C316.844 96 327.817 71.031 313.553 55.669z" glyph-name="level-down-alt" horiz-adv-x="320" unicode=""/><glyph d="M313.553 328.331L209.587 440.334C200.102 450.548 183.911 450.563 174.413 440.334L70.438 328.331C56.232 313.031 67.062 288 88.025 288H152V16H68.024A11.996 11.996 0 0 1 59.539 12.485L3.539 -43.515C-4.021 -51.074 1.333 -64 12.024 -64H208C221.255 -64 232 -53.255 232 -40V288H295.966C316.844 288 327.817 312.969 313.553 328.331z" glyph-name="level-up-alt" horiz-adv-x="320" unicode=""/><glyph d="M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM429.6960000000001 320.4410000000001L366.2970000000001 257.0420000000001C355.31 275.601 339.627 291.294 321.0420000000001 302.2970000000001L384.4410000000001 365.6960000000001A218.396 218.396 0 0 0 429.6960000000001 320.4410000000001zM256 96C202.981 96 160 138.981 160 192S202.981 288 256 288S352 245.019 352 192S309.019 96 256 96zM127.559 365.6960000000001L190.958 302.2970000000001C172.399 291.31 156.706 275.627 145.703 257.0420000000001L82.304 320.4410000000001A218.372 218.372 0 0 0 127.559 365.6960000000001zM82.304 63.559L145.703 126.958C156.69 108.399 172.373 92.706 190.958 81.703L127.559 18.304A218.396 218.396 0 0 0 82.304 63.559zM384.4410000000001 18.304L321.0420000000001 81.703C339.6010000000001 92.6900000000001 355.2940000000001 108.3730000000001 366.2970000000001 126.958L429.6960000000001 63.559A218.40299999999996 218.40299999999996 0 0 0 384.4410000000001 18.304z" glyph-name="life-ring" horiz-adv-x="512" unicode=""/><glyph d="M96.06 -6.35C96.07 -12.64 97.93 -18.8 101.42 -24.04L118.51 -49.73A31.989999999999995 31.989999999999995 0 0 1 145.15 -64.01H206.86A31.989999999999995 31.989999999999995 0 0 1 233.5 -49.73L250.59 -24.04A31.989000000000004 31.989000000000004 0 0 1 255.95 -6.35L255.99 32H96.01L96.06 -6.35zM0 272C0 227.63 16.45 187.15 43.56 156.22C60.08 137.37 85.92 97.99 95.77 64.77C95.81 64.5100000000001 95.84 64.2500000000001 95.88 63.9900000000001H256.12C256.1600000000001 64.2500000000001 256.19 64.5000000000001 256.23 64.77C266.0800000000001 97.99 291.92 137.37 308.44 156.22C335.55 187.15 352 227.63 352 272C352 369.39 272.9100000000001 448.3 175.45 448C73.44 447.69 0 365.03 0 272zM176 352C131.89 352 96 316.11 96 272C96 263.16 88.84 256 80 256S64 263.16 64 272C64 333.76 114.24 384 176 384C184.84 384 192 376.8400000000001 192 368S184.84 352 176 352z" glyph-name="lightbulb" horiz-adv-x="352" unicode=""/><glyph d="M326.612 262.6090000000001C386.3590000000001 202.8 385.5390000000001 106.911 326.9720000000001 48.019C326.862 47.899 326.7320000000001 47.769 326.612 47.649L259.4120000000001 -19.551C200.142 -78.821 103.713 -78.813 44.452 -19.551C-14.818 39.709 -14.818 136.149 44.452 195.409L81.558 232.515C91.398 242.355 108.344 235.8150000000001 108.852 221.909C109.5 204.187 112.678 186.382 118.542 169.1880000000001C120.528 163.3660000000001 119.109 156.9260000000001 114.759 152.576L101.672 139.489C73.646 111.463 72.767 65.8290000000001 100.517 37.5290000000001C128.541 8.95 174.603 8.78 202.842 37.0190000000001L270.0420000000001 104.2090000000001C298.233 132.4 298.115 177.9660000000001 270.0420000000001 206.0390000000001C266.341 209.733 262.6130000000001 212.603 259.701 214.608A16.037 16.037 0 0 0 252.754 227.2140000000001C252.3580000000001 237.7810000000001 256.1020000000001 248.67 264.452 257.0200000000001L285.506 278.0750000000001C291.027 283.596 299.688 284.2740000000001 306.09 279.8060000000001A152.482 152.482 0 0 0 326.612 262.6090000000001zM467.547 403.551C408.286 462.813 311.8570000000001 462.821 252.587 403.551L185.387 336.351C185.267 336.231 185.137 336.101 185.027 335.981C126.461 277.089 125.64 181.2 185.387 121.391A152.454 152.454 0 0 1 205.908 104.1949999999999C212.31 99.7269999999999 220.972 100.406 226.492 105.9259999999999L247.546 126.981C255.896 135.331 259.6400000000001 146.2199999999999 259.2440000000001 156.7869999999999A16.037 16.037 0 0 1 252.2970000000001 169.3929999999999C249.385 171.3979999999999 245.6570000000001 174.2679999999999 241.956 177.9619999999999C213.883 206.035 213.765 251.601 241.956 279.7919999999999L309.156 346.9819999999999C337.395 375.2209999999999 383.456 375.051 411.481 346.4719999999999C439.231 318.1719999999999 438.353 272.5379999999999 410.326 244.5119999999999L397.2390000000001 231.425C392.889 227.075 391.4700000000001 220.6349999999999 393.456 214.8129999999999C399.32 197.619 402.498 179.8139999999999 403.146 162.0919999999999C403.6550000000001 148.1859999999999 420.6 141.6459999999999 430.44 151.4859999999999L467.546 188.5919999999999C526.817 247.851 526.817 344.291 467.547 403.551z" glyph-name="link" horiz-adv-x="512" unicode=""/><glyph d="M371.9940000000001 192H323.975C317.64 192 312 187.088 312 180.754C312 80 230.179 32 144 32V191.219L278.603 221.131A12 12 0 0 1 288 232.845V273.8210000000001C288 281.498 280.891 287.201 273.397 285.535L144 256.781V287.2200000000001L278.603 317.132A12 12 0 0 1 288 328.846V369.8210000000001C288 377.498 280.891 383.201 273.397 381.535L144 352.781V404C144 410.627 138.627 416 132 416H76C69.373 416 64 410.627 64 404V335.003L9.397 322.8690000000001A12 12 0 0 1 0 311.155V270.179C0 262.502 7.109 256.799 14.603 258.4650000000001L64 269.442V239.003L9.397 226.869A12 12 0 0 1 0 215.155V174.179C0 166.502 7.109 160.799 14.603 162.465L64 173.442V-20C64 -26.627 69.373 -32 76 -32H155.583C289.674 -32 378.838 45.834 383.991 179.592C384.252 186.374 378.78 192 371.994 192z" glyph-name="lira-sign" horiz-adv-x="384" unicode=""/><glyph d="M464 -32H48C21.49 -32 0 -10.51 0 16V368C0 394.51 21.49 416 48 416H464C490.51 416 512 394.51 512 368V16C512 -10.51 490.51 -32 464 -32zM128 328C105.909 328 88 310.091 88 288S105.909 248 128 248S168 265.909 168 288S150.091 328 128 328zM128 232C105.909 232 88 214.091 88 192S105.909 152 128 152S168 169.909 168 192S150.091 232 128 232zM128 136C105.909 136 88 118.091 88 96S105.909 56 128 56S168 73.909 168 96S150.091 136 128 136zM416 272V304C416 310.627 410.627 316 404 316H204C197.373 316 192 310.627 192 304V272C192 265.373 197.373 260 204 260H404C410.627 260 416 265.373 416 272zM416 176V208C416 214.627 410.627 220 404 220H204C197.373 220 192 214.627 192 208V176C192 169.373 197.373 164 204 164H404C410.627 164 416 169.373 416 176zM416 80V112C416 118.627 410.627 124 404 124H204C197.373 124 192 118.627 192 112V80C192 73.373 197.373 68 204 68H404C410.627 68 416 73.373 416 80z" glyph-name="list-alt" horiz-adv-x="512" unicode=""/><glyph d="M3.263 308.473C3.263 315.9500000000001 7.18 320.045 14.836 320.045H29.967V359.9220000000001C29.967 365.085 30.501 370.425 30.501 370.425H30.145S28.366 367.755 27.297 366.687C22.846 362.414 16.793 362.236 11.631 367.755L6.113 373.986C0.771 379.327 1.129 385.202 6.647 390.365L28.367 410.303C32.815 414.398 36.732 416 42.785 416H54.89C62.546 416 66.639 412.084 66.639 404.428V320.044H82.127C89.782 320.044 93.699 315.95 93.699 308.472V299.5710000000001C93.699 292.094 89.782 287.999 82.127 287.999H14.836C7.18 287.999 3.263 292.094 3.263 299.5710000000001V308.473zM2.211 143.409C2.211 190.687 53.166 199.792 53.166 212.574C53.166 219.754 47.212 221.329 43.886 221.329C40.733 221.329 37.407 220.278 34.431 217.477C29.352 212.574 23.924 210.473 18.32 215.026L9.741 221.855C3.962 226.408 2.561 231.6600000000001 6.938 237.264C13.592 246.019 26.025 256 47.387 256C66.824 256 91.863 245.494 91.863 216.427C91.863 178.08 45.11 170.025 43.184 159.518H82.233C89.762 159.518 93.79 155.491 93.79 148.136V139.381C93.79 132.027 89.762 127.999 82.233 127.999H14.293C7.288 127.999 2.21 132.027 2.21 139.381V143.409zM5.654 -6.61L11.257 2.67C15.11 9.324 20.362 9.674 26.841 5.8219999999999C31.744 3.7209999999999 36.471 2.67 41.2 2.67C51.355 2.67 55.558 6.172 55.558 10.9C55.558 17.554 49.954 20.006 39.624 20.006H34.896C28.942 20.006 25.616 22.107 22.638 27.886L21.588 29.812C19.137 34.54 20.362 39.6179999999999 24.389 44.696L29.993 51.7C36.822 60.105 42.25 65.183 42.25 65.183V65.533S38.047 64.482 29.642 64.482H16.685C9.155 64.482 5.302 68.5100000000001 5.302 75.864V84.619C5.302 92.149 9.155 96.001 16.685 96.001H75.169C82.698 96.001 86.551 91.9740000000001 86.551 84.619V81.292C86.551 75.514 85.15 71.4860000000001 81.472 67.109L63.963 46.972C83.574 41.8940000000001 92.679 26.485 92.679 12.1270000000001C92.679 -9.2359999999999 78.321 -31.9989999999999 44.176 -31.9989999999999C27.54 -31.9989999999999 15.984 -27.2709999999999 8.28 -22.5439999999999C2.501 -18.3419999999999 1.976 -12.7389999999999 5.654 -6.6099999999999zM144 316H496C504.837 316 512 323.163 512 332V372C512 380.837 504.837 388 496 388H144C135.163 388 128 380.837 128 372V332C128 323.163 135.163 316 144 316zM144 156H496C504.837 156 512 163.163 512 172V212C512 220.837 504.837 228 496 228H144C135.163 228 128 220.837 128 212V172C128 163.163 135.163 156 144 156zM144 -4H496C504.837 -4 512 3.163 512 12V52C512 60.837 504.837 68 496 68H144C135.163 68 128 60.837 128 52V12C128 3.163 135.163 -4 144 -4z" glyph-name="list-ol" horiz-adv-x="512" unicode=""/><glyph d="M96 352C96 325.49 74.51 304 48 304S0 325.49 0 352S21.49 400 48 400S96 378.51 96 352zM48 240C21.49 240 0 218.51 0 192S21.49 144 48 144S96 165.49 96 192S74.51 240 48 240zM48 80C21.49 80 0 58.51 0 32S21.49 -16 48 -16S96 5.49 96 32S74.51 80 48 80zM144 316H496C504.837 316 512 323.163 512 332V372C512 380.837 504.837 388 496 388H144C135.163 388 128 380.837 128 372V332C128 323.163 135.163 316 144 316zM144 156H496C504.837 156 512 163.163 512 172V212C512 220.837 504.837 228 496 228H144C135.163 228 128 220.837 128 212V172C128 163.163 135.163 156 144 156zM144 -4H496C504.837 -4 512 3.163 512 12V52C512 60.837 504.837 68 496 68H144C135.163 68 128 60.837 128 52V12C128 3.163 135.163 -4 144 -4z" glyph-name="list-ul" horiz-adv-x="512" unicode=""/><glyph d="M128 332V372C128 380.837 135.163 388 144 388H496C504.837 388 512 380.837 512 372V332C512 323.163 504.837 316 496 316H144C135.163 316 128 323.163 128 332zM144 156H496C504.837 156 512 163.163 512 172V212C512 220.837 504.837 228 496 228H144C135.163 228 128 220.837 128 212V172C128 163.163 135.163 156 144 156zM144 -4H496C504.837 -4 512 3.163 512 12V52C512 60.837 504.837 68 496 68H144C135.163 68 128 60.837 128 52V12C128 3.163 135.163 -4 144 -4zM16 304H80C88.837 304 96 311.163 96 320V384C96 392.837 88.837 400 80 400H16C7.163 400 0 392.837 0 384V320C0 311.163 7.163 304 16 304zM16 144H80C88.837 144 96 151.163 96 160V224C96 232.837 88.837 240 80 240H16C7.163 240 0 232.837 0 224V160C0 151.163 7.163 144 16 144zM16 -16H80C88.837 -16 96 -8.837 96 0V64C96 72.837 88.837 80 80 80H16C7.163 80 0 72.837 0 64V0C0 -8.837 7.163 -16 16 -16z" glyph-name="list" horiz-adv-x="512" unicode=""/><glyph d="M444.52 444.48L28.74 252.58C-19.23 230.19 -3.24 159.8300000000001 47.93 159.8300000000001H223.84V-16.0799999999999C223.84 -67.2499999999999 294.2 -83.2499999999999 316.5900000000001 -35.2699999999999L508.49 380.5100000000001C524.48 418.9000000000001 482.9 460.48 444.52 444.48z" glyph-name="location-arrow" horiz-adv-x="512" unicode=""/><glyph d="M423.5 448C339.5 447.7 272 378.5 272 294.5V224H48C21.5 224 0 202.5 0 176V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V176C448 202.5 426.5 224 400 224H352V295.1C352 334.7 383.7 367.6 423.3 368C463.3 368.4 496 335.9 496 296V216C496 202.7 506.7 192 520 192H552C565.3 192 576 202.7 576 216V296C576 380 507.5 448.3 423.5 448z" glyph-name="lock-open" horiz-adv-x="576" unicode=""/><glyph d="M400 224H376V296C376 379.8 307.8 448 224 448S72 379.8 72 296V224H48C21.5 224 0 202.5 0 176V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V176C448 202.5 426.5 224 400 224zM296 224H152V296C152 335.7 184.3 368 224 368S296 335.7 296 296V224z" glyph-name="lock" horiz-adv-x="448" unicode=""/><glyph d="M168 102.059V404C168 410.627 162.627 416 156 416H100C93.373 416 88 410.627 88 404V102.059H41.941C20.559 102.059 9.851 76.208 24.97 61.088L111.029 -24.971C120.402 -34.344 135.598 -34.344 144.97 -24.971L231.029 61.088C246.148 76.207 235.44 102.059 214.058 102.059H168z" glyph-name="long-arrow-alt-down" horiz-adv-x="256" unicode=""/><glyph d="M134.059 152H436C442.627 152 448 157.373 448 164V220C448 226.627 442.627 232 436 232H134.059V278.059C134.059 299.4410000000001 108.208 310.149 93.088 295.03L7.029 208.971C-2.344 199.598 -2.344 184.402 7.029 175.03L93.088 88.971C108.207 73.852 134.059 84.56 134.059 105.942V152z" glyph-name="long-arrow-alt-left" horiz-adv-x="448" unicode=""/><glyph d="M313.941 232H12C5.373 232 0 226.627 0 220V164C0 157.373 5.373 152 12 152H313.941V105.941C313.941 84.559 339.792 73.851 354.912 88.97L440.971 175.029C450.344 184.402 450.344 199.598 440.971 208.97L354.9120000000001 295.029C339.793 310.148 313.9410000000001 299.44 313.9410000000001 278.058V232z" glyph-name="long-arrow-alt-right" horiz-adv-x="448" unicode=""/><glyph d="M88 281.9410000000001V-20C88 -26.627 93.373 -32 100 -32H156C162.627 -32 168 -26.627 168 -20V281.9410000000001H214.059C235.441 281.9410000000001 246.149 307.7920000000001 231.03 322.9120000000001L144.971 408.971C135.598 418.344 120.402 418.344 111.03 408.971L24.971 322.9120000000001C9.852 307.793 20.56 281.9410000000001 41.942 281.9410000000001H88z" glyph-name="long-arrow-alt-up" horiz-adv-x="256" unicode=""/><glyph d="M569.344 216.369C512.96 312.051 407.81 376 288 376C259.532 376 231.898 372.381 205.549 365.591L152.778 437.76C145.177 448.618 130.214 451.26 119.355 443.6600000000001L106.241 434.482C95.381 426.881 92.739 411.916 100.341 401.056L143.472 342.661C89.449 316.27 40.228 273.317 6.682 216.419C6.672 216.402 6.659 216.386 6.648 216.369C-2.117 201.494 -2.316 182.841 6.648 167.63C45.148 102.298 106.39 51.768 179.507 26.281L55.316 203.698A272.194 272.194 0 0 0 83.61 239.61L203.01 69.03H203.02L243.65 10.99A330.055 330.055 0 0 1 322.59 9.8199999999999L132.61 281.2199999999999A277.628 277.628 0 0 0 171.387 302.7829999999999L423.223 -53.7610000000001C430.824 -64.619 445.7870000000001 -67.2600000000001 456.646 -59.6610000000001L469.76 -50.4830000000001C480.62 -42.8820000000001 483.262 -27.9160000000001 475.66 -17.0570000000001L432.54 41.3199999999999L432.533 41.329C489.694 69.307 537.3679999999999 113.369 569.343 167.63A47.937999999999995 47.937999999999995 0 0 1 569.3439999999999 216.369zM390.026 102.06L370.9600000000001 129.29C395.6420000000001 161.857 398.6710000000001 205.643 379.7600000000001 240.9700000000001V240.9400000000001C379.7600000000001 217.29 360.5900000000001 198.12 336.9400000000001 198.12C313.1120000000001 198.12 294.1200000000001 217.469 294.1200000000001 240.9400000000001C294.1200000000001 264.5900000000001 313.2900000000001 283.76 336.9400000000001 283.76H336.9700000000001C312.2200000000001 297.009 283.4480000000001 299.403 257.4600000000001 291.4400000000001L238.392 318.677C253.758 324.694 270.488 328 288 328C363.1620000000001 328 424 267.174 424 192C424 157.496 411.167 126.025 390.026 102.06z" glyph-name="low-vision" horiz-adv-x="576" unicode=""/><glyph d="M224 128H256V352H224C206.33 352 192 337.67 192 320V160C192 142.33 206.33 128 224 128zM576 160V320C576 337.67 561.67 352 544 352H512V128H544C561.67 128 576 142.33 576 160zM624 64H128V432C128 440.84 120.84 448 112 448H16C7.16 448 0 440.84 0 432V400C0 391.16 7.16 384 16 384H64V16C64 7.16 71.16 0 80 0H162.94C161.15 -5.03 160 -10.36 160 -16C160 -42.51 181.49 -64 208 -64S256 -42.51 256 -16C256 -10.36 254.85 -5.03 253.06 0H450.94C449.15 -5.03 448 -10.36 448 -16C448 -42.51 469.49 -64 496 -64S544 -42.51 544 -16C544 -10.36 542.85 -5.03 541.06 0H624C632.84 0 640 7.16 640 16V48C640 56.84 632.84 64 624 64zM480 352V400C480 426.51 458.51 448 432 448H336C309.49 448 288 426.51 288 400V128H480V352zM432 352H336V400H432V352z" glyph-name="luggage-cart" horiz-adv-x="640" unicode=""/><glyph d="M224 352L240 384L272 400L240 416L224 448L208 416L176 400L208 384L224 352zM80 288L106.66 341.33L160 368L106.66 394.67L80 448L53.34 394.67L0 368L53.34 341.33L80 288zM432 160L405.34 106.67L352 80L405.3400000000001 53.33L432 0L458.66 53.33L512 80L458.66 106.67L432 160zM502.62 353.77L417.77 438.62C411.53 444.88 403.34 448 395.15 448C386.96 448 378.77 444.88 372.52 438.62L9.38 75.48C-3.12 62.98 -3.12 42.72 9.38 30.23L94.23 -54.62C100.48 -60.87 108.67 -63.99 116.85 -63.99C125.04 -63.99 133.23 -60.87 139.48 -54.62L502.62 308.53C515.12 321.01 515.12 341.28 502.62 353.77zM359.45 244.54L308.54 295.45L395.14 382.05L446.05 331.14L359.45 244.54z" glyph-name="magic" horiz-adv-x="512" unicode=""/><glyph d="M164.1 288H12C5.4 288 0 293.4 0 300V380C0 399.9 16.1 416 36 416H140C159.9 416 176 399.9 176 380V300C176.1 293.4 170.7 288 164.1 288zM512.1 300V380.1C512.1 400 496 416.1 476.1 416.1H372.1C352.2000000000001 416.1 336.1 400 336.1 380.1V300.1C336.1 293.5 341.5 288.1 348.1 288.1H500.1C506.7 288 512.1 293.4 512.1 300zM348.1 256C341.5 256 336.1 250.6 336.1 244V192C336.1 63.9 176.1 64.1 176.1 192V244C176.1 250.6 170.7 256 164.1 256H12.1C5.4 256 0.1 250.6 0.1 243.9C0.2 222.5 0.7 203.6 0.1 190.6C0.1 40 136.3 -56 256.9 -56C377.5 -56 512 40 512 190.7C511.4 203.5 511.8 223.7 512 243.9C512 250.6 506.7 256 500 256H348.1z" glyph-name="magnet" horiz-adv-x="512.1" unicode=""/><glyph d="M160 0C134.4 0 108.8 22.4 96 32C32 76.8 12.8 92.8 0 102.4V-32C0 -49.67 14.33 -64 32 -64H288C305.67 -64 320 -49.67 320 -32V102.4C307.2 92.8 288 76.8 224 32C211.2 22.4 185.6 0 160 0zM288 192H32C14.33 192 0 177.67 0 160V144C25.6 124.8 22.4 124.8 115.2 57.6C124.8 51.2 144 32 160 32S195.2 51.2 204.8 54.4C297.6 121.6 294.4 121.6 320 140.8V160C320 177.67 305.67 192 288 192zM544 288H224C206.33 288 192 273.67 192 256V224H288C321.21 224 348.5900000000001 198.58 351.71 166.18L352 166.4V32H544C561.67 32 576 46.33 576 64V256C576 273.67 561.67 288 544 288zM512 160H448V224H512V160zM160 256C160 291.29 188.71 320 224 320H448V416C448 433.67 433.67 448 416 448H96C78.33 448 64 433.67 64 416V224H160V256z" glyph-name="mail-bulk" horiz-adv-x="576" unicode=""/><glyph d="M96 448C131.346 448 160 419.346 160 384S131.346 320 96 320S32 348.654 32 384S60.654 448 96 448M144 304H132.64C109.929 293.557 83.05 293.106 59.36 304H48C21.49 304 0 282.51 0 256V120C0 106.745 10.745 96 24 96H40V-40C40 -53.255 50.745 -64 64 -64H128C141.255 -64 152 -53.255 152 -40V96H168C181.255 96 192 106.745 192 120V256C192 282.51 170.51 304 144 304z" glyph-name="male" horiz-adv-x="192" unicode=""/><glyph d="M288 448C218.41 448 162 391.5900000000001 162 322C162 265.74 244.35 163.2 275.9 125.98C282.29 118.44 293.72 118.44 300.1 125.98C331.65 163.2 414 265.74 414 322C414 391.5900000000001 357.59 448 288 448zM288 280C264.8 280 246 298.8 246 322S264.8 364 288 364S330 345.2 330 322S311.2 280 288 280zM20.12 232.05A32.006 32.006 0 0 1 0 202.34V-47.98C0 -59.3 11.43 -67.04 21.94 -62.84L160 0V233.08C151.16 249.06 143.93 264.62 138.75 279.5L20.12 232.05zM288 88.33C273.93 88.33 260.62 94.51 251.49 105.29C231.83 128.49 210.92 154.91 192 182.01V0.01L384 -63.99V182C365.08 154.91 344.18 128.48 324.51 105.28C315.38 94.51 302.07 88.33 288 88.33zM554.06 286.84L416 224V-64L555.88 -8.05A31.996 31.996 0 0 1 576 21.66V271.98C576 283.3 564.57 291.04 554.06 286.84z" glyph-name="map-marked-alt" horiz-adv-x="576" unicode=""/><glyph d="M288 448C218.41 448 162 391.5900000000001 162 322C162 265.74 244.35 163.2 275.9 125.98C282.29 118.44 293.72 118.44 300.1 125.98C331.65 163.2 414 265.74 414 322C414 391.5900000000001 357.59 448 288 448zM20.12 232.05A32.006 32.006 0 0 1 0 202.34V-47.98C0 -59.3 11.43 -67.04 21.94 -62.84L160 0V233.08C151.16 249.06 143.93 264.62 138.75 279.5L20.12 232.05zM288 88.33C273.93 88.33 260.62 94.51 251.49 105.29C231.83 128.49 210.92 154.91 192 182.01V0.01L384 -63.99V182C365.08 154.91 344.18 128.48 324.51 105.28C315.38 94.51 302.07 88.33 288 88.33zM554.06 286.84L416 224V-64L555.88 -8.05A31.996 31.996 0 0 1 576 21.66V271.98C576 283.3 564.57 291.04 554.06 286.84z" glyph-name="map-marked" horiz-adv-x="576" unicode=""/><glyph d="M172.268 -53.67C26.97 156.969 0 178.587 0 256C0 362.039 85.961 448 192 448S384 362.039 384 256C384 178.587 357.03 156.969 211.732 -53.67C202.197 -67.444 181.802 -67.443 172.268 -53.67zM192 176C236.183 176 272 211.817 272 256S236.183 336 192 336S112 300.183 112 256S147.817 176 192 176z" glyph-name="map-marker-alt" horiz-adv-x="384" unicode=""/><glyph d="M172.268 -53.67C26.97 156.969 0 178.587 0 256C0 362.039 85.961 448 192 448S384 362.039 384 256C384 178.587 357.03 156.969 211.732 -53.67C202.197 -67.444 181.802 -67.443 172.268 -53.67z" glyph-name="map-marker" horiz-adv-x="384" unicode=""/><glyph d="M112 131.06V-25.63L134.02 -58.65C138.77 -65.77 149.24 -65.77 153.99 -58.65L176 -25.63V131.06C165.61 129.14 154.94 128 144 128S122.39 129.14 112 131.06zM144 448C64.47 448 0 383.53 0 304S64.47 160 144 160S288 224.47 288 304S223.53 448 144 448zM144 372C106.5 372 76 341.5 76 304C76 297.38 70.62 292 64 292S52 297.38 52 304C52 354.73 93.28 396 144 396C150.62 396 156 390.62 156 384S150.62 372 144 372z" glyph-name="map-pin" horiz-adv-x="288" unicode=""/><glyph d="M507.31 363.31L464 406.63C458 412.63 449.86 416 441.37 416H288V432C288 440.84 280.84 448 272 448H240C231.16 448 224 440.84 224 432V416H56C42.75 416 32 405.25 32 392V312C32 298.75 42.75 288 56 288H441.37C449.86 288 457.99 291.37 464 297.37L507.31 340.68C513.56 346.94 513.56 357.06 507.31 363.31zM224 -48C224 -56.84 231.16 -64 240 -64H272C280.84 -64 288 -56.84 288 -48V64H224V-48zM456 224H288V256H224V224H70.63C62.14 224 54.01 220.63 48 214.63L4.69 171.31C-1.56 165.06 -1.56 154.93 4.69 148.68L48 105.37C54 99.37 62.14 96 70.63 96H456C469.25 96 480 106.75 480 120V200C480 213.25 469.25 224 456 224z" glyph-name="map-signs" horiz-adv-x="512" unicode=""/><glyph d="M0 330.3400000000001V-15.98C0 -27.3 11.43 -35.04 21.94 -30.84L160 32V416L20.12 360.05A32.006 32.006 0 0 1 0 330.3400000000001zM192 32L384 -32V352L192 416V32zM554.06 414.8400000000001L416 352V-32L555.88 23.95A31.996 31.996 0 0 1 576 53.66V399.98C576 411.3 564.57 419.04 554.06 414.84z" glyph-name="map" horiz-adv-x="576" unicode=""/><glyph d="M93.95 157.97A327.038 327.038 0 0 1 0.17 -37.11L0.14 -37.34C-1.56 -52.62 11.35 -65.5400000000001 26.63 -63.85A327.02000000000004 327.02000000000004 0 0 1 221.97 29.95L297.37 105.35L169.35 233.3700000000001L93.95 157.97zM485.49 421.49C450.14 456.84 392.82 456.84 357.4700000000001 421.49L335.7100000000001 399.73L299.1500000000001 436.28C283.5300000000001 451.9 258.2000000000001 451.9 242.5900000000001 436.28L138.47 332.16C132.22 325.91 132.22 315.78 138.47 309.53L161.09 286.91C167.34 280.66 177.47 280.66 183.72 286.91L270.87 374.06L290.46 354.4700000000001L191.98 256L320 127.98L485.49 293.4700000000001C520.84 328.8200000000001 520.84 386.13 485.49 421.49z" glyph-name="marker" horiz-adv-x="512" unicode=""/><glyph d="M340 448H261C250.3 448 245 435.1 252.5 427.5L269.4 410.6L220.7 361.9C198.5 375.9 172.2 384 144 384C64.5 384 0 319.5 0 240S64.5 96 144 96S288 160.5 288 240C288 268.2 279.9 294.5 265.9 316.7L314.6 365.4L331.5 348.5C333.8999999999999 346.1 337 345 339.8999999999999 345C346.0999999999999 345 352 349.8 352 357V436C352 442.6 346.6 448 340 448zM144 160C99.9 160 64 195.9 64 240S99.9 320 144 320S224 284.1 224 240S188.1 160 144 160zM500 288.1H421C410.3 288.1 405 275.2 412.5 267.6L429.4 250.7L380.7 202C362.5 213.4 341.7 220.9 319.2 223.3C317.1 201.5 311 180 300.8 160C301.9000000000001 160 303 160.1 304 160.1C348.1 160.1 384 124.2000000000001 384 80.1S348.1 0.1 304 0.1S224 36 224 80.1C224 81.2000000000001 224 82.3 224.1 83.3C204.1 73.1 182.6 66.9 160.8 64.9C168.4 -7.6 229.6 -64 304 -64C383.5 -64 448 0.5 448 80C448 108.2 439.9 134.5 425.9 156.7L474.6 205.4L491.4999999999999 188.5C493.8999999999999 186.1 496.8999999999999 185 499.8999999999999 185C506.0999999999999 185 511.9999999999999 189.8 511.9999999999999 197V276C511.9999999999999 282.7 506.6 288.1 499.9999999999999 288.1z" glyph-name="mars-double" horiz-adv-x="512" unicode=""/><glyph d="M476.2 200.5L420.3 256.4C412.7 264 399.8 258.6 399.8 247.9V224H376V244C376 250.6 370.6 256 364 256H324C317.4 256 312 250.6 312 244V224H284.4C278.6 249.6 265.7 273.9 245.8 293.8C189.6 350 98.4 350 42.2 293.8C-14 237.6 -14 146.4 42.2 90.2000000000001C98.4 34.0000000000001 189.6 34.0000000000001 245.8 90.2000000000001C265.7 110.1 278.6 134.4 284.4000000000001 160.0000000000001H312V140.0000000000001C312 133.4 317.4 128.0000000000001 324 128.0000000000001H364C370.6 128.0000000000001 376 133.4 376 140.0000000000001V160.0000000000001H399.9V136.1000000000001C399.9 125.4000000000001 412.8 120.1000000000001 420.4 127.6000000000001L476.3 183.5000000000001C480.9 188.2000000000001 480.9 195.8000000000001 476.1999999999999 200.5000000000001zM200.6 135.4C169.4 104.2 118.7 104.2 87.5 135.4C56.3 166.6 56.3 217.3 87.5 248.5C118.7 279.7 169.4 279.7 200.6 248.5C231.8 217.4 231.8 166.6 200.6 135.4z" glyph-name="mars-stroke-h" horiz-adv-x="480" unicode=""/><glyph d="M245.8 213.8C225.9 233.7 201.6 246.6 176 252.4V277.8H196C202.6 277.8 208 283.2000000000001 208 289.8V329.8C208 336.4 202.6 341.8 196 341.8H176V366.6H199.9C210.6 366.6 215.9 379.5 208.4 387.1L152.5 442.9C147.8 447.6 140.2 447.6 135.5 442.9L79.6 387C72 379.4 77.4 366.5 88.1 366.5H112V341.8H92C85.4 341.8 80 336.4 80 329.8V289.8C80 283.2000000000001 85.4 277.8 92 277.8H112V252.4C86.4 246.6 62.1 233.7 42.2 213.8C-14 157.6 -14 66.4 42.2 10.2C98.4 -45.9999999999999 189.6 -45.9999999999999 245.8 10.2C302.1 66.4 302.1 157.6 245.8 213.8000000000001zM200.6 55.4C169.4 24.2 118.7 24.2 87.5 55.4C56.3 86.6 56.3 137.3 87.5 168.5C118.7 199.7 169.4 199.7 200.6 168.5C231.8 137.4 231.8 86.6 200.6 55.4z" glyph-name="mars-stroke-v" horiz-adv-x="288" unicode=""/><glyph d="M372 384H293C282.3 384 277 371.1 284.5 363.5L301.4 346.6L283.9 329.1L269.8 343.2C265.1 347.9 257.5 347.9 252.8 343.2L224.5 315C219.8 310.3 219.8 302.7 224.5 298L238.6 283.9L220.6 265.9C198.4 279.9 172.1 288 143.9 288C64.5 288 0 223.5 0 144S64.5 0 144 0S288 64.5 288 144C288 172.2 279.9 198.5 265.9 220.7L283.9 238.7L298 224.6C302.7 219.9 310.3 219.9 315 224.6L343.3 252.9C348 257.6 348 265.2000000000001 343.3 269.9L329.2 284L346.7 301.5L363.6 284.6C371.2 277 384.1 282.4 384.1 293.1V372C384 378.6 378.6 384 372 384zM144 64C99.9 64 64 99.9 64 144S99.9 224 144 224S224 188.1 224 144S188.1 64 144 64z" glyph-name="mars-stroke" horiz-adv-x="384" unicode=""/><glyph d="M372 384H293C282.3 384 277 371.1 284.5 363.5L301.4 346.6L220.7 265.9C198.5 279.9 172.2 288 144 288C64.5 288 0 223.5 0 144S64.5 0 144 0S288 64.5 288 144C288 172.2 279.9 198.5 265.9 220.7L346.6 301.4L363.5 284.5C371.1 276.9 384 282.3 384 293V372C384 378.6 378.6 384 372 384zM144 64C99.9 64 64 99.9 64 144S99.9 224 144 224S224 188.1 224 144S188.1 64 144 64z" glyph-name="mars" horiz-adv-x="384" unicode=""/><glyph d="M320.67 384C-121.93 384 -36.9 0 162.21 0C202.11 0 239.68 20.69 263.63 55.86L289.36 93.65C305.0200000000001 116.6400000000001 336.3300000000001 116.6400000000001 351.99 93.65L377.7200000000001 55.86C401.6600000000001 20.69 439.23 0 479.13 0C668.99 0 769.76 384 320.67 384zM184 139.64C142.94 139.64 116.24 165.3 103.92 180.69C98.69 187.22 98.69 196.78 103.92 203.32C116.24 218.72 142.93 244.37 184 244.37S251.76 218.71 264.08 203.32C269.31 196.79 269.31 187.23 264.08 180.69C251.76 165.29 225.06 139.64 184 139.64zM456 139.64C414.94 139.64 388.24 165.3 375.92 180.69C370.69 187.22 370.69 196.78 375.92 203.32C388.24 218.72 414.93 244.37 456 244.37S523.76 218.71 536.08 203.32C541.3100000000001 196.79 541.3100000000001 187.23 536.08 180.69C523.76 165.29 497.0600000000001 139.64 456.0000000000001 139.64z" glyph-name="mask" horiz-adv-x="640" unicode=""/><glyph d="M223.75 317.25L154.62 432.46A31.997 31.997 0 0 1 127.18 448H16.03C3.08 448 -4.5 433.43 2.92 422.82L114.19 263.86C143.91 291.63 181.71 310.69 223.75 317.25zM495.97 448H384.82C373.58 448 363.16 442.1 357.38 432.46L288.25 317.25C330.29 310.69 368.0900000000001 291.63 397.81 263.87L509.08 422.82C516.5 433.43 508.92 448 495.97 448zM256 288C158.8 288 80 209.2 80 112S158.8 -64 256 -64S432 14.8 432 112S353.2 288 256 288zM348.52 130.74L310.59 93.78L319.56 41.5600000000001C321.1600000000001 32.2 311.3 25.0500000000001 302.9100000000001 29.4700000000001L256 54.12L209.1 29.47C200.7 25.02 190.85 32.21 192.45 41.56L201.42 93.78L163.49 130.74C156.67 137.38 160.44 148.97 169.84 150.3299999999999L222.27 157.9699999999999L245.7 205.4899999999999C247.81 209.7699999999999 251.89 211.8799999999999 255.98 211.8799999999999C260.09 211.8799999999999 264.2 209.7399999999999 266.31 205.4899999999999L289.74 157.9699999999999L342.17 150.3299999999999C351.57 148.9699999999999 355.3400000000001 137.38 348.5200000000001 130.74z" glyph-name="medal" horiz-adv-x="512" unicode=""/><glyph d="M96 -32H416V320H384V368C384 394.51 362.51 416 336 416H176C149.49 416 128 394.51 128 368V320H96V-32zM192 352H320V320H192V352zM512 272V16C512 -10.51 490.51 -32 464 -32H448V320H464C490.51 320 512 298.51 512 272zM64 -32H48C21.49 -32 0 -10.51 0 16V272C0 298.51 21.49 320 48 320H64V-32zM352 176V144C352 135.163 344.837 128 336 128H288V80C288 71.163 280.837 64 272 64H240C231.163 64 224 71.163 224 80V128H176C167.163 128 160 135.163 160 144V176C160 184.837 167.163 192 176 192H224V240C224 248.837 231.163 256 240 256H272C280.837 256 288 248.837 288 240V192H336C344.837 192 352 184.837 352 176z" glyph-name="medkit" horiz-adv-x="512" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM168 208C150.3 208 136 222.3 136 240S150.3 272 168 272S200 257.7 200 240S185.7 208 168 208zM328 208C310.3 208 296 222.3 296 240S310.3 272 328 272S360 257.7 360 240S345.7 208 328 208z" glyph-name="meh-blank" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM88 224C88 248.3 101.7 269.2 121.6 280C120.9 277.4 120 274.8 120 272C120 254.3 134.3 240 152 240S184 254.3 184 272C184 274.8 183.1 277.4 182.4 280C202.3 269.2 216 248.3 216 224C216 188.7 187.3 160 152 160S88 188.7 88 224zM312 48H184C162.8 48 162.8 80 184 80H312C333.2 80 333.2 48 312 48zM344 160C308.7 160 280 188.7 280 224C280 248.3 293.7 269.2 313.6 280C312.9000000000001 277.4 312 274.8 312 272C312 254.3 326.3 240 344 240S376 254.3 376 272C376 274.8 375.1 277.4 374.4 280C394.3 269.2 408 248.3 408 224C408 188.7 379.3 160 344 160z" glyph-name="meh-rolling-eyes" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM168 272C185.7 272 200 257.7 200 240S185.7 208 168 208S136 222.3 136 240S150.3 272 168 272zM344 80H152C130.8 80 130.8 112 152 112H344C365.2 112 365.2 80 344 80zM328 208C310.3 208 296 222.3 296 240S310.3 272 328 272S360 257.7 360 240S345.7 208 328 208z" glyph-name="meh" horiz-adv-x="496" unicode=""/><glyph d="M640 317.06V352C640 369.67 625.67 384 608 384H32C14.33 384 0 369.67 0 352V317.06C18.6 310.45 32 292.87 32 272S18.6 233.55 0 226.94V128H640V226.94C621.4 233.55 608 251.13 608 272S621.4 310.45 640 317.06zM224 192H160V320H224V192zM352 192H288V320H352V192zM480 192H416V320H480V192zM0 0H64V26.67C64 35.51 71.16 42.67 80 42.67S96 35.51 96 26.67V0H224V26.67C224 35.51 231.16 42.67 240 42.67S256 35.51 256 26.67V0H384V26.67C384 35.51 391.1600000000001 42.67 400 42.67S416 35.51 416 26.67V0H544V26.67C544 35.51 551.16 42.67 560 42.67S576 35.51 576 26.67V0H640V96H0V0z" glyph-name="memory" horiz-adv-x="640" unicode=""/><glyph d="M144 320H112C103.16 320 96 312.8400000000001 96 304V160H160V304C160 312.8400000000001 152.84 320 144 320zM240 320H208C199.16 320 192 312.8400000000001 192 304V160H256V304C256 312.8400000000001 248.84 320 240 320zM432 320H400C391.1600000000001 320 384 312.8400000000001 384 304V160H448V304C448 312.8400000000001 440.84 320 432 320zM528 320H496C487.16 320 480 312.8400000000001 480 304V160H544V304C544 312.8400000000001 536.84 320 528 320zM608 352C625.67 352 640 366.33 640 384S608 448 608 448S576 401.67 576 384S590.33 352 608 352zM512 352C529.67 352 544 366.33 544 384S512 448 512 448S480 401.67 480 384S494.33 352 512 352zM416 352C433.67 352 448 366.33 448 384S416 448 416 448S384 401.67 384 384S398.33 352 416 352zM320 352C337.67 352 352 366.33 352 384S320 448 320 448S288 401.67 288 384S302.33 352 320 352zM224 352C241.67 352 256 366.33 256 384S224 448 224 448S192 401.67 192 384S206.33 352 224 352zM128 352C145.67 352 160 366.33 160 384S128 448 128 448S96 401.67 96 384S110.33 352 128 352zM32 352C49.67 352 64 366.33 64 384S32 448 32 448S0 401.67 0 384S14.33 352 32 352zM576 160C576 142.33 561.67 128 544 128H352V304C352 312.8400000000001 344.84 320 336 320H304C295.1600000000001 320 288 312.8400000000001 288 304V128H96C78.33 128 64 142.33 64 160V304C64 312.8400000000001 56.84 320 48 320H16C7.16 320 0 312.8400000000001 0 304V160C0 106.98 42.98 64 96 64H288V0H112C103.16 0 96 -7.16 96 -16V-48C96 -56.84 103.16 -64 112 -64H528C536.84 -64 544 -56.84 544 -48V-16C544 -7.16 536.84 0 528 0H352V64H544C597.02 64 640 106.98 640 160V304C640 312.8400000000001 632.84 320 624 320H592C583.16 320 576 312.8400000000001 576 304V160z" glyph-name="menorah" horiz-adv-x="640" unicode=""/><glyph d="M288 240C288 284.2 268.1 323.7 236.8 350.1C239.3 351.9 241.7 353.9 244 355.9C268.7 377.1 283.8 404.7 287.2 434.7C288.1 441.8 282.5 448 275.3 448H234.8C229 448 224.1 443.9 223 438.2C220.6 425.7 213.4 413.9 202.3 404.4C187 391.2 166.3 384 144 384S101 391.2 85.6 404.4C74.5 413.9 67.4 425.7 64.9 438.2C63.8 443.9 58.9 448 53.2 448H12.7C5.5 448 -0.1 441.8 0.8 434.7C4.2 404.6 19.2 377 44 355.8C46.3 353.8 48.7 351.9 51.2 350C19.9 323.7 0 284.2 0 240C0 171.5 47.9 114.1 112 99.6V48H76C69.4 48 64 42.6 64 36V-4C64 -10.6 69.4 -16 76 -16H112V-52C112 -58.6 117.4 -64 124 -64H164C170.6 -64 176 -58.6 176 -52V-16H212C218.6 -16 224 -10.6 224 -4V36C224 42.6 218.6 48 212 48H176V99.6C240.1 114.1 288 171.5 288 240.0000000000001zM64 240C64 284.1 99.9 320 144 320S224 284.1 224 240S188.1 160 144 160S64 195.9 64 240z" glyph-name="mercury" horiz-adv-x="288" unicode=""/><glyph d="M491.2 447.3C452.5 435.7 379.4 413 303.5 386C301.4 393 299.5 399.5 297.9 404.6C294.9 414.3 284 418.8 275 414.1C232.6 392 122.2 331.5 60.6 271.6C59.5 270.6 58.1 269.6 57.1 268.6C19 230.6 0 180.7 0 130.8C0 81 19 31.1 57 -7C95 -45 144.9 -64.1 194.8 -64C244.7 -64 294.6 -45 332.7000000000001 -6.9C333.7000000000001 -5.9 334.7000000000001 -4.5 335.7000000000001 -3.4C395.5000000000001 58.2000000000001 456.1 168.7000000000001 478.2 211C482.9 220 478.4 230.9000000000001 468.7 233.9000000000001C463.5000000000001 235.5000000000001 457.1 237.4000000000001 450.1 239.5000000000001C477.1 315.5 499.8 388.5 511.4 427.2000000000001C515 439.6 503.6 451 491.2 447.3zM192 0C121.3 0 64 57.3 64 128S121.3 256 192 256S320 198.7 320 128S262.7 0 192 0zM160 192C142.3 192 128 177.7 128 160S142.3 128 160 128S192 142.3 192 160S177.7 192 160 192zM208 96C199.2 96 192 88.8 192 80S199.2 64 208 64S224 71.2 224 80S216.8 96 208 96z" glyph-name="meteor" horiz-adv-x="512" unicode=""/><glyph d="M416 400V-16C416 -42.51 394.51 -64 368 -64H144C117.49 -64 96 -42.51 96 -16V400C96 426.51 117.49 448 144 448H368C394.51 448 416 426.51 416 400zM512 342V330A6 6 0 0 0 506 324H488V318A6 6 0 0 0 482 312H440V360H482A6 6 0 0 0 488 354V348H506A6 6 0 0 0 512 342zM512 246V234A6 6 0 0 0 506 228H488V222A6 6 0 0 0 482 216H440V264H482A6 6 0 0 0 488 258V252H506A6 6 0 0 0 512 246zM512 150V138A6 6 0 0 0 506 132H488V126A6 6 0 0 0 482 120H440V168H482A6 6 0 0 0 488 162V156H506A6 6 0 0 0 512 150zM512 54V42A6 6 0 0 0 506 36H488V30A6 6 0 0 0 482 24H440V72H482A6 6 0 0 0 488 66V60H506A6 6 0 0 0 512 54zM30 72H72V24H30A6 6 0 0 0 24 30V36H6A6 6 0 0 0 0 42V54A6 6 0 0 0 6 60H24V66A6 6 0 0 0 30 72zM30 168H72V120H30A6 6 0 0 0 24 126V132H6A6 6 0 0 0 0 138V150A6 6 0 0 0 6 156H24V162A6 6 0 0 0 30 168zM30 264H72V216H30A6 6 0 0 0 24 222V228H6A6 6 0 0 0 0 234V246A6 6 0 0 0 6 252H24V258A6 6 0 0 0 30 264zM30 360H72V312H30A6 6 0 0 0 24 318V324H6A6 6 0 0 0 0 330V342A6 6 0 0 0 6 348H24V354A6 6 0 0 0 30 360z" glyph-name="microchip" horiz-adv-x="512" unicode=""/><glyph d="M633.82 -10.1L476.26 111.67C488.74 135.79 496 163.02 496 192V240C496 248.84 488.84 256 480 256H464C455.16 256 448 248.84 448 240V192C448 174.08 444.04 157.2 437.28 141.8L410.73 162.32C413.83 171.72 416.01 181.54 416.01 191.99H372.3399999999999L330.94 223.99H416V255.99H330.67C324.7800000000001 255.99 320 259.5700000000001 320 263.99V279.99C320 284.41 324.78 287.99 330.67 287.99H416V319.99H330.67C324.7800000000001 319.99 320 323.57 320 327.99V343.99C320 348.4100000000001 324.78 351.99 330.67 351.99H416C416 405.01 373.02 447.99 320 447.99S224 405.01 224 351.99V306.63L45.47 444.63C38.49 450.05 28.43 448.8 23.01 441.82L3.37 416.55C-2.05 409.58 -0.8 399.53 6.18 394.1L594.54 -60.63C601.52 -66.0599999999999 611.5699999999999 -64.7999999999999 617 -57.82L636.64 -32.55C642.05 -25.58 640.8 -15.53 633.8199999999999 -10.1zM400 -16H344V17.78C355.71 19.4 367.1 22.0599999999999 377.96 25.86L327.56 64.8199999999999C320.85 64.42 314.15 63.9499999999999 307.21 64.62C251.36 70.0699999999999 208.47 113.25 196.03 166.4699999999999L144 206.69V199.84C144 110.2 207.97 30.29 296 18.15V-16H240C231.16 -16 224 -23.16 224 -32V-48C224 -56.84 231.16 -64 240 -64H400C408.84 -64 416 -56.84 416 -48V-32C416 -23.16 408.84 -16 400 -16z" glyph-name="microphone-alt-slash" horiz-adv-x="640" unicode=""/><glyph d="M336 256H320C311.1600000000001 256 304 248.84 304 240V192C304 117.2 239.51 57.18 163.21 64.62C96.71 71.11 48 130.89 48 197.7V240C48 248.84 40.84 256 32 256H16C7.16 256 0 248.84 0 240V199.84C0 110.2 63.97 30.29 152 18.15V-16H96C87.16 -16 80 -23.16 80 -32V-48C80 -56.84 87.16 -64 96 -64H256C264.84 -64 272 -56.84 272 -48V-32C272 -23.16 264.84 -16 256 -16H200V17.77C285.71 29.53 352 103.1 352 192V240C352 248.84 344.84 256 336 256zM176 96C229.02 96 272 138.98 272 192H186.67C180.78 192 176 195.58 176 200V216C176 220.42 180.78 224 186.67 224H272V256H186.67C180.78 256 176 259.5800000000001 176 264V280C176 284.42 180.78 288 186.67 288H272V320H186.67C180.78 320 176 323.58 176 328V344C176 348.42 180.78 352 186.67 352H272C272 405.02 229.02 448 176 448S80 405.02 80 352V192C80 138.98 122.98 96 176 96z" glyph-name="microphone-alt" horiz-adv-x="352" unicode=""/><glyph d="M633.82 -10.1L476.02 111.86C488.61 135.87 496 162.99 496 192V240C496 248.84 488.84 256 480 256H464C455.16 256 448 248.84 448 240V192C448 174.08 444.04 157.2 437.28 141.8L410.73 162.32C413.83 171.72 416.01 181.54 416.01 191.99V352C416.01 405.02 373.0299999999999 448 320.01 448S224.0099999999999 405.02 224.0099999999999 352V306.64L45.47 444.63C38.49 450.05 28.43 448.8 23.01 441.82L3.37 416.55C-2.05 409.58 -0.8 399.53 6.18 394.1L594.54 -60.63C601.52 -66.0599999999999 611.5699999999999 -64.7999999999999 617 -57.82L636.64 -32.55C642.05 -25.58 640.8 -15.53 633.8199999999999 -10.1zM400 -16H344V17.77C355.6600000000001 19.37 366.85 22.31 377.67 26.08L327.56 64.81C320.85 64.41 314.15 63.94 307.21 64.61C251.36 70.06 208.47 113.24 196.03 166.46L144 206.69V199.84C144 110.2 207.97 30.29 296 18.15V-16H240C231.16 -16 224 -23.16 224 -32V-48C224 -56.84 231.16 -64 240 -64H400C408.84 -64 416 -56.84 416 -48V-32C416 -23.16 408.84 -16 400 -16z" glyph-name="microphone-slash" horiz-adv-x="640" unicode=""/><glyph d="M176 96C229.02 96 272 138.98 272 192V352C272 405.02 229.02 448 176 448S80 405.02 80 352V192C80 138.98 122.98 96 176 96zM336 256H320C311.1600000000001 256 304 248.84 304 240V192C304 117.2 239.51 57.18 163.21 64.62C96.71 71.11 48 130.89 48 197.7V240C48 248.84 40.84 256 32 256H16C7.16 256 0 248.84 0 240V199.84C0 110.2 63.97 30.29 152 18.15V-16H96C87.16 -16 80 -23.16 80 -32V-48C80 -56.84 87.16 -64 96 -64H256C264.84 -64 272 -56.84 272 -48V-32C272 -23.16 264.84 -16 256 -16H200V17.77C285.71 29.53 352 103.1 352 192V240C352 248.84 344.84 256 336 256z" glyph-name="microphone" horiz-adv-x="352" unicode=""/><glyph d="M160 128H172V112C172 103.16 179.16 96 188 96H228C236.84 96 244 103.16 244 112V128H256C273.67 128 288 142.33 288 160V384C288 401.67 273.67 416 256 416V432C256 440.84 248.84 448 240 448H176C167.16 448 160 440.84 160 432V416C142.33 416 128 401.67 128 384V160C128 142.33 142.33 128 160 128zM464 0H462.71C493.24 34.01 512 78.8 512 128C512 233.88 425.88 320 320 320V256C390.58 256 448 198.58 448 128S390.58 0 320 0H48C21.49 0 0 -21.49 0 -48C0 -56.84 7.16 -64 16 -64H496C504.84 -64 512 -56.84 512 -48C512 -21.49 490.51 0 464 0zM104 32H312C316.42 32 320 35.58 320 40V56C320 60.42 316.42 64 312 64H104C99.58 64 96 60.42 96 56V40C96 35.58 99.58 32 104 32z" glyph-name="microscope" horiz-adv-x="512" unicode=""/><glyph d="M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM124 152C117.4 152 112 157.4 112 164V220C112 226.6 117.4 232 124 232H388C394.6 232 400 226.6 400 220V164C400 157.4 394.6 152 388 152H124z" glyph-name="minus-circle" horiz-adv-x="512" unicode=""/><glyph d="M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM92 152C85.4 152 80 157.4 80 164V220C80 226.6 85.4 232 92 232H356C362.6 232 368 226.6 368 220V164C368 157.4 362.6 152 356 152H92z" glyph-name="minus-square" horiz-adv-x="448" unicode=""/><glyph d="M416 240H32C14.33 240 0 225.67 0 208V176C0 158.33 14.33 144 32 144H416C433.67 144 448 158.33 448 176V208C448 225.67 433.67 240 416 240z" glyph-name="minus" horiz-adv-x="448" unicode=""/><glyph d="M368 32H48C39.2 32 32 24.8 32 16V-48C32 -56.8 39.2 -64 48 -64H368C376.8 -64 384 -56.8 384 -48V16C384 24.8 376.8 32 368 32zM425 241.1C397.8 263.7 357.5 260.1 334.9 232.9L314 207.9L284.4 336.3C266.4 413.8 189 462.2 111.6 444.3C34.2 426.4 -14.2 349.1 3.7 271.6L51.6 64H360.6L433.1 151C455.8 178.2 452.1 218.5 425 241.1z" glyph-name="mitten" horiz-adv-x="448" unicode=""/><glyph d="M272 448H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H272C298.5 -64 320 -42.5 320 -16V400C320 426.5 298.5 448 272 448zM160 -32C142.3 -32 128 -17.7 128 0S142.3 32 160 32S192 17.7 192 0S177.7 -32 160 -32zM272 76C272 69.4 266.6 64 260 64H60C53.4 64 48 69.4 48 76V388C48 394.6 53.4 400 60 400H260C266.6 400 272 394.6 272 388V76z" glyph-name="mobile-alt" horiz-adv-x="320" unicode=""/><glyph d="M272 448H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H272C298.5 -64 320 -42.5 320 -16V400C320 426.5 298.5 448 272 448zM160 -32C142.3 -32 128 -17.7 128 0S142.3 32 160 32S192 17.7 192 0S177.7 -32 160 -32z" glyph-name="mobile" horiz-adv-x="320" unicode=""/><glyph d="M352 160H336V248C336 252.42 332.42 256 328 256H314.42C309.68 256 305.05 254.6 301.11 251.97L285.7800000000001 241.75A7.993999999999999 7.993999999999999 0 0 1 283.56 230.66L292.44 217.35A7.993999999999999 7.993999999999999 0 0 1 303.53 215.13L304 215.44V160H288C283.58 160 280 156.42 280 152V136C280 131.58 283.58 128 288 128H352C356.42 128 360 131.58 360 136V152C360 156.42 356.42 160 352 160zM608 384H32C14.33 384 0 369.67 0 352V32C0 14.33 14.33 0 32 0H608C625.67 0 640 14.33 640 32V352C640 369.67 625.67 384 608 384zM48 48V112C83.35 112 112 83.35 112 48H48zM48 272V336H112C112 300.65 83.35 272 48 272zM320 80C266.98 80 224 130.15 224 192C224 253.86 266.98 304 320 304S416 253.86 416 192C416 130.13 373 80 320 80zM592 48H528C528 83.35 556.65 112 592 112V48zM592 272C556.65 272 528 300.65 528 336H592V272z" glyph-name="money-bill-alt" horiz-adv-x="640" unicode=""/><glyph d="M621.16 393.54C582.37 409.81 543.55 416 504.75 416C381.58 416.01 258.42 353.66 135.25 353.66C104.36 353.66 73.49 357.58 42.6 367.38C39.13 368.48 35.65 369 32.25 369C15.04 369 0 355.68 0 337.19V19.93C0 7.3 7.23 -4.67 18.84 -9.53C57.63 -25.81 96.45 -32 135.25 -32C258.42 -32 381.5900000000001 30.35 504.76 30.35C535.65 30.35 566.52 26.43 597.41 16.63C600.88 15.53 604.36 15.01 607.76 15.01C624.97 15.01 640.01 28.33 640.01 46.82V364.07C640 376.71 632.77 388.67 621.16 393.54zM320 96C275.81 96 240 138.99 240 192C240 245.02 275.82 288 320 288S400 245.02 400 192C400 138.97 364.17 96 320 96z" glyph-name="money-bill-wave-alt" horiz-adv-x="640" unicode=""/><glyph d="M621.16 393.54C582.37 409.81 543.55 416 504.75 416C381.58 416.01 258.42 353.66 135.25 353.66C104.36 353.66 73.49 357.58 42.6 367.38C39.13 368.48 35.65 369 32.25 369C15.04 369 0 355.68 0 337.19V19.93C0 7.3 7.23 -4.67 18.84 -9.53C57.63 -25.81 96.45 -32 135.25 -32C258.42 -32 381.5900000000001 30.35 504.76 30.35C535.65 30.35 566.52 26.43 597.41 16.63C600.88 15.53 604.36 15.01 607.76 15.01C624.97 15.01 640.01 28.33 640.01 46.82V364.07C640 376.71 632.77 388.67 621.16 393.54zM48 315.78C68.12 310.74 89.12 308.2100000000001 110.72 306.85C104.84 277.4600000000001 79 255.31 48 255.31V315.78zM48 30.78V78.56C82.37 78.56 110.18 51.29 111.71 17.16C89.18 18.97 68.12 23.47 48 30.78zM320 96C275.81 96 240 138.99 240 192C240 245.02 275.82 288 320 288S400 245.02 400 192C400 138.97 364.17 96 320 96zM592 68.22C574.48 72.61 556.29 75.0700000000001 537.68 76.66C543.55 102.74 565.18 122.54 592 125.9400000000001V68.22zM592 304.3300000000001C561.11 308.24 537.14 334.0300000000001 536.19 365.8800000000001C555.73 363.7100000000001 574.2800000000001 359.6500000000001 592 353.2200000000001V304.3300000000001z" glyph-name="money-bill-wave" horiz-adv-x="640" unicode=""/><glyph d="M608 384H32C14.33 384 0 369.67 0 352V32C0 14.33 14.33 0 32 0H608C625.67 0 640 14.33 640 32V352C640 369.67 625.67 384 608 384zM48 48V112C83.35 112 112 83.35 112 48H48zM48 272V336H112C112 300.65 83.35 272 48 272zM320 96C275.81 96 240 138.99 240 192C240 245.02 275.82 288 320 288S400 245.02 400 192C400 138.97 364.17 96 320 96zM592 48H528C528 83.35 556.65 112 592 112V48zM592 272C556.65 272 528 300.65 528 336H592V272z" glyph-name="money-bill" horiz-adv-x="640" unicode=""/><glyph d="M608 416H32C14.33 416 0 401.67 0 384V0C0 -17.67 14.33 -32 32 -32H608C625.67 -32 640 -17.67 640 0V384C640 401.67 625.67 416 608 416zM176 120.12V104C176 99.58 172.42 96 168 96H152C147.58 96 144 99.58 144 104V120.29C132.71 120.87 121.73 124.81 112.63 131.6400000000001C108.73 134.5700000000001 108.53 140.41 112.06 143.78L123.81 154.99C126.58 157.63 130.7 157.75 133.94 155.72C137.81 153.3 142.2 152 146.76 152H174.87C181.37 152 186.67 157.92 186.67 165.19C186.67 171.14 183.06 176.38 177.9 177.92L132.9 191.42C114.31 197 101.32 214.84 101.32 234.81C101.32 259.3300000000001 120.37 279.25 143.99 279.88V296C143.99 300.42 147.57 304 151.99 304H167.99C172.41 304 175.99 300.42 175.99 296V279.7100000000001C187.28 279.13 198.26 275.2000000000001 207.36 268.36C211.26 265.43 211.46 259.5900000000001 207.93 256.2200000000001L196.18 245.01C193.41 242.3700000000001 189.29 242.2500000000001 186.05 244.2800000000001C182.18 246.7100000000001 177.79 248.0000000000001 173.23 248.0000000000001H145.12C138.62 248.0000000000001 133.32 242.0800000000001 133.32 234.8100000000001C133.32 228.8600000000001 136.93 223.62 142.09 222.0800000000001L187.09 208.5800000000001C205.68 203 218.67 185.16 218.67 165.1900000000001C218.67 140.6600000000001 199.62 120.7500000000001 176 120.1200000000001zM416 136C416 131.58 412.42 128 408 128H296C291.58 128 288 131.58 288 136V152C288 156.42 291.58 160 296 160H408C412.42 160 416 156.42 416 152V136zM576 136C576 131.58 572.42 128 568 128H488C483.58 128 480 131.58 480 136V152C480 156.42 483.58 160 488 160H568C572.42 160 576 156.42 576 152V136zM576 232C576 227.58 572.42 224 568 224H296C291.58 224 288 227.58 288 232V248C288 252.42 291.58 256 296 256H568C572.42 256 576 252.42 576 248V232z" glyph-name="money-check-alt" horiz-adv-x="640" unicode=""/><glyph d="M0 0C0 -17.67 14.33 -32 32 -32H608C625.67 -32 640 -17.67 640 0V320H0V0zM448 208C448 216.84 455.16 224 464 224H560C568.84 224 576 216.84 576 208V176C576 167.16 568.84 160 560 160H464C455.16 160 448 167.16 448 176V208zM448 88C448 92.42 451.58 96 456 96H568C572.42 96 576 92.42 576 88V72C576 67.58 572.42 64 568 64H456C451.58 64 448 67.58 448 72V88zM64 184C64 188.42 67.58 192 72 192H376C380.42 192 384 188.42 384 184V168C384 163.58 380.42 160 376 160H72C67.58 160 64 163.58 64 168V184zM64 88C64 92.42 67.58 96 72 96H248C252.42 96 256 92.42 256 88V72C256 67.58 252.42 64 248 64H72C67.58 64 64 67.58 64 72V88zM624 416H16C7.16 416 0 408.8400000000001 0 400V352H640V400C640 408.8400000000001 632.84 416 624 416z" glyph-name="money-check" horiz-adv-x="640" unicode=""/><glyph d="M368 0H16C7.16 0 0 -7.16 0 -16V-48C0 -56.84 7.16 -64 16 -64H368C376.84 -64 384 -56.84 384 -48V-16C384 -7.16 376.84 0 368 0zM289.14 347.26A31.97 31.97 0 0 1 279.93 366.7L203.31 443.31C197.06 449.56 186.93 449.56 180.68 443.31L104.08 366.7A31.97 31.97 0 0 1 94.87 347.26L64 32H320L289.14 347.26zM240 140.8C240 134.4 233.6 128 227.2 128H156.8C150.4 128 144 134.4 144 140.8V179.2C144 185.6 150.4 192 156.8 192H227.2C233.6 192 240 185.6 240 179.2V140.8z" glyph-name="monument" horiz-adv-x="384" unicode=""/><glyph d="M283.211 -64C362.173 -64 434.29 -28.075 482.068 30.792C489.136 39.5000000000001 481.429 52.222 470.506 50.1420000000001C346.303 26.4880000000001 232.244 121.7180000000001 232.244 247.0960000000001C232.244 319.3180000000001 270.906 385.7310000000001 333.742 421.4900000000001C343.428 427.0020000000001 340.992 441.6870000000001 329.986 443.7200000000001A258.156 258.156 0 0 1 283.211 448C141.902 448 27.211 333.4890000000001 27.211 192C27.211 50.691 141.722 -64 283.211 -64z" glyph-name="moon" horiz-adv-x="512" unicode=""/><glyph d="M501.54 387.0900000000001C518.76 404.31 514.0500000000001 433.3400000000001 492.27 444.23A35.696 35.696 0 0 1 454.9 440.86L251.09 288H402.4600000000001L501.54 387.0900000000001zM496 256H16C7.16 256 0 248.84 0 240V208C0 199.16 7.16 192 16 192H32C32 111.02 82.2 41.89 153.13 13.68C140.37 -3.19 131.41 -23.12 128.18 -45.01C126.72 -54.93 134.22 -63.99 144.25 -63.99H367.75C377.78 -63.99 385.28 -54.93 383.82 -45.01C380.6 -23.12 371.64 -3.19 358.87 13.68C429.8 41.89 480 111.02 480 192H496C504.84 192 512 199.16 512 208V240C512 248.84 504.84 256 496 256z" glyph-name="mortar-pestle" horiz-adv-x="512" unicode=""/><glyph d="M0 -32C0 -49.67 14.33 -64 32 -64H96C113.67 -64 128 -49.67 128 -32V288H0V-32zM579.16 160C597.02 177.39 608 197.34 608 218.91C608 271.77 566.21 312.7 520.08 341.81C478.14 368.28 439.4500000000001 399.58 408.1200000000001 438.03L400 448L391.88 438.03C360.55 399.58 321.87 368.27 279.92 341.81C233.79 312.7 192 271.77 192 218.91C192 197.34 202.98 177.39 220.84 160H579.16zM608 128H192C174.33 128 160 113.67 160 96V-32C160 -49.67 174.33 -64 192 -64H224V0C224 17.67 238.33 32 256 32S288 17.67 288 0V-64H352V8C352 56 400 80 400 80S448 56 448 8V-64H512V0C512 17.67 526.33 32 544 32S576 17.67 576 0V-64H608C625.67 -64 640 -49.67 640 -32V96C640 113.67 625.67 128 608 128zM64 448S0 416 0 352V320H128V352C128 416 64 448 64 448z" glyph-name="mosque" horiz-adv-x="640" unicode=""/><glyph d="M512.949 255.997C498.0869999999999 256.105 483.809 253.675 470.515 249.123L437.589 304H520C533.255 304 544 314.745 544 328V360C544 373.255 533.255 384 520 384H474.689A24 24 0 0 1 456.85 376.055L419.3540000000001 334.392L396.5800000000001 372.348A24 24 0 0 1 376 384H296C287.163 384 280 376.837 280 368V352C280 343.163 287.163 336 296 336H362.411L381.611 304H227.904C210.177 327.073 182.98 344 128 344H72.54C59.085 344 47.749 332.9890000000001 48.004 319.536C48.252 306.495 58.9 296 72 296H128C152.504 296 166.686 285.081 175.787 271.231L164.496 250.702C151.49 254.567 137.625 256.438 123.245 255.912C55.857 253.451 1.565 198.395 0.034 130.979C-1.603 58.924 56.317 0 128 0C187.642 0 237.744 40.794 251.953 96H336.189C349.862 96 360.778 107.421 360.165 121.077C358.0470000000001 168.197 377.687 214.742 416.35 246.103L428.8350000000001 225.295C401.189 201.641 383.7380000000001 166.415 384.004 127.116C384.4740000000001 57.56 441.207 0.664 510.762 0.006C582.391 -0.672 640.601 57.493 639.996 129.105C639.408 198.696 582.5409999999999 255.491 512.949 255.997zM128 48C83.888 48 48 83.888 48 128S83.888 208 128 208C132.242 208 136.405 207.659 140.469 207.018L98.97 131.566C90.187 115.593 101.762 96 120 96H201.297C188.927 67.775 160.737 48 128 48zM516.351 48.116C470.272 45.663 432 82.446 432 128C432 149.363 440.4340000000001 168.781 454.125 183.144L503.537 100.792C508.083 93.215 517.912 90.758 525.489 95.304L539.2090000000001 103.5360000000001C546.7860000000001 108.0820000000001 549.243 117.9110000000001 544.6970000000001 125.4880000000001L496.1410000000001 206.4150000000001A80.005 80.005 0 0 0 512 208C557.554 208 594.338 169.727 591.884 123.648C589.724 83.09 556.91 50.276 516.351 48.116z" glyph-name="motorcycle" horiz-adv-x="640" unicode=""/><glyph d="M634.92 -14.7L346.92 433.3C341.03 442.46 330.89 448 320 448S298.9700000000001 442.46 293.08 433.3L5.08 -14.7A32.001 32.001 0 0 1 3.91 -47.34A32.004 32.004 0 0 1 32 -64H608C619.71 -64 630.48 -57.61 636.09 -47.33A31.982999999999997 31.982999999999997 0 0 1 634.9200000000001 -14.7zM320 356.82L405.39 224H320L256 160L217.94 198.06L320 356.82z" glyph-name="mountain" horiz-adv-x="640" unicode=""/><glyph d="M302.189 118.874H196.105L251.936 -17.119C255.825 -26.547 251.381 -37.118 242.492 -41.118L193.327 -62.545C184.162 -66.5450000000001 173.884 -61.974 169.995 -52.831L116.942 76.305L30.278 -12.8330000000001C18.729 -24.71 0 -15.554 0 0.023V429.701C0 446.101 19.921 454.096 30.277 442.557L314.689 150.0150000000001C326.161 138.8360000000001 317.696 118.874 302.189 118.874z" glyph-name="mouse-pointer" horiz-adv-x="320" unicode=""/><glyph d="M127.1 301.5C128.4 293.8 135.1 288 143.1 288H159.6C169.4 288 177.2 296.5 175.9 306C172.1 334.2 159.5 360.2 139.3 380.7C124.9 395.4 115.7 414 112.9 434.2C111.8 442.1 105 448 96.8 448H80.4C70.6 448 63 439.5 64.1 430C68 398.1 82.1 368.7 104.7 345.6C116.7 333.4 124.4 318.1 127.1 301.5zM239.1 301.5C240.4 293.8 247.1 288 255.1 288H271.6C281.4000000000001 288 289.2000000000001 296.5 287.9000000000001 306C284.1 334.2 271.5000000000001 360.2 251.3000000000001 380.7C236.9000000000001 395.4 227.7000000000001 414 224.9 434.2C223.8 442.1 217 448 208.8 448H192.4C182.6 448 174.9 439.5 176.1 430C180 398.1 194.1 368.7 216.7 345.6C228.7 333.4 236.4 318.1 239.1 301.5zM400 256H32C14.3 256 0 241.7 0 224V32C0 -21 43 -64 96 -64H288C341 -64 384 -21 384 32H400C461.8 32 512 82.2 512 144S461.8 256 400 256zM400 96H384V192H400C426.5 192 448 170.5 448 144S426.5 96 400 96z" glyph-name="mug-hot" horiz-adv-x="512" unicode=""/><glyph d="M511.99 415.99C511.99 437.7 490.89 453 470.39 446.5L150.4 352C137.1 347.8 128 335.5 128 321.5V60.08C117.95 62.46 107.28 64 96 64C42.98 64 0 35.35 0 0S42.98 -64 96 -64S192 -35.35 192 0V233.69L448 308.71V124.08C437.95 126.46 427.28 128 416 128C362.98 128 320 99.35 320 64S362.98 0 416 0S512 28.65 512 64L511.99 415.99z" glyph-name="music" horiz-adv-x="512" unicode=""/><glyph d="M640 184V200C640 208.84 632.84 216 624 216H344V256H416C433.67 256 448 270.3300000000001 448 288V416C448 433.67 433.67 448 416 448H224C206.33 448 192 433.67 192 416V288C192 270.33 206.33 256 224 256H296V216H16C7.16 216 0 208.84 0 200V184C0 175.16 7.16 168 16 168H120V128H64C46.33 128 32 113.67 32 96V-32C32 -49.67 46.33 -64 64 -64H224C241.67 -64 256 -49.67 256 -32V96C256 113.67 241.67 128 224 128H168V168H472V128H416C398.33 128 384 113.67 384 96V-32C384 -49.67 398.33 -64 416 -64H576C593.67 -64 608 -49.67 608 -32V96C608 113.67 593.67 128 576 128H520V168H624C632.84 168 640 175.16 640 184zM256 320V384H384V320H256zM192 0H96V64H192V0zM544 0H448V64H544V0z" glyph-name="network-wired" horiz-adv-x="640" unicode=""/><glyph d="M288 272C288 351.5 223.5 416 144 416S0 351.5 0 272C0 203.5 47.9 146.1 112 131.6V-20C112 -26.6 117.4 -32 124 -32H164C170.6 -32 176 -26.6 176 -20V131.6C240.1 146.1 288 203.5 288 272zM144 192C99.9 192 64 227.9 64 272S99.9 352 144 352S224 316.1 224 272S188.1 192 144 192z" glyph-name="neuter" horiz-adv-x="288" unicode=""/><glyph d="M552 384H88C74.745 384 64 373.255 64 360V352H24C10.745 352 0 341.255 0 328V56C0 25.072 25.072 0 56 0H528C554.51 0 576 21.49 576 48V360C576 373.255 565.255 384 552 384zM56 48A8 8 0 0 0 48 56V304H64V56A8 8 0 0 0 56 48zM292 64H140C133.373 64 128 69.373 128 76V84C128 90.627 133.373 96 140 96H292C298.627 96 304 90.627 304 84V76C304 69.373 298.627 64 292 64zM500 64H348C341.373 64 336 69.373 336 76V84C336 90.627 341.373 96 348 96H500C506.627 96 512 90.627 512 84V76C512 69.373 506.627 64 500 64zM292 160H140C133.373 160 128 165.373 128 172V180C128 186.627 133.373 192 140 192H292C298.627 192 304 186.627 304 180V172C304 165.373 298.627 160 292 160zM500 160H348C341.373 160 336 165.373 336 172V180C336 186.627 341.373 192 348 192H500C506.627 192 512 186.627 512 180V172C512 165.373 506.627 160 500 160zM500 256H140C133.373 256 128 261.373 128 268V308C128 314.627 133.373 320 140 320H500C506.627 320 512 314.627 512 308V268C512 261.373 506.627 256 500 256z" glyph-name="newspaper" horiz-adv-x="576" unicode=""/><glyph d="M416 240C433.67 240 448 254.33 448 272V304C448 321.67 433.67 336 416 336H392.12L443.99 402.81C449.36 409.83 448.0300000000001 419.87 441.02 425.24L415.61 444.7C408.5900000000001 450.08 398.55 448.74 393.17 441.73L311.09 336H32C14.33 336 0 321.67 0 304V272C0 254.33 14.33 240 32 240H236.56L162.03 144H32C14.33 144 0 129.67 0 112V80C0 62.33 14.33 48 32 48H87.49L35.62 -18.81C30.25 -25.82 31.58 -35.86 38.59 -41.24L64 -60.7C71.02 -66.08 81.06 -64.74 86.43 -57.73L168.52 48H416C433.67 48 448 62.33 448 80V112C448 129.67 433.67 144 416 144H243.05L317.5800000000001 240H416z" glyph-name="not-equal" horiz-adv-x="448" unicode=""/><glyph d="M336 384H256C256 419.3 227.3 448 192 448S128 419.3 128 384H48C21.5 384 0 362.5 0 336V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V336C384 362.5 362.5 384 336 384zM192 408C205.3 408 216 397.3 216 384S205.3 360 192 360S168 370.7 168 384S178.7 408 192 408zM288 104C288 99.6 284.4 96 280 96H224V40C224 35.6 220.4 32 216 32H168C163.6 32 160 35.6 160 40V96H104C99.6 96 96 99.6 96 104V152C96 156.4 99.6 160 104 160H160V216C160 220.4 163.6 224 168 224H216C220.4 224 224 220.4 224 216V160H280C284.4 160 288 156.4 288 152V104zM288 296C288 291.6 284.4 288 280 288H104C99.6 288 96 291.6 96 296V312C96 316.4 99.6 320 104 320H280C284.4 320 288 316.4 288 312V296z" glyph-name="notes-medical" horiz-adv-x="384" unicode=""/><glyph d="M480 320V352H500C506.627 352 512 357.373 512 364V404C512 410.627 506.627 416 500 416H460C453.373 416 448 410.627 448 404V384H64V404C64 410.627 58.627 416 52 416H12C5.373 416 0 410.627 0 404V364C0 357.373 5.373 352 12 352H32V32H12C5.373 32 0 26.627 0 20V-20C0 -26.627 5.373 -32 12 -32H52C58.627 -32 64 -26.627 64 -20V0H448V-20C448 -26.627 453.373 -32 460 -32H500C506.627 -32 512 -26.627 512 -20V20C512 26.627 506.627 32 500 32H480V320zM96 172V308C96 314.627 101.373 320 108 320H276C282.627 320 288 314.627 288 308V172C288 165.373 282.627 160 276 160H108C101.373 160 96 165.373 96 172zM416 76C416 69.373 410.627 64 404 64H236C229.373 64 224 69.373 224 76V128H296C309.255 128 320 138.745 320 152V224H404C410.627 224 416 218.627 416 212V76z" glyph-name="object-group" horiz-adv-x="512" unicode=""/><glyph d="M64 128V102A6 6 0 0 0 58 96H6A6 6 0 0 0 0 102V154A6 6 0 0 0 6 160H32V352H6A6 6 0 0 0 0 358V410A6 6 0 0 0 6 416H58A6 6 0 0 0 64 410V384H352V410A6 6 0 0 0 358 416H410A6 6 0 0 0 416 410V358A6 6 0 0 0 410 352H384V160H410A6 6 0 0 0 416 154V102A6 6 0 0 0 410 96H358A6 6 0 0 0 352 102V128H64zM544 192V224H570A6 6 0 0 1 576 230V282A6 6 0 0 1 570 288H518A6 6 0 0 1 512 282V256H408V184H416C429.255 184 440 173.255 440 160V96C440 82.745 429.255 72 416 72H352C338.745 72 328 82.745 328 96V104H192V32H166A6 6 0 0 1 160 26V-26A6 6 0 0 1 166 -32H218A6 6 0 0 1 224 -26V0H512V-26A6 6 0 0 1 518 -32H570A6 6 0 0 1 576 -26V26A6 6 0 0 1 570 32H544V192z" glyph-name="object-ungroup" horiz-adv-x="576" unicode=""/><glyph d="M629.8 287.69L416 224L365.51 249.24A64.07 64.07 0 0 1 336.89 256H280V304H336C344.84 304 352 311.16 352 320V336C352 344.8400000000001 344.84 352 336 352H176C167.16 352 160 344.8400000000001 160 336V320C160 311.16 167.16 304 176 304H232V256H176L37.72 281.14A31.899999999999995 31.899999999999995 0 0 1 31.93 281.67C14.67 281.67 0 267.64 0 249.66V154.71C0 139.25 11.06 125.99 26.28 123.23L96 110.54V64C96 46.33 110.33 32 128 32H402.63C411.18 32 419.38 35.42 425.39 41.51L637.65 256.26C639.15 257.76 639.99 259.8 639.99 261.92V280C640 285.31 634.91 289.15 629.8 287.69zM96 159.33L48 168.06V230.49L96 221.76V159.3300000000001zM549.3299999999999 74.67C549.3299999999999 51.11 568.43 31.9999999999999 591.9999999999999 31.9999999999999S634.6699999999998 51.1 634.6699999999998 74.67S592 160 592 160S549.33 98.23 549.33 74.67z" glyph-name="oil-can" horiz-adv-x="640" unicode=""/><glyph d="M360.6 387.06A10.43 10.43 0 0 1 375.36 387.06L396.93 408.62A10.43 10.43 0 0 1 396.93 423.38L375.35 444.94C371.2700000000001 449.01 364.67 449.01 360.5900000000001 444.94L339.0200000000001 423.38A10.43 10.43 0 0 1 339.0200000000001 408.62L360.6 387.06zM412.11 256C385.42 256 360.3400000000001 245.61 341.4700000000001 226.75L317.2200000000001 202.5C310.4400000000001 195.73 301.4400000000001 192 291.8400000000001 192H245C255.54 214.1 259.17 240.11 252.73 267.23C242.63 309.7800000000001 206.37 343.3400000000001 163.21 350.42C127.06 356.35 92.31 345.38 67.2 321.64C59.84 314.68 60.23 302.79 68.32 296.7100000000001L94.47 277.0800000000001C100.19 272.78 108.13 272.76 113.67 277.29C122.12 284.1900000000001 132.69 288 143.94 288C170.41 288 191.95 266.4700000000001 191.95 240.0000000000001S170.41 192 143.94 192H112.04C100.08 192 92.3 179.42 97.65 168.72L113.74 136.55C116.27 131.49 121.34 128.45 126.91 128H159.94C195.24 128 223.95 99.3 223.95 64S195.24 0 159.94 0C63.92 0 37.59 54.02 14.79 92.03C10.26 99.58 0.02 95.61 0 86.81C-0.09 32 41.13 -64 159.94 -64C230.53 -64 287.9600000000001 -6.58 287.9600000000001 64C287.9600000000001 87.42 281.1800000000001 109.1 270.1500000000001 128H291.8400000000001C318.5300000000001 128 343.61 138.39 362.48 157.25L386.73 181.5C393.51 188.27 402.51 192 412.11 192C431.89 192 447.99 175.91 447.99 156.12V56C447.99 42.77 429.2200000000001 32 415.98 32C376.5800000000001 32 349.31 56.24 334.1600000000001 74.89C329.3900000000001 80.76 319.9600000000001 77.43 319.9600000000001 69.87V32S319.9600000000001 -32 415.98 -32C464.52 -32 512 7.47 512 56V156.12C512 211.2 467.2 256 412.11 256zM454.29 380.73C368.74 315.61 285.24 377.98 281.7100000000001 380.68C275.6900000000001 385.3 267.2700000000001 385.06 261.5700000000001 380.13C255.8300000000001 375.2100000000001 254.3000000000001 366.9600000000001 257.9100000000001 360.3300000000001C259.5200000000001 357.38 298.2800000000001 287.99 376.7100000000001 287.99C456.6300000000001 287.99 475.49 319.35 478.46 325.65C479.48 327.77 479.99 330.12 479.99 332.48V368C479.99 381.2200000000001 464.85 388.69 454.29 380.73z" glyph-name="om" horiz-adv-x="512" unicode=""/><glyph d="M608 416H576L562.75 429.25A63.97 63.97 0 0 1 517.49 448H497C485.86 448 474.92 445.09 465.25 439.57L312 352H256C149.96 352 64 266.04 64 160V158.39C64 125.64 48 96.25 24.44 73.5C6.25 55.92 -3.66 29.82 1.25 1.7C8.01 -37.1 44.15 -64 83.53 -64H192C209.67 -64 224 -49.67 224 -32S209.67 0 192 0H80C71.17 0 64 7.17 64 16S71.17 32 80 32H304C312.84 32 320 39.16 320 48V64C320 81.67 305.67 96 288 96H224L373.49 176.5L448 32H528C536.84 32 544 39.16 544 48V64C544 81.67 529.67 96 512 96H483.78L428.67 206.21L521.14 256H544C597.02 256 640 298.98 640 352V384C640 401.67 625.67 416 608 416zM512 400C520.84 400 528 392.8400000000001 528 384S520.84 368 512 368S496 375.16 496 384S503.16 400 512 400zM544 304H509.04L407.2 249.16L393.43 276.7100000000001L512 336H589.05C582.43 317.42 564.8299999999999 304 544 304z" glyph-name="otter" horiz-adv-x="640" unicode=""/><glyph d="M0 364V404C0 412.837 7.163 420 16 420H432C440.837 420 448 412.837 448 404V364C448 355.163 440.837 348 432 348H16C7.163 348 0 355.163 0 364zM208 220H432C440.837 220 448 227.163 448 236V276C448 284.837 440.837 292 432 292H208C199.163 292 192 284.837 192 276V236C192 227.163 199.163 220 208 220zM16 -36H432C440.837 -36 448 -28.837 448 -20V20C448 28.837 440.837 36 432 36H16C7.163 36 0 28.837 0 20V-20C0 -28.837 7.163 -36 16 -36zM208 92H432C440.837 92 448 99.163 448 108V148C448 156.837 440.837 164 432 164H208C199.163 164 192 156.837 192 148V108C192 99.163 199.163 92 208 92zM4.687 180.687L100.687 84.703C110.734 74.652 128 81.776 128 96.016V287.992C128 302.3210000000001 110.675 309.296 100.687 299.305L4.687 203.313C-1.562 197.065 -1.562 186.935 4.687 180.687z" glyph-name="outdent" horiz-adv-x="448" unicode=""/><glyph d="M167.02 138.66C126.9 136.0800000000001 90.49 120.8 69.83 66.36C67.48 60.15 61.83 56.38 55.24 56.38C44.13 56.38 9.78 84.05 -0.01 90.73C0 8.38 37.93 -64 128 -64C203.86 -64 256 -20.23 256 56.19C256 59.3 255.35 62.27 255.03 65.32L167.02 138.66zM457.89 448C442.73 448 428.52 441.29 417.68 431.55C213.27 248.95 192 244.66 192 190.91C192 177.21 195.25 164.15 200.73 152.21L264.55 99.03C271.76 97.23 279.19 96.0000000000001 286.94 96.0000000000001C349.05 96.0000000000001 385.05 141.47 498.1 352.4600000000001C505.48 366.8100000000001 512 382.3100000000001 512 398.4500000000001C512 427.36 486 448 457.89 448z" glyph-name="paint-brush" horiz-adv-x="512" unicode=""/><glyph d="M416 320V416C416 433.67 401.67 448 384 448H32C14.33 448 0 433.67 0 416V320C0 302.33 14.33 288 32 288H384C401.67 288 416 302.3300000000001 416 320zM448 384V256C448 238.33 433.67 224 416 224H256C220.65 224 192 195.35 192 160V128C174.33 128 160 113.67 160 96V-32C160 -49.67 174.33 -64 192 -64H256C273.67 -64 288 -49.67 288 -32V96C288 113.67 273.67 128 256 128V160H416C469.02 160 512 202.98 512 256V320C512 355.35 483.35 384 448 384z" glyph-name="paint-roller" horiz-adv-x="512" unicode=""/><glyph d="M204.3 443C104.9 423.6 24.8 343.7 5.2 244.6C-31.8 57.6 136.9 -81.7999999999999 264 -62.1C305.2 -55.7 325.4 -7.5 306.5 29.6C283.4 74.9999999999999 316.4 128 367.4 128H447.1C482.9 128 511.9 157.6 512 193.3C511.5 350.9 368.1 474.9 204.3 443zM96 128C78.3 128 64 142.3 64 160S78.3 192 96 192S128 177.7 128 160S113.7 128 96 128zM128 256C110.3 256 96 270.3 96 288S110.3 320 128 320S160 305.7 160 288S145.7 256 128 256zM256 320C238.3 320 224 334.3 224 352S238.3 384 256 384S288 369.7 288 352S273.7 320 256 320zM384 256C366.3 256 352 270.3 352 288S366.3 320 384 320S416 305.7 416 288S401.7 256 384 256z" glyph-name="palette" horiz-adv-x="512" unicode=""/><glyph d="M144 192H496C504.8 192 512 199.2 512 208V432C512 440.8 504.8 448 496 448H384V320L320 352L256 320V448H144C135.2 448 128 440.8 128 432V208C128 199.2 135.2 192 144 192zM624 64C632.8 64 640 71.2 640 80V112C640 120.8 632.8 128 624 128H16C7.2 128 0 120.8 0 112V80C0 71.2 7.2 64 16 64H64V0H16C7.2 0 0 -7.2 0 -16V-48C0 -56.8 7.2 -64 16 -64H624C632.8 -64 640 -56.8 640 -48V-16C640 -7.2 632.8 0 624 0H576V64H624zM288 0H128V64H288V0zM512 0H352V64H512V0z" glyph-name="pallet" horiz-adv-x="640" unicode=""/><glyph d="M476 444.8L12.5 177.4C-5.6 167 -3.3 141.8 14.7 134.2L121 89.6L408.3 342.8C413.8 347.7000000000001 421.6 340.2000000000001 416.9000000000001 334.5L176 41V-39.5C176 -63.1 204.5 -72.4 218.5 -55.3L282 22L406.6 -30.2C420.8 -36.2 437 -27.3 439.6 -12L511.6 420C515 440.2 493.3 454.8 476 444.8z" glyph-name="paper-plane" horiz-adv-x="512" unicode=""/><glyph d="M43.246 -18.142C-15.184 42.147 -14.095 139.369 44.632 199.439L254.392 414C298.708 459.332 370.743 459.336 415.063 414C458.953 369.106 459.006 296.671 415.063 251.724L232.214 64.872C202.359 34.335 153.581 34.761 124.232 65.87C95.957 95.84 96.864 143.343 125.684 172.823L269.427 319.658C275.6090000000001 325.972 285.7390000000001 326.08 292.053 319.899L314.914 297.52C321.229 291.338 321.336 281.208 315.155 274.894L171.427 128.073C166.495 123.028 166.191 114.645 170.779 109.781C175.151 105.1469999999999 182.024 105.0699999999999 186.467 109.6159999999999L369.316 296.467C388.929 316.529 388.929 349.1919999999999 369.305 369.265C350.116 388.892 319.348 388.902 300.151 369.265L90.39 154.705C55.627 119.145 55.091 61.585 89.199 26.392C123.209 -8.701 178.184 -8.745 212.257 26.106L384.317 202.105C390.4940000000001 208.424 400.624 208.538 406.943 202.361L429.82 179.997C436.139 173.82 436.254 163.69 430.076 157.3710000000001L258.016 -18.627C198.44 -79.5649999999999 102.073 -78.843 43.246 -18.1419999999999z" glyph-name="paperclip" horiz-adv-x="448" unicode=""/><glyph d="M511.9 273C502.8 348.6 433.5 405.4 353.6 431.7C390 392.3 416 331.1 416 256H444.1L327.5 126.5C325 127.1 322.7 128 320 128H272V256H384C384 371.2 315.1 448 256 448S128 371.2 128 256H240V128H192C189.3 128 187 127.1 184.5 126.5L67.9 256H96C96 331.1 122 392.3 158.4 431.7C78.5 405.3 9.2 348.5 0.1 273C-1 263.9 6.9 256 16.1 256H24.8L161.5 104.1C160.8 101.5 159.9 98.9 159.9 96V-32C159.9 -49.7 174.2 -64 191.9 -64H319.9C337.6 -64 351.9 -49.7 351.9 -32V96C351.9 98.9 351 101.4 350.3 104.1L487.1 256H495.8C505.1 256 513 263.8 511.9 273z" glyph-name="parachute-box" horiz-adv-x="512" unicode=""/><glyph d="M408 416H177.531C88.948 416 16.045 344.665 16 256.082C15.956 167.679 87.607 96 176 96V-8C176 -21.255 186.745 -32 200 -32H232C245.255 -32 256 -21.255 256 -8V336H288V-8C288 -21.255 298.745 -32 312 -32H344C357.255 -32 368 -21.255 368 -8V336H408C421.255 336 432 346.745 432 360V392C432 405.255 421.255 416 408 416z" glyph-name="paragraph" horiz-adv-x="448" unicode=""/><glyph d="M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM240 128H192V80C192 71.2 184.8 64 176 64H144C135.2 64 128 71.2 128 80V304C128 312.8 135.2 320 144 320H240C292.9 320 336 276.9 336 224S292.9 128 240 128zM240 256H192V192H240C257.6 192 272 206.4 272 224S257.6 256 240 256z" glyph-name="parking" horiz-adv-x="448" unicode=""/><glyph d="M129.62 272H168.71C170.2 299.03 175.25 323.35 182.92 342.41C155.21 329.17 134.9 303.2200000000001 129.62 272zM129.62 240C134.91 208.78 155.21 182.83 182.92 169.59C175.24 188.65 170.2 212.97 168.71 240.0000000000001H129.62zM224 161.31C231.69 168.76 244.77 195.73 247.43 240H200.56C203.23 195.74 216.31 168.76 224 161.31zM200.57 272H247.44C244.78 316.26 231.7 343.24 224.01 350.69C216.31 343.24 203.23 316.26 200.57 272zM265.08 169.59C292.79 182.8300000000001 313.1 208.78 318.38 240.0000000000001H279.29C277.8 212.97 272.76 188.65 265.08 169.59zM416 448H64C28.65 448 0 419.35 0 384V0C0 -35.35 28.65 -64 64 -64H416C433.67 -64 448 -49.67 448 -32V416C448 433.67 433.67 448 416 448zM336 32H112C103.2 32 96 39.2 96 48S103.2 64 112 64H336C344.8 64 352 56.8 352 48S344.8 32 336 32zM224 128C153.31 128 96 185.31 96 256S153.31 384 224 384S352 326.69 352 256S294.69 128 224 128zM265.08 342.41C272.76 323.35 277.8 299.03 279.29 272H318.38C313.1 303.2200000000001 292.79 329.17 265.08 342.41z" glyph-name="passport" horiz-adv-x="448" unicode=""/><glyph d="M624.54 100.33C591.8399999999999 112.85 567.18 96.08 549.17 83.88C532.11 72.35 525.92 69.46 517.76 72.52C509.64 75.61 506.93 81.9 501.87 101.9C498.54 115.05 494.43 131.22 483.92 144.55C486.16 147.46 488.35 150.34 490.3 153.12C500.47 143.55 513.71 136 532 136C565.95 136 582.87 161.78 594.06 178.83C604.65 194.97 609.06 200 616 200C629.25 200 640 210.75 640 224S629.25 248 616 248C582.05 248 565.13 222.22 553.94 205.17C543.34 189.03 538.94 184 532 184C514.69 184 494.52 245.43 434.74 285.91L451.99 320.41C485.43 322.5 512 350.02 512 384C512 419.35 483.35 448 448 448S384 419.35 384 384C384 370.98 387.94 358.9 394.62 348.79L376.4700000000001 312.49C359.49 317.0900000000001 340.87 320 320.0100000000001 320S280.5200000000001 317.0900000000001 263.5500000000001 312.49L245.4000000000001 348.79C252.06 358.9 256 370.98 256 384C256 419.35 227.35 448 192 448S128 419.35 128 384C128 350.02 154.56 322.5 188.02 320.4L205.27 285.9C145.68 245.56 125.15 184 108 184C101.06 184 96.66 189.03 86.06 205.17C74.88 222.22 57.96 248 24 248C10.75 248 0 237.25 0 224S10.75 200 24 200C30.94 200 35.34 194.97 45.94 178.83C57.13 161.78 74.05 136 108 136C126.29 136 139.53 143.55 149.7 153.11C151.65 150.32 153.84 147.45 156.08 144.54C145.57 131.21 141.46 115.04 138.13 101.89C133.07 81.89 130.36 75.61 122.24 72.5100000000001C114.13 69.4500000000001 107.91 72.34 90.83 83.8700000000001C72.8 96.0700000000001 48.11 112.7900000000001 15.46 100.3200000000001C3.07 95.6 -3.13 81.7400000000001 1.59 69.35C6.31 56.94 20.2 50.74 32.56 55.47C40.72 58.56 46.9 55.66 63.95 44.11C77.5 34.95 94.78 23.25 116.37 23.27C123.54 23.27 131.2 24.55 139.34 27.66C172 40.1 179.32 68.99 184.67 90.1C186.88 98.8200000000001 188.66 104.59 190.62 108.97C207.24 95.36 227.57 83.09 252.26 74.8C242.3 37.8 220.08 -16 192 -16C178.75 -16 168 -26.75 168 -40S178.75 -64 192 -64C258.74 -64 289.05 24.63 299.42 65.14C306.11 64.54 312.8400000000001 64 320 64S333.89 64.54 340.58 65.14C350.95 24.63 381.26 -64 448 -64C461.25 -64 472 -53.25 472 -40S461.25 -16 448 -16C420.06 -16 397.79 37.81 387.78 74.81C412.47 83.1 432.78 95.37 449.4 108.97C451.36 104.59 453.14 98.8200000000001 455.35 90.1C460.6899999999999 68.99 468.02 40.1 500.6799999999999 27.66C508.8199999999999 24.55 516.4799999999999 23.27 523.65 23.27C545.24 23.27 562.52 34.96 576.0699999999999 44.11C593.1199999999999 55.66 599.3499999999999 58.56 607.4599999999999 55.47C619.8499999999999 50.72 633.7299999999999 56.9400000000001 638.43 69.35C643.14 81.75 636.9399999999999 95.61 624.54 100.33zM448 400C456.82 400 464 392.82 464 384S456.82 368 448 368S432 375.18 432 384S439.18 400 448 400zM192 400C200.82 400 208 392.82 208 384S200.82 368 192 368S176 375.18 176 384S183.18 400 192 400z" glyph-name="pastafarianism" horiz-adv-x="640" unicode=""/><glyph d="M128 264C128 294.879 153.122 320 184 320H320V392C320 405.255 309.255 416 296 416H215.39C204.306 435.11 183.637 448 160 448S115.694 435.11 104.61 416H24C10.745 416 0 405.255 0 392V56C0 42.745 10.745 32 24 32H128V264zM160 408C173.255 408 184 397.255 184 384S173.255 360 160 360S136 370.745 136 384S146.745 408 160 408zM344 160H448V-40C448 -53.255 437.255 -64 424 -64H184C170.745 -64 160 -53.255 160 -40V264C160 277.255 170.745 288 184 288H320V184C320 170.8 330.8 160 344 160zM448 198.059V192H352V288H358.0590000000001A24 24 0 0 0 375.029 280.971L440.9700000000001 215.03A24.002000000000002 24.002000000000002 0 0 0 448 198.059z" glyph-name="paste" horiz-adv-x="448" unicode=""/><glyph d="M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM240 112C240 103.2 232.8 96 224 96H176C167.2 96 160 103.2 160 112V272C160 280.8 167.2 288 176 288H224C232.8 288 240 280.8 240 272V112zM352 112C352 103.2 344.8 96 336 96H288C279.2 96 272 103.2 272 112V272C272 280.8 279.2 288 288 288H336C344.8 288 352 280.8 352 272V112z" glyph-name="pause-circle" horiz-adv-x="512" unicode=""/><glyph d="M144 -31H48C21.5 -31 0 -9.5 0 17V369C0 395.5 21.5 417 48 417H144C170.5 417 192 395.5 192 369V17C192 -9.5 170.5 -31 144 -31zM448 17V369C448 395.5 426.5 417 400 417H304C277.5 417 256 395.5 256 369V17C256 -9.5 277.5 -31 304 -31H400C426.5 -31 448 -9.5 448 17z" glyph-name="pause" horiz-adv-x="448" unicode=""/><glyph d="M256 224C176.59 224 64 101.24 64 23.75C64 -11.15 90.81 -32 135.74 -32C184.58 -32 216.83 -6.92 256 -6.92C295.51 -6.92 327.85 -32 376.26 -32C421.19 -32 448 -11.15 448 23.75C448 101.24 335.4100000000001 224 256 224zM108.72 236.61C98.32 271.26 66.28 293.7000000000001 37.16 286.74C8.04 279.78 -7.13 246.05 3.27 211.4C13.67 176.75 45.71 154.31 74.83 161.27C103.95 168.23 119.12 201.96 108.72 236.61zM193.44 257.39C224.38 265.5300000000001 239.86 307.3300000000001 228.02 350.75S181.5 422.76 150.56 414.62S104.14 364.68 115.98 321.26C127.82 277.8400000000001 162.51 249.24 193.44 257.39zM474.83 286.73C445.71 293.6900000000001 413.68 271.25 403.27 236.6C392.87 201.95 408.04 168.22 437.16 161.26C466.28 154.3 498.3099999999999 176.74 508.72 211.39C519.12 246.04 503.95 279.77 474.83 286.73zM318.56 257.39C349.5 249.25 384.18 277.8400000000001 396.0199999999999 321.26C407.8599999999999 364.68 392.38 406.4700000000001 361.44 414.62S295.82 394.17 283.98 350.75C272.14 307.3300000000001 287.62 265.5300000000001 318.56 257.3900000000001z" glyph-name="paw" horiz-adv-x="512" unicode=""/><glyph d="M248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM432 192C432 160.07 423.8 130.03 409.43 103.83L280 207.37V373.03C366.23 357.82 432 282.53 432 192zM216 10.97C182.14 16.9400000000001 151.51 32.17 126.71 53.99L216 125.43V10.97zM280 125.43L369.29 54C344.49 32.18 313.86 16.95 280 10.98V125.43zM216 373.03V207.37L86.57 103.83C72.2 130.03 64 160.07 64 192C64 282.53 129.77 357.82 216 373.03z" glyph-name="peace" horiz-adv-x="496" unicode=""/><glyph d="M497.94 373.83L437.83 433.94C419.08 452.69 388.67 452.69 369.92 433.94L313.37 377.39L441.39 249.37L497.94 305.92C516.69 324.67 516.69 355.0700000000001 497.94 373.8300000000001zM251.14 394.36C235.52 409.98 210.2 409.98 194.58 394.36L75.8 275.57C69.55 269.32 69.55 259.19 75.8 252.95L98.43 230.32C104.68 224.07 114.81 224.07 121.06 230.32L222.88 332.14L245.51 309.52L93.95 157.97A327.038 327.038 0 0 1 0.17 -37.11L0.14 -37.34C-1.56 -52.62 11.35 -65.5400000000001 26.63 -63.85A327.02000000000004 327.02000000000004 0 0 1 221.97 29.95L418.76 226.74L335.99 309.51L251.14 394.36z" glyph-name="pen-alt" horiz-adv-x="512" unicode=""/><glyph d="M79.18 165.06A32.005 32.005 0 0 1 58.94 144.82L0 -32L4.69 -36.69L97.58 56.2C96.92 58.76 96.01 61.23 96.01 64C96.01 81.67 110.34 96 128.01 96S160.01 81.67 160.01 64S145.68 32 128.01 32C125.24 32 122.77 32.91 120.21 33.57L27.32 -59.32L32 -64L208.82 -5.06A31.982999999999997 31.982999999999997 0 0 1 229.06 15.18L262.13 99.25L163.25 198.13L79.18 165.06zM369.25 419.68L186.14 220.19L283.99 122.34L483.48 305.4500000000001C568.4 380.52 443.73 503.94 369.25 419.68z" glyph-name="pen-fancy" horiz-adv-x="512" unicode=""/><glyph d="M136.6 309.2100000000001A64.003 64.003 0 0 1 93.29 267.86L0 -12L14.69 -26.69L164.8 123.42C161.81 129.68 160 136.6 160 144C160 170.51 181.49 192 208 192S256 170.51 256 144S234.51 96 208 96C200.6 96 193.68 97.81 187.42 100.8L37.31 -49.31L52 -64L331.86 29.29A64.003 64.003 0 0 1 373.2100000000001 72.6L416 224L288 352L136.6 309.2100000000001zM497.9399999999999 373.8300000000001L437.83 433.94C419.08 452.69 388.67 452.69 369.92 433.94L313.37 377.39L441.39 249.37L497.94 305.92C516.69 324.67 516.69 355.0700000000001 497.94 373.8300000000001z" glyph-name="pen-nib" horiz-adv-x="512" unicode=""/><glyph d="M400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368V16C448 -10.5 426.5 -32 400 -32zM238.1 270.1L102.4 134.4L96.1 77.3C95.3 69.6999999999999 101.7 63.1999999999999 109.4 63.9999999999999L166.5 70.3L302.2 206C304.5 208.3 304.5 212.1 302.2 214.5L246.7 270C244.2 272.4 240.4 272.4 238.1 270.1zM345 282.9L314.9 313C305.5 322.4 290.3 322.4 281 313L257.9 289.9C255.6 287.6 255.6 283.8 257.9 281.4L313.4 225.9C315.7 223.6 319.5 223.6 321.9 225.9L345 249C354.3 258.3 354.3 273.5 345 282.9z" glyph-name="pen-square" horiz-adv-x="448" unicode=""/><glyph d="M290.74 354.76L418.76 226.74L140.77 -51.25L26.63 -63.85C11.35 -65.54 -1.56 -52.62 0.14 -37.34L12.84 76.88L290.74 354.76zM497.94 373.82L437.83 433.93C419.08 452.68 388.67 452.68 369.92 433.93L313.37 377.38L441.39 249.36L497.94 305.9100000000001C516.69 324.67 516.69 355.0700000000001 497.94 373.8200000000001z" glyph-name="pen" horiz-adv-x="512" unicode=""/><glyph d="M497.9 305.9L451.8 259.8C447.1 255.1 439.5 255.1 434.8 259.8L323.8 370.8C319.1 375.5 319.1 383.1 323.8 387.8L369.9 433.9000000000001C388.6 452.6 419 452.6 437.8 433.9000000000001L497.9 373.8C516.6999999999999 355.1 516.6999999999999 324.7000000000001 497.9 305.9zM284.2 348.2L21.6 85.6L0.4 -35.9C-2.5 -52.3 11.8 -66.5 28.2 -63.7L149.7 -42.4L412.3 220.2000000000001C417 224.9 417 232.5000000000001 412.3 237.2000000000001L301.3 348.2000000000001C296.5 352.9000000000001 288.9000000000001 352.9000000000001 284.2 348.2000000000001zM124.1 108.1C118.6 113.6 118.6 122.4 124.1 127.9L278.1 281.9000000000001C283.6 287.4000000000001 292.4000000000001 287.4000000000001 297.9000000000001 281.9000000000001S303.4000000000001 267.6 297.9000000000001 262.1L143.9 108.1C138.4 102.6 129.6 102.6 124.1 108.1zM88 24H136V-12.3L71.5 -23.6L40.4 7.5L51.7 72H88V24z" glyph-name="pencil-alt" horiz-adv-x="512" unicode=""/><glyph d="M109.46 203.96L244.04 338.52L199.92 382.64L138.24 320.9600000000001A7.919 7.919 0 0 0 127.03 320.9600000000001L115.82 332.17C112.72 335.27 112.72 340.29 115.82 343.38L177.5 405.06L143.86 438.7100000000001C131.47 451.1 111.39 451.1 99 438.71L9.29 349C-3.09 336.61 -3.1 316.53 9.29 304.14L109.46 203.96zM497.93 320.76C516.69 339.52 516.6800000000001 369.93 497.93 388.69L452.68 433.94C433.92 452.7 403.5 452.7 384.73 433.94L338.7100000000001 387.93L451.91 274.73L497.93 320.76zM316.08 365.29L19.08 68.33L0.32 -39.11C-2.21 -53.6 10.41 -66.22 24.91 -63.67L132.36 -44.83L429.28 252.1L316.08 365.29zM502.71 79.86L469.07 113.5L407.39 51.82C404.29 48.72 399.27 48.72 396.18 51.82L384.9700000000001 63.03C381.8800000000001 66.13 381.8800000000001 71.15 384.9700000000001 74.24L446.6500000000001 135.92L402.5100000000001 180.06L267.93 45.5L368.14 -54.7C380.53 -67.09 400.61 -67.09 413 -54.7L502.71 35C515.1 47.39 515.1 67.47 502.71 79.86z" glyph-name="pencil-ruler" horiz-adv-x="512" unicode=""/><glyph d="M128 352C154.5 352 176 373.5 176 400S154.5 448 128 448S80 426.5 80 400S101.5 352 128 352zM512 352C538.5 352 560 373.5 560 400S538.5 448 512 448S464 426.5 464 400S485.5 352 512 352zM637.7 -20.1L593.7 89.9L552.6 43.5L550.6 25.3L578.3000000000001 -43.9C583.3000000000001 -56.4 595.3000000000001 -64 608.0000000000001 -64C612.0000000000001 -64 616.0000000000001 -63.3 619.9000000000001 -61.7C636.3000000000001 -55.1 644.3000000000001 -36.5 637.7 -20.1zM603.5 189.7L585 269.9C580.4 289.9 566.4 306.7 547.5 314.8C529 322.8 508.5 321.5 491.4 311.5C468.7 298.1 451.7 277 443.3 252.1L432 218.2L416 208V304C416 312.8 408.8 320 400 320H240C231.2 320 224 312.8 224 304V208L207.9 218.2L196.6 252.1C188.3 277.1 171.2 298.1 148.5 311.5C131.3 321.5 110.9 322.8 92.4 314.8C73.5 306.7000000000001 59.5 289.9 54.9 269.9L36.5 189.7C31.9 169.7 37.2 148.5 50.9 133L118.1 57.1L128.2 -35.5C130 -51.8 143.8 -64 160 -64C161.2 -64 162.3 -63.9 163.5 -63.8C181.1 -61.9 193.7 -46.1 191.8 -28.5L181.7 64.3C180.2 77.3 174.8 89.4 166.1 99.3L122.8 148.3L140.4 218.6L147.2000000000001 198.2C151.3000000000001 185.7000000000001 159.1000000000001 174.8 171.7000000000001 165.6L222.8000000000001 133.1C227.4000000000001 130.2000000000001 234.9000000000001 128.5 240.0000000000001 128.1H400C405.1 128.5 412.6 130.2000000000001 417.2 133.1L468.3 165.6C480.9 174.8 488.7 185.6 492.8 198.2L499.6 218.6L517.2 148.3L473.9 99.3C465.2 89.4 459.8 77.3 458.3 64.3L448.2 -28.5C446.3 -46.1 459 -61.9 476.5 -63.8C477.7 -63.9 478.8 -64 480 -64C496.1 -64 510 -51.9 511.8 -35.5L521.9 57.1L589.1 133C602.7 148.5 608.1 169.7 603.5 189.7zM46.3 89.9L2.3 -20.1C-4.3 -36.5 3.7 -55.1 20.1 -61.7C36.9 -68.3000000000001 55.2 -60.0000000000001 61.7 -43.9L89.4 25.3L87.4 43.4999999999999L46.3 89.8999999999999z" glyph-name="people-carry" horiz-adv-x="640" unicode=""/><glyph d="M112 224C173.9 224 224 274.1 224 336S173.9 448 112 448S0 397.9 0 336S50.1 224 112 224zM112 384C138.5 384 160 362.5 160 336S138.5 288 112 288S64 309.5 64 336S85.5 384 112 384zM336 160C274.1 160 224 109.9 224 48S274.1 -64 336 -64S448 -13.9 448 48S397.9 160 336 160zM336 0C309.5 0 288 21.5 288 48S309.5 96 336 96S384 74.5 384 48S362.5 0 336 0zM392.3 447.8L423.9000000000001 447.9C443.3 448 454.8 426.1 443.6 410.1L77.4 -53.6A23.95 23.95 0 0 0 57.8 -63.8L24.4 -63.9C4.9 -63.9 -6.5 -42.0000000000001 4.7 -26.1L372.7 437.6C377.2 444 384.5 447.8 392.3 447.8z" glyph-name="percent" horiz-adv-x="448" unicode=""/><glyph d="M109.25 274.75C134.24 299.74 134.24 340.27 109.25 365.26C84.26 390.25 43.73 390.25 18.74 365.26C-6.25 340.27 -6.25 299.74 18.74 274.75C43.74 249.75 84.26 249.75 109.25 274.75zM365.25 109.26C340.26 134.25 299.73 134.25 274.74 109.26C249.75 84.27 249.75 43.74 274.74 18.75C299.73 -6.24 340.26 -6.24 365.25 18.75C390.25 43.74 390.25 84.26 365.25 109.26zM363.31 340.69L340.69 363.31C328.19 375.81 307.93 375.81 295.44 363.31L20.69 88.56C8.19 76.06 8.19 55.8 20.69 43.31L43.31 20.69C55.81 8.19 76.07 8.19 88.56 20.69L363.31 295.44C375.81 307.93 375.81 328.19 363.31 340.69z" glyph-name="percentage" horiz-adv-x="384" unicode=""/><glyph d="M192 -48C192 -56.8 199.2 -64 208 -64H240C248.8 -64 256 -56.8 256 -48V128H192V-48zM224 224H173.1L127.9 269.3C115.8 281.4 99.7 288 82.7 288H64C46.9 288 30.8 281.3 18.7 269.2C6.7 257.1 0 241 0 223.9L0.2 128L0 -32C0 -49.7 14.3 -64 31.9 -64C49.5 -64 63.9 -49.7 63.9 -32L64 68.7C64.9 68.2 65.6 67.4 66.5 67L95.6 24V-32C95.6 -49.7 109.9 -64 127.6 -64S159.6 -49.7 159.6 -32V24.5C159.6 34.4 157.3 44.3 152.9 53.1L111.7 114.4V195L132.6 174.1C141.7 165 153.7 160 166.5 160H224C241.7 160 256 174.3 256 192S241.7 224 224 224zM64 320C90.5 320 112 341.5 112 368S90.5 416 64 416S16 394.5 16 368S37.5 320 64 320zM288 416L319.5 192.9L288.6 38.3C284.3 16.7 301.6 0 320 0C335.2 0 348 9.1 352.3 30.4C353.2 13.5 366.9000000000001 0 384 0C401.7 0 416 14.3 416 32C416 14.3 430.3 0 448 0S480 14.3 480 32V448H288V416zM192 416V256H256V448H224C206.3 448 192 433.7 192 416zM544 448H512V-48C512 -56.8 519.2 -64 528 -64H560C568.8 -64 576 -56.8 576 -48V416C576 433.7 561.7 448 544 448z" glyph-name="person-booth" horiz-adv-x="576" unicode=""/><glyph d="M268.2 66.6L218.6 127.2000000000001C211.8 135.5000000000001 200.4 138.3000000000001 190.6 134.1L78.6 86.1C67.9 81.5 62.1 70 64.7 58.6L88.7 -45.4C91.2 -56.2 100.8 -64 112.1 -64C212.8 -64 305.8 -31.6 381.8 22.9L301.8 84.7C290.9 78.2 279.7 72 268.2 66.6zM633.8 -10.1L475.1 112.5C537.9 191.6 576 291.1 576 400C576 411.2 568.3 420.9 557.4 423.4L453.4 447.4C442.1 450 430.5 444.1 425.9 433.5L377.9 321.5C373.7 311.7 376.5 300.2 384.8 293.5L445.4 243.9C433.2 217.8 417.5 193.6 399.4 171.1L45.5 444.6C38.5 450 28.5 448.8 23 441.8L3.4 416.6C-2 409.6 -0.8 399.6 6.2 394.2L594.6 -60.5C601.6 -65.9 611.6 -64.7 617.1 -57.7L636.7 -32.4C642.1 -25.6 640.8000000000001 -15.5 633.8000000000001 -10.1z" glyph-name="phone-slash" horiz-adv-x="640" unicode=""/><glyph d="M400 416H48C21.49 416 0 394.51 0 368V16C0 -10.51 21.49 -32 48 -32H400C426.51 -32 448 -10.51 448 16V368C448 394.51 426.51 416 400 416zM94 32C86.967 32 80.943 36.873 79.384 43.627L64.386 108.627A15 15 0 0 0 73.093 125.787L143.091 155.7860000000001A15 15 0 0 0 160.609 151.4970000000001L191.606 113.6120000000001C240.55 136.5750000000001 279.903 176.4700000000001 302.387 224.3920000000001L264.501 255.3890000000001A15.000999999999998 15.000999999999998 0 0 0 260.212 272.9070000000001L290.212 342.9050000000001A15 15 0 0 0 307.372 351.6120000000001L372.372 336.6140000000001A14.997000000000002 14.997000000000002 0 0 0 384 322C384 161.708 254.055 32 94 32z" glyph-name="phone-square" horiz-adv-x="448" unicode=""/><glyph d="M97.333 -58.966C-32.541 70.908 -32.348 281.286 97.333 410.967C103.031 416.665 111.86 417.599 118.596 413.389L183.413 372.876A17.187 17.187 0 0 0 190.262 351.918L157.854 270.897A17.188 17.188 0 0 0 140.185 260.178L84.375 265.7580000000001C63.324 207.497 63.763 143.287 84.375 86.2430000000001L140.186 91.8240000000001A17.188 17.188 0 0 0 157.855 81.1050000000001L190.263 0.0830000000001A17.188 17.188 0 0 0 183.414 -20.8749999999999L118.597 -61.3879999999999A17.19 17.19 0 0 0 97.333 -58.9659999999998zM247.126 352.527C258.9580000000001 332.48 258.9580000000001 307.519 247.126 287.472C243.176 280.779 234.018 279.513 228.408 284.891L222.433 290.617C218.522 294.365 217.64 300.239 220.172 305.027A32.063 32.063 0 0 1 220.172 334.972C217.6390000000001 339.76 218.522 345.634 222.433 349.382L228.408 355.108C234.0180000000001 360.486 243.176 359.22 247.126 352.527zM338.913 443.714C399.053 372.11 399.005 267.832 338.913 196.286C334.439 190.959 326.3830000000001 190.54 321.361 195.353L315.563 200.91C311.003 205.281 310.586 212.439 314.633 217.289C364.32 276.827 364.279 363.222 314.633 422.711C310.586 427.561 311.002 434.719 315.563 439.09L321.361 444.647C326.383 449.46 334.439 449.041 338.913 443.714zM292.9410000000001 398.773C328.9910000000001 352.451 329.0490000000001 287.624 292.9410000000001 241.227C288.5510000000001 235.586 280.2440000000001 234.976 275.0850000000001 239.923L269.2670000000001 245.502C264.8670000000001 249.721 264.2690000000001 256.597 267.9820000000001 261.433C294.5180000000001 295.997 294.516 344.005 267.9820000000001 378.567C264.269 383.403 264.867 390.278 269.2670000000001 394.4980000000001L275.0850000000001 400.077C280.2440000000001 405.024 288.5510000000001 404.414 292.9410000000001 398.773z" glyph-name="phone-volume" horiz-adv-x="384" unicode=""/><glyph d="M493.4 423.4L389.4 447.4C378.1 450 366.5 444.1 361.9 433.5L313.9 321.5C309.7 311.7 312.5 300.2 320.8 293.5L381.4 243.9C345.4 167.2 282.5 103.4 204.2 66.7000000000001L154.6 127.3000000000001C147.8 135.6000000000001 136.4 138.4000000000001 126.6 134.2000000000001L14.6 86.2000000000001C3.9 81.5 -2 69.9 0.6 58.6L24.6 -45.4C27.1 -56.2 36.7 -64 48 -64C304.1 -64 512 143.5 512 400C512 411.2 504.3 420.9 493.4 423.4z" glyph-name="phone" horiz-adv-x="512" unicode=""/><glyph d="M560 224H530.5C521.7 244 508.9 261.7 493.1 276.5L512 352H480C450.6 352 424.6 338.5 407 317.7C399.4 318.8 391.9 320 384 320H256C178.6 320 114.1 265 99.2 192H56C41.2 192 29.5 205.5 32.5 220.8C34.7 232.2 45.4 240 57 240H58C61.3 240 64 242.7 64 246V266C64 269.3 61.3 272 58 272C29.5 272 4.1 251.6 0.5 223.4C-3.9 189.2 22.7 160 56 160H96C96 107.8 121.4 61.9 160 32.7V-48C160 -56.8 167.2 -64 176 -64H240C248.8 -64 256 -56.8 256 -48V0H384V-48C384 -56.8 391.2 -64 400 -64H464C472.8 -64 480 -56.8 480 -48V32.7C491.8 41.6 502.3 52.1 511.3 64H560C568.8 64 576 71.2 576 80V208C576 216.8 568.8 224 560 224zM432 160C423.2 160 416 167.2 416 176S423.2 192 432 192S448 184.8 448 176S440.8 160 432 160zM256 352H384C389.4 352 394.7 351.6 399.9 351.2C399.9 351.5 400 351.7 400 352C400 405 357 448 304 448S208 405 208 352C208 349.9 208.5 347.9 208.6 345.8C223.8 349.7 239.6 352 256 352z" glyph-name="piggy-bank" horiz-adv-x="576" unicode=""/><glyph d="M112 416C50.1 416 0 365.9 0 304V80C0 18.1 50.1 -32 112 -32S224 18.1 224 80V304C224 365.9 173.9 416 112 416zM160 192H64V304C64 330.5 85.5 352 112 352S160 330.5 160 304V192zM299.7 221.7C296.2 225.2 290.3 224.8 287.4 220.9C242.1 158.4 247 70.8 303.3 14.5C359.6 -41.8 447.2 -46.7 509.6999999999999 -1.4C513.6999999999999 1.5 513.9999999999999 7.4 510.4999999999999 10.9L299.7 221.7zM529.5 240.7C473.2 297 385.6 301.9 323.1 256.6C319.1 253.7 318.8 247.8 322.3 244.3L533.1 33.5C536.6 30 542.5 30.4 545.4 34.3C590.6999999999999 96.9 585.9 184.4 529.5 240.7z" glyph-name="pills" horiz-adv-x="576" unicode=""/><glyph d="M620.61 81.45L512 128V-64H624C632.84 -64 640 -56.84 640 -48V52.04A32 32 0 0 1 620.61 81.4500000000001zM0 52.04V-48C0 -56.84 7.16 -64 16 -64H128V128L19.39 81.45A32 32 0 0 1 0 52.04zM464.46 201.32L416 230.4V345.37C416 353.86 412.63 361.99 406.62 368L331.31 443.31C325.06 449.56 314.93 449.56 308.69 443.31L233.38 368C227.38 362 224 353.86 224 345.37V230.4L175.54 201.32A31.997 31.997 0 0 1 160 173.88V-64H256V32C256 67.35 284.6600000000001 96 320 96S384 67.35 384 32V-64H480V173.88C480 185.12 474.1 195.54 464.46 201.32z" glyph-name="place-of-worship" horiz-adv-x="640" unicode=""/><glyph d="M624 0H16C7.16 0 0 -7.16 0 -16V-48C0 -56.84 7.16 -64 16 -64H624C632.84 -64 640 -56.84 640 -48V-16C640 -7.16 632.84 0 624 0zM44.81 242.34L133.55 162.34A62.60699999999999 62.60699999999999 0 0 1 159.02 148.41L446.62 70.0600000000001C473.1 62.8500000000001 501.18 61.34 527.62 68.7000000000001C557.29 76.97 571.06 89.91 574.87 104.41C578.7 118.91 573.14 137.12 551.5 159.37C532.22 179.19 507.15 192.16 480.67 199.37L383.1600000000001 225.93L282.8 417.78C281.29 423.59 276.85 428.13 271.14 429.69L206.05 447.42C195.49 450.3 185.15 442.1 185.34 430.98L233.26 266.77L131.06 294.61L103.47 362.49C101.54 367.38 97.46 371.06 92.45 372.42L52.72 383.25C42.38 386.07 32.19 378.25 32 367.37L32.23 265.5900000000001C32.42 256.68 38.26 248.25 44.81 242.34z" glyph-name="plane-arrival" horiz-adv-x="640" unicode=""/><glyph d="M624 0H16C7.16 0 0 -7.16 0 -16V-48C0 -56.84 7.16 -64 16 -64H624C632.84 -64 640 -56.84 640 -48V-16C640 -7.16 632.84 0 624 0zM80.55 106.73C86.83 99.89 95.65 96.01 104.88 96.02L235.42 96.2000000000001A65.62 65.62 0 0 1 265.06 103.3200000000001L556.02 250.9700000000001C582.76 264.5400000000001 606.73 283.9100000000001 623.04 309.2800000000001C641.3499999999999 337.7600000000001 643.3399999999999 358.3700000000001 636.11 372.9300000000001C628.9 387.5000000000001 611.37 398.2000000000001 577.86 400.3800000000001C548.01 402.3200000000001 518.32 394.4600000000001 491.58 380.9000000000001L393.0700000000001 330.9100000000001L174.3700000000001 412.9700000000001A17.799 17.799 0 0 1 156.3700000000001 414.0800000000001L90.62 380.71C79.95 375.3 77.37 361.06 85.45 352.18L241.67 254.08L138.46 201.7L66.11 238.17A17.804 17.804 0 0 1 50.04 238.15L9.91 217.78C-0.53 212.48 -3.28 198.66 4.34 189.7L80.55 106.73z" glyph-name="plane-departure" horiz-adv-x="640" unicode=""/><glyph d="M480 256H365.71L260.61 439.94A16.014 16.014 0 0 1 246.71 448H181.21C170.58 448 162.91 437.83 165.83 427.61L214.86 256H112L68.8 313.6C65.78 317.63 61.03 320 56 320H16.01C5.6 320 -2.04 310.2200000000001 0.49 300.12L32 192L0.49 83.88C-2.04 73.78 5.6 64 16.01 64H56C61.04 64 65.78 66.37 68.8 70.4L112 128H214.86L165.83 -43.6C162.91 -53.82 170.58 -64 181.21 -64H246.71C252.45 -64 257.75 -60.92 260.6 -55.94L365.71 128H480C515.35 128 576 156.65 576 192S515.35 256 480 256z" glyph-name="plane" horiz-adv-x="576" unicode=""/><glyph d="M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM371.7 168L195.7 67C179.9 58.2 160 69.5 160 88V296C160 314.4 179.8 325.8 195.7 317L371.7 210C388.1 200.8 388.1 177.1 371.7 168z" glyph-name="play-circle" horiz-adv-x="512" unicode=""/><glyph d="M424.4 233.3L72.4 441.4C43.8 458.3 0 441.9 0 400.1V-16C0 -53.5 40.7 -76.1 72.4 -57.3L424.4 150.7C455.8 169.2 455.9 214.8 424.4 233.3z" glyph-name="play" horiz-adv-x="448" unicode=""/><glyph d="M256 304V416C256 433.673 270.327 448 288 448S320 433.673 320 416V304H256zM368 288H16C7.163 288 0 280.837 0 272V240C0 231.163 7.163 224 16 224H32V192C32 114.594 86.969 50.029 160 35.204V-64H224V35.204C297.031 50.029 352 114.594 352 192V224H368C376.837 224 384 231.163 384 240V272C384 280.837 376.837 288 368 288zM128 304V416C128 433.673 113.673 448 96 448S64 433.673 64 416V304H128z" glyph-name="plug" horiz-adv-x="384" unicode=""/><glyph d="M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM400 164C400 157.4 394.6 152 388 152H296V60C296 53.4 290.6 48 284 48H228C221.4 48 216 53.4 216 60V152H124C117.4 152 112 157.4 112 164V220C112 226.6 117.4 232 124 232H216V324C216 330.6 221.4 336 228 336H284C290.6 336 296 330.6 296 324V232H388C394.6 232 400 226.6 400 220V164z" glyph-name="plus-circle" horiz-adv-x="512" unicode=""/><glyph d="M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM368 164C368 157.4 362.6 152 356 152H264V60C264 53.4 258.6 48 252 48H196C189.4 48 184 53.4 184 60V152H92C85.4 152 80 157.4 80 164V220C80 226.6 85.4 232 92 232H184V324C184 330.6 189.4 336 196 336H252C258.6 336 264 330.6 264 324V232H356C362.6 232 368 226.6 368 220V164z" glyph-name="plus-square" horiz-adv-x="448" unicode=""/><glyph d="M416 240H272V384C272 401.67 257.67 416 240 416H208C190.33 416 176 401.67 176 384V240H32C14.33 240 0 225.67 0 208V176C0 158.33 14.33 144 32 144H176V0C176 -17.67 190.33 -32 208 -32H240C257.67 -32 272 -17.67 272 0V144H416C433.67 144 448 158.33 448 176V208C448 225.67 433.67 240 416 240z" glyph-name="plus" horiz-adv-x="448" unicode=""/><glyph d="M267.429 -40.563C262.286 -59.573 242.858 -64 224 -64C205.143 -64 185.714 -59.573 180.572 -40.563C172.927 -12.134 160 59.102 160 92.25C160 127.406 191.142 136 224 136S288 127.406 288 92.25C288 59.301 275.129 -11.929 267.429 -40.563zM156.867 159.446C138.174 177.754 126.909 203.619 128.083 232.045C130.137 281.769 170.478 322.0010000000001 220.207 323.9260000000001C274.862 326.0420000000001 320 282.193 320 228C320 201.173 308.936 176.884 291.134 159.448C288.459 156.828 288.733 152.462 291.762 150.261C301.074 143.496 308.222 134.918 312.996 124.898C314.737 121.244 319.493 120.238 322.445 123.007C351.271 150.05 368.998 188.79 367.956 231.572C366.101 307.778 304.361 369.78 228.163 371.9409999999999C146.869 374.247 80 308.785 80 228C80 186.639 97.532 149.3 125.55 123.011C128.503 120.24 133.261 121.241 135.003 124.898C139.777 134.919 146.926 143.496 156.238 150.261C159.267 152.461 159.542 156.827 156.867 159.446zM224 448C100.204 448 0 347.815 0 224C0 134.008 52.602 58.353 125.739 22.592C130.072 20.474 135.006 24.136 134.274 28.902C131.892 44.414 129.932 59.848 128.868 73.241C128.722 75.077 127.719 76.727 126.19 77.753C78.79 109.559 47.626 163.769 48.003 225.1C48.595 321.337 127.293 399.748 223.532 399.999C320.793 400.253 400 321.203 400 224C400 162.068 367.842 107.51 319.35 76.133C318.351 62.0960000000001 316.281 45.545 313.726 28.903C312.994 24.136 317.929 20.474 322.261 22.593C395.227 58.273 448 133.813 448 224C448 347.795 347.815 448 224 448zM224 288C188.654 288 160 259.346 160 224S188.654 160 224 160S288 188.654 288 224S259.346 288 224 288z" glyph-name="podcast" horiz-adv-x="448" unicode=""/><glyph d="M448 16V368C448 394.5 426.5 416 400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16zM112 256C103.16 256 96 263.16 96 272V304C96 312.8400000000001 103.16 320 112 320H240C248.84 320 256 312.8400000000001 256 304V272C256 263.16 248.84 256 240 256H112zM112 160C103.16 160 96 167.16 96 176V208C96 216.84 103.16 224 112 224H336C344.84 224 352 216.84 352 208V176C352 167.16 344.84 160 336 160H112zM112 64C103.16 64 96 71.16 96 80V112C96 120.84 103.16 128 112 128H176C184.84 128 192 120.84 192 112V80C192 71.16 184.84 64 176 64H112z" glyph-name="poll-h" horiz-adv-x="448" unicode=""/><glyph d="M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM160 80C160 71.16 152.84 64 144 64H112C103.16 64 96 71.16 96 80V208C96 216.84 103.16 224 112 224H144C152.84 224 160 216.84 160 208V80zM256 80C256 71.16 248.84 64 240 64H208C199.16 64 192 71.16 192 80V304C192 312.8400000000001 199.16 320 208 320H240C248.84 320 256 312.8400000000001 256 304V80zM352 80C352 71.16 344.84 64 336 64H304C295.1600000000001 64 288 71.16 288 80V144C288 152.84 295.1600000000001 160 304 160H336C344.84 160 352 152.84 352 144V80z" glyph-name="poll" horiz-adv-x="448" unicode=""/><glyph d="M308 112H250.3L267.6 176.9C269.6 184.5 263.9000000000001 192 256 192H188C182 192 176.9 187.5 176.1 181.6L160.1 61.6C159.1 54.4 164.7 48 172 48H231.3L208.3 -49.2C206.5 -56.8 212.3 -64 220 -64C224.2 -64 228.2 -61.8 230.4 -58L318.4 94C323 102 317.2 112 308 112zM374.4 223.3C380.3 232.9 384 243.9 384 256C384 291.3 355.3 320 320 320H314.1C317.7000000000001 330.1 320 340.7 320 352C320 405 277 448 224 448C218.8 448 213.8 447.3 208.9 446.5C218.3 433.4 224 417.4 224 400C224 355.8 188.2 320 144 320H128C92.7 320 64 291.3 64 256C64 243.9 67.7 232.9 73.6 223.3C32.6 220 0 185.8 0 144C0 100 36 64 80 64H128.3C128.4 64.6 128.3 65.2 128.3 65.8L144.3 185.8C147.3 207.6 166 224 188 224H256C269.8 224 282.5 217.7 290.9 206.8S302.1 182 298.5 168.7L291.9 144H307.9C323.6 144 338.2 135.6 346 122C353.8 108.4 353.8 91.5 346 78L337.9 64H367.9C411.9 64 447.9 100 447.9 144C448 185.8 415.4 220 374.4 223.3z" glyph-name="poo-storm" horiz-adv-x="448" unicode=""/><glyph d="M451.4 78.9C468.7 92 480 112.6 480 136C480 175.8 447.8 208 408 208H393.9C407.3 219.7 416 236.8 416 256C416 291.3 387.3 320 352 320H346.1C349.7000000000001 330.1 352 340.7 352 352C352 405 309 448 256 448C250.8 448 245.8 447.3 240.9 446.5C250.3 433.4 256 417.4 256 400C256 355.8 220.2 320 176 320H160C124.7 320 96 291.3 96 256C96 236.8 104.7 219.7 118.1 208H104C64.2 208 32 175.8 32 136C32 112.6 43.3 92 60.6 78.9C26.3 73.4 0 43.9 0 8C0 -31.8 32.2 -64 72 -64H440C479.8 -64 512 -31.8 512 8C512 43.9 485.7 73.4 451.4 78.9zM192 192C209.7 192 224 177.7 224 160S209.7 128 192 128S160 142.3 160 160S174.3 192 192 192zM351.5 53C341 25.1 293 0 256 0S171 25.1 160.5 53C158.5 58.3 162.5 64 168.3 64H343.7000000000001C349.5000000000001 64 353.5000000000001 58.3 351.5000000000001 53zM320 128C302.3 128 288 142.3 288 160S302.3 192 320 192S352 177.7 352 160S337.7 128 320 128z" glyph-name="poo" horiz-adv-x="512" unicode=""/><glyph d="M451.36 78.86C468.66 92.01 480 112.59 480 136C480 175.77 447.76 208 408 208H393.93C407.35 219.73 416 236.78 416 256C416 291.35 387.35 320 352 320H346.12C349.69 330.05 352 340.7200000000001 352 352C352 405.02 309.02 448 256 448C250.83 448 245.85 447.26 240.89 446.48C250.31 433.36 256 417.38 256 400C256 355.82 220.18 320 176 320H160C124.65 320 96 291.35 96 256C96 236.78 104.65 219.73 118.07 208H104C64.24 208 32 175.77 32 136C32 112.59 43.34 92.01 60.64 78.86C26.31 73.38 0 43.88 0 8C0 -31.76 32.24 -64 72 -64H440C479.76 -64 512 -31.76 512 8C512 43.88 485.69 73.38 451.36 78.86z" glyph-name="poop" horiz-adv-x="512" unicode=""/><glyph d="M336 448H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V400C384 426.5 362.5 448 336 448zM192 320C227.3 320 256 291.3 256 256S227.3 192 192 192S128 220.7 128 256S156.7 320 192 320zM304 83.2C304 72.6 294 64 281.6 64H102.4C90 64 80 72.6 80 83.2V102.4C80 134.2 110.1 160 147.2 160H152.2C164.5 154.9 177.9 152 192 152S219.6 154.9 231.8 160H236.8C273.9000000000001 160 304 134.2 304 102.4V83.2z" glyph-name="portrait" horiz-adv-x="384" unicode=""/><glyph d="M308 96H262.505C255.878 96 250.505 90.627 250.505 84V33.152H128V160H212C218.627 160 224 165.373 224 172V212C224 218.627 218.627 224 212 224H128V287.556C128 319.822 152.562 344.642 189.792 344.642C213.45 344.642 235.67 333.137 247.444 325.793C252.5950000000001 322.58 259.332 323.742 263.132 328.478L291.625 363.991C295.858 369.267 294.904 376.996 289.506 381.072C273.124 393.44 236.576 416 187.931 416C106.026 416 48 363.258 48 290.039V224H20C13.373 224 8 218.627 8 212V172C8 165.373 13.373 160 20 160H48V32H12C5.373 32 0 26.627 0 20V-20C0 -26.627 5.373 -32 12 -32H308C314.627 -32 320 -26.627 320 -20V84C320 90.627 314.627 96 308 96z" glyph-name="pound-sign" horiz-adv-x="320" unicode=""/><glyph d="M400 393.9C463 348.9 504 275.3 504 192C504 55.2 393.2 -55.7 256.5 -56C120 -56.3 8.2 55 8 191.6C7.9 274.9 48.9 348.7 111.8 393.8C123.5 402.1 139.8 398.6 146.8 386.1L162.6 358C168.5 347.5 165.7 334.2 156 327C114.5 296.2 88 247.4 88 192.1C87.9 99.8 162.5 24 256 24C347.6 24 424.6 98.2 424 193.1C423.7 244.9 399.3 294.9 355.9 327.1C346.2 334.3 343.5 347.6 349.4 358L365.2 386.1C372.2 398.5 388.4 402.2 400 393.9zM296 184V424C296 437.3 285.3 448 272 448H240C226.7 448 216 437.3 216 424V184C216 170.7 226.7 160 240 160H272C285.3 160 296 170.7 296 184z" glyph-name="power-off" horiz-adv-x="512" unicode=""/><glyph d="M256 320C291.35 320 320 348.65 320 384S291.35 448 256 448S192 419.35 192 384S220.65 320 256 320zM225.37 150.25C239.43 133.53 264.37 131.16 281.3400000000001 145.03L369.3400000000001 217.05C386.43 231.03 388.93 256.24 374.9600000000001 273.33C360.99 290.44 335.7700000000001 292.92 318.6500000000001 278.95L261.2100000000001 231.95L222.3000000000001 278.26C206.8600000000001 296.65 183.0800000000001 306.18 158.3000000000001 303.59C134.1100000000001 301.11 113.0500000000001 287.32 101.93 266.67L52.56 174.64C29.16 131 43.87 78.27 86.75 50.89L131.56 16H40C17.91 16 0 -1.91 0 -24S17.91 -64 40 -64H248C282.08 -64 301.77 -21.21 276.28 4.28L166.42 114.14L201.22 179.01L225.37 150.25z" glyph-name="pray" horiz-adv-x="384" unicode=""/><glyph d="M272 256.0900000000001C254.4 256.0900000000001 240 241.69 240 224.09V144.09C240 135.2500000000001 232.84 128.09 224 128.09S208 135.2500000000001 208 144.09V220.6400000000001C208 238.0300000000001 212.72 255.1100000000001 221.69 270.0300000000001L299.44 399.62C308.53 414.7800000000001 303.63 434.4300000000001 288.47 443.5300000000001C274.02 452.2 255.75 447.8300000000001 246.17 434.3200000000001C245.97 434.0900000000001 245.55 434.11 245.38 433.8400000000001L128.12 257.9400000000001C117.56 242.1 112 223.69 112 204.71V124.48L21.88 94.44A31.974000000000004 31.974000000000004 0 0 1 0 64.09V-31.91C0 -42.73 8.52 -63.91 32 -63.91C34.69 -63.91 37.41 -63.57 40.06 -62.88L219.25 -16.26C269.1600000000001 -1.99 304 44.2 304 96.09V224.09C304 241.69 289.6 256.09 272 256.09zM618.12 94.36L528 124.4V204.63C528 223.61 522.44 242.02 511.88 257.86L394.62 433.75C394.44 434.02 394.0300000000001 433.99 393.83 434.23C384.25 447.74 365.98 452.11 351.53 443.44C336.37 434.35 331.47 414.69 340.56 399.53L418.31 269.94C427.28 255.02 432 237.94 432 220.55V144C432 135.16 424.8399999999999 128 416 128S400 135.16 400 144V224C400 241.6 385.6 256 368 256S336 241.6 336 224V96C336 44.11 370.8399999999999 -2.08 420.75 -16.34L599.9399999999999 -62.96C602.5999999999999 -63.65 605.3199999999999 -63.99 607.9999999999999 -63.99C631.4799999999999 -63.99 639.9999999999999 -42.81 639.9999999999999 -31.99V64.01C639.9999999999999 77.78 631.1899999999999 90 618.1199999999999 94.36z" glyph-name="praying-hands" horiz-adv-x="640" unicode=""/><glyph d="M360 448H24C10.8 448 0 437.2 0 424V376C0 362.8 10.8 352 24 352H360C373.2 352 384 362.8 384 376V424C384 437.2 373.2 448 360 448zM32 -32C32 -49.6 46.4 -64 64 -64H320C337.6 -64 352 -49.6 352 -32V320H32V-32zM96 152C96 156.4 99.6 160 104 160H160V216C160 220.4 163.6 224 168 224H216C220.4 224 224 220.4 224 216V160H280C284.4 160 288 156.4 288 152V104C288 99.6 284.4 96 280 96H224V40C224 35.6 220.4 32 216 32H168C163.6 32 160 35.6 160 40V96H104C99.6 96 96 99.6 96 104V152z" glyph-name="prescription-bottle-alt" horiz-adv-x="384" unicode=""/><glyph d="M32 256H152C156.4 256 160 252.4 160 248V232C160 227.6 156.4 224 152 224H32V160H152C156.4 160 160 156.4 160 152V136C160 131.6 156.4 128 152 128H32V64H152C156.4 64 160 60.4 160 56V40C160 35.6 156.4 32 152 32H32V-32C32 -49.6 46.4 -64 64 -64H320C337.6 -64 352 -49.6 352 -32V320H32V256zM360 448H24C10.8 448 0 437.2 0 424V376C0 362.8 10.8 352 24 352H360C373.2 352 384 362.8 384 376V424C384 437.2 373.2 448 360 448z" glyph-name="prescription-bottle" horiz-adv-x="384" unicode=""/><glyph d="M301.26 96L379.32 174.06C385.57 180.31 385.57 190.44 379.32 196.69L356.69 219.32C350.44 225.57 340.31 225.57 334.06 219.32L256 141.26L172.04 225.22C219.31 231.2 256 271.11 256 320C256 373.02 213.02 416 160 416H16C7.16 416 0 408.8400000000001 0 400V144C0 135.16 7.16 128 16 128H48C56.84 128 64 135.16 64 144V224H82.75L210.75 96L132.69 17.94C126.44 11.69 126.44 1.56 132.69 -4.69L155.32 -27.32C161.57 -33.57 171.7 -33.57 177.95 -27.32L256 50.75L334.06 -27.31C340.31 -33.56 350.44 -33.56 356.69 -27.31L379.32 -4.68C385.57 1.57 385.57 11.7 379.32 17.95L301.26 96zM64 352H160C177.64 352 192 337.64 192 320S177.64 288 160 288H64V352z" glyph-name="prescription" horiz-adv-x="384" unicode=""/><glyph d="M448 256V370.75C448 379.24 444.63 387.37 438.63 393.38L393.37 438.63C387.37 444.63 379.23 448 370.74 448H96C78.33 448 64 433.67 64 416V256C28.65 256 0 227.35 0 192V80C0 71.16 7.16 64 16 64H64V-32C64 -49.67 78.33 -64 96 -64H416C433.67 -64 448 -49.67 448 -32V64H496C504.84 64 512 71.16 512 80V192C512 227.35 483.35 256 448 256zM384 0H128V96H384V0zM384 224H128V384H320V336C320 327.16 327.1600000000001 320 336 320H384V224zM432 152C418.75 152 408 162.75 408 176C408 189.26 418.75 200 432 200S456 189.26 456 176C456 162.75 445.25 152 432 152z" glyph-name="print" horiz-adv-x="512" unicode=""/><glyph d="M528 224H272C263.2 224 256 216.8 256 208V64H64V304C64 312.8 56.8 320 48 320H16C7.2 320 0 312.8 0 304V-48C0 -56.8 7.2 -64 16 -64H48C56.8 -64 64 -56.8 64 -48V0H576V-48C576 -56.8 583.2 -64 592 -64H624C632.8 -64 640 -56.8 640 -48V112C640 173.9 589.9 224 528 224zM136 352H262.1L289.7000000000001 296.8C295.6 285 312.4000000000001 285 318.3000000000001 296.8L368 396.2L390.1 352H512C520.8 352 528 359.2 528 368S520.8 384 512 384H409.9L382.3 439.2C376.4 451 359.6 451 353.7 439.2L304 339.8L284.1 379.6C282.7000000000001 382.3 280 384 276.9000000000001 384H136C131.6 384 128 380.4 128 376V360C128 355.6 131.6 352 136 352zM160 96C195.3 96 224 124.7 224 160S195.3 224 160 224S96 195.3 96 160S124.7 96 160 96z" glyph-name="procedures" horiz-adv-x="640" unicode=""/><glyph d="M384 128H256C238.33 128 224 113.67 224 96V-32C224 -49.67 238.33 -64 256 -64H384C401.67 -64 416 -49.67 416 -32V96C416 113.67 401.67 128 384 128zM192 416C192 433.67 177.67 448 160 448H32C14.33 448 0 433.67 0 416V288C0 270.33 14.33 256 32 256H127.72L200.88 127.96C211.98 147.02 232.4 160 256 160H256.28L192 272.49V320H416V384H192V416zM608 448H480C462.33 448 448 433.67 448 416V288C448 270.33 462.33 256 480 256H608C625.67 256 640 270.3300000000001 640 288V416C640 433.67 625.67 448 608 448z" glyph-name="project-diagram" horiz-adv-x="640" unicode=""/><glyph d="M519.442 159.349C477.923 159.349 459.942 127.756 437.384 127.756C377.409 127.756 432 304 432 304S235.712 224 235.712 307.2970000000001C235.712 343.124 272 353.5470000000001 272 393.282C272 428.784 243.885 448 210.539 448C175.885 448 144.173 429.109 144.173 391.654C144.173 350.29 175.884 332.377 175.884 309.904C175.885 240.281 0 281.242 0 281.242V-51.995S178.635 -93.042 178.635 -23.333C178.635 -0.86 138.635 16.774 138.635 58.138C138.635 95.594 167.885 114.484 202.212 114.484C235.885 114.484 264 95.268 264 59.767C264 20.032 227.712 9.609 227.712 -26.218C227.712 -87.021 357.387 -51.948 408.942 -51.948C408.942 -51.948 374.217 68.153 434.769 68.153C470.731 68.153 481.192 32.001 521.077 32.001C556.712 32 576 60.01 576 93.557C576 127.756 557.038 159.3490000000001 519.442 159.3490000000001z" glyph-name="puzzle-piece" horiz-adv-x="576" unicode=""/><glyph d="M0 224H192V416H0V224zM64 352H128V288H64V352zM256 416V224H448V416H256zM384 288H320V352H384V288zM0 -32H192V160H0V-32zM64 96H128V32H64V96zM416 160H448V32H352V64H320V-32H256V160H352V128H416V160zM416 0H448V-32H416V0zM352 0H384V-32H352V0z" glyph-name="qrcode" horiz-adv-x="448" unicode=""/><glyph d="M504 192C504 55.003 392.957 -56 256 -56S8 55.003 8 192C8 328.9170000000001 119.043 440 256 440S504 328.9170000000001 504 192zM262.655 358C208.158 358 173.4 335.043 146.106 294.242C142.57 288.956 143.753 281.827 148.821 277.984L183.52 251.674C188.725 247.727 196.141 248.666 200.185 253.796C218.049 276.454 230.298 289.593 257.488 289.593C277.9169999999999 289.593 303.1859999999999 276.445 303.1859999999999 256.635C303.1859999999999 241.659 290.8229999999999 233.968 270.652 222.659C247.128 209.472 216 193.059 216 152V148C216 141.373 221.373 136 228 136H284C290.627 136 296 141.373 296 148V149.333C296 177.795 379.1860000000001 178.98 379.1860000000001 256C379.1860000000001 314.0020000000001 319.021 358 262.6550000000001 358zM256 110C230.635 110 210 89.365 210 64C210 38.636 230.635 18 256 18S302 38.636 302 64C302 89.365 281.365 110 256 110z" glyph-name="question-circle" horiz-adv-x="512" unicode=""/><glyph d="M202.021 448C122.202 448 70.503 415.2970000000001 29.914 356.974C22.551 346.394 24.821 331.8880000000001 35.092 324.1L78.23 291.391C88.603 283.526 103.362 285.365 111.483 295.539C136.532 326.92 155.113 344.988 194.24 344.988C225.004 344.988 263.0560000000001 325.189 263.0560000000001 295.357C263.0560000000001 272.805 244.4390000000001 261.223 214.0630000000001 244.193C178.6400000000001 224.333 131.7640000000001 199.617 131.7640000000001 137.788V128C131.7640000000001 114.745 142.5090000000001 104 155.7640000000001 104H228.2350000000001C241.4900000000001 104 252.2350000000001 114.745 252.2350000000001 128V133.773C252.2350000000001 176.6330000000001 377.5030000000001 178.418 377.5030000000001 294.4000000000001C377.504 381.7440000000001 286.902 448 202.021 448zM192 74.541C153.804 74.541 122.729 43.466 122.729 5.27C122.729 -32.925 153.804 -64 192 -64S261.271 -32.925 261.271 5.271S230.1960000000001 74.541 192 74.541z" glyph-name="question" horiz-adv-x="384" unicode=""/><glyph d="M256.5 231.2L343.2 122S326.6 19.6 266.6 -28.1C206.7 -75.7999999999999 0 -62.2 0 -62.2S3.8 -39.1 11 -6.8L105.6 105.4C109.6 110.1 104.7 117 99 114.9L38.6 92.8C53 134.5 71.3 172.8 93.2 190.3C153.1 238.1 256.5 231.2 256.5 231.2zM494.5 96.2C450.5 96.2 414.7 60.4 414.7 16.3C414.7 -27.8000000000001 450.4 -63.6 494.5 -63.6C538.6 -63.6 574.3 -27.8 574.3 16.3C574.3 60.4999999999999 538.5 96.1999999999999 494.4999999999999 96.1999999999999zM636.5 417L616.7 442C611.2 448.9 601.2 450 594.3000000000001 444.6L361.8 266.7L327.7 309.7C322.6 316.1 312.6 314.9 309.1 307.5L283.8 252.9L370.5 143.7L429.3 156.1C437.3 157.8 440.7 167.3 435.6 173.7L401.5 216.6L634 394.5C640.9 400 642 410.1 636.5 417z" glyph-name="quidditch" horiz-adv-x="640" unicode=""/><glyph d="M464 192H384V256C384 291.3 412.7 320 448 320H456C469.3 320 480 330.7 480 344V392C480 405.3 469.3 416 456 416H448C359.6 416 288 344.4 288 256V16C288 -10.5 309.5 -32 336 -32H464C490.5 -32 512 -10.5 512 16V144C512 170.5 490.5 192 464 192zM176 192H96V256C96 291.3 124.7 320 160 320H168C181.3 320 192 330.7 192 344V392C192 405.3 181.3 416 168 416H160C71.6 416 0 344.4 0 256V16C0 -10.5 21.5 -32 48 -32H176C202.5 -32 224 -10.5 224 16V144C224 170.5 202.5 192 176 192z" glyph-name="quote-left" horiz-adv-x="512" unicode=""/><glyph d="M464 416H336C309.5 416 288 394.5 288 368V240C288 213.5 309.5 192 336 192H416V128C416 92.7 387.3 64 352 64H344C330.7 64 320 53.3 320 40V-8C320 -21.3 330.7 -32 344 -32H352C440.4 -32 512 39.6 512 128V368C512 394.5 490.5 416 464 416zM176 416H48C21.5 416 0 394.5 0 368V240C0 213.5 21.5 192 48 192H128V128C128 92.7 99.3 64 64 64H56C42.7 64 32 53.3 32 40V-8C32 -21.3 42.7 -32 56 -32H64C152.4 -32 224 39.6 224 128V368C224 394.5 202.5 416 176 416z" glyph-name="quote-right" horiz-adv-x="512" unicode=""/><glyph d="M448 89.6V422.4C448 438.4 438.4 448 422.4 448H96C41.6 448 0 406.4 0 352V32C0 -22.4 41.6 -64 96 -64H422.4C435.2 -64 448 -54.4 448 -38.4V-22.4C448 -16 444.8 -9.6 438.4 -3.2C435.2 12.8 435.2 57.6 438.4 70.4C444.8 73.6 448 80 448 89.6zM301.08 302.18C301.68 303.39 302.84 304 304 304S306.32 303.39 306.92 302.18L318.1 279.53L343.1 275.9C345.7700000000001 275.51 346.8400000000001 272.23 344.9100000000001 270.3400000000001L326.8200000000001 252.71L331.0900000000001 227.82C331.4500000000001 225.71 329.7800000000001 224 327.8800000000001 224C327.3800000000001 224 326.8600000000001 224.12 326.3600000000001 224.38L304 236.13L281.64 224.38C281.14 224.12 280.62 224 280.12 224C278.2200000000001 224 276.55 225.71 276.9100000000001 227.82L281.18 252.71L263.0900000000001 270.34C261.1500000000001 272.23 262.2200000000001 275.51 264.9000000000001 275.9L289.8900000000001 279.53L301.0800000000001 302.18zM243.19 371.19C256.86 371.19 270.45 368.7000000000001 283.57 363.7800000000001A6.775 6.775 0 1 0 281.19 350.6600000000001C280.52 350.6600000000001 278.1 350.87 277.06 350.87C224.75 350.87 182.2 308.32 182.2 256.01C182.2 203.71 224.75 161.15 277.06 161.15C278.09 161.15 280.54 161.36 281.19 161.36C285.12 161.36 287.99 158.22 287.99 154.58C287.99 151.6 286.05 149.07 283.37 148.16C270.3 143.29 256.7800000000001 140.82 243.18 140.82C179.67 140.81 128 192.49 128 256C128 319.52 179.67 371.19 243.19 371.19zM380.8 0H96C76.8 0 64 12.8 64 32S80 64 96 64H380.8V0z" glyph-name="quran" horiz-adv-x="448" unicode=""/><glyph d="M184 192H104.9C95.7 192 88 184.3 88.9 175.2C93.5 131.6 115.9 93.4 148.4 67.4C156 61.3 167.2 62.9 172.4 71.2L214.1 138C196.1 149.2 184 169.2 184 192zM281.8 246.1L323.6 313C328.5 320.8 326 331.4 317.8 335.5C296.7 345.9 273.1 352 248 352S199.3 345.9 178.1 335.5C169.9 331.4 167.5 320.8 172.3 313L214.1 246.1C223.9 252.3 235.5 256 247.9 256S272 252.3 281.8 246.1zM391.1 192H312C312 169.2 299.9 149.2 281.8 137.9L323.5 71.1C328.7 62.8 339.9 61.2 347.5 67.3C380.1 93.3 402.4 131.5 407 175.1C408.1 184.3 400.3 192 391.1 192zM248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 8C146.5 8 64 90.5 64 192S146.5 376 248 376S432 293.5 432 192S349.5 8 248 8zM248 224C230.3 224 216 209.7 216 192S230.3 160 248 160S280 174.3 280 192S265.7 224 248 224z" glyph-name="radiation-alt" horiz-adv-x="496" unicode=""/><glyph d="M167.8 191.8H16.2C7.1 191.8 -0.6 184.1 0 175C5.1 99.2 44.4 32.8 102.5 -9.2C109.9 -14.5 120.4 -12.1 125.2 -4.4L205.6 124C183 138.3 167.8 163.2 167.8 191.8zM205.6 259.5C217.9 267.2 232.4000000000001 271.9 248.0000000000001 271.9S278 267.2000000000001 290.4000000000001 259.5L370.8 388C375.6 395.7 373.2 406.1 365.2 410.4C330.3 429.2 290.4 440 248 440S165.7 429.2 130.8 410.4C122.8 406.1 120.4 395.6 125.2 388L205.6 259.5zM248.0000000000001 239.8C221.5 239.8 200 218.3 200 191.8S221.5 143.8 248.0000000000001 143.8S296 165.3 296 191.8S274.5 239.8 248 239.8zM479.8000000000001 191.8H328.2C328.2 163.2 313 138.3 290.4 124.1L370.8 -4.3C375.6 -11.9999999999999 386.1 -14.4999999999999 393.5 -9.1C451.6 32.9 490.9 99.3000000000001 495.9999999999999 175.1C496.6 184.1 488.8999999999999 191.8 479.8 191.8z" glyph-name="radiation" horiz-adv-x="496" unicode=""/><glyph d="M268.3 415.3C115.4 405.1 0 271.1 0 117.8V-16C0 -24.8 7.2 -32 16 -32H48C56.8 -32 64 -24.8 64 -16V128C64 261.2 180.9 367.7 317.5 350.1C430.4 335.6 512 234 512 120.2V-16C512 -24.8 519.2 -32 528 -32H560C568.8 -32 576 -24.8 576 -16V128C576 293.3 436 426.6 268.3 415.3zM262.7 318.4C166 306 96 218.9 96 121.3V-16C96 -24.8 103.2 -32 112 -32H144C152.8 -32 160 -24.8 160 -16V128C160 202.8 224.5 262.8 300.8 255.4C367.3 248.9 416 189.2 416 122.3V-16C416 -24.8 423.2 -32 432 -32H464C472.8 -32 480 -24.8 480 -16V128C480 242.2 379.8 333.4 262.7 318.4zM268.9 222.1C223.3 213.2 192 170.6 192 124.1999999999999V-16C192 -24.8 199.2 -32 208 -32H240C248.8 -32 256 -24.8 256 -16V128C256 145.6 270.3 160 288 160S320 145.6 320 128V-16C320 -24.8 327.2 -32 336 -32H368C376.8 -32 384 -24.8 384 -16V128C384 187.2 330.2 234 268.9 222.1z" glyph-name="rainbow" horiz-adv-x="576" unicode=""/><glyph d="M504.971 88.971C514.344 79.598 514.344 64.402 504.971 55.03L424.971 -24.954C409.961 -39.964 384 -29.444 384 -7.983V32H325.2150000000001A12.004 12.004 0 0 0 316.442 35.812L245.886 111.408L299.2190000000001 168.5510000000001L352 112H384V151.981C384 173.419 409.943 183.979 424.971 168.952L504.971 88.971zM12 272H96L148.781 215.449L202.114 272.592L131.558 348.188A11.999000000000002 11.999000000000002 0 0 1 122.785 352H12C5.373 352 0 346.627 0 340V284C0 277.373 5.373 272 12 272zM384 272V232.016C384 210.556 409.961 200.036 424.971 215.045L504.971 295.029C514.344 304.402 514.344 319.598 504.971 328.9700000000001L424.971 408.951C409.943 423.979 384 413.418 384 391.981V352H325.2150000000001A12.004 12.004 0 0 1 316.442 348.188L96 112H12C5.373 112 0 106.627 0 100V44C0 37.373 5.373 32 12 32H122.785C126.111 32 129.288 33.381 131.558 35.812L352 272H384z" glyph-name="random" horiz-adv-x="512" unicode=""/><glyph d="M358.4 444.8L320 400L265.6 444.8A15.9 15.9 0 0 1 246.4000000000001 444.8L192 400L137.6 444.8A15.9 15.9 0 0 1 118.4 444.8L64 400L25.6 444.8C15 452.7 0 445.2 0 432V-48C0 -61.2 15 -68.7 25.6 -60.8L64 -16L118.4 -60.8A15.9 15.9 0 0 1 137.6 -60.8L192 -16L246.4 -60.8A15.9 15.9 0 0 1 265.6 -60.8L320 -16L358.4 -60.8C368.9 -68.7 384 -61.2 384 -48V432C384 445.2 369 452.7 358.4 444.8zM320 88C320 83.6 316.4 80 312 80H72C67.6 80 64 83.6 64 88V104C64 108.4 67.6 112 72 112H312C316.4 112 320 108.4 320 104V88zM320 184C320 179.6 316.4 176 312 176H72C67.6 176 64 179.6 64 184V200C64 204.4 67.6 208 72 208H312C316.4 208 320 204.4 320 200V184zM320 280C320 275.6 316.4 272 312 272H72C67.6 272 64 275.6 64 280V296C64 300.4 67.6 304 72 304H312C316.4 304 320 300.4 320 296V280z" glyph-name="receipt" horiz-adv-x="384" unicode=""/><glyph d="M184.561 186.097C187.793 172.1 172.438 161.462 160.493 168.929L119.757 194.384L68.89 112.982C55.606 91.727 70.96 64 96.012 64H148C154.627 64 160 58.627 160 52V12C160 5.373 154.627 0 148 0H96.115C20.781 0 -25.187 83.048 14.707 146.88L65.529 228.268L24.804 253.716C12.723 261.2630000000001 15.838 279.677 29.683 282.874L139.92 308.324C148.531 310.312 157.121 304.943 159.109 296.334L184.561 186.097zM283.122 369.012L324.411 302.936L283.671 277.479C271.62 269.951 274.671 251.526 288.55 248.321L398.7870000000001 222.871C407.4590000000001 220.872 416.002 226.309 417.9760000000001 234.861L443.4260000000001 345.098C446.6230000000001 358.942 431.4360000000001 369.817 419.3580000000001 362.266L378.6710000000001 336.842L337.4080000000001 402.924C299.8870000000001 462.957 212.1990000000001 463.095 174.5920000000001 402.924L156.6290000000001 374.158C153.1190000000001 368.538 154.8290000000001 361.137 160.4490000000001 357.625L194.3680000000001 336.43C199.9880000000001 332.918 207.3920000000001 334.627 210.9040000000001 340.247L228.8650000000001 368.99C241.5770000000001 389.331 270.8380000000001 388.666 283.1220000000001 369.012zM497.288 146.88L469.773 190.945C466.262 196.568 458.857 198.279 453.235 194.766L419.374 173.607C413.754 170.095 412.0440000000001 162.692 415.5560000000001 157.071L443.1200000000001 112.959C456.3770000000001 91.7479999999999 441.0630000000001 63.999 415.9840000000001 63.999H320V111.98C320 126.1930000000001 302.758 133.363 292.687 123.293L212.687 43.312C206.438 37.064 206.438 26.933 212.687 20.685L292.687 -59.304C302.689 -69.308 320 -62.3 320 -47.989V0H415.88C491.154 0 537.215 82.997 497.288 146.88z" glyph-name="recycle" horiz-adv-x="512" unicode=""/><glyph d="M256.455 440C322.724 439.881 382.892 413.767 427.314 371.315L463.029 407.03C478.149 422.149 504 411.4410000000001 504 390.059V256C504 242.745 493.255 232 480 232H345.941C324.559 232 313.851 257.851 328.97 272.971L370.72 314.721C339.856 343.62 299.919 359.628 257.49 359.9940000000001C165.092 360.7920000000001 87.207 286.017 88.0059999999999 190.552C88.764 99.991 162.184 24 256 24C297.127 24 335.997 38.678 366.629 65.556C371.372 69.717 378.5350000000001 69.464 382.997 65.003L422.659 25.341C427.531 20.469 427.29 12.526 422.177 7.908C378.202 -31.813 319.926 -56 256 -56C119.034 -56 8.001 55.033 8 191.998C7.999 328.807 119.646 440.245 256.455 440z" glyph-name="redo-alt" horiz-adv-x="512" unicode=""/><glyph d="M500.333 448H452.922C446.069 448 440.608 442.271 440.9360000000001 435.426L444.9020000000001 352.6670000000001C399.416 406.101 331.6720000000001 440 256.001 440C119.34 440 7.899 328.474 8 191.813C8.101 54.932 119.096 -56 256 -56C319.926 -56 378.202 -31.813 422.178 7.908C427.291 12.526 427.532 20.469 422.6600000000001 25.341L388.689 59.312C384.223 63.778 377.0490000000001 64.029 372.3090000000001 59.855C341.308 32.552 300.606 16 256 16C158.733 16 80 94.716 80 192C80 289.267 158.716 368 256 368C316.892 368 370.506 337.142 402.099 290.2L300.574 295.065C293.729 295.3930000000001 288 289.932 288 283.079V235.668C288 229.041 293.373 223.668 300 223.668H500.333C506.96 223.668 512.333 229.041 512.333 235.668V436C512.333 442.627 506.96 448 500.333 448z" glyph-name="redo" horiz-adv-x="512.333" unicode=""/><glyph d="M285.363 240.525C285.363 221.925 275.532 212.094 256.932 212.094H227.056V268.234H250.4340000000001C279.1020000000001 268.234 285.3630000000001 259.461 285.3630000000001 240.525zM504 192C504 55.033 392.967 -56 256 -56S8 55.033 8 192S119.033 440 256 440S504 328.967 504 192zM363.411 87.586C316.682 172.411 320.112 166.222 318.709 168.566C342.141 183.7380000000001 356.654 211.545 356.654 243.052C356.654 297.2960000000001 325.154 332.3040000000001 251.156 332.3040000000001H180.489C167.234 332.3040000000001 156.489 321.5590000000001 156.489 308.3040000000001V76C156.489 62.745 167.234 52 180.489 52H203.056C216.311 52 227.056 62.745 227.056 76V147.663H252.612L296.7410000000001 64.726A24.001000000000005 24.001000000000005 0 0 1 317.9290000000001 51.999H342.3930000000001C360.6540000000001 52 372.2220000000001 71.59 363.4110000000001 87.586z" glyph-name="registered" horiz-adv-x="512" unicode=""/><glyph d="M136.309 258.164L312.313 410.149C327.7200000000001 423.454 352 412.652 352 391.985V309.222C481.182 298.991 576 257.01 576 125.674C576 64.233 536.418 3.365 492.667 -28.458C479.014 -38.389 459.556 -25.925 464.59 -9.827C503.102 113.335 460.668 159.655 352 172.188V88.013C352 67.312 327.7 56.56 312.313 69.849L136.309 221.836C125.238 231.397 125.223 248.589 136.309 258.164zM8.309 221.836L184.313 69.85C199.7 56.561 224 67.313 224 88.014V103.832L115.394 197.617A55.96 55.96 0 0 0 96 240.002A55.95300000000001 55.95300000000001 0 0 0 115.393 282.382L224 376.168V391.985C224 412.652 199.72 423.454 184.313 410.149L8.309 258.164C-2.777 248.589 -2.762 231.397 8.309 221.836z" glyph-name="reply-all" horiz-adv-x="576" unicode=""/><glyph d="M8.309 258.164L184.313 410.149C199.719 423.454 224 412.653 224 391.985V311.932C384.629 310.093 512 277.9000000000001 512 125.674C512 64.233 472.419 3.365 428.6670000000001 -28.458C415.014 -38.389 395.5560000000001 -25.925 400.5900000000001 -9.827C445.9340000000001 135.185 379.0830000000001 173.683 224 175.915V88C224 67.3 199.7 56.547 184.3130000000001 69.836L8.3090000000001 221.836C-2.7619999999999 231.398 -2.7769999999999 248.589 8.3090000000001 258.164z" glyph-name="reply" horiz-adv-x="512" unicode=""/><glyph d="M544 256C544 344.4 472.4 416 384 416H160C71.6 416 0 344.4 0 256V192H544V256zM176.3 277.6L156.5 258.3L161.2 231C162 226.1 156.9 222.4 152.5 224.7L128 237.6L103.5 224.7C99.2 222.4 94 226.1 94.8 231L99.5 258.3L79.7 277.6C76.1 281.1 78.1 287.1 83 287.8L110.4 291.8L122.6 316.6C124.8 321.1 131.2 321 133.3 316.6L145.5 291.8L172.9 287.8C177.9 287.1 179.8 281.1 176.3 277.6zM320.3 277.6L300.5 258.3L305.2 231C306 226.1 300.9 222.4 296.5 224.7L272 237.6L247.5 224.7C243.2 222.4 238 226.1 238.8 231L243.5 258.3L223.7 277.6C220.1 281.1 222.1 287.1 227 287.8L254.4 291.8L266.6 316.6C268.8 321.1 275.2000000000001 321 277.3 316.6L289.5 291.8L316.9 287.8C321.9 287.1 323.8 281.1 320.3 277.6zM464.3 277.6L444.5 258.3L449.2 231C450 226.1 444.9 222.4 440.5 224.7L416 237.6L391.5 224.7C387.2 222.4 382 226.1 382.8 231L387.5 258.3L367.7 277.6C364.1 281.1 366.1 287.1 371 287.8L398.4 291.8L410.6 316.6C412.8 321.1 419.2 321 421.3 316.6L433.5 291.8L460.8999999999999 287.8C465.8999999999999 287.1 467.7999999999999 281.1 464.2999999999999 277.6zM624 128H592C583.2 128 576 120.8 576 112V48C576 39.2 568.8 32 560 32S544 39.2 544 48V160H0V-16C0 -24.8 7.2 -32 16 -32H112C120.8 -32 128 -24.8 128 -16V64H320V-16C320 -24.8 327.2 -32 336 -32H432C440.8 -32 448 -24.8 448 -16V96H480V52.7C480 10.9 510 -27.4 551.6 -31.6C599.4 -36.5 640 1.1 640 48V112C640 120.8 632.8 128 624 128z" glyph-name="republican" horiz-adv-x="640" unicode=""/><glyph d="M128 320C163.3 320 192 348.7 192 384S163.3 448 128 448S64 419.3 64 384S92.7 320 128 320zM512 320C547.3 320 576 348.7 576 384S547.3 448 512 448S448 419.3 448 384S476.7 320 512 320zM639.3 93.5L593.6999999999999 279.3C590.4 292.8 578.1999999999999 302.3 563.9 303.5C548.9 293.8 531.1 288 511.9 288C492.7 288 474.9 293.8 459.9 303.5C445.6 302.3 433.4 292.8 430.1 279.3L384.5 93.5C381 78.4 393 64 409.2 64H464V-40C464 -53.3 474.7 -64 488 -64H536C549.3 -64 560 -53.3 560 -40V64H614.8C631 64 643 78.4 639.3 93.5zM336 448H304C295.2 448 288 440.8 288 432V-48C288 -56.8 295.2 -64 304 -64H336C344.8 -64 352 -56.8 352 -48V432C352 440.8 344.8 448 336 448zM180.1 303.6C165.1 293.8 147.2 288 128 288C108.8 288 90.9 293.8 75.9 303.6C51.3 301.5 32 281.1 32 256V120C32 106.7 42.7 96 56 96H64V-40C64 -53.3 74.7 -64 88 -64H168C181.3 -64 192 -53.3 192 -40V96H200C213.3 96 224 106.7 224 120V256C224 281.1 204.7 301.5 180.1 303.6z" glyph-name="restroom" horiz-adv-x="640" unicode=""/><glyph d="M629.657 104.402L528.971 3.716C519.598 -5.656 504.403 -5.656 495.03 3.716L394.343 104.402C384.9700000000001 113.775 384.9700000000001 128.971 394.343 138.343L405.166 149.166C414.728 158.728 430.299 158.5059999999999 439.585 148.6739999999999L480 105.882V288H292.451A24.005 24.005 0 0 0 275.48 295.029L259.48 311.029C244.361 326.149 255.069 352 276.451 352H520C533.255 352 544 341.255 544 328V105.882L584.4159999999999 148.674C593.7009999999999 158.505 609.2719999999999 158.728 618.8349999999999 149.166L629.6579999999999 138.343C639.0299999999999 128.971 639.0299999999999 113.774 629.6569999999999 104.402zM364.5190000000001 88.971A23.999000000000002 23.999000000000002 0 0 1 347.548 96H160V278.1190000000001L200.416 235.327C209.702 225.496 225.272 225.273 234.835 234.836L245.657 245.658C255.03 255.031 255.03 270.227 245.657 279.599L144.971 380.284C135.598 389.657 120.402 389.657 111.03 380.284L10.343 279.598C0.97 270.225 0.97 255.029 10.343 245.657L21.165 234.835C30.727 225.273 46.298 225.495 55.584 235.326L96 278.1190000000001V56C96 42.745 106.745 32 120 32H363.549C384.931 32 395.639 57.851 380.52 72.971L364.519 88.971z" glyph-name="retweet" horiz-adv-x="640" unicode=""/><glyph d="M6.1 3.7C-3.5 -7.1 -1.4 -23.9 10.6 -32L79.4 -59.9C89.3 -66.6 102.7 -64.9 110.7 -56.1L202.5 45.8000000000001L123.3 133.7000000000001L6.1 3.7zM441.9000000000001 3.7S149.9 328.3 146.5000000000001 333.8C161.9000000000001 342.2000000000001 186.7000000000001 351.7000000000001 224.0000000000001 351.7000000000001S286.1000000000001 342.2000000000001 301.5000000000001 333.8C298.2000000000001 328.2000000000001 245.5000000000001 269.2000000000001 245.5000000000001 269.2000000000001L324.6 181.5L358.8 219.5C387.5 251.4 392.1 298.1 370.2 335L326.5 408.5C322.2 415.7 316.6 421.8 309.7 426.5C269 454.1 182.3 456.2 138.3 426.5C131.4 421.8 125.8 415.7 121.5 408.5L77.9 335.3C76.4 332.8 40.8 273.1 89.4 219.3L337.5 -56C345.5 -64.9 358.9 -66.5 368.8 -59.8L437.6 -31.9C449.5 -23.9 451.6 -7.1 441.9000000000001 3.7z" glyph-name="ribbon" horiz-adv-x="448" unicode=""/><glyph d="M256 384C110.06 384 0 322.0900000000001 0 240V141.87C0 63.52 114.62 0 256 0S512 63.52 512 141.87V240C512 322.0900000000001 401.94 384 256 384zM256 320C362.04 320 448 284.18 448 240C448 230.74 444.03 221.88 437.09 213.61C392.15 239.79 328.23 256 256 256S119.85 239.79 74.91 213.61C67.97 221.88 64 230.74 64 240C64 284.18 149.96 320 256 320zM120.43 183.36C155.04 198.07 201.64 208 256 208S356.96 198.07 391.57 183.36C356.84 168.93 308.93 160 256 160S155.16 168.93 120.43 183.36z" glyph-name="ring" horiz-adv-x="512" unicode=""/><glyph d="M573.19 45.33L433.4000000000001 365.33C428.43 376.71 417.6 384 405.68 384H308.0900000000001L310.54 360.8400000000001C311.04 356.12 307.3300000000001 352 302.5800000000001 352H273.42C268.67 352 264.9600000000001 356.12 265.4600000000001 360.8400000000001L267.9100000000001 384H170.32C158.39 384 147.56 376.71 142.59 365.33L2.8 45.33C-6.45 24.14 8.31 0 30.54 0H227.38L237.69 97.68C238.55 105.82 245.41 112 253.6 112H322.4C330.59 112 337.45 105.82 338.31 97.68L348.62 0H545.46C567.69 0 582.45 24.14 573.19 45.33zM260.4 312.8400000000001A8 8 0 0 0 268.36 320H307.65C311.74 320 315.18 316.91 315.61 312.8400000000001L320.21 269.26C320.96 262.17 315.4 256 308.28 256H267.74C260.61 256 255.06 262.17 255.81 269.26L260.3999999999999 312.84zM315.64 144H260.35C250.85 144 243.44 152.23 244.44 161.68L249.51 209.68C250.37 217.82 257.23 224 265.42 224H310.57C318.76 224 325.62 217.82 326.48 209.68L331.55 161.68C332.55 152.23 325.14 144 315.64 144z" glyph-name="road" horiz-adv-x="576" unicode=""/><glyph d="M0 192V64C0 46.3 14.3 32 32 32H64V224H32C14.3 224 0 209.7 0 192zM464 352H352V416C352 433.7 337.7 448 320 448S288 433.7 288 416V352H176C131.8 352 96 316.2 96 272V0C96 -35.3 124.7 -64 160 -64H480C515.3 -64 544 -35.3 544 0V272C544 316.2 508.2 352 464 352zM256 32H192V64H256V32zM224 152C201.9 152 184 169.9 184 192S201.9 232 224 232S264 214.1 264 192S246.1 152 224 152zM352 32H288V64H352V32zM448 32H384V64H448V32zM416 152C393.9 152 376 169.9 376 192S393.9 232 416 232S456 214.1 456 192S438.1 152 416 152zM608 224H576V32H608C625.7 32 640 46.3 640 64V192C640 209.7 625.7 224 608 224z" glyph-name="robot" horiz-adv-x="640" unicode=""/><glyph d="M505.1 428.9C503.8 435 499 439.8 492.9 441.1C460.7 448 435.5 448 410.4 448C307.2 448 245.3 392.8 199.1 320H94.9C76.7 320 60.1 309.7 52 293.5L2.6 194.7C-5.4 178.7 6.2 160 24.1 160H119.2C113.3 147.2 107.3 134.5 101.2 122.3C98.1 116.1 99.3 108.7 104.2 103.8L167.8 40.2C172.7 35.3 180.1 34.1 186.3 37.2C198.5 43.3 211.2 49.2 224 55.1V-40C224 -57.8 242.8 -69.4 258.7 -61.5L357.4 -12.1C373.7 -4 383.9 12.7 383.9 30.8V135.2C456.5 181.5 511.9 243.6 511.9 346.3C512 371.5 512 396.7 505.1 428.9zM400 288C373.5 288 352 309.5 352 336S373.5 384 400 384S448 362.5 448 336S426.5 288 400 288z" glyph-name="rocket" horiz-adv-x="512" unicode=""/><glyph d="M416 128H320C302.4 128 288 142.4 288 160S302.4 192 320 192H416S512 299 512 352S469 448 416 448S320 405 320 352C320 326.5 342.2 288.6 365.3 256H320C267.1 256 224 212.9 224 160S267.1 64 320 64H416C433.6 64 448 49.6 448 32S433.6 0 416 0H185.5C169.5 -24.8 151.7 -47.7 138.2 -64H416C468.9 -64 512 -20.9 512 32S468.9 128 416 128zM416 384C433.7 384 448 369.7 448 352S433.7 320 416 320S384 334.3 384 352S398.3 384 416 384zM96 192C43 192 0 149 0 96S96 -64 96 -64S192 43 192 96S149 192 96 192zM96 64C78.3 64 64 78.3 64 96S78.3 128 96 128S128 113.7 128 96S113.7 64 96 64z" glyph-name="route" horiz-adv-x="512" unicode=""/><glyph d="M400 416H48C21.49 416 0 394.51 0 368V16C0 -10.51 21.49 -32 48 -32H400C426.51 -32 448 -10.51 448 16V368C448 394.51 426.51 416 400 416zM112 32C85.49 32 64 53.49 64 80S85.49 128 112 128S160 106.51 160 80S138.51 32 112 32zM269.533 32H235.198C229.187 32 224.147 36.636 223.756 42.634C218.542 122.684 154.513 186.554 74.633 191.757C68.636 192.147 64 197.188 64 203.198V237.533C64 244.068 69.468 249.31 75.994 248.9580000000001C186.54 242.9840000000001 274.9910000000001 154.422 280.9580000000001 43.994C281.31 37.468 276.0680000000001 32 269.533 32zM372.56 32H338.226C332.065 32 327.051 36.882 326.799 43.038C321.201 179.573 211.595 289.199 75.039 294.798C68.882 295.051 64 300.065 64 306.226V340.56C64 347.014 69.338 352.224 75.787 351.992C243.617 345.967 377.997 210.801 383.992 43.787C384.224 37.338 379.014 32.0000000000001 372.56 32.0000000000001z" glyph-name="rss-square" horiz-adv-x="448" unicode=""/><glyph d="M128.081 32.041C128.081 -3.328 99.409 -32 64.04 -32S0 -3.328 0 32.041S28.672 96.082 64.041 96.082S128.081 67.409 128.081 32.041zM303.741 -15.209C295.387 139.391 171.556 263.378 16.791 271.741C7.656 272.235 0 264.895 0 255.747V207.678C0 199.263 6.49 192.206 14.887 191.66C126.719 184.376 216.36 94.958 223.659 -17.112C224.206 -25.509 231.263 -31.999 239.677 -31.999H287.746C296.895 -32 304.235 -24.344 303.741 -15.209zM447.99 -15.497C439.596 218.323 251.465 407.555 16.503 415.99C7.473 416.314 0 409.019 0 399.984V351.916C0 343.291 6.835 336.271 15.453 335.9170000000001C206.632 328.078 360.08 174.601 367.918 -16.548C368.271 -25.166 375.291 -32.001 383.917 -32.001H431.985C441.019 -32 448.314 -24.527 447.99 -15.497z" glyph-name="rss" horiz-adv-x="448" unicode=""/><glyph d="M239.36 128C324.48 128 384 187.458 384 272.929S324.48 416 239.36 416H76C69.373 416 64 410.627 64 404V197.368H12C5.373 197.368 0 191.995 0 185.368V140C0 133.373 5.373 128 12 128H64V96H12C5.373 96 0 90.627 0 84V44C0 37.373 5.373 32 12 32H64V-20C64 -26.627 69.373 -32 76 -32H134.56C141.187 -32 146.56 -26.627 146.56 -20V32H308C314.627 32 320 37.373 320 44V84C320 90.627 314.627 96 308 96H146.56V128H239.36zM146.56 347.252H225.28C272 347.252 300.16 318.142 300.16 272.9290000000001C300.16 227.0970000000001 272 197.368 224 197.368H146.56V347.252z" glyph-name="ruble-sign" horiz-adv-x="384" unicode=""/><glyph d="M160 160H104C99.58 160 96 163.58 96 168V184C96 188.42 99.58 192 104 192H160V256H104C99.58 256 96 259.5800000000001 96 264V280C96 284.42 99.58 288 104 288H160V352H104C99.58 352 96 355.58 96 360V376C96 380.42 99.58 384 104 384H160V416C160 433.67 145.67 448 128 448H32C14.33 448 0 433.67 0 416V-32C0 -34.77 0.91 -37.24 1.57 -39.8L160 118.62V160zM480 96H448V40C448 35.58 444.42 32 440 32H424C419.58 32 416 35.58 416 40V96H352V40C352 35.58 348.42 32 344 32H328C323.58 32 320 35.58 320 40V96H256V40C256 35.58 252.42 32 248 32H232C227.58 32 224 35.58 224 40V96H182.63L24.2 -62.43C26.76 -63.09 29.24 -64 32 -64H480C497.67 -64 512 -49.67 512 -32V64C512 81.67 497.67 96 480 96z" glyph-name="ruler-combined" horiz-adv-x="512" unicode=""/><glyph d="M544 320H496V232C496 227.58 492.42 224 488 224H472C467.58 224 464 227.58 464 232V320H400V232C400 227.58 396.42 224 392 224H376C371.58 224 368 227.58 368 232V320H304V232C304 227.58 300.42 224 296 224H280C275.58 224 272 227.58 272 232V320H208V232C208 227.58 204.42 224 200 224H184C179.58 224 176 227.58 176 232V320H112V232C112 227.58 108.42 224 104 224H88C83.58 224 80 227.58 80 232V320H32C14.33 320 0 305.67 0 288V96C0 78.33 14.33 64 32 64H544C561.67 64 576 78.33 576 96V288C576 305.67 561.67 320 544 320z" glyph-name="ruler-horizontal" horiz-adv-x="576" unicode=""/><glyph d="M168 32C163.58 32 160 35.58 160 40V56C160 60.42 163.58 64 168 64H256V128H168C163.58 128 160 131.58 160 136V152C160 156.42 163.58 160 168 160H256V224H168C163.58 224 160 227.58 160 232V248C160 252.42 163.58 256 168 256H256V320H168C163.58 320 160 323.58 160 328V344C160 348.42 163.58 352 168 352H256V416C256 433.67 241.67 448 224 448H32C14.33 448 0 433.67 0 416V-32C0 -49.67 14.33 -64 32 -64H224C241.67 -64 256 -49.67 256 -32V32H168z" glyph-name="ruler-vertical" horiz-adv-x="256" unicode=""/><glyph d="M635.7 280.8L556.1 416.3C547.3000000000001 431.3 527.8000000000001 436.4 512.6 427.8L443.6 388.7L503.3 287C505.5 283.2 504.2 278.5 500.4 276.3L486.6 268.5C482.8 266.3 477.9 267.6 475.7 271.4L416 373L360.8 341.7L388.7 294.3C390.9 290.5 389.6 285.8 385.8 283.6L372 275.8C368.2 273.6 363.3 274.9 361.1 278.7000000000001L333.2 326L278 294.7L337.8 193C340 189.3 338.7 184.5 334.9000000000001 182.3L321.1 174.5C317.3 172.3 312.4000000000001 173.6 310.2000000000001 177.4L250.5000000000001 279.1L195.3000000000001 247.8L223.2000000000001 200.4C225.4000000000001 196.5999999999999 224.1000000000001 191.9 220.3000000000001 189.6999999999999L206.5000000000001 181.8999999999999C202.7000000000001 179.6999999999999 197.8000000000001 181 195.6000000000001 184.7999999999999L167.7000000000001 232.2999999999999L112.5 200.9999999999999L172.2000000000001 99.2999999999999C174.4 95.5999999999999 173.1000000000001 90.7999999999999 169.3000000000001 88.5999999999999L155.5 80.7999999999999C151.7 78.5999999999999 146.8000000000001 79.8999999999999 144.6 83.6999999999999L84.9 185.1L15.9 146C0.7 137.3 -4.6 118.2 4.2 103.2L83.8 -32.4C92.6 -47.4 112.1 -52.5 127.3 -43.9L624.1 238C639.3000000000001 246.6 644.5 265.8 635.7 280.8z" glyph-name="ruler" horiz-adv-x="640" unicode=""/><glyph d="M272 352C298.51 352 320 373.49 320 400S298.51 448 272 448S224 426.51 224 400S245.49 352 272 352zM113.69 130.53L98.89 96.01H32C14.33 96.01 0 81.68 0 64.01S14.33 32.01 32 32.01H109.45C128.7 32.01 146.03 43.45 153.56 61.1L162.35 81.62L151.68 87.92C134.36 98.15 121.62 113.29 113.69 130.53zM384 224.01H339.9700000000001L313.9100000000001 277.26C301.4100000000001 302.81 278.4600000000001 321.49 252.13 328.2L181.05 349.34C152.75 356.14 123.28 349.89 100.21 332.2L60.54 301.79C46.51 291.04 43.85 270.96 54.62 256.93S85.46 240.27 99.48 251.01L139.17 281.42C146.84 287.31 156.61 289.42 164.44 287.56L179.14 283.19L141.68 195.8C129.06 166.32 140.37 131.79 167.98 115.49L252.9600000000001 65.32L225.4900000000001 -22.41C220.21 -39.27 229.6000000000001 -57.22 246.4600000000001 -62.5C249.6500000000001 -63.5 252.8700000000001 -63.98 256.04 -63.98C269.6500000000001 -63.98 282.2700000000001 -55.21 286.56 -41.53L318.2 59.53C324.11 80.3 315.31 102.61 296.56 113.92L235.32 150.06L266.63 228.34L286.9 186.91C294.9 170.57 311.82 160.02 330.01 160.02H384C401.67 160.02 416 174.35 416 192.02S401.67 224.01 384 224.01z" glyph-name="running" horiz-adv-x="416" unicode=""/><glyph d="M308 352C314.627 352 320 357.373 320 364V404C320 410.627 314.627 416 308 416H12C5.373 416 0 410.627 0 404V359.252C0 352.625 5.373 347.252 12 347.252H97.28C124.588 347.252 145.541 337.294 158.25 320H12C5.373 320 0 314.627 0 308V268C0 261.373 5.373 256 12 256H170.757C164.54 219.914 137.796 197.368 96 197.368H12C5.373 197.368 0 191.995 0 185.368V132.356C0 129.007 1.4 125.81 3.861 123.538L168.913 -28.818A12.001000000000001 12.001000000000001 0 0 1 177.052 -32H259.614C270.538 -32 275.78 -18.592 267.753 -11.182L116.871 128.094C193.37 130.434 248.015 181.489 255.189 256H308C314.627 256 320 261.373 320 268V308C320 314.627 314.627 320 308 320H249.31C245.824 331.541 241.03 342.246 235.058 352H308z" glyph-name="rupee-sign" horiz-adv-x="320" unicode=""/><glyph d="M248 440C111 440 0 329 0 192C0 101.9 48.2 23.3 120 -20.1V160C120 168.8 127.2 176 136 176S152 168.8 152 160V-36.7C181.5 -49.1 214 -56 248 -56S314.5 -49.1 344 -36.7V160C344 168.8 351.2 176 360 176S376 168.8 376 160V-20.1C447.8 23.3 496 102 496 192C496 329 385 440 248 440zM182.5 223.5C167.7 236.7 136.3 236.7 121.5 223.5L112 215C108.2 211.7 102.7 211 98.3 213.4C93.9 215.8 91.4 220.8 92.2 225.8C96.2 251 126.4 267.9 152.1 267.9S208 251 212 225.8C212.8 220.8 210.3 215.8 205.9 213.4C200.1 210.3 194.7 212.7 192.2 215L182.5 223.5zM248 32C221.5 32 200 60.7 200 96S221.5 160 248 160S296 131.3 296 96S274.5 32 248 32zM397.8 213.5C392 210.4 386.6 212.8 384.1 215.1L374.6 223.6C359.8 236.8 328.4000000000001 236.8 313.6 223.6L304 215C300.2 211.7 294.7 211 290.3 213.4C285.9000000000001 215.8 283.4000000000001 220.8 284.2 225.8C288.2 251 318.4 267.9 344.1 267.9S400 251 404 225.8C404.6 220.9 402.2 215.9 397.8 213.5z" glyph-name="sad-cry" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM328 272C345.7 272 360 257.7 360 240S345.7 208 328 208S296 222.3 296 240S310.3 272 328 272zM152 32C125.5 32 104 53 104 79C104 99 132.5 139.4 145.6 156.8C148.8 161.1 155.2 161.1 158.4 156.8C171.5 139.4 200 99 200 79C200 53 178.5 32 152 32zM168 208C150.3 208 136 222.3 136 240S150.3 272 168 272S200 257.7 200 240S185.7 208 168 208zM338.2 53.8C315.8 80.6 282.9 96 248 96C226.8 96 226.8 128 248 128C292.4 128 334.3 108.4 362.7 74.2C376.5 57.8 351.5 37.7 338.2 53.8z" glyph-name="sad-tear" horiz-adv-x="496" unicode=""/><glyph d="M188.8 102.1L216.2 129.5C218.8 128.8 221.2 127.9 224 127.9C241.7 127.9 256 142.2 256 159.9S241.7 191.9 224 191.9S192 177.6 192 159.9C192 157.1 192.9 154.7 193.6 152.1L166.2 124.7L49.4 241.5C42.1 248.8 29.3 247.6 24.4 238.5C-17.4 160.7 -5.5 61.8 60.1 -3.8C125.7 -69.4 224.7 -81.2999999999999 302.4000000000001 -39.5C311.6 -34.6 312.8 -21.8 305.4000000000001 -14.5L188.8 102.1zM209 448C199.8 448.5 192 441.2 192 432V400.4C192 391.9 198.6 384.9 207 384.5C336.4 377.5 440.4 272.5 447.9 143C448.4 134.6 455.4 128 463.8 128H495.9C505.1 128 512.4 135.8 511.9 145C503.4 308.2 372.2 439.4 209 448zM209.3 352C200 352.7 192 345.3 192 335.9V303.8C192 295.4 198.5 288.5 206.8 287.9C283.6 281.6 344.8 219.7 351.7000000000001 142.7000000000001C352.5000000000001 134.4 359.3000000000001 128.0000000000001 367.6 128.0000000000001H399.8C409.1 128.0000000000001 416.6 136.0000000000001 415.9000000000001 145.3000000000001C407.5000000000001 255.4000000000001 319.4000000000001 343.5000000000001 209.3000000000001 352.0000000000001z" glyph-name="satellite-dish" horiz-adv-x="512" unicode=""/><glyph d="M502.7 183L422.4 263.4L470.2 311.3C483.3 324.4 483.3 345.7000000000001 470.2 358.8L422.7 406.3C409.6 419.4000000000001 388.3 419.4000000000001 375.2 406.3L327.4 358.4L247.1 438.7C240.8 444.9 232.7 448 224.5 448S208.2 444.9 202 438.7L105.3 342C92.9 329.6 92.9 309.4 105.3 296.9L185.6 216.5L175.8 206.7C122.1 231 59.6 229.4 7.3 201.3C-1.2 196.7 -2.3 184.9 4.5 178.1L112 70.6L94.2 52.8C91.6 53.5 89.2 54.4 86.4 54.4C68.7 54.4 54.4 40.1 54.4 22.4S68.7 -9.6 86.4 -9.6S118.4 4.7 118.4 22.4C118.4 25.2 117.5 27.6 116.8 30.2L134.6 48.0000000000001L242.1 -59.4999999999999C248.9000000000001 -66.2999999999999 260.8 -65.1999999999999 265.3 -56.6999999999999C293.4000000000001 -4.3999999999999 295 58.1000000000001 270.7 111.8000000000001L280.6 121.7000000000001L360.9 41.3000000000001C367.1 35.1000000000001 375.3 32.0000000000001 383.4 32.0000000000001S399.7 35.1000000000001 405.9 41.3000000000001L502.6 138.0000000000001C515.0999999999999 150.4 515.0999999999999 170.6000000000001 502.7 183.0000000000001zM150.7 319.5L224.5 393.3L293.4 324.4L219.6 250.6L150.7 319.5zM383.5 86.7L314.6 155.6L388.4000000000001 229.4000000000001L457.3000000000001 160.5L383.5000000000001 86.7z" glyph-name="satellite" horiz-adv-x="512" unicode=""/><glyph d="M433.941 318.059L350.059 401.9410000000001A48 48 0 0 1 316.118 416H48C21.49 416 0 394.51 0 368V16C0 -10.51 21.49 -32 48 -32H400C426.51 -32 448 -10.51 448 16V284.118A48 48 0 0 1 433.941 318.059zM224 32C188.654 32 160 60.654 160 96C160 131.346 188.654 160 224 160S288 131.346 288 96C288 60.654 259.346 32 224 32zM320 336.52V236C320 229.373 314.627 224 308 224H76C69.373 224 64 229.373 64 236V340C64 346.627 69.373 352 76 352H304.52C307.703 352 310.755 350.736 313.005 348.485L316.485 345.005A11.996 11.996 0 0 0 320 336.52z" glyph-name="save" horiz-adv-x="448" unicode=""/><glyph d="M0 224V-48C0 -56.84 7.16 -64 16 -64H96V256H32C14.33 256 0 241.67 0 224zM360 272H336V312C336 316.42 332.42 320 328 320H312C307.58 320 304 316.42 304 312V248C304 243.58 307.58 240 312 240H360C364.42 240 368 243.58 368 248V264C368 268.42 364.42 272 360 272zM497.75 335.9600000000001L337.75 442.63A32.02 32.02 0 0 1 302.25 442.63L142.25 335.9600000000001A32.002 32.002 0 0 1 128 309.3400000000001V-64H256V80C256 88.84 263.1600000000001 96 272 96H368C376.84 96 384 88.84 384 80V-64H512V309.3300000000001C512 320.0300000000001 506.65 330.0300000000001 497.75 335.9600000000001zM320 192C275.82 192 240 227.82 240 272S275.82 352 320 352S400 316.18 400 272S364.18 192 320 192zM608 256H544V-64H624C632.84 -64 640 -56.84 640 -48V224C640 241.67 625.67 256 608 256z" glyph-name="school" horiz-adv-x="640" unicode=""/><glyph d="M448 448L320 352V289.94L236.97 206.91C243.76 202.66 250.24 197.85 256.04 192.04C261.8400000000001 186.24 266.6600000000001 179.76 270.9100000000001 172.97L353.94 256H416L512 384L448 448zM128 169.41L10.92 52.33C-3.63 37.78 -3.63 14.18 10.92 -0.38L63.62 -53.08C78.18 -67.64 101.77 -67.64 116.33 -53.08L233.41 64C262.52 93.11 262.52 140.3 233.41 169.41S157.11 198.52 128 169.41z" glyph-name="screwdriver" horiz-adv-x="512" unicode=""/><glyph d="M48 448C21.53 448 0 426.4700000000001 0 400V336C0 327.16 7.16 320 16 320H96V400C96 426.4700000000001 74.47 448 48 448zM256 35.43V96H544V352C544 404.94 500.94 448 448 448H111.59C121.74 434.59 128 418.08 128 400V32C128 -6.87 162.65 -37.65 202.75 -31.12C234.22 -26 256 3.54 256 35.43zM288 64V32C288 -20.93 244.94 -64 192 -64H528C589.86 -64 640 -13.86 640 48C640 56.84 632.84 64 624 64H288z" glyph-name="scroll" horiz-adv-x="640" unicode=""/><glyph d="M320 448H128L0 320V0C0 -35.3 28.7 -64 64 -64H320C355.3 -64 384 -35.3 384 0V384C384 419.3 355.3 448 320 448zM160 288H112V384H160V288zM240 288H192V384H240V288zM320 288H272V384H320V288z" glyph-name="sd-card" horiz-adv-x="384" unicode=""/><glyph d="M505.04 5.34L405.3300000000001 105.03C400.8300000000001 109.53 394.73 112.03 388.3300000000001 112.03H372.0300000000001C399.6300000000001 147.33 416.0300000000001 191.72 416.0300000000001 240.02C416.03 354.91 322.92 448 208.02 448S0 354.91 0 240.02S93.11 32.04 208.02 32.04C256.32 32.04 300.73 48.44 336.03 76.04V59.74C336.03 53.34 338.53 47.24 343.03 42.74L442.74 -56.95C452.1399999999999 -66.35 467.34 -66.35 476.6399999999999 -56.95L504.9399999999999 -28.65C514.3399999999999 -19.25 514.3399999999999 -4.06 505.04 5.34zM208.0200000000001 96.04C128.48 96.04 64.02 160.38 64.02 240.02C64.02 319.55 128.37 384 208.0200000000001 384C287.5600000000001 384 352.0200000000001 319.66 352.0200000000001 240.02C352.0200000000001 160.49 287.6700000000001 96.04 208.0200000000001 96.04zM235.1300000000001 248.58L190.1200000000001 262.08C184.9600000000001 263.63 181.3500000000001 268.86 181.3500000000001 274.81C181.3500000000001 282.08 186.6500000000001 288 193.1500000000001 288H221.2600000000001C225.8200000000001 288 230.2200000000001 286.7099999999999 234.0800000000001 284.28C237.3200000000001 282.25 241.4400000000001 282.37 244.2100000000001 285.01L255.9600000000001 296.2199999999999C259.49 299.5899999999999 259.29 305.43 255.3900000000001 308.36C246.2900000000001 315.19 235.3100000000001 319.13 224.0200000000001 319.7099999999999V336C224.0200000000001 340.42 220.44 344 216.0200000000001 344H200.0200000000001C195.6000000000001 344 192.0200000000001 340.42 192.0200000000001 336V319.88C168.3900000000001 319.25 149.34 299.33 149.34 274.81C149.34 254.84 162.3300000000001 237 180.92 231.42L225.93 217.92C231.09 216.37 234.7 211.14 234.7 205.19C234.7 197.92 229.4 192 222.9 192H194.8C190.24 192 185.84 193.29 181.98 195.72C178.74 197.75 174.62 197.63 171.85 194.9900000000001L160.1 183.78C156.57 180.41 156.77 174.5700000000001 160.67 171.6400000000001C169.77 164.8100000000001 180.75 160.8700000000001 192.04 160.29V144C192.04 139.58 195.62 136 200.04 136H216.04C220.46 136 224.04 139.58 224.04 144V160.12C247.67 160.75 266.7200000000001 180.66 266.7200000000001 205.19C266.7200000000001 225.16 253.73 243 235.13 248.58z" glyph-name="search-dollar" horiz-adv-x="512" unicode=""/><glyph d="M505.04 5.34L405.3300000000001 105.03C400.8300000000001 109.53 394.73 112.03 388.3300000000001 112.03H372.0300000000001C399.6300000000001 147.33 416.0300000000001 191.72 416.0300000000001 240.02C416.03 354.91 322.92 448 208.02 448S0 354.91 0 240.02S93.11 32.04 208.02 32.04C256.32 32.04 300.73 48.44 336.03 76.04V59.74C336.03 53.34 338.53 47.24 343.03 42.74L442.74 -56.95C452.1399999999999 -66.35 467.34 -66.35 476.6399999999999 -56.95L504.9399999999999 -28.65C514.3399999999999 -19.25 514.3399999999999 -4.06 505.04 5.34zM208.0200000000001 96.04C128.48 96.04 64.02 160.38 64.02 240.02C64.02 319.55 128.37 384 208.0200000000001 384C287.5600000000001 384 352.0200000000001 319.66 352.0200000000001 240.02C352.0200000000001 160.49 287.6700000000001 96.04 208.0200000000001 96.04zM208.0400000000001 336C167.2600000000001 336 134.2000000000001 302.95 134.2000000000001 262.17C134.2000000000001 229.21 182.46 169.12 200.9500000000001 147.31A9.24 9.24 0 0 1 215.1300000000001 147.31C233.6200000000001 169.12 281.8800000000001 229.2 281.8800000000001 262.17C281.8800000000001 302.95 248.8200000000001 336 208.0400000000001 336zM208.0400000000001 240C194.7800000000001 240 184.0400000000001 250.75 184.0400000000001 264C184.0400000000001 277.26 194.7900000000001 288 208.0400000000001 288S232.0400000000001 277.26 232.0400000000001 264C232.0400000000001 250.75 221.2900000000001 240 208.0400000000001 240z" glyph-name="search-location" horiz-adv-x="512" unicode=""/><glyph d="M304 256V224C304 217.4 298.6 212 292 212H124C117.4 212 112 217.4 112 224V256C112 262.6 117.4 268 124 268H292C298.6 268 304 262.6 304 256zM505 -28.7L476.7 -57C467.3 -66.4 452.1 -66.4 442.8 -57L343 42.7C338.5 47.2 336 53.3 336 59.7V76C300.7 48.4 256.3 32 208 32C93.1 32 0 125.1 0 240S93.1 448 208 448S416 354.9 416 240C416 191.7 399.6 147.3 372 112H388.3C394.7 112 400.8 109.5 405.3 105L505 5.3C514.3 -4.1 514.3 -19.3 505 -28.7zM344 240C344 315.2 283.2 376 208 376S72 315.2 72 240S132.8 104 208 104S344 164.8 344 240z" glyph-name="search-minus" horiz-adv-x="512" unicode=""/><glyph d="M304 256V224C304 217.4 298.6 212 292 212H236V156C236 149.4 230.6 144 224 144H192C185.4 144 180 149.4 180 156V212H124C117.4 212 112 217.4 112 224V256C112 262.6 117.4 268 124 268H180V324C180 330.6 185.4 336 192 336H224C230.6 336 236 330.6 236 324V268H292C298.6 268 304 262.6 304 256zM505 -28.7L476.7 -57C467.3 -66.4 452.1 -66.4 442.8 -57L343 42.7C338.5 47.2 336 53.3 336 59.7V76C300.7 48.4 256.3 32 208 32C93.1 32 0 125.1 0 240S93.1 448 208 448S416 354.9 416 240C416 191.7 399.6 147.3 372 112H388.3C394.7 112 400.8 109.5 405.3 105L505 5.3C514.3 -4.1 514.3 -19.3 505 -28.7zM344 240C344 315.2 283.2 376 208 376S72 315.2 72 240S132.8 104 208 104S344 164.8 344 240z" glyph-name="search-plus" horiz-adv-x="512" unicode=""/><glyph d="M505 5.3L405.3 105C400.8 109.5 394.7 112 388.3 112H372C399.6 147.3 416 191.7 416 240C416 354.9 322.9 448 208 448S0 354.9 0 240S93.1 32 208 32C256.3 32 300.7 48.4 336 76V59.7C336 53.3 338.5 47.2 343 42.7L442.7 -57C452.1 -66.4 467.3 -66.4 476.6 -57L504.9 -28.7C514.3 -19.3 514.3 -4.1 505 5.3zM208 112C137.3 112 80 169.2 80 240C80 310.7 137.2 368 208 368C278.7 368 336 310.8 336 240C336 169.3 278.8 112 208 112z" glyph-name="search" horiz-adv-x="512" unicode=""/><glyph d="M64 352H0C0 228.3 100.3 128 224 128V-16C224 -24.8 231.2 -32 240 -32H272C280.8 -32 288 -24.8 288 -16V128C288 251.7 187.7 352 64 352zM448 416C363.8 416 290.6 369.5 252.3 300.8C280 270.6 300.5 233.9 311.3 193.2C424 204.9 512 300.1 512 416H448z" glyph-name="seedling" horiz-adv-x="512" unicode=""/><glyph d="M480 288H32C14.327 288 0 302.327 0 320V384C0 401.673 14.327 416 32 416H480C497.673 416 512 401.673 512 384V320C512 302.327 497.673 288 480 288zM432 376C418.745 376 408 365.255 408 352S418.745 328 432 328S456 338.745 456 352S445.255 376 432 376zM368 376C354.745 376 344 365.255 344 352S354.745 328 368 328S392 338.745 392 352S381.255 376 368 376zM480 128H32C14.327 128 0 142.327 0 160V224C0 241.673 14.327 256 32 256H480C497.673 256 512 241.673 512 224V160C512 142.327 497.673 128 480 128zM432 216C418.745 216 408 205.255 408 192S418.745 168 432 168S456 178.745 456 192S445.255 216 432 216zM368 216C354.745 216 344 205.255 344 192S354.745 168 368 168S392 178.745 392 192S381.255 216 368 216zM480 -32H32C14.327 -32 0 -17.673 0 0V64C0 81.673 14.327 96 32 96H480C497.673 96 512 81.673 512 64V0C512 -17.673 497.673 -32 480 -32zM432 56C418.745 56 408 45.255 408 32S418.745 8 432 8S456 18.745 456 32S445.255 56 432 56zM368 56C354.745 56 344 45.255 344 32S354.745 8 368 8S392 18.745 392 32S381.255 56 368 56z" glyph-name="server" horiz-adv-x="512" unicode=""/><glyph d="M512 128V-32C512 -49.67 497.67 -64 480 -64H320C302.33 -64 288 -49.67 288 -32V128C288 145.67 302.33 160 320 160H480C497.67 160 512 145.67 512 128zM128 192C57.31 192 0 134.69 0 64S57.31 -64 128 -64S256 -6.69 256 64S198.69 192 128 192zM479.03 224C504.3699999999999 224 520.2099999999999 250.67 507.54 272L412.51 432C399.84 453.33 368.16 453.33 355.49 432L260.4600000000001 272C247.7900000000001 250.67 263.6300000000001 224 288.9700000000001 224H479.03z" glyph-name="shapes" horiz-adv-x="512" unicode=""/><glyph d="M448 368V16C448 -10.51 426.51 -32 400 -32H48C21.49 -32 0 -10.51 0 16V368C0 394.51 21.49 416 48 416H400C426.51 416 448 394.51 448 368zM304 152C289.438 152 276.177 146.439 266.217 137.329L198.259 178.104A56.33899999999999 56.33899999999999 0 0 1 198.259 205.897L266.217 246.672C276.177 237.561 289.438 232 304 232C334.928 232 360 257.072 360 288S334.928 344 304 344S248 318.928 248 288C248 283.203 248.605 278.5470000000001 249.74 274.103L181.782 233.328C171.823 242.439 158.562 248 144 248C113.072 248 88 222.928 88 192S113.072 136 144 136C158.562 136 171.823 141.561 181.783 150.671L249.741 109.896A56.08800000000001 56.08800000000001 0 0 1 248.001 95.999C248.001 65.071 273.073 39.999 304.001 39.999S360.001 65.071 360.001 95.999C360 126.928 334.928 152 304 152z" glyph-name="share-alt-square" horiz-adv-x="448" unicode=""/><glyph d="M352 128C329.392 128 308.613 120.181 292.21 107.105L189.724 171.159A96.551 96.551 0 0 1 189.724 212.842L292.21 276.896C308.613 263.819 329.392 256 352 256C405.019 256 448 298.981 448 352S405.019 448 352 448S256 405.019 256 352C256 344.842 256.79 337.87 258.276 331.159L155.79 267.105C139.387 280.1810000000001 118.608 288 96 288C42.981 288 0 245.019 0 192S42.981 96 96 96C118.608 96 139.387 103.819 155.79 116.895L258.276 52.841A96.301 96.301 0 0 1 256 32C256 -21.019 298.981 -64 352 -64S448 -21.019 448 32S405.019 128 352 128z" glyph-name="share-alt" horiz-adv-x="448" unicode=""/><glyph d="M568.482 270.552L424.479 134.567C409.3 120.232 384 130.86 384 152.015V223.978C239.425 223.008 178.434 188.865 219.225 52.625C223.708 37.652 206.379 26.058 194.219 35.295C155.252 64.895 120 121.512 120 178.661C120 322.598 237.599 351.161 384 351.973V423.988C384 445.162 409.317 455.756 424.479 441.436L568.482 305.448C578.502 295.985 578.51 280.023 568.482 270.552zM384 68.872V0H64V320H114.916A11.989999999999998 11.989999999999998 0 0 1 123.564 323.693C138.517 339.261 155.801 351.583 174.578 361.3690000000001C185.708 367.17 181.584 384 169.033 384H48C21.49 384 0 362.51 0 336V-16C0 -42.51 21.49 -64 48 -64H400C426.51 -64 448 -42.51 448 -16V72.806C448 81.094 439.803 86.872 431.989 84.108A71.83 71.83 0 0 0 397.8 80.731C390.53 81.777 384 76.217 384 68.872z" glyph-name="share-square" horiz-adv-x="576" unicode=""/><glyph d="M503.691 258.164L327.687 410.149C312.281 423.454 288 412.653 288 391.985V311.932C127.371 310.093 0 277.9 0 125.674C0 64.233 39.581 3.365 83.333 -28.458C96.986 -38.389 116.444 -25.925 111.41 -9.827C66.066 135.186 132.917 173.684 288 175.915V88C288 67.3 312.3 56.547 327.687 69.836L503.691 221.836C514.7620000000001 231.398 514.777 248.589 503.691 258.164z" glyph-name="share" horiz-adv-x="512" unicode=""/><glyph d="M248 280V112C248 103.16 255.16 96 264 96H312C320.84 96 328 103.16 328 112V280C328 355.11 267.11 416 192 416H24C10.75 416 0 405.26 0 392V-16C0 -24.84 7.16 -32 16 -32H64C72.84 -32 80 -24.84 80 -16V336H192C222.93 336 248 310.93 248 280zM432 416H384C375.1600000000001 416 368 408.8400000000001 368 400V104C368 73.07 342.93 48 312 48H200V272C200 280.8400000000001 192.84 288 184 288H136C127.16 288 120 280.8400000000001 120 272V-8C120 -21.25 130.75 -32 144 -32H312C387.11 -32 448 28.89 448 104V400C448 408.8400000000001 440.84 416 432 416z" glyph-name="shekel-sign" horiz-adv-x="448" unicode=""/><glyph d="M496 320C496 98.718 360.0660000000001 -24.645 274.461 -60.308A48 48 0 0 0 237.538 -60.308C130.495 -15.713 16 121.513 16 320A48 48 0 0 0 45.539 364.308L237.539 444.308A48 48 0 0 0 274.462 444.308L466.462 364.308A48 48 0 0 0 496 320zM256 1.687L256.066 1.653C349.801 48.342 428.563 157.961 431.883 309.382L256 382.6670000000001V1.687z" glyph-name="shield-alt" horiz-adv-x="512" unicode=""/><glyph d="M496.616 75.361L566.6279999999999 145.373C583.5269999999999 162.273 576.5699999999999 191.144 553.7919999999999 198.465L512 211.898V352C512 369.673 497.673 384 480 384H416V424C416 437.255 405.255 448 392 448H248C234.745 448 224 437.255 224 424V384H160C142.327 384 128 369.673 128 352V211.898L86.208 198.465C63.455 191.152 56.454 162.292 73.372 145.373L143.384 75.361C125.828 31.713 85.587 0 24 0C10.745 0 0 -10.745 0 -24V-40C0 -53.255 10.745 -64 24 -64C85.023 -64 131.499 -43.39 167.258 -4.604C181.677 -39.432 216.021 -64 256 -64H384C423.979 -64 458.323 -39.432 472.742 -4.604C508.495 -43.384 554.968 -64 616 -64C629.255 -64 640 -53.255 640 -40V-24C640 -10.745 629.255 0 616 0C555.183 0 514.458 31.001 496.616 75.361zM192 320H448V232.469L329.7920000000001 270.464A31.995 31.995 0 0 1 310.2080000000001 270.464L192 232.469V320z" glyph-name="ship" horiz-adv-x="640" unicode=""/><glyph d="M624 96H608V204.1C608 216.8 602.9 229 593.9 238L494 337.9C485 346.9 472.8 352 460.1 352H416V400C416 426.5 394.5 448 368 448H112C85.5 448 64 426.5 64 400V352H8C3.6 352 0 348.4 0 344V328C0 323.6 3.6 320 8 320H280C284.4 320 288 316.4 288 312V296C288 291.6 284.4 288 280 288H40C35.6 288 32 284.4 32 280V264C32 259.6 35.6 256 40 256H248C252.4 256 256 252.4 256 248V232C256 227.6 252.4 224 248 224H8C3.6 224 0 220.4 0 216V200C0 195.6 3.6 192 8 192H216C220.4 192 224 188.4 224 184V168C224 163.6 220.4 160 216 160H64V32C64 -21 107 -64 160 -64S256 -21 256 32H384C384 -21 427 -64 480 -64S576 -21 576 32H624C632.8 32 640 39.2 640 48V80C640 88.8 632.8 96 624 96zM160 -16C133.5 -16 112 5.5 112 32S133.5 80 160 80S208 58.5 208 32S186.5 -16 160 -16zM480 -16C453.5 -16 432 5.5 432 32S453.5 80 480 80S528 58.5 528 32S506.5 -16 480 -16zM560 192H416V304H460.1L560 204.1V192z" glyph-name="shipping-fast" horiz-adv-x="640" unicode=""/><glyph d="M192 288H224V416H192C156.65 416 128 387.35 128 352S156.65 288 192 288zM0 32C0 -3.35 28.65 -32 64 -32H96V96H64C28.65 96 0 67.35 0 32zM337.46 160C302.55 160 261.3 146.88 232.73 128C207.94 111.62 188.21 96 128 96V-32L185.53 -47.97C211.74 -55.25 238.54 -61.09 265.84 -63.02C298.53 -65.33 331.44 -63.69 363.42 -56.82C472.9 -33.3 512 18.78 512 64C512 128 427.82 160 337.4600000000001 160zM491.42 440.81C459.44 447.68 426.53 449.33 393.84 447.01C366.54 445.08 339.74 439.24 313.53 431.9700000000001L256 416V288C316.2 288 335.94 272.38 360.73 256C389.3 237.12 430.55 224 465.46 224C555.82 224 640 256 640 320C640 365.2200000000001 600.9 417.3 491.42 440.81z" glyph-name="shoe-prints" horiz-adv-x="640" unicode=""/><glyph d="M352 288V320C352 390.58 294.579 448 224 448C153.42 448 96 390.58 96 320V288H0V16C0 -28.183 35.817 -64 80 -64H368C412.183 -64 448 -28.183 448 16V288H352zM160 320C160 355.29 188.71 384 224 384S288 355.29 288 320V288H160V320zM320 200C306.745 200 296 210.745 296 224S306.745 248 320 248S344 237.255 344 224S333.255 200 320 200zM128 200C114.745 200 104 210.745 104 224S114.745 248 128 248S152 237.255 152 224S141.255 200 128 200z" glyph-name="shopping-bag" horiz-adv-x="448" unicode=""/><glyph d="M576 232V216C576 202.745 565.255 192 552 192H544L517.887 9.212C514.509 -14.435 494.257 -32 470.37 -32H105.63C81.743 -32 61.491 -14.435 58.112 9.212L32 192H24C10.745 192 0 202.745 0 216V232C0 245.255 10.745 256 24 256H91.341L198.121 402.8210000000001C208.516 417.113 228.528 420.274 242.822 409.879C257.115 399.484 260.275 379.471 249.88 365.178L170.477 256H405.523L326.12 365.179C315.725 379.471 318.886 399.485 333.1790000000001 409.88C347.4700000000001 420.275 367.485 417.115 377.8800000000001 402.822L484.659 256H552C565.255 256 576 245.255 576 232zM312 56V168C312 181.255 301.255 192 288 192S264 181.255 264 168V56C264 42.745 274.745 32 288 32S312 42.745 312 56zM424 56V168C424 181.255 413.255 192 400 192S376 181.255 376 168V56C376 42.745 386.745 32 400 32S424 42.745 424 56zM200 56V168C200 181.255 189.255 192 176 192S152 181.255 152 168V56C152 42.745 162.745 32 176 32S200 42.745 200 56z" glyph-name="shopping-basket" horiz-adv-x="576" unicode=""/><glyph d="M528.12 146.681L575.393 354.681C578.806 369.699 567.391 384 551.99 384H159.208L150.042 428.81C147.758 439.979 137.93 448 126.529 448H24C10.745 448 0 437.255 0 424V408C0 394.745 10.745 384 24 384H93.883L164.131 40.565C147.325 30.9 136 12.778 136 -8C136 -38.928 161.072 -64 192 -64S248 -38.928 248 -8C248 7.674 241.553 21.835 231.176 32H440.823C430.447 21.835 424 7.674 424 -8C424 -38.928 449.072 -64 480 -64S536 -38.928 536 -8C536 14.172 523.112 33.332 504.421 42.405L509.938 66.681C513.351 81.699 501.936 96 486.535 96H218.117L211.572 128H504.717C515.923 128 525.637 135.754 528.12 146.681z" glyph-name="shopping-cart" horiz-adv-x="576" unicode=""/><glyph d="M389.6600000000001 312.4L231.6 154.34C222.23 144.97 207.03 144.97 197.66 154.34L186.34 165.66C176.97 175.03 176.97 190.23 186.34 199.6L186.45 199.71C152.42 239.92 151.29 298.65 183.06 340.09C171.09 347.64 156.92 352 141.7600000000001 352C98.88 352 64 317.12 64 274.24V-32H0V274.24C0 352.41 63.59 416 141.76 416C178.69 416 212.37 401.8 237.62 378.58C273.52 390.09 314.12 383.08 344.29 357.55L344.4000000000001 357.66C353.7700000000001 367.03 368.9700000000001 367.03 378.3400000000001 357.66L389.6600000000001 346.3400000000001C399.0300000000001 336.9700000000001 399.0300000000001 321.77 389.6600000000001 312.4zM384 240C384 231.163 376.837 224 368 224S352 231.163 352 240S359.163 256 368 256S384 248.837 384 240zM416 240C416 248.837 423.163 256 432 256S448 248.837 448 240S440.837 224 432 224S416 231.163 416 240zM512 240C512 231.163 504.837 224 496 224S480 231.163 480 240S487.163 256 496 256S512 248.837 512 240zM352 208C352 199.163 344.837 192 336 192S320 199.163 320 208S327.163 224 336 224S352 216.837 352 208zM400 224C408.837 224 416 216.837 416 208S408.837 192 400 192S384 199.163 384 208S391.163 224 400 224zM480 208C480 199.163 472.837 192 464 192S448 199.163 448 208S455.163 224 464 224S480 216.837 480 208zM320 176C320 167.163 312.837 160 304 160S288 167.163 288 176S295.163 192 304 192S320 184.837 320 176zM352 176C352 184.837 359.163 192 368 192S384 184.837 384 176S376.837 160 368 160S352 167.163 352 176zM448 176C448 167.163 440.837 160 432 160S416 167.163 416 176S423.163 192 432 192S448 184.837 448 176zM320 144C320 152.837 327.163 160 336 160S352 152.837 352 144S344.837 128 336 128S320 135.163 320 144zM416 144C416 135.163 408.837 128 400 128S384 135.163 384 144S391.163 160 400 160S416 152.837 416 144zM320 112C320 103.163 312.837 96 304 96S288 103.163 288 112S295.163 128 304 128S320 120.837 320 112zM384 112C384 103.163 376.837 96 368 96S352 103.163 352 112S359.163 128 368 128S384 120.837 384 112zM352 80C352 71.163 344.837 64 336 64S320 71.163 320 80S327.163 96 336 96S352 88.837 352 80zM320 48C320 39.163 312.837 32 304 32S288 39.163 288 48S295.163 64 304 64S320 56.837 320 48z" glyph-name="shower" horiz-adv-x="512" unicode=""/><glyph d="M628.88 237.35L494.39 398.73A48.01 48.01 0 0 1 457.52 416H32C14.33 416 0 401.67 0 384V96C0 78.33 14.33 64 32 64H64C64 10.98 106.98 -32 160 -32S256 10.98 256 64H384C384 10.98 426.98 -32 480 -32S576 10.98 576 64H608C625.67 64 640 78.33 640 96V206.62C640 217.85 636.06 228.72 628.88 237.35zM64 256V352H160V256H64zM160 16C133.49 16 112 37.49 112 64S133.49 112 160 112S208 90.51 208 64S186.51 16 160 16zM320 256H224V352H320V256zM480 16C453.49 16 432 37.49 432 64S453.49 112 480 112S528 90.51 528 64S506.51 16 480 16zM384 256V352H450.02L530.02 256H384z" glyph-name="shuttle-van" horiz-adv-x="640" unicode=""/><glyph d="M416 0H332C325.4 0 320 5.4 320 12V52C320 58.6 325.4 64 332 64H416C433.7 64 448 78.3 448 96V288C448 305.7 433.7 320 416 320H332C325.4 320 320 325.4 320 332V372C320 378.6 325.4 384 332 384H416C469 384 512 341 512 288V96C512 43 469 0 416 0zM369 201L201 369C186 384 160 373.5 160 352V256H24C10.7 256 0 245.3 0 232V136C0 122.7 10.7 112 24 112H160V16C160 -5.5 186 -16 201 -1L369 167C378.3 176.4 378.3 191.6 369 201z" glyph-name="sign-in-alt" horiz-adv-x="512" unicode=""/><glyph d="M91.434 -35.987C91.127 -19.969 104.543 -6.858 120.564 -6.858H182.857V-1.144H56.993C40.972 -1.144 27.556 11.967 27.863 27.985C28.16 43.509 40.835 56 56.428 56H182.857V61.714H29.136C13.115 61.714 -0.301 74.825 0.006 90.843C0.303 106.365 12.979 118.856 28.572 118.856H182.858V124.57H57.707C41.686 124.57 28.27 137.681 28.577 153.699C28.874 169.221 41.55 181.712 57.143 181.712H225.709L194.624 204.318C181.862 213.599 179.041 231.467 188.322 244.23C197.603 256.991 215.472 259.812 228.234 250.532L351.5950000000001 160.817A34.287 34.287 0 0 0 365.7150000000001 133.089V-8.047C365.7150000000001 -23.957 354.769 -37.777 339.2820000000001 -41.421L258.8110000000001 -60.3550000000001A137.16 137.16 0 0 0 227.4000000000001 -64.0010000000001H120C104.407 -64.0000000000001 91.731 -51.5090000000001 91.434 -35.9870000000001zM164.683 189.714H201.106L189.919 197.8499999999999C171.34 211.3609999999999 169.606 238.737 186.749 254.386L173.745 271.0859999999999C163.902 283.7269999999999 145.315 286.257 132.865 276.1739999999999C120.8 266.4029999999999 118.732 248.7269999999999 128.312 236.4239999999999L164.683 189.714zM447.981 191.817L442.978 344.269C442.4600000000001 360.04 429.2560000000001 372.405 413.485 371.8879999999999C397.712 371.37 385.348 358.166 385.866 342.395L387.128 303.98L283.565 436.981C273.985 449.284 256.342 451.611 243.912 442.3090000000001C231.085 432.71 228.983 414.069 238.826 401.428L315.715 302.683L311.206 299.1720000000001L216.416 420.906C206.8359999999999 433.209 189.1929999999999 435.536 176.763 426.234C163.936 416.635 161.834 397.994 171.6769999999999 385.353L266.12 264.065L261.611 260.554L183.9359999999999 360.308C174.3559999999999 372.611 156.7129999999999 374.938 144.2829999999999 365.636C131.4559999999999 356.0370000000001 129.3539999999999 337.396 139.1969999999999 324.755L191.2499999999999 257.906C203.7469999999999 266.163 220.3049999999999 266.1910000000001 232.9399999999999 257.002L356.2999999999999 167.288C367.2039999999999 159.358 373.7149999999999 146.573 373.7149999999999 133.09V116.091L434.779 163.64A34.285 34.285 0 0 1 447.981 191.817z" glyph-name="sign-language" horiz-adv-x="448" unicode=""/><glyph d="M497 175L329 7C314 -8 288 2.5 288 24V120H152C138.7 120 128 130.7 128 144V240C128 253.3 138.7 264 152 264H288V360C288 381.4 313.9 392 329 377L497 209C506.3 199.6 506.3 184.4 497 175zM192 12V52C192 58.6 186.6 64 180 64H96C78.3 64 64 78.3 64 96V288C64 305.7 78.3 320 96 320H180C186.6 320 192 325.4 192 332V372C192 378.6 186.6 384 180 384H96C43 384 0 341 0 288V96C0 43 43 0 96 0H180C186.6 0 192 5.4 192 12z" glyph-name="sign-out-alt" horiz-adv-x="512" unicode=""/><glyph d="M496 384H128V432C128 440.8 120.8 448 112 448H80C71.2 448 64 440.8 64 432V384H16C7.2 384 0 376.8 0 368V336C0 327.2 7.2 320 16 320H64V-48C64 -56.8 71.2 -64 80 -64H112C120.8 -64 128 -56.8 128 -48V320H496C504.8 320 512 327.2 512 336V368C512 376.8 504.8 384 496 384zM160 64H480V288H160V64z" glyph-name="sign" horiz-adv-x="512" unicode=""/><glyph d="M216 160H168C159.16 160 152 152.84 152 144V-48C152 -56.84 159.16 -64 168 -64H216C224.84 -64 232 -56.84 232 -48V144C232 152.84 224.84 160 216 160zM88 64H40C31.16 64 24 56.84 24 48V-48C24 -56.84 31.16 -64 40 -64H88C96.84 -64 104 -56.84 104 -48V48C104 56.84 96.84 64 88 64zM344 256H296C287.1600000000001 256 280 248.84 280 240V-48C280 -56.84 287.1600000000001 -64 296 -64H344C352.84 -64 360 -56.84 360 -48V240C360 248.84 352.84 256 344 256zM472 352H424C415.1600000000001 352 408 344.8400000000001 408 336V-48C408 -56.84 415.1600000000001 -64 424 -64H472C480.84 -64 488 -56.84 488 -48V336C488 344.8400000000001 480.84 352 472 352zM600 448H552C543.16 448 536 440.84 536 432V-48C536 -56.84 543.16 -64 552 -64H600C608.84 -64 616 -56.84 616 -48V432C616 440.84 608.84 448 600 448z" glyph-name="signal" horiz-adv-x="640" unicode=""/><glyph d="M623.2 256C571.4000000000001 252.5 497.5000000000001 201.3 460.1 184.5C431 171.4 405.9000000000001 160.1 384 160.1C361.4 160.1 358 176.3 362.7 212C363.8 220 374.4 291.2000000000001 320 288.1C294.9 286.6 255.7 263.3 150.5 162.1L192 265.8C222.4 341.7000000000001 138.8 417.3 62.3 368.6L7.4 331.7C0 327 -2.2 317.1 2.5 309.6L19.7 282.6C24.4 275.1 34.3 272.9 41.8 277.7L99.8 316.6C118.2 328.3 140.5 309.4 132.5 289.5L34.3 43.9C27.5 27 37 0 64 0C72.3 0 80.5 3.2 86.6 9.4C128.8 51.6 241.3 160.1 297.8 205.2C295.6 176.7 295.7 146.3 318.4 121.4C333.7 104.6 355.7 96.1 383.9 96.1C419.5 96.1 451.9 110.7 486.2 126.1C519.2 140.9 585.2 188.7 624.6 191.9C633.1 192.6 639.8000000000001 199.2 639.8000000000001 207.7V239.8C640.0000000000001 248.9 632.3000000000001 256.6 623.2 256z" glyph-name="signature" horiz-adv-x="640" unicode=""/><glyph d="M320 448H128L0 320V0C0 -35.3 28.7 -64 64 -64H320C355.3 -64 384 -35.3 384 0V384C384 419.3 355.3 448 320 448zM160 256H224V192H160V256zM64 224C64 241.7 78.3 256 96 256H128V192H64V224zM128 0H96C78.3 0 64 14.3 64 32V64H128V0zM224 0H160V64H224V0zM320 32C320 14.3 305.7 0 288 0H256V64H320V32zM320 96H64V160H320V96zM320 192H256V256H288C305.7 256 320 241.7 320 224V192z" glyph-name="sim-card" horiz-adv-x="384" unicode=""/><glyph d="M128 96H32C14.33 96 0 81.67 0 64V-32C0 -49.67 14.33 -64 32 -64H128C145.67 -64 160 -49.67 160 -32V64C160 81.67 145.67 96 128 96zM104 176H296V128H344V176H536V128H584V185.59C584 206.7600000000001 566.77 224 545.59 224H344V288H384C401.67 288 416 302.3300000000001 416 320V416C416 433.67 401.67 448 384 448H256C238.33 448 224 433.67 224 416V320C224 302.33 238.33 288 256 288H296V224H94.41C73.23 224 56 206.77 56 185.59V128H104V176zM368 96H272C254.33 96 240 81.67 240 64V-32C240 -49.67 254.33 -64 272 -64H368C385.67 -64 400 -49.67 400 -32V64C400 81.67 385.67 96 368 96zM608 96H512C494.33 96 480 81.67 480 64V-32C480 -49.67 494.33 -64 512 -64H608C625.67 -64 640 -49.67 640 -32V64C640 81.67 625.67 96 608 96z" glyph-name="sitemap" horiz-adv-x="640" unicode=""/><glyph d="M400 448C373.5 448 352 426.5 352 400S373.5 352 400 352S448 373.5 448 400S426.5 448 400 448zM400 0C391.2 0 384 -7.2 384 -16S376.8 -32 368 -32H272C263.2 -32 256 -39.2 256 -48S263.2 -64 272 -64H368C394.5 -64 416 -42.5 416 -16C416 -7.2 408.8 0 400 0zM117.8 -8.6C111.6 -14.8 101.4 -14.9 95.2 -8.6L27.3 59.3C21.1 65.4999999999999 10.9 65.4999999999999 4.7 59.3S-1.5 42.9 4.7 36.6999999999999L72.6 -31.2C82 -40.6 94.3 -45.2 106.6 -45.2S131.2 -40.5000000000001 140.5 -31.2C146.7 -25.0000000000001 146.7 -14.8000000000001 140.5 -8.6S124.1 -2.3 117.8 -8.6zM173.9 171.2L80.2 77.5C67.7 65 67.7 44.7 80.2 32.3C86.4 26.1 94.6 22.9 102.8 22.9S119.2 26.0000000000001 125.4 32.3L217.3 124.2000000000001L187.1 154.4C182.1 159.4 177.7 165.1 173.9 171.2000000000001zM128 288H233.5L213.4 270.8C199.9 259.3 191.8 242.4 191.1 224.7C190.4 206.9 197.2 189.5 209.8 177L288 98.8V16C288 -1.7 302.3 -16 320 -16S352 -1.7 352 16V105.4C352 118 346.9 130.4 337.9 139.3L276.9 200.3C277.4 200.7 278.1 200.9 278.6 201.4L360.9 283.7C372.4 295.2 375.8 312.3 369.6 327.3C363.4 342.3 348.9 352 332.6 352H128C110.3 352 96 337.7 96 320S110.3 288 128 288z" glyph-name="skating" horiz-adv-x="448" unicode=""/><glyph d="M336 352C362.5 352 384 373.5 384 400S362.5 448 336 448S288 426.5 288 400S309.5 352 336 352zM552 32C538.8 32 528 21.3 528 8C528 -5.2 517.2 -16 504 -16H434.5L460 162.4C471.7 167.1 480.1 178.6 480.1 192C480.1 209.7 465.8 224 448.1 224H404.1L378 277.2C365.5 302.7 342.5 321.4 316.2 328.1L245 349.3C216.7 356.1 187.2 349.8 164.2 332.2L124.5 301.8C110.5 291.1 107.8 271 118.6 256.9C119.3 256 120.3 255.6 121 254.8L66.9 -16H24C10.8 -16 0 -26.7 0 -40S10.8 -64 24 -64H504C543.7 -64 576 -31.7 576 8C576 21.2 565.2 32 552 32zM291.5 -16H194.6L237.7 75L215.7 88C203.6 95.2 193.8 104.9 186.2 115.8L123.7 -16H99.5L151.8 245.4C155.9 246.4 159.9 248.3 163.5 251L203.2 281.4C210.9 287.3 220.6 289.4 228.5 287.5L243.2 283.1L205.7 195.7C193.1 166.1999999999999 204.4 131.6999999999999 232 115.4L317 65.2L291.5 -16zM402.1 -16H358.5L382.1 59.5C388 80.3 379.2000000000001 102.6 360.5 113.9L299.3 150L330.6 228.3L350.9000000000001 186.9C358.9000000000001 170.6 375.8 160.0000000000001 394.0000000000001 160.0000000000001H427.3000000000001L402.1000000000001 -15.9999999999999z" glyph-name="skiing-nordic" horiz-adv-x="576" unicode=""/><glyph d="M432 352C458.5 352 480 373.5 480 400S458.5 448 432 448S384 426.5 384 400S405.5 352 432 352zM505 -4.1C495.6 5.3 480.4 5.3 471.1 -4.1C459 -16.2 440.6 -19.5 426 -12.8L290.2 57.4L339.4 131.2C352.1 150.2 349.6 175.7 333.4 191.8L293 232.3L186 285.4C183.1 265.5 189.4 245.4 203.7 231L278.8 155.8L232.9 87L35 189.3C23.3 195.3 8.8 190.8 2.7 179C-3.4 167.2 1.2 152.7 13 146.7L404.9 -55.8C416.8 -61.3 429.4 -63.9 442 -63.9C465.2 -63.9 488 -54.9 505 -37.9C514.3 -28.6 514.3 -13.4 505 -4.1zM120 356.4L108.5 333.9C122.9 326.6 139.7 329 151.3 338.7L198.5 315.3C198.4 315.2000000000001 198.4 315.1 198.3 315L312.8 258.2L345.2 271.2L351.6 252.1C355.6 240 364.2 230.1 375.6 224.4L433.7 195.4C449.6 187.5 468.7 193.9 476.6 209.7C484.4999999999999 225.5000000000001 478.1 244.7 462.3 252.6L410.2 278.7000000000001L393.0999999999999 329.9000000000001C384.9999999999999 354.1 352.2 386.5 308.5999999999999 369.1L227.3999999999999 336.6L164.8999999999999 367.6C165.1999999999999 382.1 157.6999999999999 396.2000000000001 143.9999999999999 403.2000000000001L132.8999999999999 381.5H132.6999999999999L98.2999999999999 388.5C96.4999999999999 388.9000000000001 94.5999999999999 388.3 93.2999999999999 386.8C91.3999999999999 384.6 91.5999999999999 381.3 93.7999999999999 379.4000000000001L119.9999999999999 356.4000000000001z" glyph-name="skiing" horiz-adv-x="512" unicode=""/><glyph d="M439.15 -5.06L297.17 64L439.1600000000001 133.06C447.06 137.01 450.2700000000001 146.62 446.31 154.52L432 183.15C428.05 191.05 418.44 194.26 410.53 190.31L224 99.59L37.47 190.31C29.57 194.26 19.96 191.06 16 183.15L1.69 154.52C-2.26 146.62 0.94 137.01 8.84 133.06L150.83 64L8.85 -5.06C0.95 -9.01 -2.26 -18.62 1.7 -26.53L16.01 -55.16C19.96 -63.0599999999999 29.57 -66.27 37.48 -62.3099999999999L224 28.41L410.53 -62.3099999999999C418.43 -66.26 428.04 -63.0599999999999 432 -55.16L446.31 -26.53C450.26 -18.6199999999999 447.05 -9.01 439.15 -5.0599999999999zM150 210.72L144.52 184.85C141.85 172.23 149.94 160 160.97 160H287.05C298.08 160 306.17 172.23 303.5 184.85L298 210.72C339.78 233.13 368 273.4700000000001 368 320C368 390.69 303.53 448 224 448S80 390.69 80 320C80 273.4700000000001 108.22 233.13 150 210.72zM280 336C297.65 336 312 321.65 312 304S297.65 272 280 272S248 286.35 248 304S262.35 336 280 336zM168 336C185.65 336 200 321.65 200 304S185.65 272 168 272S136 286.35 136 304S150.35 336 168 336z" glyph-name="skull-crossbones" horiz-adv-x="448" unicode=""/><glyph d="M256 448C114.6 448 0 347.7 0 224C0 153.9 36.9 91.4 94.5 50.3C104.1 43.4 109.7 32.2 108 20.4L98.6 -45.8C97.2 -55.4 104.6 -63.9999999999999 114.3 -63.9999999999999H192V-7.9999999999999C192 -3.6 195.6 1e-13 200 1e-13H216C220.4 1e-13 224 -3.6 224 -7.9999999999999V-63.9999999999999H288V-7.9999999999999C288 -3.6 291.6 1e-13 296 1e-13H312C316.4 1e-13 320 -3.6 320 -7.9999999999999V-63.9999999999999H397.7C407.4 -63.9999999999999 414.8 -55.3999999999999 413.4 -45.8L404 20.4C402.3 32.1 407.8 43.4 417.5 50.3C475.1 91.4 512 153.9 512 224C512 347.7 397.4 448 256 448zM160 128C124.7 128 96 156.7 96 192S124.7 256 160 256S224 227.3 224 192S195.3 128 160 128zM352 128C316.7 128 288 156.7 288 192S316.7 256 352 256S416 227.3 416 192S387.3 128 352 128z" glyph-name="skull" horiz-adv-x="512" unicode=""/><glyph d="M594.53 -60.63L6.18 394.1C-0.79 399.52 -2.05 409.57 3.37 416.55L23.01 441.82C28.43 448.8 38.49 450.06 45.47 444.63L633.82 -10.1C640.7900000000001 -15.52 642.0500000000001 -25.57 636.63 -32.55L616.99 -57.82C611.57 -64.7999999999999 601.51 -66.0499999999999 594.53 -60.63z" glyph-name="slash" horiz-adv-x="640" unicode=""/><glyph d="M612.7 97.3L603.4000000000001 104.7C596.5000000000001 110.2 586.4000000000001 109.1 580.9000000000001 102.2L570.9000000000001 89.7C565.4000000000001 82.8 566.5000000000001 72.7 573.4000000000001 67.2L582.7 59.8C588.6 55.1 591.9000000000001 48.1 591.9000000000001 40.6C591.9000000000001 27 580.9000000000001 16 567.3000000000001 16H48C39.2 16 32 8.8 32 0V-16C32 -24.8 39.2 -32 48 -32H564C603 -32 637.7 -2.7 639.9 36.3C641.3 60.1 631.1999999999999 82.6 612.6999999999999 97.3zM32 224C32 164.4 72.9 114.8 128 100.5V48H192V96H384V48H448V96C501 96 544 139 544 192V288C561.7 288 576 302.3 576 320S561.7 352 544 352H448V288C448 252.7 419.3 224 384 224H363.3C297.5 224 237.4 261.2 208 320C178.6 378.8 118.4 416 52.7 416H32C14.3 416 0 401.7 0 384S14.3 352 32 352V224z" glyph-name="sleigh" horiz-adv-x="640" unicode=""/><glyph d="M496 64H160V80C160 88.8 152.8 96 144 96H112C103.2 96 96 88.8 96 80V64H16C7.2 64 0 56.8 0 48V16C0 7.2 7.2 0 16 0H96V-16C96 -24.8 103.2 -32 112 -32H144C152.8 -32 160 -24.8 160 -16V0H496C504.8 0 512 7.2 512 16V48C512 56.8 504.8 64 496 64zM496 224H416V240C416 248.8 408.8 256 400 256H368C359.2 256 352 248.8 352 240V224H16C7.2 224 0 216.8 0 208V176C0 167.2 7.2 160 16 160H352V144C352 135.2 359.2 128 368 128H400C408.8 128 416 135.2 416 144V160H496C504.8 160 512 167.2 512 176V208C512 216.8 504.8 224 496 224zM496 384H288V400C288 408.8 280.8 416 272 416H240C231.2 416 224 408.8 224 400V384H16C7.2 384 0 376.8 0 368V336C0 327.2 7.2 320 16 320H224V304C224 295.2 231.2 288 240 288H272C280.8 288 288 295.2 288 304V320H496C504.8 320 512 327.2 512 336V368C512 376.8 504.8 384 496 384z" glyph-name="sliders-h" horiz-adv-x="512" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM112 224.6C115.3 266.7 144.2 296 168 296S220.7 266.7 224 224.6C224.7 216 213.2 212.7 209.1 220.1L199.6 237.1C191.9 250.8 180.4 258.7 168.1 258.7S144.3 250.8 136.6 237.1L127.1 220.1C122.8 212.7 111.3 216.1 112 224.6zM362.8 101.8C334.3 67.6 292.5 48 248 48S161.7 67.6 133.2 101.8C119.7 118.1 144.2 138.5 157.8 122.3C180.2 95.4 213 80.1 248 80.1S315.8 95.5 338.2 122.3C351.8 138.5 376.3 118 362.8 101.8zM369 220.1L359.5 237.1C351.8 250.8 340.3 258.7000000000001 328 258.7000000000001S304.2 250.8 296.5 237.1L287 220.1C282.9 212.8 271.4 216.1 272.1 224.6C275.4000000000001 266.7000000000001 304.3 296 328.1 296S380.8 266.7000000000001 384.1 224.6C384.7000000000001 216 373.1 212.7 369 220.1z" glyph-name="smile-beam" horiz-adv-x="496" unicode=""/><glyph d="M0 192C0 55 111 -56 248 -56S496 55 496 192S385 440 248 440S0 329 0 192zM200 240C200 222.3 185.7 208 168 208S136 222.3 136 240S150.3 272 168 272S200 257.7 200 240zM358.5 223.5C343.7 236.7 312.3 236.7 297.5 223.5L288 215C279.7 207.6 266.4 214.6 268.2 225.8C272.2 251 302.4 267.9 328.1 267.9S384 251 388 225.8C389.7 214.7 376.6 207.5 368.2 215L358.5 223.5zM157.8 122.2C180.2 95.3 213 80 248 80S315.8 95.4 338.2 122.2C351.8 138.4 376.3 118 362.8 101.7C334.3 67.6 292.5 48 248 48S161.7 67.6 133.2 101.8C119.7 118.1 144.4 138.5 157.8 122.2z" glyph-name="smile-wink" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM328 272C345.7 272 360 257.7 360 240S345.7 208 328 208S296 222.3 296 240S310.3 272 328 272zM168 272C185.7 272 200 257.7 200 240S185.7 208 168 208S136 222.3 136 240S150.3 272 168 272zM362.8 101.8C334.3 67.6 292.5 48 248 48S161.7 67.6 133.2 101.8C119.6 118.1 144.2 138.5 157.8 122.3C180.2 95.4 213 80.1 248 80.1S315.8 95.5 338.2 122.3C351.6 138.5 376.3 118.1 362.8 101.8z" glyph-name="smile" horiz-adv-x="496" unicode=""/><glyph d="M624 80H80C71.2 80 64 72.8 64 64V48C64 39.2 71.2 32 80 32H624C632.8 32 640 39.2 640 48V64C640 72.8 632.8 80 624 80zM144 -16H16C7.2 -16 0 -23.2 0 -32V-48C0 -56.8 7.2 -64 16 -64H144C152.8 -64 160 -56.8 160 -48V-32C160 -23.2 152.8 -16 144 -16zM560 -16H224C215.2 -16 208 -23.2 208 -32V-48C208 -56.8 215.2 -64 224 -64H560C568.8 -64 576 -56.8 576 -48V-32C576 -23.2 568.8 -16 560 -16zM144 160H300.1C322.6 140.3 351.7000000000001 128 384 128S445.3 140.3 467.9 160H528C589.9 160 640 210.1 640 272S589.9 384 528 384C510 384 493.3 379.4 478.3 371.9C454 417 406.8 448 352 448C311 448 274.2 430.7 248 403.2C221.8 430.7 185 448 144 448C64.5 448 0 383.5 0 304S64.5 160 144 160z" glyph-name="smog" horiz-adv-x="640" unicode=""/><glyph d="M96 144C96 135.2 103.2 128 112 128H229.5L133.5 224H112C103.2 224 96 216.8 96 208V144zM256 448C114.6 448 0 333.4 0 192S114.6 -64 256 -64S512 50.6 512 192S397.4 448 256 448zM256 0C150.1 0 64 86.1 64 192C64 233.4 77.3 271.7 99.7 303.1L367.1 35.7C335.7 13.3 297.4 0 256 0zM301.2 192H384V160H333.2L301.2 192zM412.3 80.9L365.2 128H400C408.8 128 416 135.2 416 144V208C416 216.8 408.8 224 400 224H269.2L144.9 348.3C176.3 370.7 214.6 384 256 384C361.9 384 448 297.9 448 192C448 150.6 434.7 112.3 412.3 80.9zM320.6 320C305 320 292 331.2 289.2000000000001 345.9C288.5000000000001 349.5 285.2000000000001 352 281.5000000000001 352H265.3000000000001C260.3000000000001 352 256.6000000000001 347.5 257.3000000000001 342.6C261.9000000000001 311.7 288.5000000000001 288 320.6000000000001 288C336.2000000000001 288 349.2000000000001 276.8 352.0000000000001 262.1C352.7000000000001 258.5 356.0000000000001 256 359.7000000000001 256H375.9000000000001C380.9000000000001 256 384.6 260.5 383.9000000000001 265.4C379.3 296.3 352.7000000000001 320 320.6 320z" glyph-name="smoking-ban" horiz-adv-x="512" unicode=""/><glyph d="M632 96H584C579.6 96 576 92.4 576 88V-56C576 -60.4 579.6 -64 584 -64H632C636.4 -64 640 -60.4 640 -56V88C640 92.4 636.4 96 632 96zM553.3 360.9C547.5999999999999 364.7 544 370.9 544 377.7V440C544 444.4 540.4 448 536 448H488C483.6 448 480 444.4 480 440V377.7C480 355.7 490.2 334.3 508.6 322.3C550.8000000000001 295 576 248.5 576 198.3V168C576 163.6 579.6 160 584 160H632C636.4 160 640 163.6 640 168V198.3C640 263.8 607.6 324.5 553.3 360.9zM432 96H48C21.5 96 0 74.5 0 48V-16C0 -42.5 21.5 -64 48 -64H432C440.8 -64 448 -56.8 448 -48V80C448 88.8 440.8 96 432 96zM400 -16H224V48H400V-16zM487.7 306.4C463.8 323 448 348.7 448 377.7V440C448 444.4 444.4 448 440 448H392C387.6 448 384 444.4 384 440V373.6C384 329.9 408.6 292 444.3 266.9C466.7 251.2 480 225.7 480 198.3V168C480 163.6 483.6 160 488 160H536C540.4 160 544 163.6 544 168V198.3C544 241.6 523 281.7000000000001 487.7 306.4zM536 96H488C483.6 96 480 92.4 480 88V-56C480 -60.4 483.6 -64 488 -64H536C540.4 -64 544 -60.4 544 -56V88C544 92.4 540.4 96 536 96z" glyph-name="smoking" horiz-adv-x="640" unicode=""/><glyph d="M256 416C114.6 416 0 322.9 0 208C0 158.4 21.4 113 57 77.3C44.5 26.9 2.7 -18 2.2 -18.5C0 -20.8 -0.6 -24.2 0.7 -27.2C2 -30.2 4.8 -32 8 -32C74.3 -32 124 -0.2 148.6 19.4C181.3 7.1 217.6 0 256 0C397.4 0 512 93.1 512 208S397.4 416 256 416zM128.2 144H116C111.6 144 108 147.6 108 152V168C108 172.4 111.6 176 116 176H128.3C134.3 176 138.7 179.5 138.7 182.6C138.7 183.9 137.9 185.3 136.6 186.4L114.7 205.2000000000001C106.2 212.4 101.4 222.7000000000001 101.4 233.3000000000001C101.4 254.6000000000001 120.4 271.9000000000001 143.8 271.9000000000001H156C160.4 271.9000000000001 164 268.3000000000001 164 263.9000000000001V247.9000000000001C164 243.5000000000001 160.4 239.9000000000001 156 239.9000000000001H143.7C137.7 239.9000000000001 133.3 236.4000000000001 133.3 233.3000000000001C133.3 232.0000000000001 134.1 230.6000000000001 135.4 229.5000000000001L157.3 210.7C165.8 203.5 170.6 193.2 170.6 182.6C170.7 161.3 151.6 144 128.2 144zM320 152C320 147.6 316.4 144 312 144H296C291.6 144 288 147.6 288 152V220.2L263.2 164.4C260.3 158.5 251.8 158.5 248.9 164.4L224 220.2V152C224 147.6 220.4 144 216 144H200C195.6 144 192 147.6 192 152V256C192 264.8 199.2 272 208 272H224C230.1 272 235.6 268.6 238.3 263.2L256 227.8L273.7 263.2C276.4 268.6 282 272 288 272H304C312.8 272 320 264.8 320 256V152zM368.3 144H356C351.6 144 348 147.6 348 152V168C348 172.4 351.6 176 356 176H368.3C374.3 176 378.7 179.5 378.7 182.6C378.7 183.9 377.9 185.3 376.6 186.4L354.7 205.2000000000001C346.2 212.4 341.4 222.7000000000001 341.4 233.3000000000001C341.4 254.6000000000001 360.4 271.9000000000001 383.8 271.9000000000001H396C400.4 271.9000000000001 404 268.3000000000001 404 263.9000000000001V247.9000000000001C404 243.5000000000001 400.4 239.9000000000001 396 239.9000000000001H383.7C377.7 239.9000000000001 373.3 236.4000000000001 373.3 233.3000000000001C373.3 232.0000000000001 374.1 230.6000000000001 375.4000000000001 229.5000000000001L397.3 210.7C405.8 203.5 410.6 193.2 410.6 182.6C410.7000000000001 161.3 391.7000000000001 144 368.3 144z" glyph-name="sms" horiz-adv-x="512" unicode=""/><glyph d="M432 352C458.5 352 480 373.5 480 400S458.5 448 432 448S384 426.5 384 400S405.5 352 432 352zM460.8 198.4C466.6 194.1 473.3 192 480 192C489.7 192 499.3 196.4 505.6 204.8C516.2 218.9 513.4 239 499.2 249.6L387.8000000000001 333.1C374.0000000000001 343.4000000000001 358.7000000000001 351.5 342.4000000000001 356.9000000000001L278.7000000000001 378.1L252.6000000000001 430.2000000000001C244.7 446 225.5 452.4 209.7 444.5C193.9 436.6 187.5 417.4 195.4 401.6L224.5 343.5C230.2 332.1 240.1 323.6 252.2 319.5L268.6 314L227.4 293.4C205.6 282.5 192 260.6 192 236.2V183.1L117.9 158.4C101.1 152.8 92.1 134.7 97.7 117.9C99.4 112.7 102.6 108.5 106.4 105L67.7 119.1C58 122.6 50.3 129.7000000000001 45.9 139.1C40.3 151.1 26 156.3 14 150.7000000000001S-3.2 130.8000000000001 2.4 118.8000000000001C12.2 97.8000000000001 29.5 81.9000000000001 51.3 74.0000000000001L416.1 -58.6999999999999C425.8 -62.1999999999999 435.8 -63.9999999999999 445.8 -63.9999999999999C458.3 -63.9999999999999 470.6999999999999 -61.2999999999999 482.3 -55.8C494.3 -50.1999999999999 499.4999999999999 -35.9 493.9 -23.9S474 -6.7 462 -12.3C452.7 -16.7 442.2 -17.1 432.5 -13.6L341.7 19.5C350.4 23.6 357.3 31.3 359.5 41.4L381.4 143.4C385.3 161.6 378.2 180.6 363.3 191.8L311.3 230.8L377.3 261.3L460.8 198.4zM316.4 146.7L296.7 54.7C295.2 47.6 296.6 40.8 299.5 34.7L130.1 96.3C132.8 96.5 135.5 96.7 138.1 97.6L223.1 126C242.7 132.5 255.9 150.8 255.9 171.5V192L316.4 146.7z" glyph-name="snowboarding" horiz-adv-x="512" unicode=""/><glyph d="M440.3 102.8L406.5 122.3L432.5 129.3C440.7 131.5 445.6 140 443.4 148.2L439.4 163.1C437.2 171.3 428.7 176.2 420.5 174L349.7 155L285.8 192L349.6 228.9L420.4000000000001 209.9C428.6 207.7 437.1 212.5999999999999 439.3 220.8L443.3 235.7C445.5 243.9 440.6 252.4 432.4000000000001 254.6L406.4000000000001 261.6L440.2000000000001 281.1C447.6 285.4 450.1 294.8 445.9000000000001 302.2L430.4 329C426.1 336.4 416.7 338.9 409.3 334.7L375.5 315.2L382.5 341.2C384.7 349.4 379.8 357.9 371.6 360.1L356.7 364.1C348.5 366.3 340 361.4 337.8 353.2L318.8 282.4L256 246.2V323.7L309.7 377.4C315.9 383.6 315.9 393.8 309.7 400L298.4 411.3C292.2 417.5 282 417.5 275.8 411.3L256 391.6V432C256 440.8 248.8 448 240 448H208C199.2 448 192 440.8 192 432V391.6L172.3 411.3C166.1 417.5 155.9 417.5 149.7 411.3L138.3 400C132 393.8 132 383.6 138.3 377.4L192 323.7V246.2L129.2 282.4L110.2 353.2C108 361.4 99.5 366.3 91.3 364.1L76.4 360.1C68.2 357.9 63.3 349.4 65.5 341.2L72.5 315.2L38.7 334.7C31.3 339 21.9 336.4 17.6 329L2.1 302.3C-2.2 294.9 0.4 285.5 7.8 281.2000000000001L41.6 261.7000000000001L15.6 254.7C7.3 252.5000000000001 2.4 244.0000000000001 4.6 235.7L8.6 220.8C10.8 212.6 19.3 207.7 27.5 209.9L98.3 228.9L162.1 192L98.3 155.1L27.5 174.1C19.3 176.3 10.8 171.4 8.6 163.2000000000001L4.6 148.3000000000001C2.4 140.1000000000001 7.3 131.6000000000001 15.5 129.4000000000001L41.5 122.4000000000001L7.7 102.8000000000001C0.3 98.5000000000001 -2.2 89.1000000000001 2 81.7000000000001L17.5 54.9C21.8 47.5000000000001 31.2 45.0000000000001 38.6 49.2L72.4 68.7000000000001L65.4 42.7C63.2 34.5000000000001 68.1 26.0000000000001 76.3 23.8000000000001L91.2 19.8000000000001C99.4 17.6000000000001 107.9 22.5000000000001 110.1 30.7L129.1 101.5000000000001L191.9 137.7000000000001V60.2000000000001L138.2 6.5000000000001C131.9 0.3000000000001 131.9 -9.8999999999999 138.2 -16.1L149.5 -27.4C155.7 -33.6 165.9 -33.6 172.1 -27.4L191.8 -7.7V-48C191.8 -56.8 199 -64 207.8 -64H239.8C248.6 -64 255.8 -56.8 255.8 -48V-7.6L275.5 -27.3C281.7 -33.5 291.9 -33.5 298.1 -27.3L309.4000000000001 -16C315.6 -9.8 315.6 0.4 309.4000000000001 6.6L256 60.3V137.8L318.8 101.6L337.8 30.8C340 22.6 348.5 17.7 356.7 19.9L371.6 23.9C379.8 26.1 384.7 34.6 382.5 42.8L375.5 68.8L409.3 49.3C416.7 45 426.1 47.6 430.4 55L445.9 81.8C450.2 89.1 447.7 98.6 440.3 102.8z" glyph-name="snowflake" horiz-adv-x="448" unicode=""/><glyph d="M510.9 295.7L505 310.2C501.7 318.2 492.4 322.1 484.2 318.9L456 307.4V336.4C456 345 448.8 352 440 352H424C415.2 352 408 345 408 336.4V289.5C408 289 408.3 288.5 408.3 288L351.9000000000001 265C346.0000000000001 275 338.6 283.9 329.9000000000001 291.6C343.5000000000001 308.2 351.9000000000001 329 351.9000000000001 352.1C351.9000000000001 405.1 308.9000000000001 448.1 255.9000000000001 448.1S159.9 405.1 159.9 352.1C159.9 329 168.4 308.2 181.9 291.6C173.2000000000001 283.9 165.9 275 159.9 265L103.5 288C103.6 288.5 103.8 289 103.8 289.5V336.4C104 345 96.8 352 88 352H72C63.2 352 56 345 56 336.4V307.4L27.9 318.9C19.7 322.1 10.4 318.2000000000001 7.1 310.2000000000001L1.2 295.7000000000001C-2.1 287.7000000000001 1.9 278.6 10.1 275.4L145.3 220.2C144.9 216.2 144.1 212.2 144.1 208C144.1 197.9 145.8 188.4 148.3 179.1C120.9 151.6 104 113.8 104 72C104 18 132.4 -28.9 174.8 -55.8C184.1 -61.7 195.1 -64 206.1 -64H305.3C318.6 -64 331.6 -59.9 342.5 -52.3C389 -20 416.9 37.1 405.4 100.3C399.9 130.5 384.9 157.9 363.8 179.3C366.3 188.5 368 198 368 208C368 212.1999999999999 367.2 216.0999999999999 366.8 220.1999999999999L502 275.4C510.1 278.5 514.1 287.6 510.9 295.7000000000001zM224 352C215.2 352 208 359.2 208 368S215.2 384 224 384S240 376.8 240 368S232.8 352 224 352zM256 80C247.2 80 240 87.2 240 96S247.2 112 256 112S272 104.8 272 96S264.8 80 256 80zM256 144C247.2 144 240 151.2 240 160S247.2 176 256 176S272 168.8 272 160S264.8 144 256 144zM256 208C247.2 208 240 215.2 240 224S247.2 240 256 240S272 232.8 272 224S264.8 208 256 208zM256 296S240 319.2 240 328S247.2 344 256 344S272 336.8 272 328S256 296 256 296zM288 352C279.2 352 272 359.2 272 368S279.2 384 288 384S304 376.8 304 368S296.8 352 288 352z" glyph-name="snowman" horiz-adv-x="512" unicode=""/><glyph d="M120 72C106.7 72 96 61.3 96 48S106.7 24 120 24S144 34.7 144 48S133.3 72 120 72zM200 72C186.7 72 176 61.3 176 48S186.7 24 200 24S224 34.7 224 48S213.3 72 200 72zM280 72C266.7 72 256 61.3 256 48S266.7 24 280 24S304 34.7 304 48S293.3 72 280 72zM360 72C346.7 72 336 61.3 336 48S346.7 24 360 24S384 34.7 384 48S373.3 72 360 72zM598.6 22.6C584.1 37.1 576 56.7000000000001 576 77.2000000000001V178.8C576 199.3 584.1 218.9 598.6 233.4L635.3000000000001 270.1C641.5000000000001 276.3 641.5000000000001 286.5 635.3000000000001 292.7000000000001L612.7 315.3C606.5 321.5 596.3000000000001 321.5 590.1 315.3L553.4 278.6C526.9 252.1 512 216.2 512 178.7000000000001V160H448V210.9C448 219.6 446.2 228.1 442.8 236.1L364.5 418.9C356.9 436.6 339.6 448 320.3 448H176C149.5 448 128 426.5 128 400V288H112C85.5 288 64 266.5 64 240V148.8C26.3 130.8 0 92.6 0 48C0 -13.9 50.1 -64 112 -64H368C429.9 -64 480 -13.9 480 48C480 65.3 475.8 81.4 468.8 96H512V77.3C512 39.8 526.9 3.9 553.4 -22.6L590.1 -59.3C596.3000000000001 -65.5 606.5 -65.5 612.7 -59.3L635.3000000000001 -36.7C641.5000000000001 -30.5 641.5000000000001 -20.3 635.3000000000001 -14.1L598.6 22.6zM192 384H309.8L378.4 224H256L192 288V384zM368 0H112C85.5 0 64 21.5 64 48S85.5 96 112 96H368C394.5 96 416 74.5 416 48S394.5 0 368 0z" glyph-name="snowplow" horiz-adv-x="640" unicode=""/><glyph d="M214.66 136.99L288 192V352H128V176L41.35 111.39C1.95 81.83 -12.51 26.97 12.14 -15.67C30.39 -47.25 63.27 -64 96.08 -64C116.11 -64 136.33 -57.75 153.6 -44.8L175.46 -28.41C145.61 26.97 161.92 97.43 214.66 136.99zM288 416C288 427.05 291.07 437.3 296.02 446.38C293.4 447.08 290.85 448 288 448H160C142.33 448 128 433.67 128 416V384H288V416zM480 448H352C334.33 448 320 433.67 320 416V384H512V416C512 433.67 497.67 448 480 448zM320 176L233.87 111.39C194.47 81.83 180.01 26.97 204.66 -15.67C222.91 -47.25 255.27 -64 288.08 -64C308.11 -64 328.33 -57.75 345.6 -44.8L460.8 41.6A127.99699999999999 127.99699999999999 0 0 1 512 144V352H320V176z" glyph-name="socks" horiz-adv-x="512" unicode=""/><glyph d="M431.98 -0.01L384.01 -0.06V32H256.01V-0.21L208.03 -0.26C199.21 -0.27 192.06 -7.42 192.05 -16.25L192 -47.98C191.99 -56.83 199.17 -64.01 208.02 -64L431.98 -63.74C440.8 -63.73 447.9500000000001 -56.58 447.9600000000001 -47.76L448.0000000000001 -16.03C448.0100000000001 -7.1799999999999 440.8300000000001 0 431.9800000000001 -0.01zM585.2 421.26C582.58 436.69 568.99 448 553.06 448H86.93C71 448 57.41 436.69 54.79 421.26C-3.32 78.84 0.04 99.92 0.03 96C0 78.68 14.32 64 32.63 64H607.37C625.6 64 639.88 78.56 639.96 95.79C639.98 99.87 643.3100000000001 78.84 585.2 421.2600000000001zM259.83 384H380.16L389.93 288H250.06L259.83 384zM184.66 128H71.09L90.1 240H196.07L184.66 128zM200.95 288H98.24L114.53 384H210.72L200.95 288zM233.77 128L245.17 240H394.82L406.2199999999999 128H233.77zM429.27 384H525.46L541.75 288H439.04L429.2700000000001 384zM455.33 128L443.93 240H549.9L568.91 128H455.33z" glyph-name="solar-panel" horiz-adv-x="640" unicode=""/><glyph d="M187.298 52.686L107.314 -27.316C101.066 -33.563 90.931 -33.561 84.687 -27.316L4.705 52.686C-5.365 62.756 1.807 80 16.019 80H64V400C64 408.837 71.163 416 80 416H112C120.837 416 128 408.837 128 400V80H175.984C190.225 80 197.347 62.736 187.298 52.686zM306.373 232.693A12 12 0 0 0 294.838 224H259.1210000000001C250.9010000000001 224 245.1140000000001 232.078 247.7590000000001 239.861L304.855 407.861A12 12 0 0 0 316.217 416H355.783C360.9220000000001 416 365.4910000000001 412.727 367.1450000000001 407.861L424.2410000000001 239.861C426.886 232.078 421.1 224 412.879 224H377.144A12 12 0 0 0 365.629 232.622L357.3280000000001 260.9210000000001H314.4650000000001L306.3730000000001 232.693zM329.23 311.39H342.5970000000001L335.997 334.327L329.23 311.39zM341.805 24.067L409.256 119.765A12 12 0 0 1 411.448 126.678V148C411.448 154.627 406.075 160 399.448 160H274.522C267.895 160 262.522 154.627 262.522 148V119.07C262.522 112.443 267.895 107.07 274.522 107.07H330.991C330.252 106.079 329.494 105.034 328.721 103.937L261.5180000000001 8.732A12.001000000000001 12.001000000000001 0 0 1 259.322 1.812V-20C259.322 -26.627 264.695 -32 271.322 -32H400.677C407.3040000000001 -32 412.677 -26.627 412.677 -20V8.93C412.677 15.557 407.3040000000001 20.93 400.677 20.93H339.531C340.271 21.923 341.031 22.969 341.805 24.067z" glyph-name="sort-alpha-down" horiz-adv-x="448" unicode=""/><glyph d="M4.702 331.314L84.686 411.316C90.934 417.563 101.069 417.561 107.313 411.316L187.294 331.314C197.364 321.2440000000001 190.193 304 175.98 304H128V-16C128 -24.837 120.837 -32 112 -32H80C71.163 -32 64 -24.837 64 -16V304H16.016C1.775 304 -5.347 321.264 4.702 331.314zM306.373 232.693A12 12 0 0 0 294.838 224H259.1210000000001C250.9010000000001 224 245.1140000000001 232.078 247.7590000000001 239.861L304.855 407.861A12 12 0 0 0 316.217 416H355.783C360.9220000000001 416 365.4910000000001 412.727 367.1450000000001 407.861L424.2410000000001 239.861C426.886 232.078 421.1 224 412.879 224H377.144A12 12 0 0 0 365.629 232.622L357.3280000000001 260.9210000000001H314.4650000000001L306.3730000000001 232.693zM329.23 311.39H342.5970000000001L335.997 334.327L329.23 311.39zM341.805 24.067L409.256 119.765A12 12 0 0 1 411.448 126.678V148C411.448 154.627 406.075 160 399.448 160H274.522C267.895 160 262.522 154.627 262.522 148V119.07C262.522 112.443 267.895 107.07 274.522 107.07H330.991C330.252 106.079 329.494 105.034 328.721 103.937L261.5180000000001 8.732A12.001000000000001 12.001000000000001 0 0 1 259.322 1.812V-20C259.322 -26.627 264.695 -32 271.322 -32H400.677C407.3040000000001 -32 412.677 -26.627 412.677 -20V8.93C412.677 15.557 407.3040000000001 20.93 400.677 20.93H339.531C340.271 21.923 341.031 22.969 341.805 24.067z" glyph-name="sort-alpha-up" horiz-adv-x="448" unicode=""/><glyph d="M187.298 52.686L107.314 -27.316C101.066 -33.563 90.931 -33.561 84.687 -27.316L4.705 52.686C-5.365 62.756 1.807 80 16.019 80H64V400C64 408.837 71.163 416 80 416H112C120.837 416 128 408.837 128 400V80H175.984C190.225 80 197.347 62.736 187.298 52.686zM240 352H496C504.837 352 512 359.163 512 368V400C512 408.837 504.837 416 496 416H240C231.163 416 224 408.837 224 400V368C224 359.163 231.163 352 240 352zM224 240V272C224 280.837 231.163 288 240 288H432C440.837 288 448 280.837 448 272V240C448 231.163 440.837 224 432 224H240C231.163 224 224 231.163 224 240zM224 -16V16C224 24.837 231.163 32 240 32H304C312.837 32 320 24.837 320 16V-16C320 -24.837 312.837 -32 304 -32H240C231.163 -32 224 -24.837 224 -16zM224 112V144C224 152.837 231.163 160 240 160H368C376.837 160 384 152.837 384 144V112C384 103.163 376.837 96 368 96H240C231.163 96 224 103.163 224 112z" glyph-name="sort-amount-down" horiz-adv-x="512" unicode=""/><glyph d="M4.702 331.314L84.686 411.316C90.934 417.563 101.069 417.561 107.313 411.316L187.294 331.314C197.364 321.2440000000001 190.193 304 175.98 304H128V-16C128 -24.837 120.837 -32 112 -32H80C71.163 -32 64 -24.837 64 -16V304H16.016C1.775 304 -5.347 321.264 4.702 331.314zM240 352H496C504.837 352 512 359.163 512 368V400C512 408.837 504.837 416 496 416H240C231.163 416 224 408.837 224 400V368C224 359.163 231.163 352 240 352zM224 240V272C224 280.837 231.163 288 240 288H432C440.837 288 448 280.837 448 272V240C448 231.163 440.837 224 432 224H240C231.163 224 224 231.163 224 240zM224 -16V16C224 24.837 231.163 32 240 32H304C312.837 32 320 24.837 320 16V-16C320 -24.837 312.837 -32 304 -32H240C231.163 -32 224 -24.837 224 -16zM224 112V144C224 152.837 231.163 160 240 160H368C376.837 160 384 152.837 384 144V112C384 103.163 376.837 96 368 96H240C231.163 96 224 103.163 224 112z" glyph-name="sort-amount-up" horiz-adv-x="512" unicode=""/><glyph d="M41 160H279C300.4 160 311.1 134.1 296 119L177 0C167.6 -9.4 152.4 -9.4 143.1 0L24 119C8.9 134.1 19.6 160 41 160z" glyph-name="sort-down" horiz-adv-x="320" unicode=""/><glyph d="M308.811 334.213L289.363 355.008C284.841 359.844 285.089 367.429 289.919 371.958L333.362 412.699A11.999000000000002 11.999000000000002 0 0 0 341.571 415.9460000000001H373.162C379.789 415.9460000000001 385.162 410.573 385.162 403.9460000000001V276.876H410.822C417.449 276.876 422.822 271.5030000000001 422.822 264.876V235.946C422.822 229.319 417.449 223.946 410.822 223.946H301.649C295.022 223.946 289.649 229.319 289.649 235.946V264.876C289.649 271.5030000000001 295.022 276.876 301.649 276.876H327.063V334.814C319.809 328.2340000000001 312.852 329.8930000000001 308.811 334.213zM278.241 95.644C278.241 128.297 302.106 163 346.335 163C384.588 163 425.759 134.139 425.759 70.772C425.759 19.496 393.522 -35 333.776 -35C315.94 -35 303.23 -31.443 295.228 -28.219C289.438 -25.886 286.439 -19.473 288.306 -13.516L297.543 15.964C299.5780000000001 22.46 306.592 25.947 313.01 23.68C326.039 19.078 340.888 18.405 351.113 27.818C312.371 22.746 278.241 53.178 278.241 95.644zM370.514 76.306C370.514 98.591 355.212 112.811 344.6790000000001 112.811C336.0370000000001 112.811 331.5150000000001 104.846 331.5150000000001 96.979C331.5150000000001 91.31 333.3300000000001 72.811 356.6830000000001 72.811C366.6560000000001 72.811 370.0600000000001 74.965 370.427 75.542C370.4480000000001 75.588 370.514 75.833 370.514 76.306zM175.984 80H128V400C128 408.837 120.837 416 112 416H80C71.163 416 64 408.837 64 400V80H16.019C1.807 80 -5.365 62.756 4.705 52.686L84.686 -27.316C90.931 -33.561 101.066 -33.563 107.313 -27.316L187.297 52.686C197.347 62.736 190.225 80 175.984 80z" glyph-name="sort-numeric-down" horiz-adv-x="448" unicode=""/><glyph d="M308.811 334.213L289.363 355.008C284.841 359.844 285.089 367.429 289.919 371.958L333.362 412.699A11.999000000000002 11.999000000000002 0 0 0 341.571 415.9460000000001H373.162C379.789 415.9460000000001 385.162 410.573 385.162 403.9460000000001V276.876H410.822C417.449 276.876 422.822 271.5030000000001 422.822 264.876V235.946C422.822 229.319 417.449 223.946 410.822 223.946H301.649C295.022 223.946 289.649 229.319 289.649 235.946V264.876C289.649 271.5030000000001 295.022 276.876 301.649 276.876H327.063V334.814C319.809 328.2340000000001 312.852 329.8930000000001 308.811 334.213zM278.241 95.644C278.241 128.297 302.106 163 346.335 163C384.588 163 425.759 134.139 425.759 70.772C425.759 19.496 393.522 -35 333.776 -35C315.94 -35 303.23 -31.443 295.228 -28.219C289.438 -25.886 286.439 -19.473 288.306 -13.516L297.543 15.964C299.5780000000001 22.46 306.592 25.947 313.01 23.68C326.039 19.078 340.888 18.405 351.113 27.818C312.371 22.746 278.241 53.178 278.241 95.644zM370.514 76.306C370.514 98.591 355.212 112.811 344.6790000000001 112.811C336.0370000000001 112.811 331.5150000000001 104.846 331.5150000000001 96.979C331.5150000000001 91.31 333.3300000000001 72.811 356.6830000000001 72.811C366.6560000000001 72.811 370.0600000000001 74.965 370.427 75.542C370.4480000000001 75.588 370.514 75.833 370.514 76.306zM16.016 304H64V-16C64 -24.837 71.163 -32 80 -32H112C120.837 -32 128 -24.837 128 -16V304H175.981C190.193 304 197.365 321.2440000000001 187.295 331.314L107.314 411.316C101.069 417.561 90.934 417.563 84.687 411.316L4.702 331.314C-5.347 321.264 1.775 304 16.016 304z" glyph-name="sort-numeric-up" horiz-adv-x="448" unicode=""/><glyph d="M279 224H41C19.6 224 8.9 249.9 24 265L143 384C152.4 393.4 167.6 393.4 176.9 384L295.9 265C311.1 249.9 300.4 224 279 224z" glyph-name="sort-up" horiz-adv-x="320" unicode=""/><glyph d="M41 160H279C300.4 160 311.1 134.1 296 119L177 0C167.6 -9.4 152.4 -9.4 143.1 0L24 119C8.9 134.1 19.6 160 41 160zM296 265L177 384C167.6 393.4 152.4 393.4 143.1 384L24 265C8.9 249.9 19.6 224 41 224H279C300.4 224 311.1 249.9 296 265z" glyph-name="sort" horiz-adv-x="320" unicode=""/><glyph d="M568.25 256C539.21 255.87 433.24 249.84 354.41 173C321.29 143.37 301.05 109.7 288 78.14C274.95 109.7 254.71 143.37 221.59 173C142.76 249.84 36.79 255.87 7.75 256C3.34 256.02 -0.04 252.6 0 248.18C0.23 220.26 7.14 122.04 88.77 48.88C172.79 -32.94 256 -32 288 -32S403.19 -32.95 487.23 48.88C568.87 122.05 575.77 220.26 576 248.18C576.04 252.6 572.66 256.02 568.25 256zM287.98 145.4C300.8 164.25 315.5800000000001 181.18 332.0700000000001 195.92C351.1600000000001 214.53 371.6500000000001 229.22 392.3300000000001 241.1C375.8900000000001 311.6 340.61 374.15 295.6 413.32C291.49 416.9 284.5800000000001 416.9 280.4600000000001 413.32C235.4700000000001 374.18 200.1900000000001 311.69 183.72 241.25C204.09 229.55 224.22 215.11 242.9400000000001 196.86A282.768 282.768 0 0 0 287.98 145.4z" glyph-name="spa" horiz-adv-x="576" unicode=""/><glyph d="M592.604 239.756C559.735 255.164 515.777 264 472 264H186.327C181.375 270.555 175.742 275.978 169.607 280H376C229.157 310.253 219.403 416 96.003 416H96V288H80V416C53.49 416 32 387.346 32 352V288C8.803 288 0 277.968 0 264V224C0 210.017 8.819 200 32 200V184C8.803 184 0 173.968 0 160V120C0 106.017 8.819 96 32 96V32C32 -3.346 53.49 -32 80 -32V96H96V-32H96.003C219.403 -32 229.157 73.747 376 104H169.606C175.741 108.022 181.374 113.445 186.326 120H472C515.777 120 559.735 128.836 592.604 144.244C622.282 158.155 640 176.008 640 192S622.282 225.845 592.604 239.756zM488 152A8 8 0 0 0 480 160V224A8 8 0 0 0 488 232C519.909 232 519.942 152 488 152z" glyph-name="space-shuttle" horiz-adv-x="640" unicode=""/><glyph d="M151.17 280.65L177.1 272H181.77L186.99 298.12C187.71 301.7000000000001 188.79 305.7000000000001 190.2 309.91L169.91 350.49L193.71 421.88C196.5 430.26 191.98 439.32 183.59 442.12L168.42 447.18C160.04 449.98 150.97 445.45 148.18 437.06L122.29 359.38A32.04 32.04 0 0 1 124.02 334.95L151.17 280.65zM573.31 98.62L520.56 177.74A32.002 32.002 0 0 1 493.9399999999999 191.99H416L484.99 216.35A32.03 32.03 0 0 1 501.5 228.9600000000001L555.1 309.37C560 316.7200000000001 558.01 326.6600000000001 550.66 331.5600000000001L537.35 340.4400000000001C530 345.3400000000001 520.0600000000001 343.35 515.16 336L464.6 260.17L404.1 240H368L357.63 291.85C355.44 302.82 340.26 352 288 352C235.74 352 220.56 302.82 218.37 291.85L208 240H171.9L111.41 260.17L60.84 336C55.94 343.35 46.01 345.3400000000001 38.65 340.44L25.34 331.56C17.99 326.66 16 316.73 20.9 309.37L74.5 228.96A32.03 32.03 0 0 1 91.01 216.35L160 192H82.06A32.02 32.02 0 0 1 55.43 177.75L2.69 98.62C-2.21 91.27 -0.23 81.33 7.13 76.43L20.44 67.55C27.79 62.65 37.73 64.64 42.63 71.99L90.63 143.99H137.69L76.86 46.66A31.988 31.988 0 0 1 72 29.7V-48C72 -56.84 79.16 -64 88 -64H104C112.84 -64 120 -56.84 120 -48V25.11L194.08 143.64C193.07 129.59 192 115.53 192 101.43C192 48.36 232.76 0 288 0S384 48.36 384 101.43C384 115.53 382.92 129.59 381.92 143.64L456 25.11V-48C456 -56.84 463.16 -64 472 -64H488C496.84 -64 504 -56.84 504 -48V29.71C504 35.71 502.31 41.59 499.14 46.67L438.31 144H485.37L533.37 72C538.27 64.65 548.21 62.66 555.5600000000001 67.56L568.87 76.44C576.23 81.34 578.21 91.27 573.3100000000001 98.62zM406.09 350.49L385.8 309.91C387.21 305.7 388.29 301.7 389.01 298.12L394.23 272H398.9L424.83 280.65L451.98 334.95A31.995 31.995 0 0 1 453.71 359.38L427.82 437.06C425.03 445.44 415.96 449.98 407.58 447.18L392.41 442.12C384.03 439.32 379.5 430.26 382.29 421.88L406.09 350.49z" glyph-name="spider" horiz-adv-x="576" unicode=""/><glyph d="M304 400C304 373.49 282.51 352 256 352S208 373.49 208 400S229.49 448 256 448S304 426.51 304 400zM256 32C229.49 32 208 10.51 208 -16S229.49 -64 256 -64S304 -42.51 304 -16S282.51 32 256 32zM464 240C437.49 240 416 218.51 416 192S437.49 144 464 144S512 165.49 512 192S490.51 240 464 240zM96 192C96 218.51 74.51 240 48 240S0 218.51 0 192S21.49 144 48 144S96 165.49 96 192zM108.922 92.922C82.412 92.922 60.922 71.432 60.922 44.922S82.412 -3.078 108.922 -3.078S156.922 18.412 156.922 44.922C156.922 71.431 135.431 92.922 108.922 92.922zM403.078 92.922C376.568 92.922 355.078 71.432 355.078 44.922S376.568 -3.078 403.078 -3.078S451.078 18.412 451.078 44.922C451.078 71.431 429.588 92.922 403.078 92.922zM108.922 387.078C82.412 387.078 60.922 365.588 60.922 339.078S82.412 291.078 108.922 291.078S156.922 312.568 156.922 339.078S135.431 387.078 108.922 387.078z" glyph-name="spinner" horiz-adv-x="512" unicode=""/><glyph d="M472.29 252.11L405.23 275.06C385.9500000000001 281.66 371.69 295.98 367.0900000000001 313.36L351.1 373.81C339.5200000000001 417.58 274.5300000000001 430.94 241.12 396.43L194.98 348.76C181.72 335.05 161.44 327.8300000000001 140.78 329.45L68.9 335.07C16.85 339.14 -18.03 290.19 9.87 252.24L48.41 199.82C59.49 184.75 61.23 165.96 53.05 149.58L24.62 92.6C4.03 51.35 47.46 7.73 98.11 18.79L168.07 34.07C188.18 38.46 209.52 34.07 225.14 22.34L279.46 -18.49C318.78 -48.05 380.5 -26.06 383.91 18.73L388.61 80.59C389.96 98.3800000000001 401.41 114.4500000000001 419.24 123.5800000000001L481.24 155.3200000000001C526.12 178.28 520.8299999999999 235.4900000000001 472.29 252.1100000000001z" glyph-name="splotch" horiz-adv-x="512" unicode=""/><glyph d="M224 416C224 433.67 209.67 448 192 448H128C110.33 448 96 433.67 96 416V320H224V416zM480 320C462.33 320 448 305.67 448 288S462.33 256 480 256S512 270.3300000000001 512 288S497.67 320 480 320zM224 288H96C42.98 288 0 245.02 0 192V-32C0 -49.67 14.33 -64 32 -64H288C305.67 -64 320 -49.67 320 -32V192C320 245.02 277.02 288 224 288zM160 32C115.82 32 80 67.82 80 112S115.82 192 160 192S240 156.18 240 112S204.18 32 160 32zM480 352C497.67 352 512 366.33 512 384S497.67 416 480 416S448 401.67 448 384S462.33 352 480 352zM384 320C366.33 320 352 305.67 352 288S366.33 256 384 256S416 270.3300000000001 416 288S401.67 320 384 320zM288 416C270.33 416 256 401.67 256 384S270.33 352 288 352S320 366.33 320 384S305.67 416 288 416zM384 416C366.33 416 352 401.67 352 384S366.33 352 384 352S416 366.33 416 384S401.67 416 384 416zM480 224C462.33 224 448 209.67 448 192S462.33 160 480 160S512 174.33 512 192S497.67 224 480 224z" glyph-name="spray-can" horiz-adv-x="512" unicode=""/><glyph d="M512 -64H0V448H512V-64z" glyph-name="square-full" horiz-adv-x="512" unicode=""/><glyph d="M571.31 196.69L548.6899999999999 219.31C542.4399999999999 225.56 532.31 225.56 526.06 219.31L480 173.25L433.94 219.31C427.69 225.56 417.56 225.56 411.31 219.31L388.69 196.69C382.44 190.44 382.44 180.31 388.69 174.06L434.75 128L388.69 81.94C382.44 75.69 382.44 65.56 388.69 59.31L411.31 36.69C417.56 30.44 427.69 30.44 433.94 36.69L480 82.75L526.06 36.69C532.31 30.44 542.4399999999999 30.44 548.6899999999999 36.69L571.31 59.31C577.56 65.56 577.56 75.69 571.31 81.94L525.25 128L571.31 174.06C577.56 180.31 577.56 190.44 571.31 196.69zM552 448H307.65C293.11 448 280.39 438.2 276.7 424.13L191.91 101.33L133.5 207.43A32.008 32.008 0 0 1 105.47 224H24C10.75 224 0 213.26 0 200V152C0 138.75 10.75 128 24 128H67.62L156.5 -35.73C168.99 -55.5 186.3 -64 204.94 -64C222.21 -64 249.38 -55 259.2200000000001 -22.52L357.03 352H552C565.25 352 576 362.75 576 376V424C576 437.26 565.25 448 552 448z" glyph-name="square-root-alt" horiz-adv-x="576" unicode=""/><glyph d="M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416z" glyph-name="square" horiz-adv-x="448" unicode=""/><glyph d="M32 -64H480V0H32V-64zM416 192H349.44C333.18 192 320 205.18 320 221.44V230.9C320 258.27 328.88 284.31 341.46 308.62C350.57 326.23 354.36 347.01 350.51 369.04C343.74 407.82 312.04 439.74 273.25 446.49C212.62 457.04 160 410.67 160 352C160 337.8400000000001 163.12 324.4600000000001 168.69 312.42C182.02 283.57 192 253.3 192 221.51V221.44C192 205.18 178.82 192 162.56 192H96C42.98 192 0 149.02 0 96V64C0 46.33 14.33 32 32 32H480C497.67 32 512 46.33 512 64V96C512 149.02 469.02 192 416 192z" glyph-name="stamp" horiz-adv-x="512" unicode=""/><glyph d="M340.4700000000001 -18.36C339.0200000000001 -18.36 333.5800000000001 -18.82 331.29 -18.82C215.04 -18.82 120.47 75.75 120.47 192S215.04 402.82 331.29 402.82C333.61 402.82 338.99 402.36 340.4700000000001 402.36C347.6 402.36 353.8 407.39 355.2200000000001 414.43C356.68 421.68 352.67 428.92 345.75 431.52C316.58 442.46 286.39 448 256 448C114.84 448 0 333.16 0 192S114.84 -64 256 -64C286.23 -64 316.28 -58.51 345.32 -47.68C351.28 -45.66 355.6 -40.04 355.6 -33.42C355.6 -25.33 349.21 -18.36 340.47 -18.36zM503.46 234.14L427.0800000000001 245.24L392.9200000000001 314.45C391.0900000000001 318.15 387.5400000000001 320 383.9900000000001 320S376.8900000000001 318.15 375.0600000000001 314.45L340.9000000000001 245.24L264.5200000000001 234.14C256.3500000000001 232.96 253.0900000000001 222.92 259.0000000000001 217.15L314.2700000000001 163.28L301.2200000000001 87.21C300.1100000000001 80.77 305.2300000000001 75.55 311.0300000000001 75.55C312.5600000000001 75.55 314.1400000000001 75.91 315.6700000000001 76.72L384 112.63L452.31 76.72C453.84 75.92 455.42 75.55 456.95 75.55C462.75 75.55 467.87 80.78 466.76 87.21L453.71 163.28L508.98 217.15C514.89 222.9200000000001 511.6299999999999 232.9600000000001 503.46 234.1400000000001z" glyph-name="star-and-crescent" horiz-adv-x="512" unicode=""/><glyph d="M508.55 276.49L362.18 297.8L296.77 430.19C290.89 442.02 279.42 448 267.95 448C256.55 448 245.16 442.1 239.26 430.19L173.83 297.81L27.45 276.52C1.2 272.7200000000001 -9.32 240.43 9.71 221.93L115.6 118.93L90.54 -26.55C86.98 -47.33 103.57 -64 122.15 -64C127.08 -64 132.15 -62.83 137.02 -60.25L267.9700000000001 8.43L398.9100000000001 -60.27C403.7700000000001 -62.82 408.8300000000001 -63.98 413.74 -63.98C432.3400000000001 -63.98 448.9600000000001 -47.3699999999999 445.4000000000001 -26.58L420.37 118.91L526.28 221.8900000000001C545.3199999999999 240.3900000000001 534.8 272.6900000000001 508.55 276.49zM386.81 153.29L368.69 135.67L372.97 110.79L392.49 -2.66L290.36 50.9300000000001L267.98 62.6700000000001L268.01 379.8600000000001L319.04 276.5700000000001L330.22 253.9400000000001L355.23 250.3000000000001L469.46 233.6700000000001L386.81 153.2900000000001z" glyph-name="star-half-alt" horiz-adv-x="536" unicode=""/><glyph d="M288 448C276.6 448 265.2 442.1 259.3 430.2L194 297.8L47.9 276.6C21.7 272.8 11.2 240.5 30.2 222L135.9 119L110.9 -26.5C106.4 -52.6 133.9 -72.5 157.3 -60.2L288 8.4V448z" glyph-name="star-half" horiz-adv-x="576" unicode=""/><glyph d="M405.68 192L458.89 281.39C473.3 305.6 455.48 336 426.88 336H319.96L264.01 429.98C256.86 441.99 244.43 448 232 448S207.14 441.99 199.99 429.98L144.04 336H37.11C8.51 336 -9.31 305.6 5.1 281.39L58.32 192L5.1 102.61C-9.31 78.4 8.51 48 37.11 48H144.04L199.99 -45.98C207.14 -57.99 219.57 -64 232 -64S256.86 -57.99 264.01 -45.98L319.96 48H426.89C455.49 48 473.31 78.4 458.9 102.61L405.68 192zM392.9000000000001 280L373.1 246.74L353.3 280H392.9000000000001zM340.5100000000001 192L288.1200000000001 104H175.88L123.49 192L175.87 280H288.12L340.51 192zM232 374.28L254.79 336H209.22L232 374.28zM71.1 280H110.7L90.9 246.74L71.1 280zM71.1 104L90.9 137.26L110.7 104H71.1zM232 9.72L209.21 48H254.78L232 9.72zM353.29 104L373.0900000000001 137.26L392.9 104H353.29z" glyph-name="star-of-david" horiz-adv-x="464" unicode=""/><glyph d="M471.99 113.57L336.06 192L471.99 270.43C479.65 274.85 482.27 284.63 477.85 292.29L445.8300000000001 347.7200000000001C441.4100000000001 355.37 431.6200000000001 358 423.9600000000001 353.5800000000001L288.0300000000001 275.1500000000001V432C288.0300000000001 440.84 280.86 448 272.0200000000001 448H207.98C199.14 448 191.97 440.84 191.97 432V275.14L56.04 353.57C48.38 357.99 38.59 355.36 34.17 347.71L2.15 292.29C-2.27 284.64 0.35 274.85 8.01 270.43L143.94 192L8.01 113.57C0.35 109.15 -2.27 99.36 2.15 91.71L34.17 36.28C38.59 28.63 48.38 26.01 56.04 30.42L191.97 108.85V-48C191.97 -56.84 199.14 -64 207.98 -64H272.0200000000001C280.86 -64 288.0300000000001 -56.84 288.0300000000001 -48V108.86L423.9600000000001 30.43C431.6200000000001 26.01 441.4100000000001 28.63 445.8300000000001 36.29L477.85 91.72C482.27 99.37 479.65 109.15 471.99 113.5700000000001z" glyph-name="star-of-life" horiz-adv-x="480" unicode=""/><glyph d="M259.3 430.2L194 297.8L47.9 276.5C21.7 272.7 11.2 240.4 30.2 221.9L135.9 118.9L110.9 -26.6C106.4 -52.9 134.1 -72.6 157.3 -60.3L288 8.4L418.7 -60.3C441.9 -72.5 469.6 -52.9 465.1 -26.6L440.1 118.9L545.8 221.9C564.8 240.4 554.3 272.7 528.0999999999999 276.5L382 297.8L316.7 430.2C305 453.8 271.1 454.1 259.3 430.2z" glyph-name="star" horiz-adv-x="576" unicode=""/><glyph d="M64 -20V404C64 410.6 69.4 416 76 416H124C130.6 416 136 410.6 136 404V227.6L331.5 408.6C352.1 425.7 384 411.4 384 384V0C384 -27.4 352.1 -41.7 331.5 -24.6L136 155.3V-20C136 -26.6 130.6 -32 124 -32H76C69.4 -32 64 -26.6 64 -20z" glyph-name="step-backward" horiz-adv-x="448" unicode=""/><glyph d="M384 404V-20C384 -26.6 378.6 -32 372 -32H324C317.4 -32 312 -26.6 312 -20V156.4L116.5 -24.6C95.9 -41.7 64 -27.4 64 0V384C64 411.4 95.9 425.7 116.5 408.6L312 228.7V404C312 410.6 317.4 416 324 416H372C378.6 416 384 410.6 384 404z" glyph-name="step-forward" horiz-adv-x="448" unicode=""/><glyph d="M447.1 336C412.9000000000001 335.5 384.8 307.6 384.1 273.4C383.6 249.1 396.6 227.8 416.1 216.6V104C416.1 46.7 365.9000000000001 0 304.1 0C244.1 0 194.9 44.1 192.2 99.2C265 114.2 320 178.8 320 256V411.4C320 422.8 311.9 432.7 300.7 434.9L237.8 447.5C224.8 450.1 212.2 441.7 209.6 428.7L206.4 413C203.8 400 212.2 387.4 225.2 384.8L255.9 378.7V257.3C255.9 204.4 213.7 160.6 160.8 160.1C107.4 159.6 63.9 202.8 63.9 256.1V378.6L94.6 384.7C107.6 387.3 116 399.9 113.4 412.9L110.3 428.6C107.7 441.6 95.1 450 82.1 447.4L19.3 435C8.1 432.7 0 422.9 0 411.4V256C0 178.7 55.1 114 128.1 99.2C130.7 8.8 208.6 -64 304 -64C401 -64 480 11.4 480 104V216.6C499.1 227.7 512 248.3 512 272C512 307.7 482.8 336.5 447.1 336zM448 256C439.2 256 432 263.2 432 272S439.2 288 448 288S464 280.8 464 272S456.8 256 448 256z" glyph-name="stethoscope" horiz-adv-x="512" unicode=""/><glyph d="M312 128H448V392C448 405.3 437.3 416 424 416H24C10.7 416 0 405.3 0 392V-8C0 -21.3 10.7 -32 24 -32H288V104C288 117.2 298.8 128 312 128zM441 73L343 -25C338.5 -29.5 332.4 -32 326 -32H320V96H448V89.9C448 83.6 445.5 77.5 441 73z" glyph-name="sticky-note" horiz-adv-x="448" unicode=""/><glyph d="M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM352 112C352 103.2 344.8 96 336 96H176C167.2 96 160 103.2 160 112V272C160 280.8 167.2 288 176 288H336C344.8 288 352 280.8 352 272V112z" glyph-name="stop-circle" horiz-adv-x="512" unicode=""/><glyph d="M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416z" glyph-name="stop" horiz-adv-x="448" unicode=""/><glyph d="M432 144C432 29.1 338.9 -64 224 -64S16 29.1 16 144C16 248 92.3 334.2 192 349.5V384H164C157.4 384 152 389.4 152 396V436C152 442.6 157.4 448 164 448H284C290.6 448 296 442.6 296 436V396C296 389.4 290.6 384 284 384H256V349.5C293.5 343.7 327.7 327.9 355.7 304.9L383.2 332.4C387.9 337.1 395.5 337.1 400.2 332.4L428.5 304.1C433.2 299.4 433.2 291.8 428.5 287.1L399.1 257.7L398.5 257.1C419.7 224.7 432 185.8 432 144zM256 108V259.5C256 266.1 250.6 271.5 244 271.5H204C197.4 271.5 192 266.1 192 259.5V108C192 101.4 197.4 96 204 96H244C250.6 96 256 101.4 256 108z" glyph-name="stopwatch" horiz-adv-x="448" unicode=""/><glyph d="M320 64H128V224H64V-32C64 -49.7 78.3 -64 96 -64H352C369.7 -64 384 -49.7 384 -32V224H320V64zM634.6 305.8L549.3000000000001 433.8C543.3000000000001 442.7 533.3000000000001 448 522.6 448H117.4C106.7 448 96.7 442.7 90.8 433.8L5.5 305.8C-8.7 284.5 6.5 256 32.1 256H608C633.5 256 648.7 284.5 634.6 305.8zM512 -48C512 -56.8 519.2 -64 528 -64H560C568.8 -64 576 -56.8 576 -48V224H512V-48z" glyph-name="store-alt" horiz-adv-x="640" unicode=""/><glyph d="M602 329.4L537.1 433C531.3 442.3 521 448 510 448H106C95 448 84.7 442.3 78.9 433L14 329.4C-19.5 275.9 10.2 201.5 72.8 193C77.3 192.4 81.9 192.1 86.5 192.1C116.1 192.1 142.3 205.1 160.3 225.2C178.3 205.1 204.6 192.1 234.1 192.1C263.7000000000001 192.1 289.9000000000001 205.1 307.9000000000001 225.2C325.9000000000001 205.1 352.2000000000001 192.1 381.7000000000001 192.1C411.3000000000001 192.1 437.5000000000001 205.1 455.5000000000001 225.2C473.6000000000001 205.1 499.8000000000001 192.1 529.3000000000001 192.1C534.0000000000001 192.1 538.5000000000001 192.4 543.0000000000001 193C605.8000000000001 201.4 635.6000000000001 275.8 602.0000000000001 329.4zM529.5 160C519.5 160 509.6 161.5 500 163.8V64H116V163.8C106.4 161.6 96.5 160 86.5 160C80.5 160 74.4 160.4 68.5 161.2C62.9 162 57.4 163.3 52.1 164.8V-32C52.1 -49.7 66.4 -64 84.1 -64H532.1C549.8000000000001 -64 564.1 -49.7 564.1 -32V164.8C558.7 163.2 553.3000000000001 161.9 547.7 161.2C541.6 160.4 535.6 160 529.5 160z" glyph-name="store" horiz-adv-x="616" unicode=""/><glyph d="M16 320H432C440.84 320 448 327.16 448 336V400C448 408.8400000000001 440.84 416 432 416H16C7.16 416 0 408.8400000000001 0 400V336C0 327.16 7.16 320 16 320zM496 240H80C71.16 240 64 232.84 64 224V160C64 151.16 71.16 144 80 144H496C504.84 144 512 151.16 512 160V224C512 232.84 504.84 240 496 240zM432 64H16C7.16 64 0 56.84 0 48V-16C0 -24.84 7.16 -32 16 -32H432C440.84 -32 448 -24.84 448 -16V48C448 56.84 440.84 64 432 64z" glyph-name="stream" horiz-adv-x="512" unicode=""/><glyph d="M367.9 118.24C363.28 112.94 358.12 108.14 352 104.59V81.65C418.52 72.3100000000001 464 53.6 464 32.0000000000001C464 1.0700000000001 370.88 -23.9999999999999 256 -23.9999999999999S48 1.07 48 32C48 53.6 93.48 72.3 160 81.65V104.59C153.88 108.14 148.72 112.94 144.1 118.24C58.87 102.66 0 69.95 0 32C0 -21.02 114.62 -64 256 -64S512 -21.02 512 32C512 69.95 453.13 102.66 367.9 118.24zM256 320C291.35 320 320 348.65 320 384S291.35 448 256 448S192 419.35 192 384S220.65 320 256 320zM192 128V32C192 14.33 206.33 0 224 0H288C305.67 0 320 14.33 320 32V128C337.67 128 352 142.33 352 160V256C352 282.51 330.51 304 304 304H292.2C281.13 298.9700000000001 268.94 296 256 296S230.87 298.9700000000001 219.8 304H208C181.49 304 160 282.51 160 256V160C160 142.33 174.33 128 192 128z" glyph-name="street-view" horiz-adv-x="512" unicode=""/><glyph d="M496 160H16C7.163 160 0 167.163 0 176V208C0 216.837 7.163 224 16 224H496C504.837 224 512 216.837 512 208V176C512 167.163 504.837 160 496 160zM281.334 144C308.592 131.063 327.858 115.317 327.858 87.757C327.858 54.649 298.8810000000001 34.081 252.237 34.081C219.912 34.081 175.363 46.161 175.363 78.352V80C175.363 88.837 168.1990000000001 96 159.363 96H113.75C104.914 96 97.75 88.837 97.75 80V60.796C97.75 -6.049 175.467 -41.024 252.237 -41.024C340.815 -41.024 414.25 4.414 414.25 93.4C414.25 113.215 410.632 129.817 404.107 144H281.334zM250.382 240C217.96 253.505 193.546 268.9460000000001 193.546 299.683C193.546 333.603 224.447 347.089 258.508 347.089C301.155 347.089 323.47 330.496 323.47 314.104V312C323.47 303.163 330.634 296 339.47 296H385.083C393.919 296 401.083 303.163 401.083 312V342.318C401.083 394.756 329.358 422.193 258.508 422.193C173.305 422.193 107.782 381.221 107.782 296.5470000000001C107.782 273.837 112.447 255.371 120.559 240H250.382z" glyph-name="strikethrough" horiz-adv-x="512" unicode=""/><glyph d="M188.12 237.26L142.86 192L188.11 146.75L233.37 192L188.12 237.26zM301.25 259.88L256 305.14L210.75 259.89L256 214.63L301.25 259.88zM210.75 124.12L256 78.86L301.26 124.12L256 169.37L210.75 124.12zM256 448C114.62 448 0 333.38 0 192S114.62 -64 256 -64S512 50.62 512 192S397.38 448 256 448zM442.68 152.4L431.37 141.09C428.25 137.97 423.18 137.97 420.06 141.09L391.77 169.38L346.52 124.13L380.46 90.19L397.43 107.16C400.55 110.28 405.62 110.28 408.74 107.16L420.05 95.85C423.17 92.73 423.17 87.66 420.05 84.54L403.08 67.5699999999999L420.05 50.5999999999999C423.17 47.4799999999999 423.17 42.4099999999999 420.05 39.2899999999999L408.74 27.9799999999999C405.62 24.8599999999999 400.55 24.8599999999999 397.43 27.9799999999999L380.4599999999999 44.9499999999999L363.4899999999999 27.9799999999999C360.3699999999999 24.8599999999999 355.2999999999999 24.8599999999999 352.1799999999999 27.9799999999999L340.8699999999999 39.2899999999999C337.7499999999999 42.4099999999999 337.7499999999999 47.4799999999999 340.8699999999999 50.5999999999999L357.8399999999999 67.5699999999999L323.8999999999999 101.5099999999999L278.64 56.2499999999999L306.93 27.9599999999999C310.05 24.8399999999999 310.05 19.7699999999999 306.93 16.6499999999999L295.62 5.3399999999999C292.5 2.2199999999999 287.43 2.2199999999999 284.31 5.3399999999999L256 33.61L227.71 5.32C224.59 2.2 219.52 2.2 216.4 5.32L205.09 16.63C201.97 19.75 201.97 24.82 205.09 27.94L233.38 56.23L188.13 101.49L154.19 67.55L171.16 50.58C174.28 47.46 174.28 42.39 171.16 39.27L159.85 27.96C156.73 24.84 151.66 24.84 148.54 27.96L131.57 44.9300000000001L114.6 27.96C111.48 24.84 106.41 24.84 103.29 27.96L91.98 39.27C88.86 42.39 88.86 47.46 91.98 50.58L108.95 67.5500000000001L91.98 84.5200000000001C88.86 87.6400000000001 88.86 92.7100000000001 91.98 95.8300000000001L103.29 107.1400000000001C106.41 110.2600000000001 111.48 110.2600000000001 114.6 107.1400000000001L131.57 90.1700000000001L165.51 124.1100000000001L120.26 169.3600000000001L91.97 141.0700000000001C88.85 137.9500000000001 83.78 137.9500000000001 80.66 141.0700000000001L69.32 152.4C66.2 155.52 66.2 160.59 69.32 163.71L97.61 192L69.32 220.29C66.2 223.41 66.2 228.48 69.32 231.6L80.63 242.91C83.75 246.03 88.82 246.03 91.94 242.91L120.23 214.62L165.48 259.88L131.54 293.82L114.57 276.85C111.45 273.73 106.38 273.73 103.26 276.85L91.95 288.16C88.83 291.28 88.83 296.35 91.95 299.4700000000001L108.92 316.44L91.95 333.41C88.83 336.53 88.83 341.6 91.95 344.7200000000001L103.26 356.03C106.38 359.15 111.45 359.15 114.57 356.03L131.54 339.06L148.51 356.03C151.63 359.15 156.7 359.15 159.82 356.03L171.13 344.7200000000001C174.25 341.6 174.25 336.53 171.13 333.41L154.16 316.44L188.1 282.5L233.36 327.75L205.07 356.04C201.95 359.16 201.95 364.23 205.07 367.35L216.38 378.66C219.5 381.78 224.57 381.78 227.69 378.66L256 350.39L284.29 378.68C287.4100000000001 381.8 292.48 381.8 295.6 378.68L306.9100000000001 367.37C310.0300000000001 364.25 310.0300000000001 359.18 306.9100000000001 356.06L278.62 327.77L323.88 282.52L357.82 316.4600000000001L340.85 333.43C337.73 336.55 337.73 341.62 340.85 344.74L352.1600000000001 356.05C355.2800000000001 359.17 360.35 359.17 363.4700000000001 356.05L380.4400000000001 339.0800000000001L397.4100000000001 356.05C400.5300000000001 359.17 405.6000000000001 359.17 408.7200000000001 356.05L420.0300000000001 344.74C423.1500000000001 341.62 423.1500000000001 336.55 420.0300000000001 333.43L403.0600000000001 316.4600000000001L420.0300000000001 299.49C423.1500000000001 296.37 423.1500000000001 291.3 420.0300000000001 288.18L408.7200000000001 276.87C405.6000000000001 273.75 400.5300000000001 273.75 397.4100000000001 276.87L380.4400000000001 293.8400000000001L346.5000000000001 259.9L391.7500000000001 214.64L420.0400000000001 242.93C423.1600000000001 246.05 428.2300000000001 246.05 431.3500000000001 242.93L442.6600000000001 231.62C445.7800000000001 228.5 445.7800000000001 223.43 442.6600000000001 220.31L414.39 192L442.68 163.72A8.015 8.015 0 0 0 442.68 152.4zM278.63 192L323.89 146.75L369.14 192L323.89 237.26L278.63 192z" glyph-name="stroopwafel" horiz-adv-x="512" unicode=""/><glyph d="M395.198 32C398.659 42.526 413.994 53.28 431.463 64.425C448.088 75.03 466.9299999999999 87.051 481.804 103.287C499.2619999999999 122.341 507.748 143.4620000000001 507.748 167.8540000000001C507.748 228.4160000000001 457.046 256.0000000000001 409.938 256.0000000000001C367.447 256.0000000000001 333.56 233.9840000000001 315.506 205.5530000000001C310.852 198.2240000000001 312.914 188.5170000000001 320.129 183.6880000000001L350.457 163.3920000000001C357.4889999999999 158.686 366.9169999999999 160.3080000000001 372.087 167.006C380.1089999999999 177.4 390.9049999999999 185.2310000000001 403.7539999999999 185.2310000000001C423.1409999999999 185.2310000000001 430.0199999999999 172.3300000000001 430.0199999999999 161.2830000000001C430.0199999999999 125.1240000000001 310.5829999999999 104.2600000000001 310.5829999999999 1.2590000000001C310.5829999999999 -5.3949999999999 311.1439999999999 -11.7549999999999 311.998 -18.0719999999999C313.074 -26.0359999999999 319.832 -31.9999999999999 327.868 -31.9999999999999H496C504.837 -31.9999999999999 512 -24.8369999999999 512 -15.9999999999999V16.0000000000001C512 24.837 504.837 32.0000000000001 496 32.0000000000001H395.198zM272 192C280.837 192 288 184.837 288 176V144C288 135.163 280.837 128 272 128H209.601A16 16 0 0 0 196.06 135.478L150.359 208.093C148.062 211.445 145.937 215.062 144.164 218.302C142.514 215.058 140.517 211.365 138.29 207.72L93.578 135.573A15.999 15.999 0 0 0 79.978 128.001H16C7.163 128.001 0 135.1640000000001 0 144.001V176.001C0 184.838 7.163 192.001 16 192.001H42.325L98.877 274.7100000000001L46.111 352H16C7.163 352 0 359.163 0 368V400C0 408.837 7.163 416 16 416H84.806A16 16 0 0 0 98.451 408.356L138.333 343.23C140.405 339.707 142.386 336.059 144.06 332.86C145.837 336.104 147.98 339.814 150.297 343.397L190.629 408.432A15.999 15.999 0 0 0 204.226 416H272C280.837 416 288 408.837 288 400V368C288 359.163 280.837 352 272 352H244.021L191.331 276.329L249.974 192H272z" glyph-name="subscript" horiz-adv-x="512" unicode=""/><glyph d="M448 352V96C448 44.185 386.376 0 317.978 0L380.9580000000001 -49.721C386.905 -54.417 383.562 -64 376 -64H72C64.422 -64 61.108 -54.406 67.043 -49.721L130.022 0C61.82 0 0 44.046 0 96V352C0 405.019 64 448 128 448H320C385 448 448 405.019 448 352zM200 216V328C200 341.255 189.255 352 176 352H72C58.745 352 48 341.255 48 328V216C48 202.745 58.745 192 72 192H176C189.255 192 200 202.745 200 216zM400 216V328C400 341.255 389.255 352 376 352H272C258.745 352 248 341.255 248 328V216C248 202.745 258.745 192 272 192H376C389.255 192 400 202.745 400 216zM352 160C325.49 160 304 138.51 304 112S325.49 64 352 64S400 85.49 400 112S378.51 160 352 160zM96 160C69.49 160 48 138.51 48 112S69.49 64 96 64S144 85.49 144 112S122.51 160 96 160z" glyph-name="subway" horiz-adv-x="448" unicode=""/><glyph d="M336 288H48C21.49 288 0 266.51 0 240V16C0 -10.51 21.49 -32 48 -32H64V-48C64 -56.84 71.16 -64 80 -64H112C120.84 -64 128 -56.84 128 -48V-32H256V-48C256 -56.84 263.1600000000001 -64 272 -64H304C312.84 -64 320 -56.84 320 -48V-32H336C362.51 -32 384 -10.51 384 16V240C384 266.51 362.51 288 336 288zM320 72C320 67.58 316.42 64 312 64H72C67.58 64 64 67.58 64 72V88C64 92.42 67.58 96 72 96H312C316.42 96 320 92.42 320 88V72zM320 168C320 163.58 316.42 160 312 160H72C67.58 160 64 163.58 64 168V184C64 188.42 67.58 192 72 192H312C316.42 192 320 188.42 320 184V168zM144 400H240V320H288V400C288 426.51 266.51 448 240 448H144C117.49 448 96 426.51 96 400V320H144V400z" glyph-name="suitcase-rolling" horiz-adv-x="384" unicode=""/><glyph d="M128 -32H384V368C384 394.5 362.5 416 336 416H176C149.5 416 128 394.5 128 368V-32zM192 352H320V320H192V352zM512 272V16C512 -10.5 490.5 -32 464 -32H416V320H464C490.5 320 512 298.5 512 272zM96 -32H48C21.5 -32 0 -10.5 0 16V272C0 298.5 21.5 320 48 320H96V-32z" glyph-name="suitcase" horiz-adv-x="512" unicode=""/><glyph d="M256 288C203.1 288 160 244.9 160 192S203.1 96 256 96S352 139.1 352 192S308.9 288 256 288zM502.4 207.5L407.7 254.8L441.2 355.2000000000001C445.7 368.8 432.8 381.7000000000001 419.3 377.1L318.9 343.6L271.5 438.4000000000001C265.1 451.2 246.9 451.2 240.5 438.4000000000001L193.2 343.7000000000001L92.7 377.2C79.1 381.7 66.2 368.8 70.8 355.3L104.3 254.9L9.6 207.5C-3.2 201.1 -3.2 182.9 9.6 176.5L104.3 129.2L70.8 28.7C66.3 15.1 79.2 2.2 92.7 6.8L193.1 40.3L240.4000000000001 -54.4C246.8000000000001 -67.1999999999999 265.0000000000001 -67.1999999999999 271.4000000000001 -54.4L318.7000000000001 40.3L419.1 6.8C432.7000000000001 2.3 445.6 15.2 441 28.7L407.5 129.1L502.2 176.4C515.2 182.9 515.2 201.1 502.4 207.5zM346.5 101.5C296.6 51.6 215.4 51.6 165.5 101.5C115.6 151.4 115.6 232.6 165.5 282.5C215.4 332.4 296.6 332.4 346.5 282.5C396.4 232.6 396.4 151.4 346.5 101.5z" glyph-name="sun" horiz-adv-x="512" unicode=""/><glyph d="M395.198 192C398.659 202.526 413.994 213.28 431.463 224.425C448.088 235.03 466.9299999999999 247.051 481.804 263.2870000000001C499.2619999999999 282.341 507.748 303.462 507.748 327.854C507.748 388.416 457.046 416 409.938 416C367.447 416 333.56 393.984 315.506 365.553C310.852 358.224 312.914 348.517 320.129 343.688L350.457 323.392C357.4889999999999 318.6860000000001 366.9169999999999 320.308 372.087 327.006C380.1089999999999 337.4 390.9049999999999 345.231 403.7539999999999 345.231C423.1409999999999 345.231 430.0199999999999 332.33 430.0199999999999 321.283C430.0199999999999 285.124 310.5829999999999 264.26 310.5829999999999 161.259C310.5829999999999 154.605 311.1439999999999 148.245 311.998 141.928C313.074 133.964 319.832 128 327.868 128H496C504.837 128 512 135.163 512 144V176C512 184.837 504.837 192 496 192H395.198zM272 32C280.837 32 288 24.837 288 16V-16C288 -24.837 280.837 -32 272 -32H209.601A16 16 0 0 0 196.06 -24.522L150.359 48.093C148.062 51.445 145.937 55.062 144.164 58.302C142.514 55.058 140.517 51.365 138.29 47.72L93.578 -24.427A15.999 15.999 0 0 0 79.978 -31.999H16C7.163 -31.999 0 -24.836 0 -15.999V16.001C0 24.838 7.163 32.001 16 32.001H42.325L98.877 114.71L46.111 192H16C7.163 192 0 199.163 0 208V240C0 248.837 7.163 256 16 256H84.806A16 16 0 0 0 98.451 248.356L138.333 183.23C140.405 179.707 142.386 176.059 144.06 172.86C145.837 176.1040000000001 147.98 179.814 150.297 183.397L190.629 248.432A16 16 0 0 0 204.227 255.999H272C280.837 255.999 288 248.836 288 239.999V207.999C288 199.162 280.837 191.999 272 191.999H244.021L191.331 116.328L249.974 32H272z" glyph-name="superscript" horiz-adv-x="512" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM136 240C136 257.7 150.3 272 168 272S200 257.7 200 240S185.7 208 168 208S136 222.3 136 240zM248 32C212.7 32 184 60.7 184 96S212.7 160 248 160S312 131.3 312 96S283.3 32 248 32zM328 208C310.3 208 296 222.3 296 240S310.3 272 328 272S360 257.7 360 240S345.7 208 328 208z" glyph-name="surprise" horiz-adv-x="496" unicode=""/><glyph d="M479.06 128H372.29L186.15 -58.51C184.09 -60.58 181.66 -62.09 179.48 -64H479.06C496.7 -64 511 -49.67 511 -32V96C511 113.67 496.7 128 479.06 128zM434.56 280.9L344.23 371.4100000000001C331.76 383.9100000000001 311.54 383.9100000000001 299.06 371.4100000000001L223.56 295.76V32C223.56 29.04 222.89 26.27 222.69 23.36L434.56 235.64C447.0300000000001 248.14 447.0300000000001 268.4100000000001 434.56 280.9zM191.62 416C191.62 433.67 177.32 448 159.68 448H31.94C14.3 448 0 433.67 0 416V32C0 -21.02 42.9 -64 95.81 -64S191.62 -21.02 191.62 32V416zM95.81 8C82.58 8 71.86 18.75 71.86 32C71.86 45.26 82.59 56 95.81 56S119.76 45.26 119.76 32C119.77 18.75 109.04 8 95.81 8zM127.75 192H63.88V256H127.76V192zM127.75 320H63.88V384H127.76V320z" glyph-name="swatchbook" horiz-adv-x="511" unicode=""/><glyph d="M189.61 137.42C193.15 134.16 204.88 128 224 128S254.86 134.16 258.39 137.42C274.41 152.19 292.89 160 311.85 160H328.15C347.11 160 365.6 152.19 381.61 137.42C385.15 134.16 396.88 128 416 128S446.86 134.16 450.3899999999999 137.42C465.2499999999999 151.13 482.2699999999999 158.54 499.7799999999999 159.5800000000001L386.94 240.1800000000001L404.94 253.04C408.58 255.6200000000001 413.2199999999999 256.5600000000001 417.56 255.6500000000001L517.91 234.1200000000001C543.8199999999999 228.5900000000001 569.3499999999999 245.0900000000001 574.91 271C580.4599999999999 296.92 563.9599999999999 322.4400000000001 538.03 328L437.68 349.53C406.95 356.11 374.6600000000001 349.41 349.12 331.15L269.1 273.98C258.7200000000001 266.5900000000001 249.74 257.54 242.38 247.04L173.75 149C179.22 145.77 184.57 142.07 189.61 137.42zM624 96H608C581.96 96 562.2 104.42 551.91 113.9C543.01 122.11 532.25 128 520.14 128H503.84C491.73 128 480.97 122.11 472.07 113.9C461.8 104.42 442.04 96 416 96S370.2 104.42 359.91 113.9C351.01 122.11 340.25 128 328.14 128H311.84C299.73 128 288.97 122.11 280.07 113.9C269.8 104.42 250.04 96 224 96S178.2 104.42 167.91 113.9C159.01 122.11 148.25 128 136.14 128H119.84C107.73 128 96.97 122.11 88.07 113.9C77.8 104.42 58.04 96 32 96H16C7.16 96 0 88.84 0 80V48C0 39.16 7.16 32 16 32H32C70.62 32 104.72 44.19 128 63.84C151.28 44.18 185.38 32 224 32S296.7200000000001 44.19 320 63.84C343.28 44.18 377.38 32 416 32S488.72 44.19 512 63.84C535.28 44.18 569.38 32 608 32H624C632.84 32 640 39.16 640 48V80C640 88.84 632.84 96 624 96zM112 192C156.18 192 192 227.82 192 272S156.18 352 112 352S32 316.18 32 272S67.82 192 112 192z" glyph-name="swimmer" horiz-adv-x="640" unicode=""/><glyph d="M624 32H608C581.96 32 562.2 40.42 551.91 49.9C543.01 58.11 532.25 64 520.14 64H503.84C491.73 64 480.97 58.11 472.07 49.9C461.8 40.42 442.04 32 416 32S370.2 40.42 359.91 49.9C351.01 58.11 340.25 64 328.14 64H311.84C299.73 64 288.97 58.11 280.07 49.9C269.8 40.42 250.04 32 224 32S178.2 40.42 167.91 49.9C159.01 58.11 148.25 64 136.14 64H119.84C107.73 64 96.97 58.11 88.07 49.9C77.8 40.42 58.04 32 32 32H16C7.16 32 0 24.84 0 16V-16C0 -24.84 7.16 -32 16 -32H32C70.62 -32 104.72 -19.81 128 -0.16C151.28 -19.82 185.38 -32 224 -32S296.7200000000001 -19.81 320 -0.16C343.28 -19.82 377.38 -32 416 -32S488.72 -19.81 512 -0.16C535.28 -19.82 569.38 -32 608 -32H624C632.84 -32 640 -24.84 640 -16V16C640 24.84 632.84 32 624 32zM224 64V160H416V64C435.12 64 446.86 70.16 450.39 73.42C459.56 81.88 469.59 87.76 480 91.49V320C480 337.64 494.36 352 512 352S544 337.64 544 320V304C544 295.16 551.16 288 560 288H592C600.84 288 608 295.16 608 304V320C608 372.94 564.94 416 512 416S416 372.94 416 320V224H224V320C224 337.64 238.36 352 256 352S288 337.64 288 320V304C288 295.16 295.1600000000001 288 304 288H336C344.84 288 352 295.16 352 304V320C352 372.94 308.94 416 256 416S160 372.94 160 320V91.5C170.41 87.77 180.44 81.88 189.61 73.43C193.14 70.16 204.88 64 224 64z" glyph-name="swimming-pool" horiz-adv-x="640" unicode=""/><glyph d="M70 251.49L6.67 179.71A26.643000000000004 26.643000000000004 0 0 1 0 162.07V-64H128V208.42L90 251.49C84.69 257.5 75.31 257.5 70 251.49zM633.33 179.71L570 251.49C564.69 257.51 555.31 257.51 550 251.49L512 208.42V-64H640V162.07C640 168.57 637.63 174.84 633.33 179.71zM339.99 440.99C328.3 450.34 311.7 450.34 300.01 440.99L172.01 338.59A32.005 32.005 0 0 1 160 313.6V-64H256V28.57C256 60.45 277.78 90 309.25 95.12C349.34 101.65 384 70.87 384 32V-64H480V313.6C480 323.32 475.58 332.52 467.99 338.59L339.99 440.99zM392.06 225.44C394.04 222.29 391.77 218.2 388.06 218.2H349.12L324 178.21C322.15 175.26 317.85 175.26 316 178.21L290.88 218.19H251.94C248.22 218.19 245.96 222.28 247.94 225.43L267.14 255.99L247.94 286.55C245.96 289.7 248.23 293.79 251.94 293.79H290.88L316 333.79C317.85 336.74 322.15 336.74 324 333.79L349.12 293.81H388.07C391.78 293.81 394.05 289.7200000000001 392.07 286.57L372.87 256L392.06 225.44z" glyph-name="synagogue" horiz-adv-x="640" unicode=""/><glyph d="M370.7200000000001 314.7200000000001C339.4580000000001 343.992 298.888 360.038 255.848 360C178.39 359.932 111.52 306.822 93.057 233.15C91.713 227.787 86.935 224 81.406 224H24.103C16.605 224 10.909 230.807 12.296 238.176C33.933 353.076 134.813 440 256 440C322.448 440 382.791 413.8640000000001 427.315 371.315L463.03 407.03C478.149 422.149 504 411.4410000000001 504 390.059V256C504 242.745 493.255 232 480 232H345.941C324.559 232 313.851 257.851 328.97 272.971L370.72 314.7200000000001zM32 152H166.059C187.441 152 198.149 126.149 183.03 111.029L141.28 69.279C172.542 40.006 213.115 23.96 256.156 23.999C333.574 24.069 400.471 77.143 418.943 150.848C420.287 156.211 425.065 159.998 430.594 159.998H487.898C495.396 159.998 501.092 153.191 499.705 145.822C478.067 30.924 377.187 -56 256 -56C189.552 -56 129.209 -29.864 84.685 12.685L48.97 -23.03C33.851 -38.149 8 -27.441 8 -6.059V128C8 141.255 18.745 152 32 152z" glyph-name="sync-alt" horiz-adv-x="512" unicode=""/><glyph d="M440.935 435.426L444.901 352.66C399.416 406.096 331.674 440 256 440C134.813 440 33.933 353.076 12.296 238.176C10.908 230.807 16.604 224 24.103 224H73.187C78.757 224 83.564 227.842 84.863 233.259C103.407 310.592 172.931 368 256 368C316.8930000000001 368 370.512 337.144 402.1040000000001 290.199L300.5740000000001 295.064C293.7290000000001 295.3920000000001 288.0000000000001 289.9310000000001 288.0000000000001 283.0780000000001V235.6670000000001C288.0000000000001 229.04 293.3730000000001 223.667 300.0000000000001 223.667H500.3330000000001C506.9600000000001 223.667 512.3330000000001 229.04 512.3330000000001 235.6670000000001V436C512.3330000000001 442.627 506.9600000000001 448 500.3330000000001 448H452.9220000000001C446.0690000000001 448 440.6070000000001 442.271 440.9350000000001 435.426zM256 16C195.105 16 141.483 46.858 109.891 93.805L211.759 88.934C218.604 88.607 224.332 94.068 224.332 100.92V148.332C224.332 154.959 218.959 160.332 212.332 160.332H12C5.373 160.332 0 154.959 0 148.332V-52C0 -58.627 5.373 -64 12 -64H59.385C66.248 -64 71.713 -58.255 71.37 -51.401L67.241 31.174C112.725 -22.166 180.405 -56 256 -56C377.187 -56 478.067 30.924 499.704 145.824C501.092 153.193 495.396 160 487.897 160H438.813C433.243 160 428.436 156.158 427.137 150.741C408.593 73.408 339.069 16 256 16z" glyph-name="sync" horiz-adv-x="512.333" unicode=""/><glyph d="M201.5 273.2L257.2 217.4C260.3 214.3 260.3 209.2 257.2 206.1L245.9 194.8C242.8 191.6999999999999 237.7 191.6999999999999 234.6 194.8L178.9 250.6L133.6 205.3L189.4 149.5C192.5 146.3999999999999 192.5 141.3 189.4 138.1999999999999L178.1 126.8999999999999C175 123.7999999999999 169.9 123.7999999999999 166.8 126.8999999999999L111 182.8L84.6 156.4C67.3 139.1 59 115.3 61.6 91L68.7 27.4L2.3 -39C-0.8 -42.1 -0.8 -47.2 2.3 -50.3L13.6 -61.6C16.7 -64.7 21.8 -64.7 24.9 -61.6L91.2 4.7L154.8 -2.4C178.7 -5.0000000000001 202.7 2.9999999999999 220.2 20.6L402.1 202.5L266.4000000000001 338.2L201.5 273.2zM509.7 366.5L430.5 445.7C427.4 448.8 422.3 448.8 419.2 445.7L407.9 434.4C404.8 431.3 404.8 426.2 407.9 423.1L436.2 394.8L390.9 349.5L334.3 406.1L317.3 423.1C314.2 426.2 309.1 426.2 306 423.1L272.1 389.2C269 386.1 269 381 272.1 377.9L289.1 360.9L424.8 225L441.8 208C444.9000000000001 204.9 450 204.9 453.1 208L487 242C490.1 245.1 490.1 250.2 487 253.3L413.5 326.8L458.8 372.1L487.1 343.8C490.2 340.7000000000001 495.3 340.7000000000001 498.4 343.8L509.7 355.1C512.8000000000001 358.3 512.8000000000001 363.3 509.7 366.5z" glyph-name="syringe" horiz-adv-x="512" unicode=""/><glyph d="M496.2 151.5C527.7 229.3 512 321.8 449 384.9C365.1 469 229 469 145.1 384.9L89.1 328.8L300.6 117.3C346.7000000000001 179.4 432.1 194.7 496.2 151.5zM278.3 71.8L57.9 292.1C30.6 246.8 36.2 187.1 75.2 148L109.7 113.4L6.7 24C-1.9 16.5 -2.4 3.3 5.7 -4.8L59.1 -58.3C67.1 -66.4 80.3 -65.9 87.8 -57.3L177.1 46L212.8 10.3C232.5 -9.4 257.4000000000001 -20.2 283.1 -23C276 -6 272.1 12.6 272.1 32.1C272 45.9 274.6 59.1 278.3 71.8zM416 128C363 128 320 85 320 32S363 -64 416 -64S512 -21 512 32S469 128 416 128z" glyph-name="table-tennis" horiz-adv-x="512" unicode=""/><glyph d="M464 416H48C21.49 416 0 394.51 0 368V16C0 -10.51 21.49 -32 48 -32H464C490.51 -32 512 -10.51 512 16V368C512 394.51 490.51 416 464 416zM224 32H64V128H224V32zM224 192H64V288H224V192zM448 32H288V128H448V32zM448 192H288V288H448V192z" glyph-name="table" horiz-adv-x="512" unicode=""/><glyph d="M400 448H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V400C448 426.5 426.5 448 400 448zM224 -32C206.3 -32 192 -17.7 192 0S206.3 32 224 32S256 17.7 256 0S241.7 -32 224 -32zM400 76C400 69.4 394.6 64 388 64H60C53.4 64 48 69.4 48 76V388C48 394.6 53.4 400 60 400H388C394.6 400 400 394.6 400 388V76z" glyph-name="tablet-alt" horiz-adv-x="448" unicode=""/><glyph d="M400 448H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V400C448 426.5 426.5 448 400 448zM224 -32C206.3 -32 192 -17.7 192 0S206.3 32 224 32S256 17.7 256 0S241.7 -32 224 -32z" glyph-name="tablet" horiz-adv-x="448" unicode=""/><glyph d="M160 256C78.9 256 12.5 197.5 0.1 121.3C-0.7 116.5 3.4 112 8.4 112H311.7C316.7 112 320.8 116.5 320 121.3C307.5 197.5 241.1 256 160 256zM311.6 80H8.4C3.4 80 -0.7 75.5 0.1 70.7C12.5 -5.5 78.9 -64 160 -64S307.5 -5.5 319.9 70.7C320.7 75.5 316.6 80 311.6 80zM593.4 401.4C536.9 457.9 449.2 462.8 386.5 417.4C382.5 414.5 382.2 408.5 385.7 405.1L597 193.7C600.5 190.2 606.5 190.5 609.3 194.5C654.8 257.2 649.9 344.9 593.4 401.4zM363 382.3C359.5 385.8 353.5 385.5 350.7 381.5C305.3 318.8 310.2 231.1 366.6 174.6C423.1 118.1 510.8 113.2000000000001 573.5 158.7000000000001C577.5 161.6 577.8 167.6 574.3 171.0000000000001L363 382.3z" glyph-name="tablets" horiz-adv-x="640" unicode=""/><glyph d="M288 416C128.94 416 0 287.06 0 128C0 75.2 14.25 25.74 39.06 -16.8C44.67 -26.42 55.36 -32 66.5 -32H509.5C520.64 -32 531.33 -26.42 536.94 -16.8C561.75 25.74 576 75.2 576 128C576 287.06 447.06 416 288 416zM288 352C302.71 352 314.58 341.87 318.32 328.35C317.21 326.09 315.68 324.12 314.87 321.68L305.65 294.01C300.52 290.52 294.68 288 288.01 288C270.34 288 256.01 302.3300000000001 256.01 320S270.33 352 288 352zM96 64C78.33 64 64 78.33 64 96S78.33 128 96 128S128 113.67 128 96S113.67 64 96 64zM144 224C126.33 224 112 238.33 112 256S126.33 288 144 288S176 273.67 176 256S161.67 224 144 224zM390.77 296.41L329.44 112.41C343.13 100.67 352 83.46 352 64C352 52.28 348.62 41.45 343.12 32H232.88C227.38 41.45 224 52.28 224 64C224 97.94 250.5 125.43 283.9 127.59L345.24 311.6C349.4100000000001 324.1600000000001 362.9700000000001 331.05 375.6 326.7700000000001C388.17 322.5800000000001 394.9500000000001 308.98 390.7700000000001 296.4100000000001zM405.43 239.21L420.95 285.76C424.42 287.05 428.08 287.99 432 287.99C449.67 287.99 464 273.66 464 255.99S449.67 223.99 432 223.99C420.62 224 411.11 230.27 405.43 239.21zM480 64C462.33 64 448 78.33 448 96S462.33 128 480 128S512 113.67 512 96S497.67 64 480 64z" glyph-name="tachometer-alt" horiz-adv-x="576" unicode=""/><glyph d="M0 195.882V400C0 426.51 21.49 448 48 448H252.118A48 48 0 0 0 286.059 433.941L497.941 222.059C516.6859999999999 203.314 516.6859999999999 172.922 497.941 154.177L293.823 -49.941C275.078 -68.6859999999999 244.686 -68.6859999999999 225.941 -49.941L14.059 161.941A48 48 0 0 0 0 195.882zM112 384C85.49 384 64 362.51 64 336S85.49 288 112 288S160 309.49 160 336S138.51 384 112 384z" glyph-name="tag" horiz-adv-x="512" unicode=""/><glyph d="M497.941 222.059L286.0590000000001 433.941A48 48 0 0 1 252.118 448H48C21.49 448 0 426.51 0 400V195.882A48 48 0 0 1 14.059 161.941L225.941 -49.941C244.685 -68.6859999999999 275.077 -68.687 293.823 -49.941L497.941 154.177C516.6859999999999 172.922 516.6859999999999 203.314 497.941 222.059zM112 288C85.49 288 64 309.49 64 336S85.49 384 112 384S160 362.51 160 336S138.51 288 112 288zM625.941 154.177L421.823 -49.941C403.078 -68.6859999999999 372.686 -68.6859999999999 353.941 -49.941L353.581 -49.581L527.64 124.478C544.639 141.477 554 164.078 554 188.118S544.638 234.759 527.64 251.758L331.397 448H380.118A48 48 0 0 0 414.059 433.941L625.941 222.059C644.686 203.314 644.686 172.922 625.941 154.177z" glyph-name="tags" horiz-adv-x="640" unicode=""/><glyph d="M224 256C188.7 256 160 227.3 160 192S188.7 128 224 128S288 156.7 288 192S259.3 256 224 256zM624 32H380.6C422.1 72.7 448 129.3 448 192C448 315.7 347.7 416 224 416S0 315.7 0 192S100.3 -32 224 -32H624C632.8 -32 640 -24.8 640 -16V16C640 24.8 632.8 32 624 32zM224 96C171 96 128 139 128 192S171 288 224 288S320 245 320 192S277 96 224 96z" glyph-name="tape" horiz-adv-x="640" unicode=""/><glyph d="M208 316H496C504.8 316 512 323.2 512 332V372C512 380.8 504.8 388 496 388H208C199.2 388 192 380.8 192 372V332C192 323.2 199.2 316 208 316zM208 156H496C504.8 156 512 163.2 512 172V212C512 220.8 504.8 228 496 228H208C199.2 228 192 220.8 192 212V172C192 163.2 199.2 156 208 156zM208 -4H496C504.8 -4 512 3.2 512 12V52C512 60.8 504.8 68 496 68H208C199.2 68 192 60.8 192 52V12C192 3.2 199.2 -4 208 -4zM64 80C37.5 80 15.4 58.5 15.4 32S37.5 -16 64 -16S112 5.5 112 32S90.5 80 64 80zM156.5 379L84.3 306.8L68.7 291.2000000000001C64 286.5 55.8 286.5 51.1 291.2000000000001L3.5 338.6C-1.2 343.3 -1.2 350.9 3.5 355.6L19.2 371.3C23.9 376 31.5 376 36.2 371.3L58.9 349.2L122.6 412.5C127.3 417.2 134.9 417.2 139.6 412.5L156.6 396C161.2 391.3 161.2 383.7 156.5 379zM156.5 219.4L84.3 147.2L68.6 131.5C63.9 126.8 55.7 126.8 51 131.5L3.5 179C-1.2 183.7 -1.2 191.3 3.5 196L19.2 211.7C23.9 216.4 31.5 216.4 36.2 211.7L58.9 189.6L122.6 253.3C127.3 258 134.9 258 139.6 253.3L156.6 236.3C161.2 231.7 161.2 224.1 156.5 219.4z" glyph-name="tasks" horiz-adv-x="512" unicode=""/><glyph d="M462 206.36L440 291.2000000000001C430.4 326.4000000000001 398.4 352 363.2 352H352V384C352 401.67 337.67 416 320 416H192C174.33 416 160 401.67 160 384V352H148.8C113.6 352 81.6 326.4 72 291.2L50 206.36C21.41 199.96 0 174.53 0 144V96C0 72.37 12.95 51.96 32 40.88V0C32 -17.67 46.33 -32 64 -32H96C113.67 -32 128 -17.67 128 0V32H384V0C384 -17.67 398.33 -32 416 -32H448C465.67 -32 480 -17.67 480 0V40.88C499.05 51.97 512 72.38 512 96V144C512 174.53 490.59 199.96 462 206.36zM96 96C78.33 96 64 110.33 64 128S78.33 160 96 160S128 145.67 128 128S113.67 96 96 96zM116.55 208L133.75 274.36C135.98 282.52 143.34 288 148.81 288H363.2100000000001C368.6800000000001 288 376.04 282.52 378.0600000000001 275.14L395.45 208H116.55zM416 96C398.33 96 384 110.33 384 128S398.33 160 416 160S448 145.67 448 128S433.67 96 416 96z" glyph-name="taxi" horiz-adv-x="512" unicode=""/><glyph d="M544 448H96C42.98 448 0 405.02 0 352V288C0 252.65 28.66 224 64 224H576C611.34 224 640 252.65 640 288V352C640 405.02 597.02 448 544 448zM160 272C160 263.16 152.84 256 144 256H80C71.16 256 64 263.16 64 272V304C64 330.51 85.49 352 112 352S160 330.51 160 304V272zM304 272C304 263.16 296.84 256 288 256H208C199.16 256 192 263.16 192 272V328C192 358.93 217.07 384 248 384S304 358.93 304 328V272zM448 272C448 263.16 440.84 256 432 256H352C343.1600000000001 256 336 263.16 336 272V328C336 358.93 361.07 384 392 384S448 358.93 448 328V272zM576 272C576 263.16 568.84 256 560 256H496C487.16 256 480 263.16 480 272V304C480 330.51 501.49 352 528 352S576 330.51 576 304V272zM576 128H64C28.66 128 0 99.35 0 64V32C0 -21.02 42.98 -64 96 -64H544C597.02 -64 640 -21.02 640 32V64C640 99.35 611.34 128 576 128zM160 48C160 21.49 138.51 0 112 0S64 21.49 64 48V80C64 88.84 71.16 96 80 96H144C152.84 96 160 88.84 160 80V48zM304 56C304 25.07 278.93 0 248 0S192 25.07 192 56V80C192 88.84 199.16 96 208 96H288C296.84 96 304 88.84 304 80V56zM448 56C448 25.07 422.93 0 392 0S336 25.07 336 56V80C336 88.84 343.1600000000001 96 352 96H432C440.84 96 448 88.84 448 80V56zM576 48C576 21.49 554.51 0 528 0S480 21.49 480 48V80C480 88.84 487.16 96 496 96H560C568.84 96 576 88.84 576 80V48z" glyph-name="teeth-open" horiz-adv-x="640" unicode=""/><glyph d="M544 448H96C42.98 448 0 405.02 0 352V32C0 -21.02 42.98 -64 96 -64H544C597.02 -64 640 -21.02 640 32V352C640 405.02 597.02 448 544 448zM160 80C160 53.49 138.51 32 112 32S64 53.49 64 80V144C64 152.84 71.16 160 80 160H144C152.84 160 160 152.84 160 144V80zM160 208C160 199.16 152.84 192 144 192H80C71.16 192 64 199.16 64 208V272C64 298.51 85.49 320 112 320S160 298.51 160 272V208zM304 88C304 57.07 278.93 32 248 32S192 57.07 192 88V144C192 152.84 199.16 160 208 160H288C296.84 160 304 152.84 304 144V88zM304 208C304 199.16 296.84 192 288 192H208C199.16 192 192 199.16 192 208V296C192 326.93 217.07 352 248 352S304 326.93 304 296V208zM448 88C448 57.07 422.93 32 392 32S336 57.07 336 88V144C336 152.84 343.1600000000001 160 352 160H432C440.84 160 448 152.84 448 144V88zM448 208C448 199.16 440.84 192 432 192H352C343.1600000000001 192 336 199.16 336 208V296C336 326.93 361.07 352 392 352S448 326.93 448 296V208zM576 80C576 53.49 554.51 32 528 32S480 53.49 480 80V144C480 152.84 487.16 160 496 160H560C568.84 160 576 152.84 576 144V80zM576 208C576 199.16 568.84 192 560 192H496C487.16 192 480 199.16 480 208V272C480 298.51 501.49 320 528 320S576 298.51 576 272V208z" glyph-name="teeth" horiz-adv-x="640" unicode=""/><glyph d="M416 448C363.1 448 320 404.9 320 352S363.1 256 416 256S512 299.1 512 352S468.9 448 416 448zM416 320C398.3 320 384 334.3 384 352S398.3 384 416 384S448 369.7 448 352S433.7 320 416 320zM256 336C256 397.9 205.9 448 144 448S32 397.9 32 336V169.5C12.3 144.8 0 114 0 80C0 0.5 64.5 -64 144 -64S288 0.5 288 80C288 114 275.7 144.9 256 169.5V336zM144 0C99.9 0 64 35.9 64 80C64 105.5 76.2 128.9 96 143.8V336C96 362.5 117.5 384 144 384S192 362.5 192 336V143.8C211.8 129 224 105.5 224 80C224 35.9 188.1 0 144 0zM160 125.1V336C160 344.8 152.8 352 144 352S128 344.8 128 336V125.1C109.4 118.5 96 100.9 96 80C96 53.5 117.5 32 144 32S192 53.5 192 80C192 100.9 178.6 118.5 160 125.1z" glyph-name="temperature-high" horiz-adv-x="512" unicode=""/><glyph d="M416 448C363.1 448 320 404.9 320 352S363.1 256 416 256S512 299.1 512 352S468.9 448 416 448zM416 320C398.3 320 384 334.3 384 352S398.3 384 416 384S448 369.7 448 352S433.7 320 416 320zM256 336C256 397.9 205.9 448 144 448S32 397.9 32 336V169.5C12.3 144.8 0 114 0 80C0 0.5 64.5 -64 144 -64S288 0.5 288 80C288 114 275.7 144.9 256 169.5V336zM144 0C99.9 0 64 35.9 64 80C64 105.5 76.2 128.9 96 143.8V336C96 362.5 117.5 384 144 384S192 362.5 192 336V143.8C211.8 129 224 105.5 224 80C224 35.9 188.1 0 144 0zM160 125.1V144C160 152.8 152.8 160 144 160S128 152.8 128 144V125.1C109.4 118.5 96 100.9 96 80C96 53.5 117.5 32 144 32S192 53.5 192 80C192 100.9 178.6 118.5 160 125.1z" glyph-name="temperature-low" horiz-adv-x="512" unicode=""/><glyph d="M372 288H12C5.4 288 0 282.6 0 276V220C0 213.4 5.4 208 12 208H152V-20C152 -26.6 157.4 -32 164 -32H220C226.6 -32 232 -26.6 232 -20V208H372C378.6 208 384 213.4 384 220V276C384 282.6 378.6 288 372 288zM372 416H12C5.4 416 0 410.6 0 404V348C0 341.4 5.4 336 12 336H372C378.6 336 384 341.4 384 348V404C384 410.6 378.6 416 372 416z" glyph-name="tenge" horiz-adv-x="384" unicode=""/><glyph d="M257.981 175.029L63.638 -19.314C54.265 -28.687 39.069 -28.687 29.697 -19.314L7.029 3.353C-2.328 12.71 -2.346 27.875 6.989 37.254L161.011 192L6.99 346.745C-2.345 356.124 -2.327 371.289 7.03 380.646L29.697 403.313C39.07 412.6860000000001 54.266 412.6860000000001 63.638 403.313L257.981 208.97C267.354 199.598 267.354 184.402 257.981 175.029zM640 -8V24C640 37.255 629.255 48 616 48H312C298.745 48 288 37.255 288 24V-8C288 -21.255 298.745 -32 312 -32H616C629.255 -32 640 -21.255 640 -8z" glyph-name="terminal" horiz-adv-x="640" unicode=""/><glyph d="M16 416H304C312.837 416 320 408.837 320 400V304C320 295.163 312.837 288 304 288H268.504C259.6670000000001 288 252.504 295.163 252.504 304V352H197.743V32H232C240.837 32 248 24.837 248 16V-16C248 -24.837 240.837 -32 232 -32H88C79.163 -32 72 -24.837 72 -16V16C72 24.837 79.163 32 88 32H122.257V352H67.496V304C67.496 295.163 60.333 288 51.496 288H16C7.163 288 0 295.163 0 304V400C0 408.837 7.163 416 16 416zM491.308 411.315L571.303 331.314C581.309 321.307 574.297 304 559.99 304H512V80H560C575.639 80 580.635 62.009 571.313 52.686L491.318 -27.3150000000001C485.071 -33.5620000000001 474.937 -33.5600000000001 468.692 -27.3150000000001L388.697 52.6859999999999C378.691 62.693 385.703 80 400.01 80H448V304H400C384.361 304 379.365 321.991 388.687 331.314L468.682 411.315C474.929 417.563 485.063 417.56 491.308 411.315z" glyph-name="text-height" horiz-adv-x="576" unicode=""/><glyph d="M16 416H432C440.837 416 448 408.837 448 400V304C448 295.163 440.837 288 432 288H396.504C387.6670000000001 288 380.504 295.163 380.504 304V352H261.743V224H296C304.837 224 312 216.837 312 208V176C312 167.163 304.837 160 296 160H152C143.163 160 136 167.163 136 176V208C136 216.837 143.163 224 152 224H186.257V352H67.496V304C67.496 295.163 60.333 288 51.496 288H16C7.163 288 0 295.163 0 304V400C0 408.837 7.163 416 16 416zM443.315 75.318L363.314 155.313C353.991 164.635 336 159.638 336 144V96H112V143.99C112 158.297 94.693 165.309 84.686 155.303L4.685 75.308C-1.56 69.063 -1.562 58.929 4.685 52.682L84.686 -27.313C94.009 -36.635 112 -31.638 112 -16V32H336V-15.99C336 -30.297 353.307 -37.309 363.314 -27.303L443.3150000000001 52.692C449.5600000000001 58.937 449.5630000000001 69.071 443.3150000000001 75.318z" glyph-name="text-width" horiz-adv-x="448" unicode=""/><glyph d="M296 416H488C501.255 416 512 405.255 512 392V232C512 218.745 501.255 208 488 208H296C282.745 208 272 218.745 272 232V392C272 405.255 282.745 416 296 416zM216 416H24C10.745 416 0 405.255 0 392V232C0 218.745 10.745 208 24 208H216C229.255 208 240 218.745 240 232V392C240 405.255 229.255 416 216 416zM0 152V-8C0 -21.255 10.745 -32 24 -32H216C229.255 -32 240 -21.255 240 -8V152C240 165.255 229.255 176 216 176H24C10.745 176 0 165.255 0 152zM296 -32H488C501.255 -32 512 -21.255 512 -8V152C512 165.255 501.255 176 488 176H296C282.745 176 272 165.255 272 152V-8C272 -21.255 282.745 -32 296 -32z" glyph-name="th-large" horiz-adv-x="512" unicode=""/><glyph d="M149.333 232V152C149.333 138.745 138.588 128 125.333 128H24C10.745 128 0 138.745 0 152V232C0 245.255 10.745 256 24 256H125.333C138.588 256 149.333 245.255 149.333 232zM0 72V-8C0 -21.255 10.745 -32 24 -32H125.333C138.588 -32 149.333 -21.255 149.333 -8V72C149.333 85.255 138.588 96 125.333 96H24C10.745 96 0 85.255 0 72zM125.333 416H24C10.745 416 0 405.255 0 392V312C0 298.745 10.745 288 24 288H125.333C138.588 288 149.333 298.745 149.333 312V392C149.333 405.255 138.588 416 125.333 416zM205.333 -32H488C501.255 -32 512 -21.255 512 -8V72C512 85.255 501.255 96 488 96H205.333C192.078 96 181.333 85.255 181.333 72V-8C181.333 -21.255 192.078 -32 205.333 -32zM181.333 392V312C181.333 298.745 192.078 288 205.333 288H488C501.255 288 512 298.745 512 312V392C512 405.255 501.255 416 488 416H205.333C192.078 416 181.333 405.255 181.333 392zM205.333 128H488C501.255 128 512 138.745 512 152V232C512 245.255 501.255 256 488 256H205.333C192.078 256 181.333 245.255 181.333 232V152C181.333 138.745 192.078 128 205.333 128z" glyph-name="th-list" horiz-adv-x="512" unicode=""/><glyph d="M149.333 392V312C149.333 298.745 138.588 288 125.333 288H24C10.745 288 0 298.745 0 312V392C0 405.255 10.745 416 24 416H125.333C138.588 416 149.333 405.255 149.333 392zM330.6670000000001 152V232C330.6670000000001 245.255 319.9220000000001 256 306.6670000000001 256H205.333C192.078 256 181.333 245.255 181.333 232V152C181.333 138.745 192.078 128 205.333 128H306.666C319.9220000000001 128 330.667 138.745 330.667 152zM362.6670000000001 392V312C362.6670000000001 298.745 373.4120000000001 288 386.6670000000001 288H488C501.255 288 512 298.745 512 312V392C512 405.255 501.255 416 488 416H386.667C373.412 416 362.667 405.255 362.667 392zM330.6670000000001 312V392C330.6670000000001 405.255 319.9220000000001 416 306.6670000000001 416H205.333C192.078 416 181.333 405.255 181.333 392V312C181.333 298.745 192.078 288 205.333 288H306.666C319.9220000000001 288 330.667 298.745 330.667 312zM125.333 256H24C10.745 256 0 245.255 0 232V152C0 138.745 10.745 128 24 128H125.333C138.588 128 149.333 138.745 149.333 152V232C149.333 245.255 138.588 256 125.333 256zM0 72V-8C0 -21.255 10.745 -32 24 -32H125.333C138.588 -32 149.333 -21.255 149.333 -8V72C149.333 85.255 138.588 96 125.333 96H24C10.745 96 0 85.255 0 72zM386.667 128H488C501.255 128 512 138.745 512 152V232C512 245.255 501.255 256 488 256H386.667C373.412 256 362.667 245.255 362.667 232V152C362.667 138.745 373.412 128 386.667 128zM386.667 -32H488C501.255 -32 512 -21.255 512 -8V72C512 85.255 501.255 96 488 96H386.667C373.412 96 362.667 85.255 362.667 72V-8C362.667 -21.255 373.412 -32 386.667 -32zM181.333 72V-8C181.333 -21.255 192.078 -32 205.333 -32H306.666C319.921 -32 330.666 -21.255 330.666 -8V72C330.666 85.255 319.921 96 306.666 96H205.333C192.078 96 181.333 85.255 181.333 72z" glyph-name="th" horiz-adv-x="512" unicode=""/><glyph d="M206.86 202.85C170.98 192.4 146.91 161.65 149.33 128.75C160.73 141.47 178.14 152.45 199.23 159.67L206.86 202.85zM95.81 153L64.08 332.51C63.79 334.13 64.36 335.13 64.32 335.1600000000001C122.08 367.2200000000001 187.44 384.17 253.33 384.17C254.94 384.17 256.56 384 258.18 383.98C272.13 397.45 289.9100000000001 406.81 309.77 409.98C328.66 413 347.82 414.53 366.95 415.3C356.96 429.25 342.47 439.5300000000001 325.18 442.3C301.27 446.11 277.24 448 253.32 448C176.66 448 101.02 428.58 33.2 390.94C9.03 377.52 -3.92 349.52 1.05 321.42L32.78 141.91C47.01 61.39 169.11 -0.17 237.23 -0.17C240.82 -0.17 243.98 0.29 247.24 0.6300000000001C233.72 17.71 218.3 41.1100000000001 207.74 68.21C160.13 81.1900000000001 101.68 119.8300000000001 95.81 153.0000000000001zM193.36 290.4600000000001C192.63 294.5800000000001 191.13 298.3300000000001 189.29 301.86C181.04 292.9500000000001 168.62 286.11 153.97 283.54C139.32 280.9600000000001 125.3 283.14 114.4900000000001 288.7100000000001C113.9700000000001 284.77 113.85 280.73 114.5800000000001 276.61C118.4200000000001 254.9100000000001 139.16 240.42 160.9200000000001 244.24C182.6700000000001 248.06 197.2000000000001 268.76 193.3600000000001 290.4600000000001zM606.8 327.1C517.8199999999999 376.48 415.37 394.51 314.82 378.45C287.51 374.09 265.74 352.19 260.7799999999999 324.09L229.05 144.58C213.6599999999999 57.53 324.33 -51.6900000000001 387.3599999999999 -62.77C450.3899999999999 -73.86 591.8299999999999 -8.98 607.2199999999999 78.0700000000001L638.9499999999999 257.5800000000001C643.92 285.6900000000001 630.9699999999999 313.6900000000001 606.8 327.1zM333.56 230.3C337.3999999999999 252 358.14 266.49 379.9 262.6600000000001C401.66 258.8300000000001 416.18 238.14 412.35 216.44C411.62 212.32 410.12 208.57 408.28 205.04C400.03 213.95 387.61 220.79 372.96 223.36C358.31 225.9400000000001 344.29 223.76 333.48 218.19C332.95 222.14 332.83 226.1800000000001 333.56 230.3zM404.03 31.54C348.35 41.33 310.51 90.81 314.99 144.4400000000001C335.59 118.9 371.2 98.27 414.48 90.6600000000001C457.76 83.0500000000001 498.3 90.2900000000001 526.41 107.2600000000001C512.23 55.3200000000001 459.7 21.7500000000001 404.03 31.5400000000001zM534.3299999999999 182.88C526.0799999999999 191.79 513.65 198.63 498.9999999999999 201.2C484.35 203.78 470.3299999999999 201.6 459.5199999999999 196.03C458.9999999999999 199.97 458.8799999999999 204.01 459.6099999999999 208.13C463.4499999999999 229.83 484.1899999999999 244.32 505.9499999999999 240.5C527.6999999999999 236.67 542.2299999999999 215.98 538.4 194.28C537.67 190.15 536.17 186.4 534.3299999999999 182.88z" glyph-name="theater-masks" horiz-adv-x="640" unicode=""/><glyph d="M192 64C192 28.654 163.346 0 128 0S64 28.654 64 64C64 99.346 92.654 128 128 128S192 99.346 192 64zM224 148.653C243.912 126.09 256 96.459 256 64C256 -6.696 198.697 -64 128 -64C127.701 -64 127.391 -63.999 127.091 -63.997C56.789 -63.509 -0.357 -5.636 0.002 64.667C0.166 96.865 12.225 126.245 32 148.653V352C32 405.019 74.981 448 128 448S224 405.019 224 352V148.653zM208 64C208 98.339 188.63 116.19 176 130.502V352C176 378.467 154.467 400 128 400S80 378.467 80 352V130.502C67.268 116.074 48.175 98.402 48.001 64.422C47.777 20.5460000000001 83.564 -15.694 127.424 -15.998L128 -16C172.112 -16 208 19.888 208 64z" glyph-name="thermometer-empty" horiz-adv-x="256" unicode=""/><glyph d="M224 352C224 405.019 181.019 448 128 448S32 405.019 32 352V148.653C12.225 126.244 0.166 96.864 0.002 64.667C-0.357 -5.636 56.789 -63.509 127.091 -63.997C127.39 -63.999 127.701 -64 128 -64C198.698 -64 256 -6.696 256 64C256 96.459 243.912 126.09 224 148.653V352zM128 -16L127.424 -15.998C83.564 -15.694 47.777 20.546 48.001 64.422C48.174 98.402 67.267 116.074 80 130.502V352C80 378.467 101.533 400 128 400S176 378.467 176 352V130.502C188.63 116.19 208 98.338 208 64C208 19.888 172.112 -16 128 -16zM192 64C192 28.654 163.346 0 128 0S64 28.654 64 64C64 87.685 76.876 108.349 96 119.417V352C96 369.673 110.327 384 128 384S160 369.673 160 352V119.417C179.124 108.3490000000001 192 87.6850000000001 192 64z" glyph-name="thermometer-full" horiz-adv-x="256" unicode=""/><glyph d="M192 64C192 28.654 163.346 0 128 0S64 28.654 64 64C64 87.685 76.876 108.349 96 119.417V224C96 241.673 110.327 256 128 256S160 241.673 160 224V119.417C179.124 108.3490000000001 192 87.6850000000001 192 64zM224 148.653C243.912 126.09 256 96.459 256 64C256 -6.696 198.697 -64 128 -64C127.701 -64 127.391 -63.999 127.091 -63.997C56.789 -63.509 -0.357 -5.636 0.002 64.667C0.166 96.865 12.225 126.245 32 148.653V352C32 405.019 74.981 448 128 448S224 405.019 224 352V148.653zM208 64C208 98.339 188.63 116.19 176 130.502V352C176 378.467 154.467 400 128 400S80 378.467 80 352V130.502C67.268 116.074 48.175 98.402 48.001 64.422C47.777 20.5460000000001 83.564 -15.694 127.424 -15.998L128 -16C172.112 -16 208 19.888 208 64z" glyph-name="thermometer-half" horiz-adv-x="256" unicode=""/><glyph d="M192 64C192 28.654 163.346 0 128 0S64 28.654 64 64C64 87.685 76.876 108.349 96 119.417V160C96 177.673 110.327 192 128 192S160 177.673 160 160V119.417C179.124 108.3490000000001 192 87.6850000000001 192 64zM224 148.653C243.912 126.09 256 96.459 256 64C256 -6.696 198.697 -64 128 -64C127.701 -64 127.391 -63.999 127.091 -63.997C56.789 -63.509 -0.357 -5.636 0.002 64.667C0.166 96.865 12.225 126.245 32 148.653V352C32 405.019 74.981 448 128 448S224 405.019 224 352V148.653zM208 64C208 98.339 188.63 116.19 176 130.502V352C176 378.467 154.467 400 128 400S80 378.467 80 352V130.502C67.268 116.074 48.175 98.402 48.001 64.422C47.777 20.5460000000001 83.564 -15.694 127.424 -15.998L128 -16C172.112 -16 208 19.888 208 64z" glyph-name="thermometer-quarter" horiz-adv-x="256" unicode=""/><glyph d="M192 64C192 28.654 163.346 0 128 0C92.654 0 64 28.654 64 64C64 87.685 76.876 108.349 96 119.417V288C96 305.673 110.327 320 128 320S160 305.673 160 288V119.417C179.124 108.3490000000001 192 87.6850000000001 192 64zM224 148.653C243.912 126.09 256 96.459 256 64C256 -6.696 198.697 -64 128 -64C127.701 -64 127.391 -63.999 127.091 -63.997C56.789 -63.509 -0.357 -5.636 0.002 64.667C0.166 96.865 12.225 126.245 32 148.653V352C32 405.019 74.981 448 128 448S224 405.019 224 352V148.653zM208 64C208 98.339 188.63 116.19 176 130.502V352C176 378.467 154.467 400 128 400S80 378.467 80 352V130.502C67.268 116.074 48.175 98.402 48.001 64.422C47.777 20.5460000000001 83.564 -15.694 127.424 -15.998L128 -16C172.112 -16 208 19.888 208 64z" glyph-name="thermometer-three-quarters" horiz-adv-x="256" unicode=""/><glyph d="M476.8 427.6C439.3 458.3 381.3 453.9 344.9 417.4L299.2 371.4L349.7 320.9C352.8 317.8 352.8 312.7000000000001 349.7 309.6L338.4 298.3C335.3 295.2 330.2 295.2 327.1 298.3L276.7 348.8L231.6 303.4L281.9 253C285 249.9 285 244.8 281.9 241.7L270.6 230.4C267.5 227.3 262.4 227.3 259.3 230.4L209 280.6L163.9 235.2L214 185C217.1 181.9 217.1 176.8 214 173.7L202.7 162.4C199.6 159.3 194.5 159.3 191.4 162.4L141.3 212.6L96 166.9V66L7 -23C-2.4 -32.4 -2.4 -47.6 7 -56.9C16.4 -66.2999999999999 31.6 -66.2999999999999 40.9 -56.9L129.9 32.1H229.8L484 285.4C518.9 320.3 526.2 386.9 476.8 427.6z" glyph-name="thermometer" horiz-adv-x="512" unicode=""/><glyph d="M0 392V152C0 138.745 10.745 128 24 128H104C117.255 128 128 138.745 128 152V392C128 405.255 117.255 416 104 416H24C10.745 416 0 405.255 0 392zM40 192C40 205.255 50.745 216 64 216S88 205.255 88 192S77.255 168 64 168S40 178.745 40 192zM312 -64C291.817 -64 282.515 -24.707 278.069 -6.205C272.863 15.461 267.48 37.865 252.676 52.697C220.207 85.221 203.173 126.664 163.559 165.808A11.98 11.98 0 0 0 160.001 174.329V388.099C160.001 394.64 165.244 399.977 171.784 400.097C187.615 400.387 208.478 409.176 224.435 416.275C256.189 430.402 295.709 447.983 343.995 448H346.839C389.616 448 440.202 447.587 460.613 418.263C469.005 406.206 471.059 391.229 466.761 373.631C483.073 356.578 491.824 324.7680000000001 483.143 298.874C500.687 275.442 502.2860000000001 242.742 492.451 219.405L492.561 219.295C504.4540000000001 207.346 512.0840000000001 188.036 512 170.098C511.844 139.746 485.843 111.9999999999999 452.447 111.9999999999999H350.723C358.03 83.66 384 59.868 384 17.452C384 -56 336 -64 312 -64z" glyph-name="thumbs-down" horiz-adv-x="512" unicode=""/><glyph d="M104 224H24C10.745 224 0 213.255 0 200V-40C0 -53.255 10.745 -64 24 -64H104C117.255 -64 128 -53.255 128 -40V200C128 213.255 117.255 224 104 224zM64 -24C50.745 -24 40 -13.255 40 0S50.745 24 64 24S88 13.255 88 0S77.255 -24 64 -24zM384 366.548C384 324.132 358.03 300.3400000000001 350.723 272H452.446C485.843 272 511.843 244.254 511.999 213.902C512.083 195.964 504.453 176.653 492.56 164.705L492.45 164.595C502.286 141.258 500.687 108.558 483.142 85.126C491.823 59.231 483.073 27.422 466.76 10.369C471.058 -7.229 469.004 -22.206 460.612 -34.263C440.202 -63.587 389.616 -64 346.839 -64L343.994 -63.999C295.707 -63.982 256.188 -46.401 224.434 -32.274C208.477 -25.175 187.613 -16.387 171.783 -16.096C165.243 -15.976 160 -10.639 160 -4.098V209.672C160 212.872 161.282 215.943 163.558 218.193C203.172 257.337 220.206 298.78 252.675 331.304C267.479 346.136 272.863 368.54 278.068 390.206C282.515 408.707 291.817 448 312 448C336 448 384 440 384 366.548z" glyph-name="thumbs-up" horiz-adv-x="512" unicode=""/><glyph d="M298.028 233.733L285.793 352H328C341.255 352 352 362.745 352 376V424C352 437.255 341.255 448 328 448H56C42.745 448 32 437.255 32 424V376C32 362.745 42.745 352 56 352H98.207L85.972 233.733C37.465 211.18 0 170.739 0 120C0 106.745 10.745 96 24 96H160V-8.007C160 -9.249 160.289 -10.474 160.845 -11.585L184.845 -59.585C187.786 -65.467 196.209 -65.4779999999999 199.156 -59.585L223.156 -11.585A8.008 8.008 0 0 1 224.001 -8.007V96H360.001C373.256 96 384.001 106.745 384.001 120C384 171.183 346.018 211.42 298.028 233.733z" glyph-name="thumbtack" horiz-adv-x="384" unicode=""/><glyph d="M128 288H448V96H128V288zM528 192C528 165.49 549.49 144 576 144V48C576 21.49 554.51 0 528 0H48C21.49 0 0 21.49 0 48V144C26.51 144 48 165.49 48 192S26.51 240 0 240V336C0 362.51 21.49 384 48 384H528C554.51 384 576 362.51 576 336V240C549.49 240 528 218.51 528 192zM480 296C480 309.255 469.255 320 456 320H120C106.745 320 96 309.255 96 296V88C96 74.745 106.745 64 120 64H456C469.255 64 480 74.745 480 88V296z" glyph-name="ticket-alt" horiz-adv-x="576" unicode=""/><glyph d="M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM377.6 126.9C382.3 122.2 382.3 114.6 377.6 109.9L338 70.4C333.3 65.7 325.7 65.7 321 70.4L256 136L190.9 70.4C186.2 65.7 178.6 65.7 173.9 70.4L134.4 110C129.7 114.7 129.7 122.3 134.4 127L200 192L134.4 257.1C129.7 261.8 129.7 269.4 134.4 274.1L174 313.7C178.7 318.4 186.3 318.4 191 313.7L256 248L321.1 313.6C325.8 318.3 333.4000000000001 318.3 338.1 313.6L377.7000000000001 274C382.4000000000001 269.3 382.4000000000001 261.7 377.7000000000001 257L312 192L377.6 126.9z" glyph-name="times-circle" horiz-adv-x="512" unicode=""/><glyph d="M242.72 192L342.79 292.07C355.07 304.35 355.07 324.26 342.79 336.55L320.55 358.79C308.27 371.07 288.36 371.07 276.07 358.79L176 258.7200000000001L75.93 358.79C63.65 371.07 43.74 371.07 31.45 358.79L9.21 336.55C-3.07 324.27 -3.07 304.36 9.21 292.07L109.28 192L9.21 91.93C-3.07 79.65 -3.07 59.74 9.21 47.45L31.45 25.21C43.73 12.93 63.65 12.93 75.93 25.21L176 125.28L276.07 25.21C288.35 12.93 308.27 12.93 320.55 25.21L342.79 47.45C355.07 59.73 355.07 79.64 342.79 91.93L242.72 192z" glyph-name="times" horiz-adv-x="352" unicode=""/><glyph d="M633.82 -10.1L494.97 97.22C495.49 102.79 496 108.3800000000001 496 114.09C496 225.85 396.21 267.4300000000001 349.2200000000001 425.9100000000001C341.2800000000001 454.6900000000001 299.7800000000001 456.03 290.7800000000001 425.9100000000001C275.2600000000001 373.5700000000001 253.9100000000001 333.9500000000001 232.29 300.23L45.47 444.63C38.49 450.05 28.43 448.8 23.01 441.82L3.37 416.55C-2.05 409.58 -0.8 399.53 6.18 394.1L594.54 -60.63C601.52 -66.0599999999999 611.5699999999999 -64.7999999999999 617 -57.82L636.64 -32.55C642.05 -25.58 640.8 -15.53 633.8199999999999 -10.1zM144 114.09C144 15.65 222.72 -64 320 -64C364.71 -64 405.37 -47.04 436.4 -19.3L162.72 192.22C151.31 168.72 144 143.87 144 114.09z" glyph-name="tint-slash" horiz-adv-x="640" unicode=""/><glyph d="M205.22 425.9100000000001C197.28 454.69 155.78 456.03 146.78 425.9100000000001C100.01 268.15 0 225.28 0 114.09C0 15.65 78.72 -64 176 -64S352 15.65 352 114.09C352 225.8400000000001 252.21 267.4300000000001 205.22 425.9100000000001zM176 0C114.25 0 64 50.25 64 112C64 120.84 71.16 128 80 128S96 120.84 96 112C96 67.89 131.89 32 176 32C184.84 32 192 24.84 192 16S184.84 0 176 0z" glyph-name="tint" horiz-adv-x="352" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM281.8 250.3L361.8 298.3C373.4000000000001 305.2000000000001 385.8 290.6 377.2 280.3L343.6 240L377.2000000000001 199.7C385.9000000000001 189.3 373.3000000000001 174.9 361.8000000000001 181.7L281.8000000000001 229.7C274.1000000000001 234.4 274.1000000000001 245.6 281.8000000000001 250.3zM118.8 280.3C110.2 290.6 122.6 305.2000000000001 134.2 298.3L214.2 250.3C222 245.6 222 234.4 214.2 229.7L134.2 181.7000000000001C122.7 174.9 110.2 189.3000000000001 118.8 199.7000000000001L152.4 240.0000000000001L118.8 280.3000000000001zM248 160C299.9 160 363.3 116.2 371.2 53.3C372.9 39.7 363.2 28.7 353.5 32.9C327.6 44.0000000000001 289.1 50.3 248 50.3S168.4 44 142.5 32.9C132.7 28.7 123.1 39.9 124.8 53.3C132.7 116.2 196.1 160 248 160z" glyph-name="tired" horiz-adv-x="496" unicode=""/><glyph d="M384 384H192C85.961 384 0 298.039 0 192S85.961 0 192 0H384C490.039 0 576 85.961 576 192S490.039 384 384 384zM64 192C64 262.741 121.249 320 192 320C262.741 320 320 262.751 320 192C320 121.259 262.751 64 192 64C121.259 64 64 121.249 64 192zM384 64H335.0950000000001C400.312 136.858 400.331 247.12 335.0950000000001 320H384C454.741 320 512 262.751 512 192C512 121.26 454.751 64 384 64z" glyph-name="toggle-off" horiz-adv-x="576" unicode=""/><glyph d="M576 192C576 85.961 490.039 0 384 0H192C85.961 0 0 85.961 0 192S85.961 384 192 384H384C490.039 384 576 298.039 576 192zM384 320C313.259 320 256 262.751 256 192C256 121.259 313.249 64 384 64C454.741 64 512 121.249 512 192C512 262.741 454.751 320 384 320" glyph-name="toggle-on" horiz-adv-x="576" unicode=""/><glyph d="M128 448C74.98 448 32 362.04 32 256V83.93C32 42.81 22.2 21.16 0.83 -42.94C-2.62 -53.3 5.09 -64 16.01 -64H296.93C310.7 -64 322.93 -55.19 327.29 -42.12C340.12 -3.64 352 30.28 352 83.93V256C352 339.6 375.67 409.52 412.44 448H128zM96 224C87.16 224 80 231.16 80 240S87.16 256 96 256S112 248.84 112 240S104.84 224 96 224zM160 224C151.16 224 144 231.16 144 240S151.16 256 160 256S176 248.84 176 240S168.84 224 160 224zM224 224C215.16 224 208 231.16 208 240S215.16 256 224 256S240 248.84 240 240S232.84 224 224 224zM288 224C279.1600000000001 224 272 231.16 272 240S279.1600000000001 256 288 256S304 248.84 304 240S296.84 224 288 224zM480 448C426.98 448 384 362.04 384 256S426.98 64 480 64S576 149.96 576 256S533.02 448 480 448zM480 192C462.33 192 448 220.65 448 256S462.33 320 480 320S512 291.35 512 256S497.67 192 480 192z" glyph-name="toilet-paper" horiz-adv-x="576" unicode=""/><glyph d="M368 400C376.8 400 384 407.2 384 416V432C384 440.8 376.8 448 368 448H16C7.2 448 0 440.8 0 432V416C0 407.2 7.2 400 16 400H32V243.3C11.8 233.2 0 221.1 0 208C0 140.8 34.6 81.8 86.8 47.5L65.4 -22.7C59.1 -43.2 74.5 -64 96 -64H288C309.5 -64 324.9 -43.2 318.6 -22.7L297.2000000000001 47.5C349.4 81.8 384 140.8 384 208C384 221.1 372.2 233.2 352 243.3V400H368zM80 376C80 380.4 83.6 384 88 384H136C140.4 384 144 380.4 144 376V360C144 355.6 140.4 352 136 352H88C83.6 352 80 355.6 80 360V376zM192 176C114.9 176 52.4 190.3 52.4 208S114.9 240 192 240S331.6 225.7 331.6 208S269.1 176 192 176z" glyph-name="toilet" horiz-adv-x="384" unicode=""/><glyph d="M502.63 233.37L457.38 278.62C451.38 284.62 443.24 287.99 434.75 287.99H384V368C384 394.51 362.51 416 336 416H176C149.49 416 128 394.51 128 368V288H77.25C68.76 288 60.63 284.63 54.62 278.63L9.37 233.37C3.37 227.37 0 219.23 0 210.74V128H128V144C128 152.84 135.16 160 144 160H176C184.84 160 192 152.84 192 144V128H320V144C320 152.84 327.1600000000001 160 336 160H368C376.84 160 384 152.84 384 144V128H512V210.75C512 219.23 508.63 227.37 502.63 233.37zM320 288H192V352H320V288zM384 80C384 71.16 376.84 64 368 64H336C327.1600000000001 64 320 71.16 320 80V96H192V80C192 71.16 184.84 64 176 64H144C135.16 64 128 71.16 128 80V96H0V0C0 -17.67 14.33 -32 32 -32H480C497.67 -32 512 -17.67 512 0V96H384V80z" glyph-name="toolbox" horiz-adv-x="512" unicode=""/><glyph d="M501.1 52.3L384 169.4C360.9 192.5 326.4 197 298.6 183.3L192 289.9V352L64 448L0 384L96 256H158.1L264.7 149.4C251.1 121.6 255.5 87.1 278.6 64L395.7 -53.1C410.3 -67.7 433.8999999999999 -67.7 448.3999999999999 -53.1L501.0999999999999 -0.4C515.5999999999999 14.2 515.5999999999999 37.8 501.0999999999999 52.3zM331.7 223C360 223 386.6 212 406.6 192L426 172.6C441.8 179.5 456.8 189.1 469.8 202.1C506.9 239.2 519.5 291.4000000000001 507.7 338.8C505.5 347.8 494.2 350.9 487.6 344.3L413.2 269.9L345.3 281.2000000000001L334 349.1L408.4 423.5C415 430.1 411.8 441.4 402.7 443.7C355.3 455.4 303.1 442.8 266.1 405.8C237.6 377.3 224.2 339.7 224.9 302.2L307 220.1C315.1 222 323.5 223 331.7 223zM227.8 141L171.1 197.7L18.7 45.2C-6.3 20.2 -6.3 -20.3 18.7 -45.3S84.2 -70.2999999999999 109.2 -45.3L232.8 78.3C225.2 98.1999999999999 222.9 119.9 227.8 141zM64 -24C50.8 -24 40 -13.2 40 0C40 13.3 50.7 24 64 24S88 13.3 88 0C88 -13.2 77.3 -24 64 -24z" glyph-name="tools" horiz-adv-x="512" unicode=""/><glyph d="M443.98 351.75C432.9700000000001 396.9700000000001 396.87 433.81 351.9700000000001 445.4700000000001C319.7800000000001 453.83 288.9700000000001 440.37 262.8300000000001 421.14C259.5800000000001 418.75 255.8700000000001 417.4100000000001 252.3300000000001 415.66L280.6500000000001 397.45C288.0700000000001 392.68 290.23 382.78 285.4500000000001 375.3400000000001C280.9900000000001 368.39 271.1800000000001 365.48 263.3400000000001 370.54L162.83 435.1600000000001C142.13 446.01 119.45 451.56 96.02 445.4700000000001C51.12 433.8 15.02 396.9700000000001 4.01 351.75C-6.12 310.13 3.59 270.94 25.51 241.32C48.87 209.75 58.19 172.66 61.8 133.97C66.2 86.8100000000001 72.13 39.8100000000001 82.74 -6.35L90.54 -40.3C93.73 -54.17 106.03 -63.9999999999999 120.21 -63.9999999999999C134.18 -63.9999999999999 146.36 -54.4499999999999 149.75 -40.8399999999999L184.22 97.58C188.78 115.9 205.18 128.7400000000001 223.98 128.7400000000001S259.18 115.8900000000001 263.74 97.58L298.2100000000001 -40.8399999999999C301.6 -54.4499999999999 313.7800000000001 -63.9999999999999 327.7500000000001 -63.9999999999999C341.9300000000001 -63.9999999999999 354.2300000000001 -54.17 357.4200000000001 -40.3L365.2200000000001 -6.35C375.8300000000001 39.8 381.7500000000001 86.8100000000001 386.1600000000001 133.97C389.7700000000001 172.67 399.0900000000001 209.75 422.4500000000001 241.32C444.4000000000001 270.93 454.1100000000001 310.12 443.9800000000002 351.75z" glyph-name="tooth" horiz-adv-x="448" unicode=""/><glyph d="M448 89.6V422.4C448 438.4 438.4 448 422.4 448H96C41.6 448 0 406.4 0 352V32C0 -22.4 41.6 -64 96 -64H422.4C435.2 -64 448 -54.4 448 -38.4V-22.4C448 -16 444.8 -9.6 438.4 -3.2C435.2 12.8 435.2 57.6 438.4 70.4C444.8 73.6 448 80 448 89.6zM139.11 306.79C136.34 311.2 139.51 316.93 144.71 316.93H197.79C198.69 316.93 199.52 317.39 200 318.15L234.4000000000001 372.91C237.0000000000001 377.04 243.0100000000001 377.04 245.6100000000001 372.91L280.0100000000001 318.15A2.61 2.61 0 0 1 282.2200000000001 316.93H335.3C340.5 316.93 343.67 311.2000000000001 340.9000000000001 306.79L314.01 264L340.89 221.21C343.66 216.81 340.49 211.08 335.29 211.08H282.21C281.31 211.08 280.48 210.62 280 209.86L245.6 155.1C243 150.97 236.99 150.97 234.39 155.1L200 209.85A2.61 2.61 0 0 1 197.79 211.07H144.71C139.51 211.07 136.34 216.8 139.11 221.2L165.99 264L139.11 306.79zM380.8 0H96C76.8 0 64 12.8 64 32S80 64 96 64H380.8V0z" glyph-name="torah" horiz-adv-x="448" unicode=""/><glyph d="M376.45 416H135.55A303.17 303.17 0 0 0 0 448V352C0 334.33 14.33 320 32 320H64V256H16C7.16 256 0 248.84 0 240V208C0 199.16 7.16 192 16 192H64V-48C64 -56.84 71.16 -64 80 -64H112C120.84 -64 128 -56.84 128 -48V192H384V-48C384 -56.84 391.1600000000001 -64 400 -64H432C440.84 -64 448 -56.84 448 -48V192H496C504.84 192 512 199.16 512 208V240C512 248.84 504.84 256 496 256H448V320H480C497.67 320 512 334.33 512 352V448A303.17 303.17 0 0 0 376.45 416zM128 320H224V256H128V320zM384 256H288V320H384V256z" glyph-name="torii-gate" horiz-adv-x="512" unicode=""/><glyph d="M528 112C479.4 112 440 72.6 440 24S479.4 -64 528 -64S616 -24.6 616 24S576.6 112 528 112zM528 0C514.77 0 504 10.77 504 24S514.77 48 528 48S552 37.23 552 24S541.23 0 528 0zM608 288H544V328.2C544 342.32 548.7 355.9600000000001 557.15 367.04C561.5699999999999 372.8400000000001 560.6999999999999 381.1 555.8299999999999 386.53L534.2 410.7C527.5400000000001 418.15 515.88 417.62 509.5000000000001 409.92C490.58 387.1 480 358.19 480 328.2V288H377.67L321.58 418.86A47.914 47.914 0 0 1 277.45 448H144C117.53 448 96 426.4700000000001 96 400V253.48C87.37 260.21 75.04 259.94 67.11 252.01L36 220.9C27.41 212.31 27.41 198.38 36 189.79L41.06 184.73C36.07 175.47 32.1 165.91 29.15 156.01H22C9.85 156.01 0 146.16 0 134.01V90.01C0 77.86 9.85 68.01 22 68.01H29.14C32.1 58.1 36.06 48.55 41.05 39.28L35.99 34.22C27.4 25.63 27.4 11.7 35.99 3.11L67.1 -28C75.69 -36.59 89.62 -36.59 98.21 -28L103.27 -22.94C112.53 -27.93 122.09 -31.9 131.99 -34.85V-42C131.99 -54.15 141.84 -64 153.99 -64H197.99C210.14 -64 219.99 -54.15 219.99 -42V-34.86C229.89 -31.91 239.45 -27.94 248.71 -22.95L253.77 -28.01C262.36 -36.6 276.29 -36.6 284.88 -28.01L315.99 3.1C324.58 11.69 324.58 25.62 315.99 34.21L310.93 39.27C315.92 48.53 319.89 58.09 322.8400000000001 67.99H330C342.15 67.99 352 77.84 352 89.99V95.99H432.54C454.45 124.98 488.86 143.99 528 143.99C546.64 143.99 564.07 139.38 579.8 131.79L630.62 182.61C636.62 188.61 639.99 196.75 639.99 205.24V256C640 273.67 625.67 288 608 288zM176 32C131.82 32 96 67.82 96 112S131.82 192 176 192S256 156.18 256 112S220.18 32 176 32zM198 288H160V384H266.89L308.04 288H198z" glyph-name="tractor" horiz-adv-x="640" unicode=""/><glyph d="M97.119 284.867H12C5.373 284.867 0 290.24 0 296.867V340C0 346.627 5.373 352 12 352H260.559C267.186 352 272.559 346.627 272.559 340V296.867C272.559 290.24 267.186 284.867 260.559 284.867H175.44V44C175.44 37.373 170.067 32 163.44 32H109.118C102.491 32 97.118 37.373 97.118 44V284.867zM329.825 352H395.25A12 12 0 0 0 406.596 343.907L450.355 216.839C457.516 196.251 466.466 164.027 466.466 164.027H467.362S476.312 196.251 483.473 216.839L527.231 343.907A12 12 0 0 0 538.577 352H603.987A12 12 0 0 0 615.948 340.9700000000001L639.96 44.97C640.527 37.983 635.009 32 627.999 32H573.898A12 12 0 0 0 561.926 43.182L552.844 176.112C551.0540000000001 200.28 552.844 229.8180000000001 552.844 229.8180000000001H551.9480000000001S541.2070000000001 196.2520000000001 534.046 176.112L503.3460000000001 91.381A12 12 0 0 0 492.0640000000001 83.4690000000001H441.7620000000001A12 12 0 0 0 430.4800000000001 91.381L399.7800000000001 176.112C392.6190000000001 196.252 381.8770000000001 229.8180000000001 381.8770000000001 229.8180000000001H380.9820000000001S382.7720000000001 200.28 380.9820000000001 176.112L371.9000000000001 43.182C371.4720000000001 36.887 366.2400000000001 32 359.9300000000001 32H305.4C298.383 32 292.864 37.994 293.441 44.987L317.866 340.987A11.999000000000002 11.999000000000002 0 0 0 329.825 352z" glyph-name="trademark" horiz-adv-x="640" unicode=""/><glyph d="M384 256H320V293.88C357.2 307.1 384 342.26 384 384H320V416C320 433.67 305.67 448 288 448H96C78.33 448 64 433.67 64 416V384H0C0 342.26 26.8 307.1 64 293.88V256H0C0 214.26 26.8 179.1 64 165.88V128H0C0 85.16 28.25 49.31 66.99 36.95C79.42 -20.72 130.6 -64 192 -64S304.58 -20.72 317.01 36.95C355.75 49.31 384 85.16 384 128H320V165.88C357.2 179.1 384 214.26 384 256zM192 32C165.49 32 144 53.49 144 80S165.49 128 192 128S240 106.51 240 80S218.51 32 192 32zM192 160C165.49 160 144 181.49 144 208S165.49 256 192 256S240 234.51 240 208S218.51 160 192 160zM192 288C165.49 288 144 309.49 144 336S165.49 384 192 384S240 362.51 240 336S218.51 288 192 288z" glyph-name="traffic-light" horiz-adv-x="384" unicode=""/><glyph d="M448 352V96C448 44.185 386.376 0 317.978 0L380.9580000000001 -49.721C386.905 -54.417 383.562 -64 376 -64H72C64.422 -64 61.108 -54.406 67.043 -49.721L130.022 0C61.82 0 0 44.046 0 96V352C0 405.019 64 448 128 448H320C385 448 448 405.019 448 352zM400 216V328C400 341.255 389.255 352 376 352H72C58.745 352 48 341.255 48 328V216C48 202.745 58.745 192 72 192H376C389.255 192 400 202.745 400 216zM224 152C193.072 152 168 126.928 168 96S193.072 40 224 40S280 65.072 280 96S254.928 152 224 152z" glyph-name="train" horiz-adv-x="448" unicode=""/><glyph d="M288 384C305.7 384 320 398.3 320 416S305.7 448 288 448S256 433.7 256 416S270.3 384 288 384zM511.5 396.1C509.2 404.7 500.5 409.7 491.9 407.4L11.9 279.4C3.4 277.1 -1.7 268.4 0.6 259.8C2.5 252.7 8.9 248 16 248C17.4 248 18.8 248.2 20.1 248.5L240 307.2V224H64C46.3 224 32 209.7 32 192V-32C32 -49.7 46.3 -64 64 -64H448C465.7 -64 480 -49.7 480 -32V192C480 209.7 465.7 224 448 224H272V315.7L500.1 376.5C508.7 378.8 513.7 387.6 511.5 396.1zM176 64H80V160H176V64zM336 160H432V64H336V160zM304 160V64H208V160H304zM192 352C209.7 352 224 366.3 224 384S209.7 416 192 416S160 401.7 160 384S174.3 352 192 352z" glyph-name="tram" horiz-adv-x="512" unicode=""/><glyph d="M468 448H389C378.3 448 373 435.1 380.5 427.5L397.4 410.6L316.7 329.9C294.5 343.9 268.2 352 240 352C211.8 352 185.5 343.9 163.3 329.9L146.8 346.4L166.6 366.2C171.3 370.9 171.3 378.5 166.6 383.2L138.3 411.5C133.6 416.2 126 416.2 121.3 411.5L101.5 391.7L82.5 410.7L99.4 427.6C107.1 435.1 101.7 448 91 448H12C5.4 448 0 442.6 0 436V357C0 346.3 12.9 341 20.5 348.5L37.4 365.4L56.4 346.4L36.6 326.6C31.9 321.9 31.9 314.3 36.6 309.6L64.9 281.3C69.6 276.6 77.2 276.6 81.9 281.3L101.7 301.1L118.2 284.6C104.1 262.5 96 236.2 96 208C96 139.5 143.9 82.1 208 67.6V40H172C165.4 40 160 34.6 160 28V-12C160 -18.6 165.4 -24 172 -24H208V-52C208 -58.6 213.4 -64 220 -64H260C266.6 -64 272 -58.6 272 -52V-24H308C314.6 -24 320 -18.6 320 -12V28C320 34.6 314.6 40 308 40H272V67.6C336.1 82.2000000000001 384 139.5 384 208C384 236.2 375.9 262.5 361.9 284.7000000000001L442.6 365.4000000000001L459.4999999999999 348.5000000000001C467.1 340.9000000000001 479.9999999999999 346.3000000000001 479.9999999999999 357.0000000000001V436C479.9999999999999 442.6 474.6 448 467.9999999999999 448zM240 128C195.9 128 160 163.9 160 208S195.9 288 240 288S320 252.1 320 208S284.1 128 240 128z" glyph-name="transgender-alt" horiz-adv-x="480" unicode=""/><glyph d="M372 448H293C282.3 448 277 435.1 284.5 427.5L301.4 410.6L220.7 329.9C198.5 343.9 172.2 352 144 352C64.5 352 0 287.5 0 208C0 139.5 47.9 82.1 112 67.6V40H76C69.4 40 64 34.6 64 28V-12C64 -18.6 69.4 -24 76 -24H112V-52C112 -58.6 117.4 -64 124 -64H164C170.6 -64 176 -58.6 176 -52V-24H212C218.6 -24 224 -18.6 224 -12V28C224 34.6 218.6 40 212 40H176V67.6C240.1 82.2000000000001 288 139.5 288 208C288 236.2 279.9 262.5 265.9 284.7000000000001L346.6 365.4000000000001L363.5 348.5000000000001C371.1 340.9000000000001 384 346.3000000000001 384 357.0000000000001V436C384 442.6 378.6 448 372 448zM144 128C99.9 128 64 163.9 64 208S99.9 288 144 288S224 252.1 224 208S188.1 128 144 128z" glyph-name="transgender" horiz-adv-x="384" unicode=""/><glyph d="M0 364V392C0 405.3 10.7 416 24 416H136L145.4 434.7C149.4 442.9 157.7 448 166.8 448H281.1C290.2000000000001 448 298.5 442.9 302.6 434.7L312 416H424C437.3 416 448 405.3 448 392V364C448 357.4 442.6 352 436 352H12C5.4 352 0 357.4 0 364zM416 308V-16C416 -42.5 394.5 -64 368 -64H80C53.5 -64 32 -42.5 32 -16V308C32 314.6 37.4 320 44 320H404C410.6 320 416 314.6 416 308zM144 240C144 248.8 136.8 256 128 256S112 248.8 112 240V16C112 7.2 119.2 0 128 0S144 7.2 144 16V240zM240 240C240 248.8 232.8 256 224 256S208 248.8 208 240V16C208 7.2 215.2 0 224 0S240 7.2 240 16V240zM336 240C336 248.8 328.8 256 320 256S304 248.8 304 240V16C304 7.2 311.2 0 320 0S336 7.2 336 16V240z" glyph-name="trash-alt" horiz-adv-x="448" unicode=""/><glyph d="M0 364V392C0 405.3 10.7 416 24 416H136L145.4 434.7C149.4 442.9 157.7 448 166.8 448H281.1C290.2000000000001 448 298.5 442.9 302.6 434.7L312 416H424C437.3 416 448 405.3 448 392V364C448 357.4 442.6 352 436 352H12C5.4 352 0 357.4 0 364zM415.2 307.3L394.8 -19C393.2 -44.3 372.2 -64 346.9000000000001 -64H101.1C75.8 -64 54.8 -44.3 53.2 -19L32.8 307.3C32.4 314.2000000000001 37.9 320 44.8 320H403.3C410.1 320 415.6 314.2000000000001 415.2 307.3z" glyph-name="trash" horiz-adv-x="448" unicode=""/><glyph d="M378.31 69.51L298.42 160H329.05C338.06 160 346.0300000000001 165 349.8300000000001 173.06C353.6300000000001 181.1 352.3800000000001 190.32 346.5500000000001 197.11L268.42 288H297.31C306.4100000000001 288 314.61 293.35 318.17 301.61C321.69 309.74 320.0300000000001 319.2000000000001 313.93 325.69L203.66 443.17C197.63 449.62 186.38 449.62 180.34 443.17L70.06 325.69C63.96 319.2 62.31 309.74 65.82 301.61C69.38 293.35 77.59 288 86.69 288H115.58L37.44 197.09C31.63 190.31 30.38 181.1 34.17 173.05C37.97 165 45.93 160 54.95 160H85.58L5.69 69.51C-0.31 62.72 -1.67 53.42 2.13 45.25C5.88 37.2 14.13 32 23.14 32H160V7.55L129.71 -40.85C124.39 -51.4899999999999 132.13 -64.01 144.02 -64.01H239.98C251.87 -64.01 259.61 -51.49 254.29 -40.85L224 7.55V32H360.86C369.87 32 378.12 37.2 381.87 45.25C385.67 53.42 384.31 62.72 378.31 69.51z" glyph-name="tree" horiz-adv-x="384" unicode=""/><glyph d="M552 384H448V424C448 437.3 437.3 448 424 448H152C138.7 448 128 437.3 128 424V384H24C10.7 384 0 373.3 0 360V304C0 268.3 22.5 231.6 61.9 203.3C93.4 180.6 131.7 166.2 171.9 161.6C203.3 109.5 240 88 240 88V16H192C156.7 16 128 -4.7 128 -40V-52C128 -58.6 133.4 -64 140 -64H436C442.6 -64 448 -58.6 448 -52V-40C448 -4.7 419.3 16 384 16H336V88S372.7 109.5 404.1 161.6C444.4000000000001 166.2000000000001 482.7 180.6 514.1 203.3C553.4 231.6 576 268.3 576 304V360C576 373.3 565.3 384 552 384zM99.3 255.2C74.9 272.8 64 292.4 64 304V320H128.2C129.2 287.4 134 258.8 141 233.8C125.9 239 111.8 246.2 99.3 255.2zM512 304C512 287.9 494.3 267.9 476.7 255.2C464.2 246.2 450 239 434.9 233.8C441.9 258.8 446.7 287.4 447.7 320H512V304z" glyph-name="trophy" horiz-adv-x="576" unicode=""/><glyph d="M50.2 72.4C52.5 63.9 61.3 58.8 69.8 61.1L286.2000000000001 119.1C294.7000000000001 121.4 299.8000000000001 130.2 297.5000000000001 138.7L247.8000000000001 324.2C245.5000000000001 332.7 236.7000000000001 337.8 228.2000000000001 335.5L151 314.7L175.8 222L114 205.5L89.2 298.2L11.9 277.5C3.4 275.2 -1.7 266.4 0.6 257.9L50.2 72.4zM384 448C366.3 448 352 433.7 352 416V92.4L5.9 -2C1.6 -3.2 -0.9 -7.6 0.3 -11.8L12.9 -58.1C14.1 -62.4 18.5 -64.9 22.7 -63.7L416.4 43.6999999999999C418.8 -16.1 467.6 -64 528 -64C589.9 -64 640 -13.9 640 48V448H384zM528 0C501.5 0 480 21.5 480 48S501.5 96 528 96S576 74.5 576 48S554.5 0 528 0z" glyph-name="truck-loading" horiz-adv-x="640" unicode=""/><glyph d="M624 224H608V288C608 305.67 593.67 320 576 320H502.4L419.2200000000001 423.98A64.025 64.025 0 0 1 369.24 448H256C238.33 448 224 433.67 224 416V320H48C39.16 320 32 312.8400000000001 32 304V224H16C7.16 224 0 216.84 0 208V176C0 167.16 7.16 160 16 160H32.72C61.93 198.65 107.82 224 160 224S258.07 198.65 287.28 160H352.73C381.94 198.65 427.83 224 480.01 224S578.0799999999999 198.65 607.29 160H624C632.84 160 640 167.16 640 176V208C640 216.84 632.84 224 624 224zM288 320V384H369.24L420.44 320H288zM592 96H586.8C584.5999999999999 103.33 581.7299999999999 110.28 578.15 116.89L581.8199999999999 120.56C588.0699999999999 126.81 588.0699999999999 136.94 581.8199999999999 143.19L559.1899999999999 165.82C552.9399999999999 172.07 542.81 172.07 536.56 165.82L532.89 162.15A110.84999999999998 110.84999999999998 0 0 1 512 170.8V176C512 184.84 504.84 192 496 192H464C455.16 192 448 184.84 448 176V170.8C440.67 168.6 433.7200000000001 165.73 427.11 162.15L423.44 165.8200000000001C417.19 172.0700000000001 407.06 172.0700000000001 400.81 165.8200000000001L378.18 143.1900000000001C371.93 136.9400000000001 371.93 126.8100000000001 378.18 120.5600000000001L381.85 116.8900000000001A110.84999999999998 110.84999999999998 0 0 1 373.2 96H368C359.1600000000001 96 352 88.84 352 80V48C352 39.16 359.1600000000001 32 368 32H373.2C375.4 24.67 378.27 17.72 381.85 11.11L378.18 7.44C371.93 1.19 371.93 -8.94 378.18 -15.19L400.81 -37.82C407.06 -44.07 417.19 -44.07 423.44 -37.82L427.11 -34.15C433.72 -37.72 440.68 -40.6 448.01 -42.8V-47.9999999999999C448.01 -56.8399999999999 455.17 -63.9999999999999 464.0099999999999 -63.9999999999999H496.0099999999999C504.8499999999999 -63.9999999999999 512.01 -56.8399999999999 512.01 -47.9999999999999V-42.8C519.34 -40.6 526.29 -37.73 532.91 -34.15L536.5799999999999 -37.82C542.8299999999999 -44.07 552.9599999999999 -44.07 559.2099999999999 -37.82L581.8399999999999 -15.19C588.0899999999999 -8.94 588.0899999999999 1.19 581.8399999999999 7.44L578.17 11.11A110.84999999999998 110.84999999999998 0 0 1 586.8199999999999 32H592.02C600.86 32 608.02 39.16 608.02 48V80C608 88.84 600.84 96 592 96zM480 16C453.49 16 432 37.49 432 64S453.49 112 480 112S528 90.51 528 64S506.51 16 480 16zM272 96H266.8C264.6 103.33 261.73 110.28 258.1500000000001 116.89L261.8200000000001 120.56C268.0700000000001 126.81 268.0700000000001 136.94 261.8200000000001 143.19L239.1900000000001 165.82C232.9400000000001 172.07 222.8100000000001 172.07 216.5600000000001 165.82L212.8900000000001 162.15A110.84999999999998 110.84999999999998 0 0 1 192 170.8V176C192 184.84 184.84 192 176 192H144C135.16 192 128 184.84 128 176V170.8C120.67 168.6 113.72 165.73 107.11 162.15L103.44 165.8200000000001C97.19 172.0700000000001 87.06 172.0700000000001 80.81 165.8200000000001L58.18 143.2C51.93 136.95 51.93 126.82 58.18 120.57L61.85 116.9A110.84999999999998 110.84999999999998 0 0 1 53.2 96.01H48C39.16 96.01 32 88.85 32 80.01V48.01C32 39.17 39.16 32.01 48 32.01H53.2C55.4 24.68 58.27 17.73 61.85 11.12L58.18 7.45C51.93 1.2 51.93 -8.93 58.18 -15.18L80.81 -37.81C87.06 -44.06 97.19 -44.06 103.44 -37.81L107.11 -34.14C113.72 -37.71 120.68 -40.59 128.01 -42.79V-47.9899999999999C128.01 -56.8299999999999 135.17 -63.9899999999999 144.01 -63.9899999999999H176.01C184.85 -63.9899999999999 192.01 -56.8299999999999 192.01 -47.9899999999999V-42.79C199.34 -40.59 206.29 -37.72 212.91 -34.14L216.58 -37.81C222.83 -44.06 232.96 -44.06 239.21 -37.81L261.84 -15.18C268.09 -8.93 268.09 1.2 261.84 7.45L258.17 11.12A110.84999999999998 110.84999999999998 0 0 1 266.82 32.01H272.0199999999999C280.8599999999999 32.01 288.0199999999999 39.17 288.0199999999999 48.01V80.01C288 88.84 280.84 96 272 96zM160 16C133.49 16 112 37.49 112 64S133.49 112 160 112S208 90.51 208 64S186.51 16 160 16z" glyph-name="truck-monster" horiz-adv-x="640" unicode=""/><glyph d="M621.3 210.7L562.8 269.2C550.8 281.2 534.5 287.9 517.5 287.9H480V384C480 401.7 465.7 416 448 416H32C14.3 416 0 401.7 0 384V48C0 3.8 35.8 -32 80 -32C106.3 -32 129.4 -19.1 144 0.4C158.6 -19.2 181.7 -32 208 -32C252.2 -32 288 3.8 288 48C288 53.5 287.4 58.8 286.4 64H449.6C448.5 58.8 448 53.5 448 48C448 3.8 483.8 -32 528 -32S608 3.8 608 48C608 53.5 607.4 58.8 606.4 64H624C632.8 64 640 71.2 640 80V165.5C640 182.5 633.3 198.7 621.3 210.7zM80 16C62.4 16 48 30.4 48 48S62.4 80 80 80S112 65.6 112 48S97.6 16 80 16zM208 16C190.4 16 176 30.4 176 48S190.4 80 208 80S240 65.6 240 48S225.6 16 208 16zM480 240H517.5C521.8 240 525.8 238.3 528.8 235.3L572.0999999999999 192H480V240zM528 16C510.4 16 496 30.4 496 48S510.4 80 528 80S560 65.6 560 48S545.6 16 528 16z" glyph-name="truck-moving" horiz-adv-x="640" unicode=""/><glyph d="M624 160H608V224C608 241.67 593.67 256 576 256H528L419.2200000000001 391.98A64.025 64.025 0 0 1 369.24 416H256C238.33 416 224 401.67 224 384V256H64C46.33 256 32 241.67 32 224V160H16C7.16 160 0 152.84 0 144V112C0 103.16 7.16 96 16 96H65.61C64.85 90.73 64 85.48 64 80C64 18.14 114.14 -32 176 -32S288 18.14 288 80C288 85.48 287.15 90.73 286.39 96H353.62C352.86 90.73 352.01 85.48 352.01 80C352.01 18.14 402.15 -32 464.01 -32S576.01 18.14 576.01 80C576.01 85.48 575.16 90.73 574.4 96H624C632.84 96 640 103.16 640 112V144C640 152.84 632.84 160 624 160zM288 352H369.24L446.04 256H288V352zM176 32C149.53 32 128 53.53 128 80S149.53 128 176 128S224 106.47 224 80S202.47 32 176 32zM464 32C437.53 32 416 53.53 416 80S437.53 128 464 128S512 106.47 512 80S490.47 32 464 32z" glyph-name="truck-pickup" horiz-adv-x="640" unicode=""/><glyph d="M624 96H608V204.1C608 216.8 602.9 229 593.9 238L494 337.9C485 346.9 472.8 352 460.1 352H416V400C416 426.5 394.5 448 368 448H48C21.5 448 0 426.5 0 400V80C0 53.5 21.5 32 48 32H64C64 -21 107 -64 160 -64S256 -21 256 32H384C384 -21 427 -64 480 -64S576 -21 576 32H624C632.8 32 640 39.2 640 48V80C640 88.8 632.8 96 624 96zM160 -16C133.5 -16 112 5.5 112 32S133.5 80 160 80S208 58.5 208 32S186.5 -16 160 -16zM480 -16C453.5 -16 432 5.5 432 32S453.5 80 480 80S528 58.5 528 32S506.5 -16 480 -16zM560 192H416V304H460.1L560 204.1V192z" glyph-name="truck" horiz-adv-x="640" unicode=""/><glyph d="M631.2 351.5L436.5 448C416.4 420.2 371.9 400.8 320 400.8S223.6 420.2 203.5 448L8.8 351.5C0.9 347.5 -2.3 337.9 1.6 330L58.8 215.5C62.8 207.6 72.4 204.4 80.3 208.3L136.9 236C147.5 241.2 159.9 233.5 159.9 221.6V-32C159.9 -49.7 174.2 -64 191.9 -64H447.9C465.6 -64 479.9 -49.7 479.9 -32V221.7C479.9 233.5 492.3 241.3 502.9 236.1L559.5 208.4C567.4 204.4 577 207.6 581 215.6L638.3 330C642.3 337.9 639.0999999999999 347.6 631.1999999999999 351.5z" glyph-name="tshirt" horiz-adv-x="640" unicode=""/><glyph d="M5.37 344.178C143.902 482.71 368.306 482.504 506.632 344.178C512.71 338.1 513.706 328.682 509.215 321.497L466.001 252.359A18.332 18.332 0 0 0 443.6450000000001 245.054L357.2230000000001 279.623A18.335 18.335 0 0 0 345.7890000000001 298.469L351.741 358C289.596 380.454 221.105 379.986 160.258 358L166.211 298.468A18.331 18.331 0 0 0 154.777 279.622L68.354 245.0540000000001A18.334 18.334 0 0 0 45.998 252.3590000000001L2.787 321.498A18.333 18.333 0 0 0 5.37 344.178zM96 140V180C96 186.627 90.627 192 84 192H44C37.373 192 32 186.627 32 180V140C32 133.373 37.373 128 44 128H84C90.627 128 96 133.373 96 140zM192 140V180C192 186.627 186.627 192 180 192H140C133.373 192 128 186.627 128 180V140C128 133.373 133.373 128 140 128H180C186.627 128 192 133.373 192 140zM288 140V180C288 186.627 282.627 192 276 192H236C229.373 192 224 186.627 224 180V140C224 133.373 229.373 128 236 128H276C282.627 128 288 133.373 288 140zM384 140V180C384 186.627 378.627 192 372 192H332C325.373 192 320 186.627 320 180V140C320 133.373 325.373 128 332 128H372C378.627 128 384 133.373 384 140zM480 140V180C480 186.627 474.627 192 468 192H428C421.373 192 416 186.627 416 180V140C416 133.373 421.373 128 428 128H468C474.627 128 480 133.373 480 140zM144 44V84C144 90.627 138.627 96 132 96H92C85.373 96 80 90.627 80 84V44C80 37.373 85.373 32 92 32H132C138.627 32 144 37.373 144 44zM240 44V84C240 90.627 234.627 96 228 96H188C181.373 96 176 90.627 176 84V44C176 37.373 181.373 32 188 32H228C234.627 32 240 37.373 240 44zM336 44V84C336 90.627 330.627 96 324 96H284C277.373 96 272 90.627 272 84V44C272 37.373 277.373 32 284 32H324C330.627 32 336 37.373 336 44zM432 44V84C432 90.627 426.627 96 420 96H380C373.373 96 368 90.627 368 84V44C368 37.373 373.373 32 380 32H420C426.627 32 432 37.373 432 44zM96 -52V-12C96 -5.373 90.627 0 84 0H44C37.373 0 32 -5.373 32 -12V-52C32 -58.627 37.373 -64 44 -64H84C90.627 -64 96 -58.627 96 -52zM384 -52V-12C384 -5.373 378.627 0 372 0H140C133.373 0 128 -5.373 128 -12V-52C128 -58.627 133.373 -64 140 -64H372C378.627 -64 384 -58.627 384 -52zM480 -52V-12C480 -5.373 474.627 0 468 0H428C421.373 0 416 -5.373 416 -12V-52C416 -58.627 421.373 -64 428 -64H468C474.627 -64 480 -58.627 480 -52z" glyph-name="tty" horiz-adv-x="512" unicode=""/><glyph d="M592 448H48C21.5 448 0 426.5 0 400V80C0 53.5 21.5 32 48 32H293.1V0H133.1C115.4 0 101.1 -14.3 101.1 -32S115.4 -64 133.1 -64H517.1C534.8000000000001 -64 549.1 -49.7 549.1 -32S534.8000000000001 0 517.1 0H357.1V32H592C618.5 32 640 53.5 640 80V400C640 426.5 618.5 448 592 448zM576 96H64V384H576V96z" glyph-name="tv" horiz-adv-x="640" unicode=""/><glyph d="M115.38 311.1L217.49 273.92C252.68 355.46 303.7 418.21 356.49 447.62C260.61 452.51 167.71 410.66 107.96 335.82C101.27 327.42 105.3 314.77 115.38 311.1zM247.63 262.94L486.11 176.11C521.87 297.49 504.81 407.77 443.48 430.0900000000001C436.0800000000001 432.79 428.35 434.0900000000001 420.3900000000001 434.0900000000001C362.3700000000001 434.08 292.12 364.92 247.6300000000001 262.94zM521.48 387.5C527.7 371.2 532.3100000000001 352.9 534.6800000000001 332.31C540.4200000000001 282.42 533.2600000000001 224.08 515.73 165.3300000000001L618.35 127.97C628.44 124.3 639.66 131.4 639.9200000000001 142.1400000000001C642.2400000000001 237.8300000000001 598.0100000000001 329.5800000000001 521.48 387.5000000000001zM560 0.02H321.06L386 178.5L325.86 200.4L252.96 0.03H16C7.16 0.03 0 -7.1300000000001 0 -15.98V-47.99C0 -56.83 7.16 -64 16 -64H560C568.84 -64 576 -56.83 576 -47.99V-15.98C576 -7.14 568.84 0.02 560 0.02z" glyph-name="umbrella-beach" horiz-adv-x="640" unicode=""/><glyph d="M575.7 167.2C547.1 303.5 437.3 385.4 320 398.1V416C320 433.7 305.7 448 288 448S256 433.7 256 416V398.1C138.3 385.4 29.5 303.5 0.3 167.2C-1.9 157.1 8.8 145.9 19 155.8C71 210.8 126.7 208.2 177.6 118.8C182.9 109.3 192.5 110.2 197.3 118.8C217.5 154.2 242.2 192 288 192C346.5 192 376.2 123.2 378.7 118.8C383.5 110.2 393.1 109.3 398.4 118.8C449.4 208.3 505.5 210.2 557 155.8C567.3 145.8 577.9 157.1 575.7 167.2zM256 146.3V16C256 7.2 248.8 0 240 0C232.2 0 226.8 5.3 224.9 10.7C219 27.4 200.8 36.1 184.1 30.2C167.4 24.3 158.7 6 164.6 -10.6C175.8 -42.5 206.2 -63.9 240.0000000000001 -63.9C284.1 -63.9 320 -28.0000000000001 320 16.1V146.4C310.9 154.3 300.2 160 288 160C275.7 159.9 265.6 155.2 256 146.3z" glyph-name="umbrella" horiz-adv-x="576" unicode=""/><glyph d="M224.264 59.76C132.595 59.76 67.661 110.925 67.661 211.152V384H39.37C30.533 384 23.37 391.163 23.37 400V432C23.37 440.837 30.533 448 39.37 448H176.76C185.597 448 192.76 440.837 192.76 432V400C192.76 391.163 185.597 384 176.76 384H147.947V211.152C147.947 157.453 176.261 131.708 224.264 131.708C271.23 131.708 300.06 157.142 300.06 211.673V384H271.769C262.932 384 255.769 391.163 255.769 400V432C255.769 440.837 262.932 448 271.769 448H408.637C417.474 448 424.637 440.837 424.637 432V400C424.637 391.163 417.474 384 408.637 384H380.346V211.152C380.346 111.747 315.4650000000001 59.76 224.264 59.76zM16 0H432C440.837 0 448 -7.163 448 -16V-48C448 -56.837 440.837 -64 432 -64H16C7.163 -64 0 -56.837 0 -48V-16C0 -7.163 7.163 0 16 0z" glyph-name="underline" horiz-adv-x="448" unicode=""/><glyph d="M255.545 440C189.276 439.881 129.107 413.767 84.685 371.315L48.971 407.029C33.851 422.149 8 411.4410000000001 8 390.059V256C8 242.745 18.745 232 32 232H166.059C187.441 232 198.149 257.851 183.03 272.971L141.28 314.721C172.144 343.62 212.081 359.628 254.51 359.9940000000001C346.908 360.7920000000001 424.793 286.017 423.9940000000001 190.552C423.236 99.991 349.816 24 256 24C214.873 24 176.003 38.678 145.37 65.556C140.627 69.717 133.464 69.464 129.002 65.003L89.34 25.341C84.468 20.469 84.709 12.526 89.822 7.908C133.798 -31.813 192.074 -56 256 -56C392.966 -56 503.999 55.033 504 191.998C504.001 328.807 392.354 440.245 255.545 440z" glyph-name="undo-alt" horiz-adv-x="512" unicode=""/><glyph d="M212.333 223.667H12C5.373 223.667 0 229.04 0 235.667V436C0 442.627 5.373 448 12 448H60C66.627 448 72 442.627 72 436V357.8880000000001C117.773 408.721 184.26 440.53 258.175 439.993C395.081 438.999 504.623 328.37 504.332 191.461C504.041 54.742 393.12 -56 256.3330000000001 -56C192.244 -56 133.8370000000001 -31.687 89.823 8.215C84.724 12.837 84.489 20.769 89.356 25.635L123.323 59.602C127.7970000000001 64.076 134.9850000000001 64.319 139.7240000000001 60.127C170.76 32.664 211.58 16 256.3330000000001 16C353.601 16 432.3330000000001 94.716 432.3330000000001 192C432.3330000000001 289.267 353.617 368 256.3330000000001 368C197.837 368 146.053 339.524 114.059 295.6670000000001H212.333C218.96 295.6670000000001 224.333 290.294 224.333 283.6670000000001V235.667C224.333 229.04 218.96 223.667 212.333 223.667z" glyph-name="undo" horiz-adv-x="512" unicode=""/><glyph d="M256 400C370.953 400 464 306.971 464 192C464 77.047 370.971 -16 256 -16C141.047 -16 48 77.029 48 192C48 306.953 141.029 400 256 400M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM256 384C149.961 384 64 298.039 64 192S149.961 0 256 0S448 85.961 448 192S362.039 384 256 384zM256 340C275.882 340 292 323.882 292 304S275.882 268 256 268S220 284.118 220 304S236.118 340 256 340zM373.741 241.977C345.029 235.198 318.23 229.229 291.601 226.17C292.452 125.1470000000001 303.907 103.118 316.638 70.549C320.255 61.289 315.681 50.851 306.421 47.234C297.16 43.617 286.722 48.191 283.105 57.451C274.4000000000001 79.759 266.019 98.087 260.844 136H251.158C245.991 98.149 237.624 79.792 228.896 57.451C225.281 48.196 214.846 43.615 205.581 47.234C196.321 50.8510000000001 191.747 61.29 195.364 70.549C208.077 103.09 219.549 125.09 220.401 226.1700000000001C193.772 229.2280000000001 166.973 235.1970000000001 138.26 241.9770000000001C129.66 244.0080000000001 124.334 252.6250000000001 126.365 261.226S137.012 275.1520000000001 145.614 273.1210000000001C242.3 250.2920000000001 269.897 250.338 366.389 273.1210000000001C374.988 275.1510000000001 383.6070000000001 269.827 385.6380000000001 261.226C387.6670000000001 252.6250000000001 382.341 244.0070000000001 373.7410000000001 241.9770000000001z" glyph-name="universal-access" horiz-adv-x="512" unicode=""/><glyph d="M496 320V304A8 8 0 0 0 488 296H464V284C464 277.373 458.627 272 452 272H60C53.373 272 48 277.373 48 284V296H24A8 8 0 0 0 16 304V320A8 8 0 0 0 20.941 327.392L252.941 415.392A7.996000000000001 7.996000000000001 0 0 0 259.0590000000001 415.392L491.059 327.392A8 8 0 0 0 496 320zM472 16H40C26.745 16 16 5.255 16 -8V-24A8 8 0 0 1 24 -32H488A8 8 0 0 1 496 -24V-8C496 5.255 485.255 16 472 16zM96 256V64H60C53.373 64 48 58.627 48 52V32H464V52C464 58.627 458.627 64 452 64H416V256H352V64H288V256H224V64H160V256H96z" glyph-name="university" horiz-adv-x="512" unicode=""/><glyph d="M304.0830000000001 42.093C308.769 37.407 308.769 29.809 304.0830000000001 25.122L259.4090000000001 -19.552C200.1460000000001 -78.814 103.716 -78.818 44.448 -19.552C-14.816 39.713 -14.816 136.144 44.448 195.4080000000001L89.123 240.0830000000001C93.809 244.7690000000001 101.407 244.7690000000001 106.094 240.0830000000001L145.692 200.485C150.3780000000001 195.799 150.3780000000001 188.201 145.692 183.514L101.017 138.84C72.945 110.7670000000001 72.945 65.09 101.017 37.0170000000001C129.089 8.9450000000001 174.7670000000001 8.9440000000001 202.841 37.0170000000001L247.5150000000001 81.691C252.2010000000001 86.377 259.7990000000001 86.377 264.4860000000001 81.691L304.0830000000001 42.093zM247.5150000000001 302.3090000000001C252.2010000000001 297.6230000000001 259.7990000000001 297.6230000000001 264.4860000000001 302.3090000000001L309.1600000000001 346.9830000000001C337.2320000000001 375.0580000000001 382.9100000000001 375.0560000000001 410.9840000000001 346.9830000000001C439.0560000000001 318.9100000000001 439.0560000000001 273.2330000000001 410.9840000000001 245.1600000000001L366.3090000000001 200.486C361.6230000000001 195.8 361.6230000000001 188.202 366.3090000000001 183.5150000000001L405.9070000000001 143.917C410.593 139.2310000000001 418.1910000000001 139.2310000000001 422.8780000000001 143.917L467.5530000000001 188.5920000000001C526.8180000000001 247.8570000000001 526.8180000000001 344.2870000000001 467.5530000000001 403.552C408.2870000000001 462.816 311.8580000000001 462.816 252.5920000000001 403.552L207.918 358.8780000000001C203.232 354.192 203.232 346.5940000000001 207.918 341.9070000000001L247.5150000000001 302.3090000000001zM482.3430000000001 -56.9709999999999L504.9700000000001 -34.3439999999999C514.3430000000001 -24.9709999999999 514.3430000000001 -9.7749999999999 504.9700000000001 -0.4029999999999L63.598 440.971C54.225 450.344 39.029 450.344 29.657 440.971L7.029 418.343C-2.344 408.9700000000001 -2.344 393.774 7.029 384.402L448.402 -56.971C457.775 -66.343 472.971 -66.343 482.343 -56.971z" glyph-name="unlink" horiz-adv-x="512" unicode=""/><glyph d="M400 192H152V295.1C152 334.7 183.7 367.6 223.3 368C263.3 368.4 296 335.9 296 296V280C296 266.7 306.7 256 320 256H352C365.3 256 376 266.7 376 280V296C376 380 307.5 448.3 223.5 448C139.5 447.7 72 378.5 72 294.5V192H48C21.5 192 0 170.5 0 144V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V144C448 170.5 426.5 192 400 192zM264 40C264 17.9 246.1 0 224 0S184 17.9 184 40V88C184 110.1 201.9 128 224 128S264 110.1 264 88V40z" glyph-name="unlock-alt" horiz-adv-x="448" unicode=""/><glyph d="M400 192H152V295.1C152 334.7 183.7 367.6 223.3 368C263.3 368.4 296 335.9 296 296V280C296 266.7 306.7 256 320 256H352C365.3 256 376 266.7 376 280V296C376 380 307.5 448.3 223.5 448C139.5 447.7 72 378.5 72 294.5V192H48C21.5 192 0 170.5 0 144V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V144C448 170.5 426.5 192 400 192z" glyph-name="unlock" horiz-adv-x="448" unicode=""/><glyph d="M296 64H216C202.7 64 192 74.7 192 88V256H104.3C86.5 256 77.6 277.5 90.2 290.1L242.3 442.3C249.8 449.8 262.1 449.8 269.6 442.3L421.8 290.1C434.4000000000001 277.5 425.5 256 407.7 256H320V88C320 74.7 309.3 64 296 64zM512 72V-40C512 -53.3 501.3 -64 488 -64H24C10.7 -64 0 -53.3 0 -40V72C0 85.3 10.7 96 24 96H160V88C160 57.1 185.1 32 216 32H296C326.9 32 352 57.1 352 88V96H488C501.3 96 512 85.3 512 72zM388 -16C388 -5 379 4 368 4S348 -5 348 -16S357 -36 368 -36S388 -27 388 -16zM452 -16C452 -5 443 4 432 4S412 -5 412 -16S421 -36 432 -36S452 -27 452 -16z" glyph-name="upload" horiz-adv-x="512" unicode=""/><glyph d="M633.8 -10.1L389.6 178.7C433.8 203.3 464 249.9 464 304C464 383.5 399.5 448 320 448C252.9 448 197 401.9 181 339.8L45.5 444.6C38.5 450 28.5 448.8 23 441.8L3.4 416.6C-2 409.6 -0.8 399.6 6.2 394.2L594.6 -60.5C601.6 -65.9 611.6 -64.7 617.1 -57.7L636.7 -32.4C642.1 -25.6 640.8000000000001 -15.5 633.8000000000001 -10.1zM198.4 128C124.2 128 64 67.8 64 -6.4V-16C64 -42.5 85.5 -64 112 -64H494.2L245.8 128H198.4z" glyph-name="user-alt-slash" horiz-adv-x="640" unicode=""/><glyph d="M256 160C335.5 160 400 224.5 400 304S335.5 448 256 448S112 383.5 112 304S176.5 160 256 160zM384 128H328.9C306.7 117.8 282 112 256 112S205.4 117.8 183.1 128H128C57.3 128 0 70.7 0 0V-16C0 -42.5 21.5 -64 48 -64H464C490.5 -64 512 -42.5 512 -16V0C512 70.7 454.7 128 384 128z" glyph-name="user-alt" horiz-adv-x="512" unicode=""/><glyph d="M64 224H77.5C102.2 167.5 158.4 128 224 128S345.8 167.5 370.5 224H384C392.8 224 400 231.2 400 240V336C400 344.8 392.8 352 384 352H370.5C345.8 408.5 289.6 448 224 448S102.2 408.5 77.5 352H64C55.2 352 48 344.8 48 336V240C48 231.2 55.2 224 64 224zM104 312C104 334.1 125.5 352 152 352H296C322.5 352 344 334.1 344 312V288C344 235 301 192 248 192H200C147 192 104 235 104 288V312zM176 240L188 276L224 288L188 300L176 336L164 300L128 288L164 276L176 240zM327.6 126.6C297.7 107.3 262.2 96 224 96S150.3 107.3 120.4 126.6C52.9 119.5 0 63 0 -6.4V-16C0 -42.5 21.5 -64 48 -64H128V0C128 17.7 142.3 32 160 32H288C305.7 32 320 17.7 320 0V-64H400C426.5 -64 448 -42.5 448 -16V-6.4C448 63 395.1 119.5 327.6 126.6zM272 0C263.2 0 256 -7.2 256 -16S263.2 -32 272 -32S288 -24.8 288 -16S280.8 0 272 0zM176 0C167.2 0 160 -7.2 160 -16V-64H192V-16C192 -7.2 184.8 0 176 0z" glyph-name="user-astronaut" horiz-adv-x="448" unicode=""/><glyph d="M224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM313.6 160H296.9000000000001C274.7000000000001 149.8 250.0000000000001 144 224 144S173.4 149.8 151.1 160H134.4C60.2 160 0 99.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V25.6C448 99.8 387.8 160 313.6 160zM636.6 288.4L608.8000000000001 316.5C604.2 321.2 596.7 321.2 592.0000000000001 316.6L487.2000000000001 212.6L441.7000000000001 258.4C437.1000000000001 263.1 429.6000000000001 263.1 424.9000000000001 258.5L396.8000000000001 230.6C392.1000000000001 226 392.1000000000001 218.5 396.7000000000001 213.8L478.4 131.5C483.0000000000001 126.8 490.5000000000001 126.8 495.2 131.3999999999999L636.5 271.5999999999999C641.1 276.2999999999999 641.2 283.7999999999999 636.6 288.3999999999999z" glyph-name="user-check" horiz-adv-x="640" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 344C296.6 344 336 304.6 336 256S296.6 168 248 168S160 207.4 160 256S199.4 344 248 344zM248 0C189.3 0 136.7 26.6 101.5 68.2C120.3 103.6 157.1 128 200 128C202.4 128 204.8 127.6 207.1 126.9C220.1 122.7 233.7 120 248 120C262.3 120 276 122.7 288.9 126.9C291.2 127.6 293.6 128 296 128C338.9 128 375.7 103.6 394.5 68.2C359.3 26.6 306.7 0 248 0z" glyph-name="user-circle" horiz-adv-x="496" unicode=""/><glyph d="M496 224C416.4 224 352 159.6 352 80S416.4 -64 496 -64S640 0.4 640 80S575.6 224 496 224zM560 73.7C560 68.4 555.6 64 550.3 64H489.6999999999999C484.3999999999999 64 479.9999999999999 68.4 479.9999999999999 73.7V150.3C479.9999999999999 155.6 484.3999999999999 160 489.6999999999999 160H502.3C507.6 160 511.9999999999999 155.6 511.9999999999999 150.3V96H550.3C555.5999999999999 96 560 91.6 560 86.3V73.7zM320 80C320 107.8 326.7 134.1 338.2 157.5C330.2 159 322 160 313.6 160H296.9C274.7 149.8 250 144 224 144S173.4 149.8 151.1 160H134.4C60.2 160 0 99.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H395.1C349.8 -32.1 320 20.5 320 80zM224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192z" glyph-name="user-clock" horiz-adv-x="640" unicode=""/><glyph d="M610.5 74.7C613.1 88.8 613.1 103.2 610.5 117.3L636.3 132.2C639.3 133.9 640.5999999999999 137.4 639.5999999999999 140.7C632.8999999999999 162.3 621.3999999999999 181.9 606.3999999999999 198.1C604.0999999999999 200.6 600.3999999999999 201.2 597.3999999999999 199.5L571.5999999999999 184.6C560.6999999999999 193.9 548.1999999999999 201.1 534.6999999999999 205.9V235.7000000000001C534.6999999999999 239.1000000000001 532.3 242.1000000000001 528.9999999999999 242.8000000000001C506.6999999999999 247.8000000000001 483.9999999999999 247.6000000000001 462.7999999999999 242.8000000000001C459.4999999999999 242.1000000000001 457.0999999999999 239.1000000000001 457.0999999999999 235.7000000000001V205.9C443.5999999999999 201.1 431.0999999999999 193.9 420.2 184.6L394.3999999999999 199.5C391.5 201.2 387.7 200.6 385.3999999999999 198.1C370.3999999999999 181.9 358.8999999999999 162.3 352.2 140.7000000000001C351.2 137.4 352.5999999999999 133.9 355.5 132.2000000000001L381.3 117.3000000000001C378.7 103.2000000000001 378.7 88.8000000000001 381.3 74.7000000000001L355.5 59.8000000000001C352.5 58.1000000000001 351.2 54.6000000000001 352.2 51.3000000000001C358.8999999999999 29.7 370.3999999999999 10.2 385.3999999999999 -6.0999999999999C387.7 -8.5999999999999 391.3999999999999 -9.1999999999999 394.3999999999999 -7.4999999999999L420.2 7.4000000000001C431.0999999999999 -1.8999999999999 443.5999999999999 -9.0999999999999 457.0999999999999 -13.8999999999999V-43.6999999999999C457.0999999999999 -47.0999999999999 459.4999999999999 -50.0999999999999 462.7999999999999 -50.8C485.0999999999999 -55.8 507.7999999999999 -55.6 528.9999999999999 -50.8C532.2999999999998 -50.1 534.6999999999999 -47.1 534.6999999999999 -43.6999999999999V-13.8999999999999C548.1999999999999 -9.0999999999999 560.6999999999999 -1.8999999999999 571.5999999999999 7.4000000000001L597.3999999999999 -7.4999999999999C600.2999999999998 -9.1999999999999 604.0999999999999 -8.5999999999999 606.3999999999999 -6.0999999999999C621.3999999999999 10.1000000000001 632.8999999999999 29.7000000000001 639.5999999999999 51.3000000000001C640.5999999999999 54.6000000000001 639.1999999999999 58.1000000000001 636.3 59.8000000000001L610.5 74.7000000000001zM496 47.5C469.2 47.5 447.5 69.3 447.5 96S469.3 144.5 496 144.5S544.5 122.7 544.5 96S522.8 47.5 496 47.5zM224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM425.2 -34.5C422.9 -33.3 420.6 -31.9 418.4 -30.6L410.5 -35.2C404.5 -38.6 397.7 -40.5000000000001 390.9 -40.5000000000001C380 -40.5000000000001 369.5 -35.9 362 -27.9C343.7 -8.1 329.7 15.9999999999999 321.8 41.6999999999999C316.3 59.3999999999999 323.7 78.0999999999999 339.7 87.3999999999999L347.6 91.9999999999999C347.5 94.6 347.5 97.1999999999999 347.6 99.8L339.7 104.4C323.7 113.6 316.3 132.4 321.8 150.1C322.7 153 324 155.9 325 158.8C321.2 159.1 317.5 160 313.6 160H296.9000000000001C274.7000000000001 149.8 250.0000000000001 144 224 144S173.4 149.8 151.1 160H134.4C60.2 160 0 99.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H400C410.1 -64 419.5 -60.8 427.2 -55.5C426 -51.7 425.2 -47.8 425.2 -43.7V-34.5z" glyph-name="user-cog" horiz-adv-x="640" unicode=""/><glyph d="M224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM313.6 160H296.9000000000001C274.7000000000001 149.8 250.0000000000001 144 224 144S173.4 149.8 151.1 160H134.4C60.2 160 0 99.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H322.9C320.5 -57.2 319.5 -50 320.3 -42.7L327.1 18.2L328.3 29.3L336.2 37.2L413.5 114.5C389 142.2 353.5 160 313.5999999999999 160zM358.9000000000001 14.7L352.1 -46.3C351 -56.5 359.6 -65.1 369.7000000000001 -63.9L430.6 -57.1L568.5 80.8L496.8 152.5L358.9 14.6999999999999zM633 179.1L595.1 217C585.8000000000001 226.3 570.6 226.3 561.3000000000001 217L523.5000000000001 179.2L519.4000000000001 175.1L591.2 103.4L633 145.2C642.3 154.6 642.3 169.7 633 179.1z" glyph-name="user-edit" horiz-adv-x="640" unicode=""/><glyph d="M192 192C253.9 192 304 242.1 304 304S253.9 416 192 416S80 365.9 80 304S130.1 192 192 192zM268.8 160H260.5C239.7 150 216.6 144 192 144S144.4 150 123.5 160H115.2C51.6 160 0 108.4 0 44.8V16C0 -10.5 21.5 -32 48 -32H336C362.5 -32 384 -10.5 384 16V44.8C384 108.4 332.4 160 268.8 160zM480 192C533 192 576 235 576 288S533 384 480 384S384 341 384 288S427 192 480 192zM528 160H524.2C510.3000000000001 155.2 495.6 152 480.0000000000001 152S449.7000000000001 155.2 435.8000000000001 160H432C411.6 160 392.8 154.1 376.3 144.6C400.7 118.3 416 83.4 416 44.8V6.4C416 4.2 415.5 2.1 415.4 1e-13H592C618.5 1e-13 640 21.5000000000001 640 48.0000000000001C640 109.9 589.9 160.0000000000001 528 160.0000000000001z" glyph-name="user-friends" horiz-adv-x="640" unicode=""/><glyph d="M319.4 127.4L224 32L128.6 127.4C57.1 124.3 0 65.8 0 -6.4V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V-6.4C448 65.8 390.9 124.3 319.4 127.4zM13.6 368.2L20 366.7V308.3C13 304.1 8 296.8 8 288C8 279.6 12.6 272.6 19.1 268.3L3.5 206C1.8 199.1 5.6 192 11.1 192H52.9C58.4 192 62.2 199.1 60.5 206L44.9 268.3C51.4 272.6 56 279.6 56 288C56 296.8 51 304.1 44 308.3V360.9L110 345C101.4 327.8 96 308.6 96 288C96 217.3 153.3 160 224 160S352 217.3 352 288C352 308.6 346.7 327.8 338 345L434.3 368.2C452.5 372.6 452.5 395.3 434.3 399.7L243.9 445.7C230.9 448.8 217.2 448.8 204.2 445.7L13.6 399.8C-4.5 395.4 -4.5 372.6 13.6 368.2z" glyph-name="user-graduate" horiz-adv-x="448" unicode=""/><glyph d="M277.37 436.02C261.08 443.53 243.11 448 224 448C170.31 448 124.5 414.87 105.49 368H186.68L277.37 436.02zM342.51 368C334.61 387.4700000000001 321.84 404.2 306.02 417.52L239.99 368H342.51zM224 192C294.69 192 352 249.31 352 320C352 325.48 351.05 330.7 350.39 336H97.61C96.94 330.7 96 325.48 96 320C96 249.31 153.31 192 224 192zM80 148.3V-64H208.26L109.81 157.52A132.835 132.835 0 0 1 80 148.3zM0 -16C0 -42.51 21.49 -64 48 -64V127.76C18.88 103.11 0 66.74 0 25.6V-16zM256 32H200.62L243.29 -64H256C282.4700000000001 -64 304 -42.47 304 -16S282.4700000000001 32 256 32zM313.6 160H296.8900000000001C274.6500000000001 149.82 250.0100000000001 144 224.0000000000001 144S173.3500000000001 149.82 151.1100000000001 160H143.7400000000001L186.4100000000001 64H256C300.11 64 336 28.11 336 -16C336 -34.08 329.74 -50.59 319.59 -64H400C426.51 -64 448 -42.51 448 -16V25.6C448 99.83 387.83 160 313.6 160z" glyph-name="user-injured" horiz-adv-x="448" unicode=""/><glyph d="M320 128C320 139.1 323.1 149.4 328.1 158.5C323.3 159 318.6 160 313.6 160H296.9000000000001C274.7000000000001 149.8 250.0000000000001 144 224 144S173.4 149.8 151.1 160H134.4C60.2 160 0 99.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H328.9C323.4 -54.5 320 -43.7 320 -32V128zM224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM608 160H576V208C576 252.2 540.2 288 496 288S416 252.2 416 208V160H384C366.3 160 352 145.7 352 128V-32C352 -49.7 366.3 -64 384 -64H608C625.7 -64 640 -49.7 640 -32V128C640 145.7 625.7 160 608 160zM528 160H464V208C464 225.6 478.4 240 496 240S528 225.6 528 208V160z" glyph-name="user-lock" horiz-adv-x="640" unicode=""/><glyph d="M224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM104 24C104 10.7 114.7 0 128 0S152 10.7 152 24S141.3 48 128 48S104 37.3 104 24zM320 159.4V110.4C356.5 103 384 70.6 384 32V-9.7C384 -17.3 378.6 -23.9 371.1 -25.4L338.9000000000001 -31.8C334.6 -32.6999999999999 330.4000000000001 -29.9 329.5000000000001 -25.4999999999999L326.4000000000001 -9.8C325.5000000000001 -5.4999999999999 328.3 -1.1999999999999 332.7000000000001 -0.4L352.0000000000001 3.5V32C352.0000000000001 94.8 256.0000000000001 97.1 256.0000000000001 30.1V3.4L275.3000000000001 -0.4999999999999C279.6000000000001 -1.3999999999999 282.4000000000001 -5.6 281.6000000000001 -9.8999999999999L278.5000000000001 -25.5999999999999C277.6000000000001 -29.8999999999999 273.4000000000001 -32.6999999999999 269.1000000000001 -31.8999999999999L237.9000000000001 -27.6999999999999C230.0000000000001 -26.5999999999999 224.1000000000001 -19.8999999999999 224.1000000000001 -11.8V32C224.1000000000001 70.6 251.6000000000001 102.9 288.1000000000001 110.4V155.6C285.9000000000001 154.9 283.7000000000001 154.5 281.5000000000001 153.7C263.5000000000001 147.4 244.2000000000001 143.9 224.1000000000001 143.9S184.7000000000001 147.4 166.7000000000001 153.7C159.3000000000001 156.3 151.8000000000001 157.9 144.1000000000001 158.9V77.3C167.2000000000001 70.4 184.1000000000001 49.1999999999999 184.1000000000001 23.9C184.1000000000001 -7 159.0000000000001 -32.1 128.1000000000001 -32.1S72.1000000000001 -7 72.1000000000001 23.9C72.1000000000001 49.2 89.0000000000001 70.4 112.1000000000001 77.3V157.6999999999999C48.5 147 0 92.2 0 25.6V-19.2C0 -43.9 20.1 -64 44.8 -64H403.2C427.9 -64 448 -43.9 448 -19.2V25.6C448 97.6 391.2 155.9 320 159.4z" glyph-name="user-md" horiz-adv-x="448" unicode=""/><glyph d="M624 240H432C423.2 240 416 232.8 416 224V192C416 183.2 423.2 176 432 176H624C632.8 176 640 183.2 640 192V224C640 232.8 632.8 240 624 240zM224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM313.6 160H296.9000000000001C274.7000000000001 149.8 250.0000000000001 144 224 144S173.4 149.8 151.1 160H134.4C60.2 160 0 99.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V25.6C448 99.8 387.8 160 313.6 160z" glyph-name="user-minus" horiz-adv-x="640" unicode=""/><glyph d="M325.4 158.8L224 57.4L122.6 158.8C54 152.7 0 95.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V25.6C448 95.8 394 152.7000000000001 325.4 158.8zM32 256C59.3 256 83.8 267.5 101.2 285.7C116.3 231.8 165.2 192 224 192C294.7 192 352 249.3 352 320S294.7 448 224 448C173.6 448 130.4 418.6 109.5 376.2C92.1 400.2 64 416 32 416C32 382.6 49.1 353.2 75.1 336C49.1 318.8 32 289.4 32 256zM176 352H272C289.7 352 304 337.7 304 320H144C144 337.7 158.3 352 176 352z" glyph-name="user-ninja" horiz-adv-x="448" unicode=""/><glyph d="M624 240H560V304C560 312.8 552.8 320 544 320H512C503.2 320 496 312.8 496 304V240H432C423.2 240 416 232.8 416 224V192C416 183.2 423.2 176 432 176H496V112C496 103.2 503.2 96 512 96H544C552.8 96 560 103.2 560 112V176H624C632.8 176 640 183.2 640 192V224C640 232.8 632.8 240 624 240zM224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM313.6 160H296.9000000000001C274.7000000000001 149.8 250.0000000000001 144 224 144S173.4 149.8 151.1 160H134.4C60.2 160 0 99.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V25.6C448 99.8 387.8 160 313.6 160z" glyph-name="user-plus" horiz-adv-x="640" unicode=""/><glyph d="M383.9 139.7L407.8 202.3C411.8 212.8 404.1 224 392.8 224H334.3C345.3 242.9 352.1 264.6 352.1 288V288.3C391.3 296.1 416.1 307.4 416.1 320C416.1 333.3 388.8 345.1 346 353C336.8 385.8 319 418.8 305.4 435.8C295.9 447.7 279.5 451.4 265.9 444.6L238.3 430.8C229.3 426.3 218.7 426.3 209.7 430.8L182.1 444.6C168.5 451.4 152.1 447.7 142.6 435.8C129.1 418.8 111.2 385.8 102 353C59.3 345.1 32 333.3 32 320C32 307.4 56.8 296.1 96 288.3V288C96 264.6 102.8 242.9 113.8 224H56.3C44.8 224 37.1 212.3 41.6 201.7L67.4 141.5C27.3 118.2 0 75.3 0 25.6V-19.2C0 -43.9 20.1 -64 44.8 -64H403.2C427.9 -64 448 -43.9 448 -19.2V25.6C448 74 422.2 116 383.9 139.7000000000001zM176 -32L134.4 160L184 128L208 88L176 -32zM272 -32L240 88L264 128L313.6 160L272 -32zM313.7 266.5C309.8 254.6 306.7 241.9 297.2 233.1C287.1 223.8 249.2 210.7 233.2 258.1C230.4 266.5 217.8 266.5 214.9 258.1C197.9 207.9 158.9 225.7 150.9 233.1C141.4 241.9 138.2 254.6 134.4 266.5C133.6 269 128.1 272.2 128.1 272.3V283.1C156.4 279.5 189.1 277.3 224.1 277.3S291.8 279.4 320.1 283.1V272.3C320 272.2000000000001 314.5 269.1 313.7 266.5z" glyph-name="user-secret" horiz-adv-x="448" unicode=""/><glyph d="M622.3 176.9L507.1 221.9C502.9999999999999 223.5 494.4999999999999 225.6 484.9 221.9L369.7 176.9C359 172.7 352 162.9 352 152C352 40.4 420.7 -36.8 484.9 -61.9C494.5 -65.6 502.9 -63.5 507.1 -61.9C558.4 -41.9 640 27.5 640 152C640 162.9 633 172.7 622.3 176.9zM496 -14.4V174.7L591.5 137.4C585.9 50.3 530.6 2 496 -14.4zM224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM320 152C320 154.5 320.8 156.8 321.1 159.2C318.6 159.3 316.2000000000001 160 313.6 160H296.9000000000001C274.7000000000001 149.8 250.0000000000001 144 224 144S173.4 149.8 151.1 160H134.4C60.2 160 0 99.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H400C406.8 -64 413.3 -62.5 419.2 -60C365.2 -17.1 320 56.7 320 152z" glyph-name="user-shield" horiz-adv-x="640" unicode=""/><glyph d="M633.8 -10.1L362.3 199.7C412.1 217.3 448 264.2 448 320C448 390.7 390.7 448 320 448C252.9 448 198.5 396.2 193.1 330.6L45.5 444.6C38.5 450 28.5 448.8 23 441.8L3.4 416.6C-2 409.6 -0.8 399.6 6.2 394.2L594.6 -60.5C601.6 -65.9 611.6 -64.7 617.1 -57.7L636.7 -32.4C642.1 -25.6 640.8000000000001 -15.5 633.8000000000001 -10.1zM96 25.6V-16C96 -42.5 117.5 -64 144 -64H494.2L207.4 157.7C144.2 146.7 96 92 96 25.6z" glyph-name="user-slash" horiz-adv-x="640" unicode=""/><glyph d="M630.6 83.1L540.3000000000001 173.3C528.3000000000001 185.3 512.0000000000001 192 495.0000000000001 192H415.7000000000001C398.0000000000001 192 383.7000000000001 177.7 383.7000000000001 160V80.8C383.7000000000001 63.8 390.4000000000001 47.6 402.4000000000001 35.6L492.7 -54.6C505.2 -67.0999999999999 525.5 -67.0999999999999 538 -54.6L630.5 37.9C643.1 50.4 643.1 70.6 630.6 83.1zM447.8 104.1C434.5 104.1 423.8 114.8 423.8 128.1S434.5 152.1 447.8 152.1S471.8 141.4 471.8 128.1C471.8 114.9 461.1 104.1 447.8 104.1zM224 192.1C294.7 192.1 352 249.4000000000001 352 320.1C352 390.7 294.7 448 224 448S96 390.7 96 320C96 249.4 153.3 192.1 224 192.1zM351.8 80.9V154C339.6 157.6 326.9000000000001 160.2 313.6 160.2H296.9000000000001C274.7000000000001 150 250.0000000000001 144.2 224 144.2S173.4 150 151.1 160.2H134.4C60.2 160.1 0 99.9 0 25.7V-15.9C0 -42.4 21.5 -63.9 48 -63.9H400C415.5 -63.9 429.1 -56.4 437.9 -45.0000000000001L379.9 12.9999999999999C361.8 31.1 351.8 55.1999999999999 351.8 80.9z" glyph-name="user-tag" horiz-adv-x="640" unicode=""/><glyph d="M224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM319.8 159.4L272 -32L240 104L272 160H176L208 104L176 -32L128.2 159.4C56.9 156 0 97.7 0 25.6V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V25.6C448 97.7000000000001 391.1 156 319.8 159.4z" glyph-name="user-tie" horiz-adv-x="448" unicode=""/><glyph d="M589.6 208L635.2 253.6C641.5 259.9 641.5 270.1 635.2 276.4L612.4000000000001 299.2000000000001C606.1000000000001 305.5 595.9000000000001 305.5 589.6000000000001 299.2000000000001L544 253.6L498.4 299.2C492.1 305.5 481.9 305.5 475.6 299.2L452.8 276.4C446.5 270.1 446.5 259.9 452.8 253.6L498.4 208L452.8 162.4C446.5 156.1 446.5 145.9 452.8 139.6L475.6 116.8C481.9 110.4999999999999 492.1 110.4999999999999 498.4 116.8L544 162.4L589.6 116.8C595.9 110.4999999999999 606.1 110.4999999999999 612.4 116.8L635.1999999999999 139.6C641.4999999999999 145.9 641.4999999999999 156.1 635.1999999999999 162.4L589.6 208zM224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM313.6 160H296.9000000000001C274.7000000000001 149.8 250.0000000000001 144 224 144S173.4 149.8 151.1 160H134.4C60.2 160 0 99.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V25.6C448 99.8 387.8 160 313.6 160z" glyph-name="user-times" horiz-adv-x="640" unicode=""/><glyph d="M224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM313.6 160H296.9000000000001C274.7000000000001 149.8 250.0000000000001 144 224 144S173.4 149.8 151.1 160H134.4C60.2 160 0 99.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V25.6C448 99.8 387.8 160 313.6 160z" glyph-name="user" horiz-adv-x="448" unicode=""/><glyph d="M610.5 106.7C613.1 120.8 613.1 135.2 610.5 149.3L636.3 164.2C639.3 165.9 640.5999999999999 169.4 639.5999999999999 172.7C632.8999999999999 194.3 621.3999999999999 213.9 606.3999999999999 230.1C604.0999999999999 232.6 600.3999999999999 233.2 597.3999999999999 231.5L571.5999999999999 216.6C560.6999999999999 225.9 548.1999999999999 233.1 534.6999999999999 237.9V267.7000000000001C534.6999999999999 271.1 532.3 274.1 528.9999999999999 274.8C506.6999999999999 279.8 483.9999999999999 279.6 462.7999999999999 274.8C459.4999999999999 274.1 457.0999999999999 271.1 457.0999999999999 267.7000000000001V237.9C443.5999999999999 233.1 431.0999999999999 225.9 420.2 216.6L394.3999999999999 231.5C391.5 233.2 387.7 232.6 385.3999999999999 230.1C370.3999999999999 213.9 358.8999999999999 194.3 352.2 172.7C351.2 169.4 352.5999999999999 165.9 355.5 164.2L381.3 149.3C378.7 135.2 378.7 120.8 381.3 106.7L355.5 91.8C352.5 90.1 351.2 86.6 352.2 83.3C358.8999999999999 61.7 370.3999999999999 42.2 385.3999999999999 25.9C387.7 23.4 391.3999999999999 22.8 394.3999999999999 24.5000000000001L420.2 39.4C431.0999999999999 30.1 443.5999999999999 22.9 457.0999999999999 18.1V-11.7C457.0999999999999 -15.1 459.4999999999999 -18.1 462.7999999999999 -18.8C485.0999999999999 -23.8 507.7999999999999 -23.6 528.9999999999999 -18.8C532.2999999999998 -18.1 534.6999999999999 -15.1 534.6999999999999 -11.7V18.1C548.1999999999999 22.9 560.6999999999999 30.1 571.5999999999999 39.4L597.3999999999999 24.5000000000001C600.2999999999998 22.8000000000001 604.0999999999999 23.4 606.3999999999999 25.9C621.3999999999999 42.1 632.8999999999999 61.7000000000001 639.5999999999999 83.3C640.5999999999999 86.6 639.1999999999999 90.1 636.3 91.8L610.5 106.7zM496 79.5C469.2 79.5 447.5 101.3 447.5 128S469.3 176.5 496 176.5S544.5 154.7 544.5 128S522.8 79.5 496 79.5zM96 224C131.3 224 160 252.7 160 288S131.3 352 96 352S32 323.3 32 288S60.7 224 96 224zM320 192C321.9 192 323.7 192.5 325.6 192.6C333.9000000000001 214.3 346.1 234.7 361.9000000000001 251.8C369.3 259.8 379.8 264.4 390.8 264.4C397.7 264.4 404.5 262.6 410.4000000000001 259.1L418.3 254.5C419.1 255 419.9000000000001 255.4 420.7 255.9C427.7 270.5 431.9 286.7000000000001 431.9 303.9C431.9 365.8 381.8 415.9 319.9 415.9S208 365.9 208 304C208 242.1 258.1 192 320 192zM425.2 -2.5C422.9 -1.3 420.6 0.1 418.4 1.4C410.2 -3.4 403.1 -8.4 390.9 -8.4C380 -8.4 369.5 -3.8 362 4.2C343.7 24 329.7 48.1 321.8 73.8C311.1 108.3 346.7 123.5 347.6 124.1C347.5 126.7 347.5 129.3 347.6 131.9L339.7000000000001 136.5C335.9000000000001 138.7 332.7000000000001 141.5 329.9000000000001 144.6C326.6 144.4 323.4000000000001 144 320.1 144C295.5 144 272.5 150 251.6 160H243.3C179.6 160 128 108.4 128 44.8V16C128 -10.5 149.5 -32 176 -32H431.4C427.7 -26 425.2 -19.2 425.2 -11.7V-2.5zM173.1 173.4C161.5 184.9 145.6 192 128 192H64C28.7 192 0 163.3 0 128V96C0 78.3 14.3 64 32 64H97.9C104.2 111.4 132.8 151.3 173.1 173.4z" glyph-name="users-cog" horiz-adv-x="640" unicode=""/><glyph d="M96 224C131.3 224 160 252.7 160 288S131.3 352 96 352S32 323.3 32 288S60.7 224 96 224zM544 224C579.3 224 608 252.7 608 288S579.3 352 544 352S480 323.3 480 288S508.7 224 544 224zM576 192H512C494.4 192 478.5 184.9 466.9 173.4C507.2 151.3 535.8 111.4 542 64H608C625.7 64 640 78.3 640 96V128C640 163.3 611.3 192 576 192zM320 192C381.9 192 432 242.1 432 304S381.9 416 320 416S208 365.9 208 304S258.1 192 320 192zM396.8 160H388.5C367.7 150 344.6 144 320 144S272.4 150 251.5 160H243.2C179.6 160 128 108.4 128 44.8V16C128 -10.5 149.5 -32 176 -32H464C490.5 -32 512 -10.5 512 16V44.8C512 108.4 460.4 160 396.8 160zM173.1 173.4C161.5 184.9 145.6 192 128 192H64C28.7 192 0 163.3 0 128V96C0 78.3 14.3 64 32 64H97.9C104.2 111.4 132.8 151.3 173.1 173.4z" glyph-name="users" horiz-adv-x="640" unicode=""/><glyph d="M480.1 416.1C425.1 471.2 315.2000000000001 450.6 252.3 387.6C203 338.3 197.2 277.6 223.5 227.2L9 34.8C-2.6 24.3 -3.1 6.3 8 -4.7L59.3 -56C70.3 -67 88.4 -66.5 98.8 -54.9L291.2 159.5C341.6 133.2 402.3 139 451.6 188.3C514.6 251.2 535.2 361.1 480.1 416.1z" glyph-name="utensil-spoon" horiz-adv-x="512" unicode=""/><glyph d="M207.9 432.8C208.7 428.1 224 338.3 224 304C224 251.7 196.2 214.4 155.1 199.4L168 -38.7C168.7 -52.4 157.8 -64 144 -64H80C66.3 -64 55.3 -52.5 56 -38.7L68.9 199.4C27.7 214.4 0 251.8 0 304C0 338.4 15.3 428.1 16.1 432.8C19.3 453.1 61.4 453.4 64 431.7V290.5C65.3 287.1 79.1 287.3 80 290.5C81.4 315.8 87.9 429.7 88 432.3C91.3 453.1 132.7 453.1 135.9 432.3C136.1 429.6 142.5 315.8 143.9 290.5C144.8 287.3 158.7 287.1 159.9 290.5V431.7C162.5 453.3 204.7 453.1 207.9 432.8zM327.1 147.1L312.1 -38C310.9000000000001 -52 322 -64 336 -64H392C405.3 -64 416 -53.3 416 -40V424C416 437.2 405.3 448 392 448C309.5 448 170.6 269.5 327.1 147.1z" glyph-name="utensils" horiz-adv-x="416" unicode=""/><glyph d="M512 320V416C512 433.67 497.67 448 480 448H384C366.33 448 352 433.67 352 416H160C160 433.67 145.67 448 128 448H32C14.33 448 0 433.67 0 416V320C0 302.33 14.33 288 32 288V96C14.33 96 0 81.67 0 64V-32C0 -49.67 14.33 -64 32 -64H128C145.67 -64 160 -49.67 160 -32H352C352 -49.67 366.33 -64 384 -64H480C497.67 -64 512 -49.67 512 -32V64C512 81.67 497.67 96 480 96V288C497.67 288 512 302.3300000000001 512 320zM416 384H448V352H416V384zM64 384H96V352H64V384zM96 0H64V32H96V0zM448 0H416V32H448V0zM416 96H384C366.33 96 352 81.67 352 64V32H160V64C160 81.67 145.67 96 128 96H96V288H128C145.67 288 160 302.3300000000001 160 320V352H352V320C352 302.33 366.33 288 384 288H416V96z" glyph-name="vector-square" horiz-adv-x="512" unicode=""/><glyph d="M288 272C288 351.5 223.5 416 144 416S0 351.5 0 272C0 203.5 47.9 146.1 112 131.6V80H76C69.4 80 64 74.6 64 68V28C64 21.4 69.4 16 76 16H112V-20C112 -26.6 117.4 -32 124 -32H164C170.6 -32 176 -26.6 176 -20V16H212C218.6 16 224 21.4 224 28V68C224 74.6 218.6 80 212 80H176V131.6C240.1 146.1 288 203.5 288 272zM64 272C64 316.1 99.9 352 144 352S224 316.1 224 272S188.1 192 144 192S64 227.9 64 272zM400 131.6V80H436C442.6 80 448 74.6 448 68V28C448 21.4 442.6 16 436 16H400V-20C400 -26.6 394.6 -32 388 -32H348C341.4 -32 336 -26.6 336 -20V16H300C293.4 16 288 21.4 288 28V68C288 74.6 293.4 80 300 80H336V131.6C314.8 136.4 295.4 145.9 278.8 158.9C292.8 175.6 303.8 194.9 310.9000000000001 216C325.4000000000001 201.2 345.6 192 368.0000000000001 192C412.1000000000001 192 448.0000000000001 227.9000000000001 448.0000000000001 272S412.1000000000001 352 368.0000000000001 352C345.7000000000001 352 325.4000000000001 342.8 310.9000000000001 328C303.8 349.1 292.9000000000001 368.4000000000001 278.8 385.1C303.4 404.4 334.3 416 368 416C447.5 416 512 351.5 512 272C512 203.5 464.1 146.1 400 131.6z" glyph-name="venus-double" horiz-adv-x="512" unicode=""/><glyph d="M564 448H485C474.3 448 469 435.1 476.5 427.5L493.4 410.6L444.7 361.9C422.5 375.9 396.2 384 368 384C334.3 384 303.4 372.4 278.8 353.1C292.8 336.4 303.8 317.1 310.9000000000001 296C325.4000000000001 310.8 345.6 320 368.0000000000001 320C412.1000000000001 320 448.0000000000001 284.1 448.0000000000001 240S412.1000000000001 160 368.0000000000001 160C345.7000000000001 160 325.4000000000001 169.2 310.9000000000001 184C303.8 162.9 292.9000000000001 143.6 278.8 126.9C303.3 107.5 334.3 96 368 96C447.5 96 512 160.5 512 240C512 268.2 503.9 294.5 489.9 316.7L538.6 365.4L555.5 348.5C557.9 346.1 560.9 345 563.9 345C570.1 345 576 349.8 576 357V436C576 442.6 570.6 448 564 448zM144 384C64.5 384 0 319.5 0 240C0 171.5 47.9 114.1 112 99.6V48H76C69.4 48 64 42.6 64 36V-4C64 -10.6 69.4 -16 76 -16H112V-52C112 -58.6 117.4 -64 124 -64H164C170.6 -64 176 -58.6 176 -52V-16H212C218.6 -16 224 -10.6 224 -4V36C224 42.6 218.6 48 212 48H176V99.6C240.1 114.2000000000001 288 171.5 288 240.0000000000001C288 319.5 223.5 384 144 384zM144 160C99.9 160 64 195.9 64 240S99.9 320 144 320S224 284.1 224 240S188.1 160 144 160z" glyph-name="venus-mars" horiz-adv-x="576" unicode=""/><glyph d="M288 272C288 351.5 223.5 416 144 416S0 351.5 0 272C0 203.5 47.9 146.1 112 131.6V80H76C69.4 80 64 74.6 64 68V28C64 21.4 69.4 16 76 16H112V-20C112 -26.6 117.4 -32 124 -32H164C170.6 -32 176 -26.6 176 -20V16H212C218.6 16 224 21.4 224 28V68C224 74.6 218.6 80 212 80H176V131.6C240.1 146.1 288 203.5 288 272zM64 272C64 316.1 99.9 352 144 352S224 316.1 224 272S188.1 192 144 192S64 227.9 64 272z" glyph-name="venus" horiz-adv-x="288" unicode=""/><glyph d="M477.7 261.9L309.5 429.7C306.4 432.8 301.3 432.8 298.2 429.7L264.2 395.8C261.1 392.7 261.1 387.6 264.2 384.5L275.4 373.4L33 131.5C-5.8 92.8 -12.1 29.5 23.6 -12C44.2 -36 73.1 -48 102 -47.9C128.4 -47.9 154.8 -37.9 174.9 -17.8L421.2000000000001 227.9000000000001L432.4000000000001 216.8000000000001C435.5000000000001 213.7000000000001 440.6 213.7000000000001 443.7000000000001 216.8000000000001L477.7 250.7000000000001C480.8000000000001 253.7000000000001 480.8000000000001 258.8000000000001 477.7 261.9000000000001zM318 192H161L309 339.7L387.5 261.4L318 192z" glyph-name="vial" horiz-adv-x="480" unicode=""/><glyph d="M72 384H96V144C96 99.9 131.9 64 176 64S256 99.9 256 144V384H280C284.4 384 288 387.6 288 392V440C288 444.4 284.4 448 280 448H72C67.6 448 64 444.4 64 440V392C64 387.6 67.6 384 72 384zM144 384H208V288H144V384zM624 0H16C7.2 0 0 -7.2 0 -16V-48C0 -56.8 7.2 -64 16 -64H624C632.8 -64 640 -56.8 640 -48V-16C640 -7.2 632.8 0 624 0zM360 384H384V144C384 99.9 419.9 64 464 64S544 99.9 544 144V384H568C572.4 384 576 387.6 576 392V440C576 444.4 572.4 448 568 448H360C355.6 448 352 444.4 352 440V392C352 387.6 355.6 384 360 384zM432 384H496V288H432V384z" glyph-name="vials" horiz-adv-x="640" unicode=""/><glyph d="M633.8 -10.1L578.8 32.4C594.1999999999999 33.8 608 46.1 608 63.5V320.5C608 346 578.9 360.9 557.6 346.3L448 270.7V133.5L416 158.2V336.2C416 362.6 394.6 384 368.2 384H123.9L45.5 444.6C38.5 450 28.5 448.8 23 441.8L3.4 416.6C-2 409.6 -0.8 399.6 6.2 394.2L42.7 366L416 77.4L594.5 -60.6C601.5 -66 611.5 -64.8000000000001 617 -57.8L636.6 -32.5C642.1 -25.6 640.8000000000001 -15.5 633.8000000000001 -10.1zM32 47.8C32 21.4 53.4 0 79.8 0H368.2C379.4 0 389.6 4 397.8 10.5L32 293.3V47.8z" glyph-name="video-slash" horiz-adv-x="640" unicode=""/><glyph d="M336.2 384H47.8C21.4 384 0 362.6 0 336.2V47.8C0 21.4 21.4 0 47.8 0H336.2C362.6 0 384 21.4 384 47.8V336.2C384 362.6 362.6 384 336.2 384zM525.6 346.3L416 270.7V113.3L525.6 37.8C546.8000000000001 23.1999999999999 576 38.1 576 63.6V320.5C576 345.9 546.9 360.9 525.6 346.3z" glyph-name="video" horiz-adv-x="576" unicode=""/><glyph d="M632.88 47.29L544 96V160L599.16 177.69C610.9499999999999 183.59 610.9499999999999 200.41 599.16 206.31L480 256V320L507.31 336.3C515.03 344.02 512.92 357.04 503.15 361.92L320 448L136.85 361.93C127.08 357.05 124.97 344.03 132.69 336.31L160 320V256L40.84 206.31C29.05 200.41 29.05 183.59 40.84 177.69L96 160V96L7.12 47.29C1.7 43.67 -0.58 37.66 0.12 32C0.74 26.99 3.69 22.25 8.84 19.67L64 0V-48C64 -56.84 71.16 -64 80 -64H112C120.84 -64 128 -56.84 128 -48V0H288V-48C288 -56.84 295.1600000000001 -64 304 -64H336C344.84 -64 352 -56.84 352 -48V0H512V-48C512 -56.84 519.16 -64 528 -64H560C568.84 -64 576 -56.84 576 -48V0L631.15 19.67C636.31 22.25 639.25 26.99 639.87 32C640.58 37.67 638.3 43.68 632.88 47.29zM224 320H416V256H224V320zM160 96V160H480V96H160z" glyph-name="vihara" horiz-adv-x="640" unicode=""/><glyph d="M223.3 204.6C222.4 241.6 214.7 277.4 200.6 310.3C109.8 267.9 43.1 187.9 20.3 93.5C33.7 62.7 53.2 35.2 77.2 12.4C99.9 91.6 151.4 160.2 223.3 204.6zM186.4 339C171.4 365.4 151.9 389.1 129 409.7C38 359.9 -15.8 256.8 4 147.5C37.4 230.6 102.4 299.5 186.4 339zM374 173.9C382.6 273.7 346.7 371.4 276.5 438.3C261.8 440 224.9 443.8 177.6 429.8C234.9 370.5 268.6 291.6 271.1 207.1C303.6 189.4 338.4000000000001 178.1 374 173.9zM249.3 164.4C217.7 145.1 190.6 120.5 169.1 91.8C251.1 34.4999999999999 353.6 16.6999999999999 446.6 43.9999999999999C466.3 70.3999999999999 480.8 100.8 488.8 133.9C462.2 127.3 435.1 123.5 407.9 123.5C353.3 123.6 299 137.6 249.3 164.4zM151 64.7C135.8 38.7 125.3 10.3 118.9 -19.5C156.5 -42.5 200.6 -56 248 -56C309 -56 364.7 -33.9 407.9 2.6C295 -13.5 204.6 27.4 151 64.7zM331.3 425.3C386.6 354.9 413.8 264.1 405.9 171.7C436.2 171.5 466.4 176.5 495.6 185.9C495.6 187.9 495.9 189.9 495.9 191.9C495.9 299.7 427.2 391 331.3 425.3z" glyph-name="volleyball-ball" horiz-adv-x="495.9" unicode=""/><glyph d="M215.03 375.96L126.06 287H24C10.74 287 0 276.26 0 263V119C0 105.75 10.74 95 24 95H126.06L215.03 6.05C230.06 -8.98 256 1.58 256 23.02V358.98C256 380.45 230.04 390.9600000000001 215.03 375.9600000000001zM338.23 267.88C326.6500000000001 274.2100000000001 312.04 270.04 305.62 258.43C299.23 246.82 303.46 232.23 315.07 225.82C327.98 218.72 336 205.38 336 191C336 176.62 327.98 163.28 315.08 156.19C303.47 149.78 299.24 135.19 305.63 123.58C312.06 111.92 326.68 107.78 338.24 114.13C366.4700000000001 129.68 384.01 159.13 384.01 191.01S366.47 252.33 338.23 267.88z" glyph-name="volume-down" horiz-adv-x="384" unicode=""/><glyph d="M215.03 376.95L126.06 288H24C10.74 288 0 277.26 0 264V120C0 106.75 10.74 96 24 96H126.06L215.03 7.05C230.06 -7.98 256 2.58 256 24.02V359.98C256 381.44 230.04 391.9600000000001 215.03 376.95zM461.64 192L507.28 237.64C513.5799999999999 243.94 513.5799999999999 254.16 507.28 260.46L484.46 283.28C478.16 289.58 467.94 289.58 461.64 283.28L416 237.64L370.36 283.28C364.06 289.58 353.8400000000001 289.58 347.54 283.28L324.7200000000001 260.46C318.42 254.16 318.42 243.94 324.7200000000001 237.64L370.36 192L324.73 146.37C318.43 140.07 318.43 129.85 324.73 123.55L347.55 100.73C353.85 94.43 364.07 94.43 370.37 100.73L416 146.36L461.64 100.72C467.94 94.42 478.16 94.42 484.46 100.72L507.28 123.54C513.5799999999999 129.84 513.5799999999999 140.06 507.28 146.36L461.64 192z" glyph-name="volume-mute" horiz-adv-x="512" unicode=""/><glyph d="M216.36 376.96L127.39 288H25.33C12.07 288 1.33 277.26 1.33 264V120C1.33 106.75 12.07 96 25.33 96H127.39L216.36 7.05C231.39 -7.98 257.3300000000001 2.58 257.3300000000001 24.02V359.98C257.3300000000001 381.45 231.3700000000001 391.9600000000001 216.3600000000001 376.9600000000001z" glyph-name="volume-off" horiz-adv-x="257.33" unicode=""/><glyph d="M215.03 376.95L126.06 288H24C10.74 288 0 277.26 0 264V120C0 106.75 10.74 96 24 96H126.06L215.03 7.05C230.06 -7.98 256 2.58 256 24.02V359.98C256 381.44 230.04 391.9600000000001 215.03 376.95zM448.35 428.03C437.18 435.36 422.17 432.27 414.8400000000001 421.08C407.5000000000001 409.9100000000001 410.62 394.9 421.79 387.57C488.06 344.0800000000001 527.61 270.9700000000001 527.61 191.99C527.61 113.01 488.06 39.9 421.79 -3.59C410.62 -10.91 407.5 -25.93 414.8400000000001 -37.09C421.8800000000001 -47.8 436.7700000000001 -51.65 448.35 -44.04C528.27 8.42 576 96.67 576 192S528.27 375.57 448.35 428.03zM480 192C480 255.53 447.94 313.94 394.23 348.24C383.04 355.38 368.2000000000001 352.06 361.11 340.7800000000001S357.3300000000001 314.5700000000001 368.5200000000001 307.42C408.27 282.03 432 238.89 432 192S408.27 101.97 368.52 76.58C357.33 69.44 354.02 54.51 361.11 43.22C367.62 32.86 382.23 28.08 394.23 35.76C447.94 70.06 480 128.46 480 192zM338.23 268.87C326.6500000000001 275.2000000000001 312.04 271.03 305.62 259.42C299.23 247.81 303.46 233.2200000000001 315.07 226.81C327.98 219.72 336 206.37 336 192C336 177.62 327.98 164.28 315.08 157.19C303.47 150.78 299.24 136.19 305.63 124.58C312.06 112.92 326.68 108.78 338.24 115.13C366.4700000000001 130.68 384.01 160.13 384.01 192.01S366.47 253.33 338.23 268.87z" glyph-name="volume-up" horiz-adv-x="576" unicode=""/><glyph d="M608 128H544V64H566.4C571.6999999999999 64 576 60.4 576 56V40C576 35.6 571.7 32 566.4 32H73.6C68.3 32 64 35.6 64 40V56C64 60.4 68.3 64 73.6 64H96V128H32C14.3 128 0 113.7 0 96V0C0 -17.7 14.3 -32 32 -32H608C625.7 -32 640 -17.7 640 0V96C640 113.7 625.7 128 608 128zM512 64V383.7C512 401.6 497.5 416 479.7 416H160.4C142.5 416 128 401.5 128 383.7V64H512zM211.2 246L236.7 271.3C240.9 275.5 247.7 275.5 251.9 271.2000000000001L293.2 229.6L388.4 324C392.6 328.2000000000001 399.4 328.2000000000001 403.6 323.9000000000001L428.9 298.4000000000001C433.1 294.2000000000001 433.1 287.4000000000001 428.8 283.2000000000001L300.5 156C296.3 151.8 289.5 151.8 285.3 156.1L211.2 230.8C206.9 235 207 241.8 211.2 246z" glyph-name="vote-yea" horiz-adv-x="640" unicode=""/><glyph d="M608 384H32C14.33 384 0 369.67 0 352V32C0 14.33 14.33 0 32 0H192.22C217.41 0 240.25 14.77 250.58 37.74L278.32 99.38C286.21 116.92 302.35 128 320 128S353.79 116.92 361.68 99.38L389.42 37.74C399.75 14.77 422.6 0 447.78 0H608C625.67 0 640 14.33 640 32V352C640 369.67 625.67 384 608 384zM160 144C124.65 144 96 172.65 96 208S124.65 272 160 272S224 243.35 224 208S195.35 144 160 144zM480 144C444.65 144 416 172.65 416 208S444.65 272 480 272S544 243.35 544 208S515.35 144 480 144z" glyph-name="vr-cardboard" horiz-adv-x="640" unicode=""/><glyph d="M208 352C234.5 352 256 373.5 256 400S234.5 448 208 448S160 426.5 160 400S181.5 352 208 352zM302.5 202.9L279.2 214.7L269.5 244.1C254.8 288.7000000000001 213.8 319.9000000000001 167.3 320C131.3 320.1 111.4 309.9000000000001 74 294.8000000000001C52.4 286.1 34.7 269.6 24.3 248.6L17.6 235C9.8 219.2 16.1 200 31.8 192.1C47.4 184.2 66.4 190.6 74.3 206.4L81 220C84.5 227 90.3 232.5 97.5 235.4L124.3 246.2L109.1 185.5C103.9 164.7 109.5 142.6 124 126.7L183.9 61.3C191.1 53.4 196.2 43.9 198.8 33.6L217.1 -39.7C221.4 -56.8000000000001 238.8 -67.3000000000001 255.9000000000001 -63.0000000000001C273.0000000000001 -58.7 283.5000000000001 -41.3000000000001 279.2000000000001 -24.2L257.0000000000001 64.8C254.4000000000001 75.1 249.3000000000001 84.6999999999999 242.1000000000001 92.4999999999999L196.6000000000001 142.1999999999999L213.8000000000001 210.8999999999999L219.3000000000001 194.3999999999999C224.6000000000001 178.2999999999999 236.0000000000001 165 251.0000000000001 157.3999999999999L274.3 145.5999999999999C289.9000000000001 137.6999999999999 308.9000000000001 144.0999999999999 316.8 159.8999999999999C324.5 175.5999999999999 318.2 194.9999999999999 302.5 202.8999999999999zM73.6 62.2C70.4 54.1 65.6 46.8 59.4 40.7L9.4 -9.4C-3.1 -21.9 -3.1 -42.2 9.4 -54.7S42.1 -67.2 54.6 -54.7L114 4.6999999999999C120.1 10.8 124.9 18.0999999999999 128.2 26.1999999999999L141.7 59.9999999999999C86.4 120.3 103 101.8 94.3 113.6999999999999L73.6 62.1999999999999z" glyph-name="walking" horiz-adv-x="320" unicode=""/><glyph d="M461.2 320H80C71.16 320 64 327.16 64 336S71.16 352 80 352H464C472.84 352 480 359.16 480 368C480 394.51 458.51 416 432 416H64C28.65 416 0 387.35 0 352V32C0 -3.35 28.65 -32 64 -32H461.2C489.22 -32 512 -10.47 512 16V272C512 298.4700000000001 489.22 320 461.2 320zM416 112C398.33 112 384 126.33 384 144S398.33 176 416 176S448 161.67 448 144S433.67 112 416 112z" glyph-name="wallet" horiz-adv-x="512" unicode=""/><glyph d="M504 96H136.4C132 96 128.4 92.4 128.4 88L128.3 40C128.3 35.6 131.9 32 136.3 32H504C508.4 32 512 35.6 512 40V88C512 92.4 508.4 96 504 96zM504 0H136.1C131.7 0 128.1 -3.6 128.1 -8L128 -56C128 -60.4 131.6 -64 136 -64H504C508.4 -64 512 -60.4 512 -56V-8C512 -3.6 508.4 0 504 0zM504 192H136.6C132.2 192 128.6 188.4 128.6 184L128.5 136C128.5 131.6 132.1 128 136.5 128H504C508.4 128 512 131.6 512 136V184C512 188.4 508.4 192 504 192zM610.5 331L338.4 444.3A48.15 48.15 0 0 1 301.5 444.3L29.5 331C11.7 323.5 0 306.1 0 286.7V-56C0 -60.4 3.6 -64 8 -64H88C92.4 -64 96 -60.4 96 -56V192C96 209.6 110.6 224 128.6 224H511.4C529.4 224 544 209.6 544 192V-56C544 -60.4 547.6 -64 552 -64H632C636.4 -64 640 -60.4 640 -56V286.7C640 306.1 628.3 323.5 610.5 331z" glyph-name="warehouse" horiz-adv-x="640" unicode=""/><glyph d="M562.1 64.1C540.6 66.5 520 74.6 504.2 87C490.1 98.1 470.0000000000001 98.3 456.0000000000001 87C418.1000000000001 56.6 348.8000000000001 56.6 310.3000000000001 88.5C296.8000000000001 99.7 277.3000000000001 97.6 263.6000000000001 86.7C225.6000000000001 56.6 156.7000000000001 56.7 118.4000000000001 88.4C104.9000000000001 99.6 85.1000000000001 97.3 71.3000000000001 86.4C55.8000000000001 74.2 35.3000000000001 66.3 13.6000000000001 64C5.7000000000001 63.2 1e-13 56.2 1e-13 48.3V16.1C1e-13 7 7.6000000000001 -0.7 16.7000000000001 0.1C45.5000000000001 2.6 72.8000000000001 11.5 96.1000000000001 26C152.6000000000001 -8.6 233.1000000000001 -8.1 288.1000000000002 26C344.6000000000002 -8.6 425.1000000000002 -8.1 480.1000000000001 26C503.4000000000001 11.8 531.0000000000001 2.7 559.2000000000002 0.2C568.3000000000002 -0.6 575.9000000000002 7.1 575.9000000000002 16.2V47.8C576.0000000000002 55.8 570.2000000000002 63.2 562.1000000000003 64.1zM562.1 208.1C540.6 210.5 520 218.6 504.2 231.0000000000001C490.1 242.1 470.0000000000001 242.3000000000001 456.0000000000001 231.0000000000001C418.1000000000001 200.6 348.8000000000001 200.6 310.3000000000001 232.5000000000001C296.8000000000001 243.7 277.3000000000001 241.6 263.6000000000001 230.7C225.6000000000001 200.6 156.7000000000001 200.7 118.4000000000001 232.4C104.9000000000001 243.6 85.1000000000001 241.3 71.3000000000001 230.4C55.8000000000001 218.2 35.3000000000001 210.3 13.6000000000001 208C5.7000000000001 207.2 1e-13 200.2 1e-13 192.3V160.1C1e-13 151 7.6000000000001 143.3 16.7000000000001 144.1C45.5000000000001 146.6 72.8000000000001 155.5 96.1000000000001 170C152.6000000000001 135.4 233.1000000000001 135.9 288.1000000000002 170C344.6000000000002 135.4 425.1000000000002 135.9 480.1000000000001 170C503.4000000000001 155.8 531.0000000000001 146.7 559.2000000000002 144.2C568.3000000000002 143.4 575.9000000000002 151.1 575.9000000000002 160.2V191.8C576.0000000000002 199.8 570.2000000000002 207.2 562.1000000000003 208.1zM562.1 352.1C540.6 354.6 520 362.6 504.2 375C490.1 386.1 470 386.3 456 375C418.1 344.6 348.8 344.6 310.3 376.5C296.8 387.7 277.3 385.6 263.6 374.7C225.6 344.6 156.7 344.7 118.4 376.4C104.9 387.6 85.1 385.3 71.3 374.4C55.8 362.2 35.3 354.3 13.6 352C5.7 351.2 0 344.2 0 336.3V304.1C0 295 7.6 287.3 16.7 288.1C45.5 290.6 72.8 299.5 96.1000000000001 314C152.6000000000001 279.4 233.1000000000001 279.9 288.1 314C344.6 279.4 425.1 279.9 480.1 314C503.4 299.8 531 290.7 559.2 288.2C568.3000000000001 287.4 575.9000000000001 295.1 575.9000000000001 304.2V335.8C576.0000000000001 343.8 570.2 351.2 562.1000000000001 352.1z" glyph-name="water" horiz-adv-x="576" unicode=""/><glyph d="M510.28 2.14L437.25 294.27C433.45 309.46 420.81 319.99 406.38 319.99H346.13C349.7 330.04 352.01 340.71 352.01 351.99C352.01 405.01 309.03 447.99 256.01 447.99S160.01 405.01 160.01 351.99C160.01 340.71 162.31 330.04 165.89 319.99H105.64C91.21 319.99 78.56 309.45 74.77 294.27L1.72 2.14C-6.61 -31.17 16.38 -64 48.03 -64H463.98C495.62 -64 518.61 -31.17 510.28 2.14zM256 320C238.36 320 224 334.36 224 352S238.36 384 256 384S288 369.64 288 352S273.64 320 256 320z" glyph-name="weight-hanging" horiz-adv-x="512" unicode=""/><glyph d="M448 384H422.02C438.44 355.7200000000001 448 322.99 448 288C448 182.13 361.87 96 256 96S64 182.13 64 288C64 322.99 73.56 355.7200000000001 89.98 384H64C28.71 384 0 355.29 0 320V0C0 -35.29 28.71 -64 64 -64H448C483.29 -64 512 -35.29 512 0V320C512 355.29 483.29 384 448 384zM256 128C344.37 128 416 199.63 416 288S344.37 448 256 448S96 376.37 96 288S167.63 128 256 128zM255.7 279.94L289.28 358.3C292.78 366.4700000000001 302.22 370.2200000000001 310.31 366.71C318.43 363.23 322.19 353.82 318.72 345.71L285.05 267.16C291.73 260 296 250.55 296 240C296 217.91 278.09 200 256 200S216 217.91 216 240C216 261.98 233.76 279.77 255.7 279.94z" glyph-name="weight" horiz-adv-x="512" unicode=""/><glyph d="M496.101 62.331L510.328 33.668C514.257 25.753 511.025 16.152 503.11 12.223L437.645 -20.663C421.596 -28.63 402.089 -21.857 394.456 -5.608L331.679 128H192C176.075 128 162.574 139.71 160.321 155.475C126.433 392.692 128.38 377.956 128 384C128 420.358 158.318 449.635 195.052 447.929C228.3230000000001 446.384 255.1 419.024 255.9770000000001 385.728C256.8450000000001 352.795 232.8250000000001 325.305 201.369 320.689L206.039 287.999H336C344.837 287.999 352 280.836 352 271.999V239.999C352 231.162 344.837 223.999 336 223.999H215.182L219.754 191.999H352A32 32 0 0 0 380.962 173.607L438.477 51.2L474.655 69.549C482.57 73.478 492.172 70.246 496.101 62.331zM311.358 96H286.852C279.064 41.796 232.324 0 176 0C114.243 0 64 50.243 64 112C64 153.505 86.694 189.809 120.324 209.156C116.612 235.121 113.48 257.016 110.836 275.4890000000001C45.956 249.536 0 186.037 0 112C0 14.953 78.953 -64 176 -64C247.87 -64 309.8060000000001 -20.692 337.11 41.192L311.358 96z" glyph-name="wheelchair" horiz-adv-x="512" unicode=""/><glyph d="M634.91 293.12C457.74 456.99 182.19 456.93 5.09 293.12C-1.57 286.9600000000001 -1.7 276.53 4.74 270.14L38.98 236.17C45.12 230.07 55 229.9400000000001 61.38 235.79C207.3 369.4700000000001 432.68 369.5 578.63 235.79C585.01 229.9400000000001 594.89 230.08 601.03 236.17L635.27 270.14C641.6999999999999 276.53 641.5699999999999 286.9600000000001 634.91 293.12zM320 96C284.65 96 256 67.35 256 32S284.65 -32 320 -32S384 -3.35 384 32S355.35 96 320 96zM522.67 179.59C407.41 281.5200000000001 232.46 281.4100000000001 117.33 179.59C110.43 173.49 110.21 162.9 116.76 156.4400000000001L151.2 122.4500000000001C157.2 116.53 166.86 116.1300000000001 173.25 121.65C257.2 194.22 382.99 194.06 466.74 121.65C473.13 116.1300000000001 482.79 116.5200000000001 488.79 122.4500000000001L523.23 156.4400000000001C529.79 162.9 529.5600000000001 173.5000000000001 522.6700000000001 179.59z" glyph-name="wifi" horiz-adv-x="640" unicode=""/><glyph d="M156.7 192H16C7.2 192 0 184.8 0 176V144C0 135.2 7.2 128 16 128H158.2C174.1 128 189 117.1 191.6 101.4C194.9 81.4 179.5 64 160 64C145.9 64 133.9 73.2 129.6 85.9C127.5 92.2 121 96 114.4 96H81.6C71.8 96 63.9 87.2 65.7 77.6C74.3 33.5 113.3 0 159.9 0C217 0 262.6 50.1 255.1 108.6C249 157 205.4 192 156.7 192zM16 224H352C411.7 224 458.8 278.8 445.8 340.7C438.2 376.9 408.9000000000001 406.2 372.7000000000001 413.8C317.3000000000001 425.4 267.6 388.9 257.8000000000001 338.3C255.9000000000001 328.7 263.9000000000001 320 273.6000000000001 320H306.4000000000001C313.1000000000001 320 319.5000000000001 323.8 321.6000000000001 330.1C325.9 342.8 337.9 352 352 352C371.4 352 386.9 334.6 383.6 314.6C381 298.9 366.2000000000001 288 350.2000000000001 288H16C7.2 288 0 280.8 0 272V240C0 231.2 7.2 224 16 224zM400 192H243.7C263 175.4 276.9 153.2 283.5 128H400C426.5 128 448 106.5 448 80S426.5 32 400 32C382.1 32 366.7 41.9 358.4 56.4C355.5 61.4 349.7 64 343.9 64H310.1C299.2 64 291.1 53.2 294.8 42.9C312.6 -7.7 365.3 -41.9 424.2 -29.4C465.3999999999999 -20.7 499.3 12.2 508.8999999999999 53.3C526 126.5 470.5 192 400 192z" glyph-name="wind" horiz-adv-x="512" unicode=""/><glyph d="M464 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H464C490.5 -32 512 -10.5 512 16V368C512 394.5 490.5 416 464 416zM380.4 125.5C385.2 120.7 385.2 112.9 380.4 108.1L339.9 67.6C335.1 62.8 327.3 62.8 322.5 67.6L256 134.7L189.5 67.6C184.7 62.8 176.9 62.8 172.1 67.6L131.6 108.1C126.8 112.9 126.8 120.7000000000001 131.6 125.5L198.7 192L131.6 258.5C126.8 263.3 126.8 271.1 131.6 275.9L172.1 316.4C176.9 321.2 184.7 321.2 189.5 316.4L256 249.3L322.5 316.4C327.3 321.2 335.1 321.2 339.9 316.4L380.4 275.9C385.2 271.1 385.2 263.3 380.4 258.5L313.3 192L380.4 125.5z" glyph-name="window-close" horiz-adv-x="512" unicode=""/><glyph d="M464 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H464C490.5 -32 512 -10.5 512 16V368C512 394.5 490.5 416 464 416zM448 256H64V340C64 346.6 69.4 352 76 352H436C442.6 352 448 346.6 448 340V256z" glyph-name="window-maximize" horiz-adv-x="512" unicode=""/><glyph d="M464 96H48C21.5 96 0 74.5 0 48V16C0 -10.5 21.5 -32 48 -32H464C490.5 -32 512 -10.5 512 16V48C512 74.5 490.5 96 464 96z" glyph-name="window-minimize" horiz-adv-x="512" unicode=""/><glyph d="M512 400V112C512 85.5 490.5 64 464 64H416V272C416 316.1 380.1 352 336 352H128V400C128 426.5 149.5 448 176 448H464C490.5 448 512 426.5 512 400zM384 272V-16C384 -42.5 362.5 -64 336 -64H48C21.5 -64 0 -42.5 0 -16V272C0 298.5 21.5 320 48 320H336C362.5 320 384 298.5 384 272zM316 244C316 250.6 310.6 256 304 256H76C69.4 256 64 250.6 64 244V192H316V244z" glyph-name="window-restore" horiz-adv-x="512" unicode=""/><glyph d="M507.31 375.43L439.43 443.31C433.18 449.56 423.05 449.56 416.8 443.31L394.17 420.68C387.92 414.43 387.92 404.3 394.17 398.05L317.5 321.38C270.92 341.08 215.1 332.11 177.13 294.15L18.75 135.77C-6.24 110.78 -6.24 70.25 18.75 45.26L109.26 -45.25C134.25 -70.24 174.78 -70.24 199.77 -45.25L358.16 113.14C396.12 151.1 405.09 206.93 385.39 253.51L462.06 330.18C468.31 323.93 478.44 323.93 484.69 330.18L507.32 352.81C513.56 359.05 513.56 369.18 507.31 375.43zM179.22 24.71L88.71 115.22L210.75 237.26L301.26 146.75L179.22 24.71z" glyph-name="wine-bottle" horiz-adv-x="512" unicode=""/><glyph d="M216 -16H176V101.19C244.47 117.08 294.05 181.1 287.4 255.35L271.45 433.45C270.71 441.69 263.9 448 255.74 448H32.26C24.11 448 17.29 441.69 16.56 433.45L0.6 255.34C-6.05 181.09 43.53 117.07 112 101.18V-16H72C49.91 -16 32 -33.91 32 -56C32 -60.42 35.58 -64 40 -64H248C252.42 -64 256 -60.42 256 -56C256 -33.91 238.09 -16 216 -16zM61.75 400H226.25L233.42 320H54.58L61.75 400z" glyph-name="wine-glass-alt" horiz-adv-x="288" unicode=""/><glyph d="M216 -16H176V101.19C244.47 117.08 294.05 181.1 287.4 255.35L271.45 433.45C270.71 441.69 263.9 448 255.74 448H32.26C24.11 448 17.29 441.69 16.56 433.45L0.6 255.34C-6.05 181.09 43.53 117.07 112 101.18V-16H72C49.91 -16 32 -33.91 32 -56C32 -60.42 35.58 -64 40 -64H248C252.42 -64 256 -60.42 256 -56C256 -33.91 238.09 -16 216 -16z" glyph-name="wine-glass" horiz-adv-x="288" unicode=""/><glyph d="M564 256C570.627 256 576 261.373 576 268V308C576 314.627 570.627 320 564 320H515.972L534.544 400.61C536.276 408.128 530.566 415.304 522.851 415.304H476.744A11.998 11.998 0 0 1 465.008 405.804L450.73 320H340.839L321.114 405.987A12 12 0 0 1 309.418 415.304H265.43A12 12 0 0 1 253.743 406.027L233.696 320H124.975L107.5 405.701A12 12 0 0 1 95.742 415.303H53.628C45.942 415.303 40.238 408.179 41.919 400.679L60 320H12C5.373 320 0 314.627 0 308V268C0 261.373 5.373 256 12 256H74.342L81.513 224H12C5.373 224 0 218.627 0 212V172C0 165.373 5.373 160 12 160H95.856L136.783 -22.624A12 12 0 0 1 148.492 -32H205.259C210.842 -32 215.687 -28.15 216.948 -22.712L259.335 160H314.421L356.807 -22.712A12 12 0 0 1 368.496 -32H425.322A12 12 0 0 1 437.016 -22.694L479.108 160H564C570.627 160 576 165.373 576 172V212C576 218.627 570.627 224 564 224H493.854L501.227 256H564zM138.024 256H218.781L211.324 224H144.548L138.024 256zM183.82 105.971C177.626 80.14 177.062 58.721 176.499 58.721H175.373S173.684 80.771 168.615 105.971L157.599 160H196.411L183.82 105.971zM274.182 224L276.178 232.602C278.034 240.564 279.635 248.57 280.981 256H292.775C294.122 248.57 295.722 240.564 297.578 232.602L299.574 224H274.182zM405.141 105.971C400.0730000000001 80.771 398.3830000000001 58.721 398.3830000000001 58.721H397.2570000000001C396.6940000000001 58.721 396.1310000000001 80.141 389.9360000000001 105.971L377.542 160H416.649L405.141 105.971zM430.281 224H362.861L355.521 256H437.098L430.281 224z" glyph-name="won-sign" horiz-adv-x="576" unicode=""/><glyph d="M507.73 338.9C505.49 347.93 494.19 350.99 487.61 344.4100000000001L413.25 270.05L345.37 281.36L334.06 349.24L408.42 423.6C415.04 430.2200000000001 411.85 441.5 402.76 443.76C355.38 455.5 303.21 442.85 266.18 405.8300000000001C226.54 366.19 215.63 308.73 232.13 258.63L18.74 45.24C-6.25 20.25 -6.25 -20.27 18.74 -45.26C43.73 -70.25 84.25 -70.25 109.24 -45.26L322.45 167.9500000000001C372.57 151.2400000000001 429.92 162.2700000000001 469.82 202.1700000000001C506.89 239.2400000000001 519.52 291.49 507.73 338.9000000000001zM64 -24C50.75 -24 40 -13.25 40 0C40 13.26 50.75 24 64 24S88 13.26 88 0C88 -13.25 77.25 -24 64 -24z" glyph-name="wrench" horiz-adv-x="512" unicode=""/><glyph d="M240 64C231.2 64 224 56.8 224 48S231.2 32 240 32S256 39.2 256 48S248.8 64 240 64zM400 32C408.8 32 416 39.2 416 48S408.8 64 400 64S384 56.8 384 48S391.2 32 400 32zM624 448H16C7.2 448 0 440.8 0 432V400C0 391.2 7.2 384 16 384H624C632.8 384 640 391.2 640 400V432C640 440.8 632.8 448 624 448zM624 0H576V352H64V0H16C7.2 0 0 -7.2 0 -16V-48C0 -56.8 7.2 -64 16 -64H624C632.8 -64 640 -56.8 640 -48V-16C640 -7.2 632.8 0 624 0zM480 200C480 195.6 476.4 192 472 192H336V160H440C444.4 160 448 156.4 448 152V136C448 131.6 444.4 128 440 128H336V96H400C426.5 96 448 74.5 448 48S426.5 0 400 0S352 21.5 352 48V64H288V48C288 21.5 266.5 0 240 0S192 21.5 192 48S213.5 96 240 96H304V128H200C195.6 128 192 131.6 192 136V152C192 156.4 195.6 160 200 160H304V192H168C163.6 192 160 195.6 160 200V216C160 220.4 163.6 224 168 224H304V256H200C195.6 256 192 259.6 192 264V280C192 284.4 195.6 288 200 288H304V312C304 316.4 307.6 320 312 320H328C332.4 320 336 316.4 336 312V288H440C444.4 288 448 284.4 448 280V264C448 259.6 444.4 256 440 256H336V224H472C476.4 224 480 220.4 480 216V200z" glyph-name="x-ray" horiz-adv-x="640" unicode=""/><glyph d="M351.2080000000001 416H285.9310000000001A12 12 0 0 1 275.153 409.276L219.763 296.113C205.25 261.409 192.63 224.181 192.63 224.181H191.368S178.748 261.409 164.235 296.113L108.845 409.276A11.997 11.997 0 0 1 98.068 416H32.792C23.735 416 17.942 406.35 22.202 398.357L102.322 248H44C37.373 248 32 242.627 32 236V204C32 197.373 37.373 192 44 192H132.162L152 154.772V128H44C37.373 128 32 122.627 32 116V84C32 77.373 37.373 72 44 72H152V-20C152 -26.627 157.373 -32 164 -32H220C226.627 -32 232 -26.627 232 -20V72H340C346.627 72 352 77.373 352 84V116C352 122.627 346.627 128 340 128H232V154.772L251.838 192H340C346.627 192 352 197.373 352 204V236C352 242.627 346.627 248 340 248H281.678L361.798 398.357C366.058 406.35 360.266 416 351.2080000000001 416z" glyph-name="yen-sign" horiz-adv-x="384" unicode=""/><glyph d="M248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM248 64C230.33 64 216 78.33 216 96S230.33 128 248 128S280 113.67 280 96S265.67 64 248 64zM248 192C194.98 192 152 149.02 152 96S194.98 0 248 0C141.96 0 56 85.96 56 192S141.96 384 248 384C301.02 384 344 341.02 344 288S301.02 192 248 192zM248 320C230.33 320 216 305.67 216 288S230.33 256 248 256S280 270.3300000000001 280 288S265.67 320 248 320z" glyph-name="yin-yang" horiz-adv-x="496" unicode=""/></font></defs></svg>

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/webfonts/fa-brands-400.svg
=====================================================
<svg xmlns="http://www.w3.org/2000/svg"><defs><font id="fontawesome-free" horiz-adv-x="640.4"><font-face ascent="448" descent="64" font-family="Font Awesome 5 Brands" font-style="Regular" font-weight="400" units-per-em="512"/><glyph d="M103.3 103.7C96.8 117.9 96.4 122 110.7 126.8C136.3 134.8 118.7 117.6 153.9 77.6H154.2V171.5C155.4 221.7 198.2 263.7 251.9000000000001 263.7C305.8 263.7 349.6 220.2 349.6 166.9C349.6 103.5 288.8 53.7 221.1 73.6C210.6 77.8 219 105.3 229.6 102.2C282.6 102.2 319 112.3 319 166.6C319 227.6 241.9 256.2000000000001 202.1 211.2C178.6 184.8 184.5 169.1 184.5 53.6C235.2 22.6 302.8 31.6 344.9 73.7000000000001C369.7 98.5000000000001 383.4 131.7000000000001 383.4 166.7000000000001C383.4 201.9 369.6 234.9000000000001 344.6 260.0000000000001C319.8 284.8000000000001 286.8 298.5000000000001 251.3 298.5000000000001S182.5 284.7000000000001 157.8 260.0000000000001C157.5 259.7000000000001 141.8 243.5000000000001 136.6 236.1000000000001L136.1 235.5000000000001C132.8 230.8000000000001 129.8 226.4000000000001 116 229.4000000000001C109.1 231.1000000000001 101.7 235.2000000000001 101.7 241.2000000000001V428C101.7 433 105.6 438.5 112.2 438.5H353.5C361.8 438.5 361.8 426.9 361.8 423.4C361.8 419.5 361.8 408.3 353.5 408.3H130.3V275.4H130.6C234.8 385.2 413.4000000000001 311.4 413.4000000000001 166.5C413.4000000000001 -11.6 168.6 -53.8 103.3 103.7zM166.6 364.5C166.1 360.3 171.2 340 181.2 343.9C306 391.4 384 303.5 390.6 303.5C395.4000000000001 303.5 413.4000000000001 318.8 404.9000000000001 326.3C311.7000000000001 415.3 170.4 383.3 166.6 364.5zM393 33.3C283 -76.6 94 -27.5 61 137.5C61 149.7 30.6 144.9 32.1 134.2C56.1 -39.2 278.1 -122.7 413.7000000000001 12.9C420.6 20.7 401.1 41.3 393.0000000000001 33.3zM213.6 141.4C213.6 137.4 217.9 134.1 219.1 132.9C222.1 129.9 225.2 128.5 227.6 128.5C231.4 128.5 230.2 128.3 249.9 148C269.5 128.7 269 128.5 272.2 128.5C277.6 128.5 290.7 138.9 282.9 146.7L265.6 164L283.8 182.2C290.1 189 273.7 204 267.6 197.9L249.7 180C231.1 198.8 231.3 199.5 228.2 199.5C223.2 199.5 210.2 187.8 215.8 182.2L234 164C215.9 146.1 213.6 144.8 213.6 141.4z" glyph-name="500" horiz-adv-x="448" unicode=""/><glyph d="M423.9 192.2L411 34.9C407.7 -5.8 347.1 -0.2 350.4 39.8L360.4 162.3L319.3 160C329.4 139.3 335.1 116.1 335.1 91.4999999999999C335.1 50.3 319 12.8 292.8 -15.0000000000001L253.5 24.3C311.3999999999999 87.9999999999999 266.6 191.5 179.5 191.5C153.5999999999999 191.5 130 181.6 112.2999999999999 165.5L73 204.8C95 225.5 123.1 239.9 154.4 245L229.7 330.7L187.1 355.5L135.5 309.5C105.5 282.7 64.9 328 95 354.9L163 415.6C172.8 424.4000000000001 187.1 425.8 198.5 419.2C198.5 419.2 337.8 338.3 338 338.1C354.2 328 358.7 302.1 344.1 285.5L285.7 219L391.8 224.9C410.3 226 425.4 210.5 423.9 192.2zM359 346.2C387.1 346.2 409.9 369 409.9 397.1C409.9 425.2 387.1 448 359 448C330.9 448 308.1 425.2 308.1 397.1C308.1 369 330.9000000000001 346.2 359 346.2zM179.6 -8.5C99 -8.5 52.2 82.1 96.9 147.6L57.2 187.3C36.4 161 24 127.7 24 91.6C24 -39.1 174.7 -109.7999999999999 275.4 -30.9L235.7 8.8C219.7 -2.1 200.4 -8.5 179.6 -8.5z" glyph-name="accessible-icon" horiz-adv-x="448" unicode=""/><glyph d="M482.2 75.9C476.5 82.8 250 373 242.3 382.5C228.6 399.7 242.3 399.3 261.5 399.4C271.2 399.5 367.8 400 378 400C402.1 400.1 406.7 399.4 416.4 387.2C418.5 384.5 621.5 141.4 623.5999999999999 138.9C629.0999999999999 132.2 638.8 119.8 630.8 115.5C628.4 114.2 516.1999999999999 67.8 513 66.6C502.9 62.6 495.5 59.8 482.2 75.9M596.9 81.5000000000001S481.9 31.1000000000001 479.4 29.9C463.4 22.6 452.5 33.1 442.7 44.5000000000001L385.6 118.5000000000001C380.2 119.4 325.2 128.1000000000001 320.3 127.8000000000001C317.2 127.6000000000001 310.7 127.0000000000001 305.9 124.9000000000001C301 122.8000000000001 160.7 72.1000000000001 155.7 70.2000000000001C150.6 68.2000000000001 144.3 66.6000000000001 144.6 62.6000000000001C144.8 60.1000000000001 146.6 60.0000000000001 149.2 59.1000000000001C151.9 58.3000000000001 450.1 -8.4999999999999 457.2 -9.9999999999999C472.8 -13.2999999999999 495.7 -20.4999999999999 510.8 -11.6999999999999C512.9 -10.4999999999999 634.6 64.7000000000002 636.6 66.1000000000001C642 70.1000000000001 640.9 72.9000000000002 634.9 74.3000000000001C632.6 74.6000000000001 610.3 79.0000000000001 596.9 81.5000000000001M270.9 262.8000000000002S258.9 261.2000000000002 245.9 247.7000000000002C236.9 238.4000000000001 3.8 8.6000000000001 2.5 6.8000000000001C-4.5 -3.1999999999999 4.1 1e-13 18.2 5.1000000000001C19 5.1000000000001 132.7 41.7000000000002 132.7 41.7000000000002C133.2 42.3000000000002 132.6 41.8000000000002 133.3 42.3000000000002C132.9 47.4000000000002 132.5 68.5000000000002 132.3 70.0000000000002C131.7 75.2000000000002 134.5 76.9000000000002 139.3 78.9000000000002L231.9 112.7000000000002C232.5 113.5000000000002 320.4 194.4000000000002 322.1 196.0000000000002V197.0000000000002L270.9 262.8000000000002" glyph-name="accusoft" horiz-adv-x="640" unicode=""/><glyph d="M344 448C343.19 442.53 342.37 437.21 341.61 431.88C340.2200000000001 422.14 338.7100000000001 412.4 337.56 402.63C337.21 399.67 336.35 398.31 333.26 398.3C312.65 398.19 292.05 398.16 271.44 397.77C252.68 397.42 233.86 397.49 215.21 395.77C201.79 394.53 191.93 383.1 196.33 369.13C204.88 342.02 223.98 300.03 232.7 279.68C298.42 125.54 294.13 122.69 316.7000000000001 121.12C323.3700000000001 120.66 330.1 121.05 337.1300000000001 121.05C338.5200000000001 111.65 339.7900000000001 103.01 341.1800000000001 93.54H225.17V120.54C235.5 120.54 245.53 120.66 255.55 120.48C259.07 120.42 260.6 121.11 258.99 124.85C254.55 135.1400000000001 250.22 145.48 245.74 155.75C244.12 159.47 241.68 160.53 237.34 159.27C225.02 155.68 212.55 152.58 200.08 149.58C195.83 148.56 194.15 146.81 194.22 142.12C195.07 84.65 195.17 14.59 195.22 13C195.62 0.46 203.97 -8.41 216.25 -10.07C217.14 -10.19 229.14 -12.79 328.93 -12.63C337.18 -12.62 337.3400000000001 -12.46 338.5 -20.19C340.65 -34.53 342.64 -48.89 344.76 -63.72C-22.99 -63.72 190.83 -64.33 7.67 -63.72C3.72 -63.71 1.59 -63.03 2.39 -57.98C4.43 -45.12 5.89 -32.16 7.36 -19.22C7.91 -14.41 9.65 -12.41 14.99 -12.45C133.08 -13.4400000000001 129.92 -12.8000000000001 136.42 -10.0600000000001C145.84 -6.08 151.4 2.79 151.37 13.0099999999999C151.25 55.9399999999999 151.04 98.87 151.12 141.8C151.13 145.67 149.96 147.79 146.56 148.6399999999999C130.92 152.56 115.25 156.3499999999999 98.98 160.3399999999999C93.75 148.0699999999999 88.59 135.9699999999999 83.32 123.6399999999999C85.15 120.2899999999999 111.7 120.7099999999999 118.6 120.7099999999999V93.0699999999999H4.34C5.37 101.68 6.11 109.8799999999999 7.57 117.9499999999999C7.82 119.36 11.1 121.0899999999999 13.04 121.17C21.5 121.52 29.99 121.46 38.47 121.2599999999999C42.46 121.17 44.39 122.3 46.08 126.42C62.71 167.12 59.59 157.59 113.39 287.39C144.92 363.48 146.45 363.41 146.03 374.82C145.34 393.38 120.66 397.08 108.38 396.93C78.34 396.55 69.93 397.4 6.54 397.4C-0.62 441.89 2.37 429.46 0.16 442.68C-0.55 446.92 1.19 447.9700000000001 4.8 447.98M117.88 200.79C120.18 199.64 121.85 198.5 123.7 197.92C136.99 193.71 150.34 189.68 163.63 185.46C169.77 183.51 175.61 183.34 181.93 185.41C194.95 189.69 208.22 193.22 221.36 197.14C222.82 197.58 224.1 198.58 225.29 199.23C218.58 216.6 212.17 233.38 205.62 250.11C196.74 272.78 187.99 310.43 178.64 332.92C177.11 333.7 176.73 330.56 169.21 332.92C152.1 288.87 135.07 245.04 117.88 200.79z" glyph-name="acquisitions-incorporated" horiz-adv-x="344.76" unicode=""/><glyph d="M248 280.5L312.9 181.7H183.1L248 280.5zM496 192C496 55.1 384.9 -56 248 -56S0 55.1 0 192S111.1 440 248 440S496 328.9 496 192zM396.2 109.3L248 332.5L99.8 109.3H130.2L163.8 161H332.4L366 109.3H396.2z" glyph-name="adn" horiz-adv-x="496" unicode=""/><glyph d="M289.9 383.7H460.8V-0.3L289.9 383.7zM170.9 383.7H0V-0.3L170.9 383.7zM230.4 241.6L337.9 -0.3H264.9L234.2 76.5000000000001H155.5L230.4 241.6000000000001z" glyph-name="adobe" horiz-adv-x="460.8" unicode=""/><glyph d="M482.1 416H28.7C5.8 416 0 410.1 0 387.1V-3.1C0 -26.4 5.8 -32 28.7 -32H482.1C506.4999999999999 -32 511.9999999999999 -26.8 511.9999999999999 -2.3V385.8C511.9999999999999 410.4 506.6 416 482.1 416zM178.4 227.7C150.9 247.9 106.3 236.4 94.2 204.3C89.9 193.2 84.9 194.8 76.7 196C67 197.5 59.5 199.2 54.2 201.5C25.4 212.9 62.8 256.8 79.1 265.8C120.2 287.2 162.5 288 204.4 270.6C245.3 253.8 238.9 211.4 238.9 142.1C241.6 116.3 234.6 83.8 248.2 53.3C250.1 48.9 248.6 45.4 245.5 42.6C237.1 35.9 206.2 40.4 198.9 49.9999999999999C197 52.1999999999999 197.1 53.6 195 56.1999999999999C191.4 60.0999999999999 187.7 58.3999999999999 183.1 55.1999999999999C125.7 18.8 42.8 33.8 36.1 98.4999999999999C33 127.8 48.5 155.6 75.7 169.5C113.9 189 187.9 181.3 189.7 200.4C190.8 210.5999999999999 187.8 220.5 178.4 227.7zM465.1 5.7C465.1 -9.4 454 -4.2 447.3 -4.2H52.4C45 -4.2 34.2 -9 34.6 6.5C35 20.4 45.1 15.6 51.7 15.6C184 16 316.2 16 448.5 15.6C455.3 15.6 465.1 20 465.1 5.7zM468.9 346.2V55.2C468.9 49.5 468.2 41.3 460.8 41.3C448.4000000000001 41.7 433.3 34.2 424.7 46.9C418.9 55.6 416.9 50.9 412.3 48.1C358.9000000000001 18.4 284.2000000000001 41 267.9 133.3C261.8 166.7 267.2 200.4 283.6 233.3C295.4 257.2000000000001 340.5 309.4 419.7 263.8V334.8C419.7 361 419.5999999999999 361 445.7 361C448.8 361 452.3 360.6 455.3999999999999 361C465.4999999999999 361.8 468.9999999999999 356.6 468.9999999999999 346.7000000000001C468.8999999999999 346.5 468.8999999999999 346.4000000000001 468.8999999999999 346.2000000000001zM417.4000000000001 113.9C397.9000000000001 66.3 344.5 70.6 327.4000000000001 108.7C312.3 142 311.9000000000001 176.9 327.8 210.2C344.1 244.3 387.5 245.9 409.3 215C429.9000000000001 186.2 424.2 130.4 417.4000000000001 113.9zM122.6 78.6C115.1 79.9 89.6 81.9 88.9 106.4C88.5 120.3 96.7 129.4 108.7 132.2C133.1 138.1 158 142.1 182.4 146.9C191.3000000000001 148.9 189.8000000000001 142.5 190.2000000000001 137.4C191.6000000000001 104.4 164.1000000000001 78.2 122.6000000000001 78.6z" glyph-name="adversal" horiz-adv-x="512" unicode=""/><glyph d="M159.7 210.6C108.4 139.7 43.1 99.8 14 121.4C-15.2 143.1 2.8 218 54.2 288.9C105.5 359.8 170.8 399.7 199.9 378.1C229 356.5 211 281.5 159.7 210.6zM510.9 267.9C437.1 144.5 319 80.2 246.4 124.3C221.4 139.5 205.1 165.5 197.4 198.1C163.8 133.3 104.6 84.3 33.3 64.9C83.1 5.6 157.4 -32 240.3 -32C390.3 -32 511.9 91.1 511.9 242.9C512 251.4 511.6 259.7 510.9 267.9z" glyph-name="affiliatetheme" horiz-adv-x="512" unicode=""/><glyph d="M229.3 265.4C180 265.4 140.1 225.5 140.1 176.2C140.1 126.9 180 87 229.3 87S318.5 126.9 318.5 176.2C318.5 225.5 278.5 265.4 229.3 265.4zM292 208.8L233.1 178.2C231.3 177.3 229.3 178.6 229.3 180.5V247C229.3 248.5 230.6 249.7 232 249.6C258.2 248.6 280.9 233.9 293.1 212.5C293.8 211.2 293.3 209.5 292 208.8zM389.1 416H58.9C26.4 416 0 389.6 0 357.1V27C0 -5.6 26.4 -32 58.9 -32H389C421.6 -32 447.9 -5.6 447.9 26.9V357.1C448 389.6 421.6 416 389.1 416zM186.5 331.3C186.5 342.1 195.2 350.8 206 350.8H251.3C262.1 350.8 270.8 342.1 270.8 331.3V315.9C270.8 314.1 269.1 312.9 267.5 313.4C255.2 316.8 242.4 318.5 229.4 318.5C215.9 318.5 202.7 316.7 190 313C188.3 312.5 186.6 313.8 186.6 315.5V331.3zM102.1 294.3L111.3 303.5C118.9 311.1 131.2 311.1 138.8 303.5L146.5 295.8C147.6 294.7000000000001 147.5 292.8 146.2 291.8C140 287.3 134.1 282.4 128.6 276.9C123.2 271.5 118.2 265.6 113.8 259.5C112.8 258.2 110.9 258 109.8 259.2L102.1 266.9C94.5 274.4 94.5 286.7 102.1 294.3zM229.3 49.5C159.3 49.5 102.7 106.2 102.7 176.1S159.4 302.7000000000001 229.3 302.7000000000001C299.3 302.7000000000001 355.9 246.1 355.9 176.1C355.9 106.3 299.2 49.5 229.3 49.5z" glyph-name="algolia" horiz-adv-x="448" unicode=""/><glyph d="M377.74 416H70.26C31.41 416 0 384.5900000000001 0 345.74V38.26C0 -0.59 31.41 -32 70.26 -32H377.74C416.26 -32 447.5 -0.92 448 37.6C402.04 63.22 337.41 97.9400000000001 276.4 126.04C244.33 82.0700000000001 192.26 45.04 127.78 45.04C57.19 45.04 34.05 90.34 30.74 121.41C26.77 160.42 45.62 202.91 130.26 202.91C165.64 202.91 209.61 192.66 257.39 177.9500000000001C273.92 208.0400000000001 283.84 238.2900000000001 283.84 238.2900000000001H105.64V254.9900000000001H197.72V286.23H88.28V305.24H197.72V355.66H248.64V305.24H358.08V286.23H248.63V254.99H337.4S322.19 208.37 299.05 164.07C347.98 147.37 399.06 128.03 447.67 111.33V345.74C447.83 384.43 416.43 416 377.74 416zM47.28 125.05C48.27 104.88 57.53 71.32 117.21 71.32C169.28 71.32 209.79 111 235.08 144.22C190.45 162.9 150.6 175.6300000000001 125.64 175.6300000000001C58.19 175.6300000000001 46.29 142.5700000000001 47.28 125.0500000000001z" glyph-name="alipay" horiz-adv-x="448" unicode=""/><glyph d="M0 122.8C2.3 127 5.2 127.7 9.7 125.3C20.1 119.7 30.3 113.9 40.9 108.6C81.6 88.2000000000001 124.1 73 168.3 62.3C189.2 57.3 210.2 53.3 231.5 50.5C263 46.3 294.7 44.5 326.5 45.3C343.9 45.7 361.3 47.1 378.6 49.1C435 55.8 489.5 69.9 541.9000000000001 91.9C544.8000000000001 93.1 547.8000000000001 93.9 551.0000000000001 93.1C557.7000000000002 91.3 560.0000000000001 84.1 555.1000000000001 79.2000000000001C552.3000000000002 76.4 548.8000000000002 74.1 545.5000000000001 71.8000000000001C514.8000000000001 50.7 481.3000000000001 35.4000000000001 445.9000000000001 23.9000000000001C421.3000000000001 16.0000000000001 396.3000000000001 10.1000000000001 370.8000000000001 6.3000000000001C353.2000000000001 3.7 335.4000000000001 1.9000000000001 317.6000000000001 1.5000000000001C316.8000000000001 1.5000000000001 315.9000000000001 1.3000000000001 315.1000000000001 1.2H294C293.2 1.3000000000001 292.3 1.5000000000001 291.5 1.5000000000001C287.9 1.7 284.3 1.8000000000001 280.8 1.9C263.9000000000001 2.6 247.1 4.5000000000001 230.4 7.2C203 11.7 176.2 18.6 150 28.1C95.9 47.7 47.4 76.7000000000001 4.4 115.1C2.6 116.7000000000001 1.4 118.9 0 120.8V122.8zM158 383C156.6 382.8 155.1 382.6 153.7 382.4C139.7 380.7 127.1 375.5 115.7 367.3C113.3 365.6 111.1 363.8 108.6 361.9C108.4 362.4 108.2 362.9 108.2 363.3C107.8 366 107.4 368.8 106.9 371.5C106.2 376.1 103.9 378.1 99.3 378.1H87.8C80.9 378.1 79.6 376.8 79.6 369.9V160.6C79.6 159.6 79.6 158.6 79.7 157.6C79.9 154.6 81.7 152.7000000000001 84.6 152.6C91.6 152.5 98.7 152.5 105.7 152.6C108.6 152.6 110.4 154.6 110.7 157.6C110.8 158.6 110.8 159.6 110.8 160.6V233C111.9 232.1 112.5 231.6 113 231.1C130.9 216.2 151.5 211.3 174 215.7C194.4 219.7 208.6 232.2 217.8 250.6C224.8 264.5 227.7 279.3 228.1 294.7C228.6 311.8 226.9000000000001 328.6 220 344.5C211.5 364.1 197.4 377 176.1 381.4C172.9 382.1 169.6 382.4 166.3 382.9C163.5 383 160.8 383 158 383zM110.6 341.1C110.6 342.6 111 343.5 112.3 344.4C126 353.9 141.1 358.9 157.9 357.6C172.8 356.5 185 349.2 191.4 331.7C195.3 321 196.3 309.9 196.3 298.7C196.3 288.3 195.5 278.1 192.3 268.1C185.5 246.8 169.9 238.7 149.7 239.6C135.7 240.2 123.5 245.6 112.3 253.5C111.1 254.4 110.6 255.2 110.6 256.8C110.7 270.9 110.6 284.9 110.6 299C110.6 313 110.7 327 110.6 341.1zM316.3 383C315.3 382.9 314.3 382.7 313.4000000000001 382.6C303.6 382.1 294.0000000000001 380.9 284.5000000000001 378.5C278.4000000000001 376.9 272.5000000000001 374.7 266.6000000000001 372.7C263.0000000000001 371.5 261.2000000000001 368.9 261.3000000000001 365C261.4000000000001 361.7 261.2000000000001 358.4 261.3000000000001 355.1C261.4000000000001 350.3 263.4000000000001 349 268.1000000000001 350.2C275.9000000000001 352.2 283.7000000000001 354.4 291.6000000000001 355.9C303.9000000000001 358.2 316.3000000000001 359.2 328.8000000000001 357.3C335.3000000000001 356.3 341.4000000000001 354.4 345.6000000000001 348.9C349.3000000000001 344.1 350.7000000000001 338.4 350.9000000000001 332.5C351.2000000000001 324.2 351.1000000000001 315.9 351.2000000000001 307.6C351.2000000000001 307.2 351.1000000000001 306.7 351.0000000000001 306.2C350.5000000000001 306.3 350.1000000000002 306.2 349.7000000000001 306.3C339.2000000000001 308.8 328.6000000000001 310.6 317.7000000000001 311.2C306.4000000000001 311.8 295.2000000000001 311.1 284.4000000000001 307.3C271.5000000000001 302.8 261.1000000000001 295 255.0000000000001 282.4C250.3000000000001 272.6 249.6000000000001 262.2 251.1000000000001 251.7C253.1000000000001 237.7 260.1000000000001 226.9 272.5000000000001 220C284.4000000000001 213.4 297.3000000000001 212.6 310.4000000000001 214.6C325.5000000000001 216.9 338.9000000000001 223.3 350.7000000000001 233C351.1 233.4 351.6 233.7 352.3000000000001 234.1C352.9000000000001 230.3 353.4000000000001 226.7 354.1000000000001 223.1C354.7000000000001 220 356.6000000000001 218 359.5000000000001 217.9C364.9000000000001 217.8 370.4000000000001 217.8 375.8000000000001 217.9C378.5000000000001 218 380.3000000000001 219.8 380.6000000000001 222.6C380.7000000000001 223.5 380.7000000000001 224.5 380.7000000000001 225.4V331.4C380.7000000000001 335.7 380.5000000000001 340 379.8000000000002 344.3C377.9000000000002 357.2000000000001 372.4000000000002 367.8 360.8000000000002 374.7000000000001C354.1000000000002 378.7000000000001 346.7000000000001 380.7000000000001 339.0000000000001 381.8C335.4000000000001 382.3 331.8000000000002 382.6 328.2000000000001 383.1C324.3000000000002 383 320.3000000000002 383 316.3000000000002 383zM351.3 255.3C351.3 254 350.9000000000001 253.1 349.8 252.3C338.6 244.2 326.3 238.8 312.4000000000001 237.4C306.7000000000001 236.8 301.0000000000001 237 295.6 239.2C289.3 241.7 285.2000000000001 246.1 283.2000000000001 252.5000000000001S281.2000000000001 265.5 283.1 271.9000000000001C285.6 280.2000000000001 291.5 284.9000000000001 299.5 287.5C307.6 290.1 316 290.5 324.3 289.7000000000001C332.7 289 340.9000000000001 287.4 349.3 286.3C350.9000000000001 286.1 351.4000000000001 285.3 351.4000000000001 283.7000000000001C351.3 278.9 351.4000000000001 274.2000000000001 351.4000000000001 269.4C351.3 264.7000000000001 351.2000000000001 260 351.3 255.3zM611.2 125.9C610.2 130.9 606.4000000000001 132.8 602.1 134.2C595.3000000000001 136.5 588.2 137.5 581.1 138.1C568 139.2 554.9 138.6 541.9 136.2C527.6 133.5 514 128.9 501.9 120.6C500.5 119.6 499.1 118.5 498.2 117.1C497.5 116 497.3 114.3 497.7 113.1C498.1 111.6 499.8 111.2 501.3 111.3C502 111.3 502.8 111.3 503.5 111.4C511.3 112.2 519 113.1 526.8 113.9C538.1999999999999 115 549.6999999999999 115.7 561.0999999999999 114.8C565.8999999999999 114.5 570.8 113.4 575.4999999999999 112.1C580.5999999999999 110.7 582.8999999999999 106.9 583.0999999999999 101.7C583.4999999999999 93.7 581.6999999999999 86 579.5999999999999 78.4C575.4999999999999 63 569.5999999999999 48.1 563.8 33.3C563.4 32.3 563 31.3 562.8 30.3C562.3 27.4 564 25.4999999999999 566.9 26.1999999999999C568.6 26.5999999999999 570.5 27.4999999999999 571.6999999999999 28.6999999999999C576.0999999999999 32.9999999999999 580.5999999999999 37.3 584.4 42.0999999999999C597.1999999999999 58.4999999999999 604.6999999999999 77.3999999999999 609.1 97.6999999999999C609.9 101.3 610.5 104.9999999999999 611.2 108.5999999999999V125.8999999999999zM479.1 249.1C466.2 284.8 453.3 320.6 440.4000000000001 356.3C438.4000000000001 362 436.2000000000001 367.6 434.1 373.2C433 376.1 430.9000000000001 378 427.7000000000001 378C420.1 378.1 412.5000000000001 378.2 404.8000000000001 378.1C402.3000000000001 378.1 401.1000000000001 376.1 401.6000000000001 373.6C402.1000000000001 371.5 402.7000000000001 369.5 403.5000000000001 367.5C423.1000000000001 319 442.8000000000001 270.4 462.6000000000001 222C464.3000000000001 217.9 464.7000000000001 214.4 462.8000000000001 210.2C459.5000000000001 202.9 456.9000000000001 195.2 453.5000000000001 187.9C450.5000000000001 181.4 445.5000000000001 176.5 438.3000000000001 174.6C433.2000000000001 173.2 428.1000000000001 173 422.9000000000001 173.5C420.4000000000001 173.6999999999999 417.9000000000001 174.3 415.4000000000001 174.5C412.0000000000001 174.6999999999999 410.3000000000001 173.1999999999999 410.2000000000001 169.6999999999999C410.1000000000001 166.3999999999999 410.1000000000001 163.0999999999999 410.2000000000001 159.8C410.3000000000002 154.3 412.2000000000001 151.8 417.6000000000001 150.9C423.2000000000001 149.9 428.9000000000001 149 434.5000000000001 148.9C451.6000000000001 148.5 465.2 155.4 474.0000000000001 170.3C477.5000000000001 176.1999999999999 480.7 182.4 483.2 188.6999999999999C506.9 248.5 530.3000000000001 308.3999999999999 553.8000000000001 368.3C554.5000000000001 370.0999999999999 555.1 371.8999999999999 555.4000000000001 373.8C555.8000000000001 376.5999999999999 554.5000000000001 378.2 551.7 378.2C545.1 378.3 538.4000000000001 378.2 531.8000000000001 378.2C528.1 378.2 525.5000000000001 376.5999999999999 524.1 373C523.6 371.5999999999999 523 370.3 522.5 368.8999999999999C510.9 335.5999999999999 499.3 302.3 487.7 268.8999999999999C485.2 261.7 482.6 254.3999999999999 480 246.7C479.6 247.8 479.4 248.3999999999999 479.1 249.1z" glyph-name="amazon-pay" horiz-adv-x="611.2" unicode=""/><glyph d="M257.2 285.3C208.5 283.5 87.7 269.8 87.7 167.8C87.7 58.3 226 53.8 271.2 124.6C277.7 114.4 306.6 87.1 316.5 77.8L373.3 133.8S341 159.1 341 186.6V333.7C341 359 316.5 416 228.7 416C140.7 416 94 361 94 311.7L167.5 304.9C183.8 354.4 221.7 354.4 221.7 354.4C262.4 354.5 257.2 324.6 257.2 285.3zM257.2 198.5C257.2 118.5 173 130.5 173 181.3C173 228.5 223.5 238 257.2 239.1V198.5zM393.2 35C385.5 25 323.2 -32 218.7 -32S34.2 39.5 9.7 69C2.9 76.7 10.7 80.3 15.2 77.3C88.5 32.8 203 -40.5 387.7 47C395.2 50.7 401 45 393.2 35zM433 32.8C426.5 17 417 6 411.8 1.8C406.3 -2.7 402.3 -0.9 405.3 5.6S424.6 52.1 418 60.6C411.5 68.9 381 64.9 370 63.8C359.2 62.8 357 61.8 356 64.1C353.7 69.8 377.7 79.6 393.5 81.6C409.2 83.4 434.5 82.4 439.5 75.9C443.2 70.8 439.5 48.8 433 32.8z" glyph-name="amazon" horiz-adv-x="448" unicode=""/><glyph d="M240.1 416C178.2 416 108.6 399.1 55.9 360.6C50.8 357.5 46.8 351.4 48.7 341.2C49.8 336.1 53.8 313.8 58.9 301.6C63 291.4 73.1 291.4 79.2 295.5C111.7 317.8 175.7 343.2 231.5 343.2C289.4 343.2 290.4 314.8 290.4 270.1V231.6C203 220.3 78.2 197 46.7 183.8C11.2 167.5 16.3 90.3 16.3 72S31.5 -32 141.2 -32C189 -32 254.9000000000001 -11.3 294.5 10.1V-15.3C294.5 -18.3 296.6 -23.4999999999999 300.6 -24.4C303.7000000000001 -25.4 351.3 -26.4 360.5 -26.4S423 -26.7 427 -25.7C431.1 -24.7 432.1 -19.6 432.1 -16.6V280C432 360.3 374.2000000000001 416 240.1 416zM152.2 88.3C152.2 100.5 149.2 131 170.5 141.2C194.8 154.4 245.6 170.6 290.3 174.7V68C268.9000000000001 54.8 241.6 43.6 211.2 43.6C158.4 43.6 152.3 77.1 152.2 88.3" glyph-name="amilia" horiz-adv-x="448" unicode=""/><glyph d="M89.6 243.5V127.7C89.6 112.3 77.5 100 62.1 100C46.8 100 32 112.4 32 127.7V243.5C32 258.6 46.8 271 62.1 271C77.2 271 89.6 258.6 89.6 243.5zM100.4 86.5C100.4 70.1 113.6 56.9 130 56.9H149.9L150.2 -4.2C150.2 -41.1 205.4 -40.8000000000001 205.4 -4.2V56.9H242.6V-4.2C242.6 -40.9 298.1 -41.0000000000001 298.1 -4.2V56.9H318.3C334.5 56.9 347.7 70.1 347.7 86.5V265.9H100.4V86.5zM348.4 275.6H99.3C99.3 318.4 124.9 355.6 162.9 375L143.8 410.3C141 415.2 148.1 418.3 150.5 414.1L169.9 378.5C204.8 394 244.9 393.2 278.2 378.5L297.5 414C300 418.3 307 415.1 304.2 410.2L285.1 375C322.8 355.6 348.4000000000001 318.4 348.4000000000001 275.6zM177.7 331.1C177.7 336.8 173.1 341.6 167.2 341.6C161.5 341.6 157 336.8 157 331.1S161.6 320.6 167.2 320.6C173.1 320.6 177.7 325.4 177.7 331.1zM291.1 331.1C291.1 336.8 286.5 341.6 280.9000000000001 341.6C275.0000000000001 341.6 270.4000000000001 336.8 270.4000000000001 331.1S275.0000000000001 320.6 280.9000000000001 320.6C286.5000000000001 320.6 291.1 325.4 291.1 331.1zM385.9000000000001 271C370.8 271 358.4000000000001 258.9 358.4000000000001 243.5V127.7C358.4000000000001 112.3 370.8 100 385.9000000000001 100C401.3 100 416.0000000000001 112.4 416.0000000000001 127.7V243.5C416.0000000000001 258.9 401.2000000000001 271 385.9000000000001 271z" glyph-name="android" horiz-adv-x="448" unicode=""/><glyph d="M347.1 232.6C358.8 265.2 392.5 359.5 392.5 389.7C392.5 416.3 376.8 438.6 348.8 438.6C304.2 438.6 264.2000000000001 306.9 251.7 275.5C242 304 196.6 448 156.6 448C125.5 448 110.9 425.1 110.9 396.3C110.9 361 145.1 269.5 157.5 234.3C151.2 236.6 144.4 238.6 137.5 238.6C114.1 238.6 89.2 209.5 89.2 186C89.2 177.1 94.1 164.6 97.2 156.3C60.3 146.3 46.1 121.7 46.1 84.6C46 12.4 114.4 -64 210.6 -64C328.6 -64 402 24.6 402 138.9C402 182 395.1 220.9 347.1 232.6zM311.7 340C315.7 352.3 332.8 404.3 348.8 404.3C357.4000000000001 404.3 359.7 395.4 359.7 388.3C359.7 369.2 321.1 263.7 312.6 240.3L278.6 246.3L311.7 340zM142.3 399.7C142.3 411.6 156.8 445.4 188.6 352.6L223.2 252.3C207.6 253.6 195.5 255.3 187.8 250.9C176.9 279.7000000000001 142.3 370.6 142.3 399.7000000000001zM140 204C169.3 204 207.1 109.4 207.1 96.6C207.1 91.5 202.2 85.2000000000001 196.5 85.2000000000001C175.6 85.2000000000001 119.6 162.1 119.6 182.9C119.7 190.6 132.3 204 140 204zM324.3 17.7C295.2 -14.3 258 -30.9 214.6 -30.9C155.2 -30.9 108.3 1.7 85.7 57.4C68.6 100.8 89.5 125.7 106.3 125.7C117.7 125.7 160.6 65.4 160.6 52.6C160.6 47.7 152.9 44.3 148.9 44.3C132.8000000000001 44.3 126.5 59.8 97.8 95.7C68.1 66 118.3000000000001 8.8 156.1 8.8C182.2 8.8 199.2 32.9999999999999 194.1 50.8C197.8 50.8 202.4 50.4999999999999 205.8 51.4C206.9 24.3 214.9 -8 247.5 -10.3C247.5 -9.4 249.5 -3.2 249.5 -2.9C249.5 14.4999999999999 238.9 29.7 238.9 47.4C238.9 75.7 260.6 103.1 282.6 119.1C290.6 125.1 300.3 128.8 309.7000000000001 132.2C319.4000000000001 135.9 329.7000000000001 140.2 337.1 147.6C336 158.8 331.4000000000001 168.7 320.2000000000001 168.7C292.5000000000001 168.7 199.6000000000001 164.7 199.6000000000001 208.4C199.6000000000001 215.1 199.7000000000001 221.5 217.0000000000001 221.5C249.3000000000001 221.5 331.3000000000001 213.5 355.3000000000001 192.4C373.4000000000001 176.3 379.6000000000001 79.2 324.3000000000001 17.7zM225.7 143.7C235.4 140.6 245.4 139.7 255.4 137.7C248 132.3 241.4 125.7 235.1 118.6C232.3 127.1 228.9 135.4 225.7 143.7z" glyph-name="angellist" horiz-adv-x="448" unicode=""/><glyph d="M640 209.8L636.8 181.6L602.3 179.3L600.3 161.2L634.8 163.5L631.5999999999999 135.3L597.1999999999999 133.1L594.9 113L629.3 115.2L626.3 89.1L561.5999999999999 84.9999999999999L574.3 198.1999999999999L527 82.8L495.1 80.8L471.3 198.6L501.6 200.6L515.2 121.2000000000001L546.9000000000001 203.6000000000001L640.0000000000001 209.8000000000001zM426.8 76.5L455.1 78.3L468 198.4L439.6 196.5L426.8 76.5zM162 59.9L142.6 95.9L139.1 58.5L110.9 56.8L113.6 85.9C102.6 67.9 81.6 51.6 56.7 50.1C23.9 48.1 -3 71 0.3 108.3C2.9 137.6 27 171.1 67.8 173.7000000000001C105.5 176.1 115.4 150.5000000000001 119.1 144.9L121.9 175.7000000000001L160.8 178.2000000000001C180.9 179.5000000000001 199.5 174.5000000000001 203.3 154.5000000000001L205.9 181.1000000000001L270.7 185.3000000000001L268 157.4000000000001L231.6 155.0000000000001L229.9 137.1000000000001L266.3 139.4000000000002L263.6 111.5000000000002L227.2 109.2000000000002L225.3 89.3000000000002L261.6 91.6000000000002L259.5 70.8000000000002L314.5 188.0000000000002L338.3 189.6000000000002L370.4 79L379.3 164.6L357 163.2000000000001L359.8999999999999 191.1L434.8999999999999 196L431.8999999999999 168L407.5999999999999 166.4L397.8999999999999 74.5L339.8999999999999 70.8L335.5999999999999 86.4L296.2 83.9L288.2 67.6L162 59.9zM117.7 130.1L91.3 128.4C84.6 140.8 76.9 145 65 144.2C46 143 31.7 126.7 30.4 110.9C29 94.9 37.7 78.4 59.1 79.7C71.9 80.5 80.4 88.3 88 98.6L115 100.3L117.7 130.1zM173.8 137.8C175 150.6999999999999 166.2 151.4 147.7 150.1999999999999L145 121.6999999999999C159.2 122.5999999999999 172.5 123.8 173.8000000000001 137.8zM194.9 66.9999999999999L200.7 127C195.7 113.5 186 105.8999999999999 172.8 100.3999999999999L194.9 66.9999999999999zM330.3 111.9999999999999L322.4000000000001 149.8L306.6 110.4999999999999L330.3 111.9999999999999zM160.2 186.5999999999999L155.9 204.0999999999999L116.3 201.4999999999999L108.2 183.2999999999999L76.3 181.1999999999999L133.3 303.0999999999999L157.2 304.6999999999999L187.9 202.6999999999999L197.8 307.3999999999999L224.8 309.1999999999999L262.6 245.5999999999999L269.1 312.1999999999999L297.6 314.0999999999999L293.6 272.8999999999999C301 286.3999999999999 316.5 317.5999999999999 357.2000000000001 320.3999999999999C397.7000000000001 323.1999999999999 409.6 291.0999999999999 410.6 290.0999999999999L413.9000000000001 322.0999999999999L453.2 324.7999999999999C465.9 325.6999999999999 481.0000000000001 324.4999999999999 489.5000000000001 315.0999999999999L485.1000000000001 326.9999999999999L517.3000000000001 329.1999999999999L530.2 285.9999999999999L553.2 331.6999999999999L584.2 333.8999999999999L540.6 255.4999999999999L535.8000000000001 211.1999999999999L507.4000000000001 209.2999999999999L512.2 253.5999999999999L496.4 296.5999999999999C497.4 274.2999999999999 487.2 256.4999999999999 464.4 246.9999999999999L489.6 208.1999999999999L453.2 205.7999999999999L434.0000000000001 242.5999999999999L430.0000000000001 204.2999999999999L401.6000000000001 202.3999999999998L404.9000000000001 233.8999999999999C398.2000000000001 224.5999999999998 385.2000000000001 198.4999999999998 345.3000000000001 195.8999999999998C319.1000000000001 194.1999999999999 299.7000000000001 206.1999999999999 289.9000000000001 235.0999999999999L285.9000000000001 194.7999999999999L260.9000000000001 193.1999999999999L223.3000000000001 256.4999999999999L217.0000000000001 190.2999999999999L160.2000000000001 186.5999999999999zM436.8000000000001 268.7C447.0000000000001 269.3999999999999 454.3000000000001 270.7999999999999 458.4000000000001 272.9999999999999C462.9000000000001 275.3999999999999 465.4000000000001 279.3999999999999 466.0000000000001 285.0999999999999C466.6000000000001 290.3999999999999 465.4000000000001 293.8999999999999 462.6000000000001 295.4999999999999C459.0000000000001 297.5999999999999 452.0000000000001 298.3 439.7000000000002 297.4999999999999L436.8000000000002 268.7zM327.7 234C333.3 228.1 340.4 225.5 349 226.1C353.7 226.4 358.1 227.9 362.3 230.2C367.8 233.2 372.9000000000001 238.2 377.4000000000001 244.5L343.2000000000001 242.2L345.6 266.1L408.7000000000001 270.4L409.9000000000001 282.4L378.7000000000001 280.3C374.6 284 370.9000000000001 286.9 367.6 288.4C363.6 290.1 359.5 291.2000000000001 355.4000000000001 290.9C347.4000000000001 290.4 340.1 287.3 333.4000000000001 281.7000000000001C325.7000000000001 275.3 321.4000000000001 267.2000000000001 320.5000000000001 257.3C319.4000000000001 247.7 321.9000000000001 240 327.7000000000001 234zM126.4 225.8L150.2 227.4L141.9 265L126.4 225.8z" glyph-name="angrycreative" horiz-adv-x="640" unicode=""/><glyph d="M169.7 179.9H245.9L207.8 271.5L169.7 179.9zM207.8 416L0 341.6L31.8 65.9L207.8 -32L383.8 65.9L415.6 341.6L207.8 416zM338 74.2H289.4L263.2 139.6H152.6L126.4 74.2000000000001H77.7L207.8 366.5L338 74.2z" glyph-name="angular" horiz-adv-x="415.6" unicode=""/><glyph d="M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM127 63.5C121.5 53.9 109.2 50.7 99.7 56.2C90.1 61.7 86.9 74 92.4 83.5L106.7 108.2C122.8 113.1 136 109.3 146.3 96.8L127 63.5zM265.9 117.4H84C73 117.4 64 126.4 64 137.4S73 157.4 84 157.4H135L200.4 270.6L179.9 306C174.4 315.6 177.7 327.8 187.2 333.3C196.8 338.8 209 335.5 214.5 326L223.4 310.6L232.3000000000001 326C237.8000000000001 335.6 250.1000000000001 338.8 259.6 333.3C269.2000000000001 327.8 272.4000000000001 315.5 266.9000000000001 306L181.1 157.4H243.2C263.4000000000001 157.4 274.7000000000001 133.7 265.9000000000001 117.4zM364 117.4H335L354.6 83.5C360.1 73.9 356.8 61.7 347.3 56.2C337.7 50.7 325.5 54 320 63.5C287.1 120.4 262.5 163.2 246 191.6C229.3 220.6 241.2 249.6 253.1 259.4000000000001C266.2 236.7000000000001 285.8 202.7000000000001 312 157.4H364C375 157.4 384 148.4 384 137.4C384 126.3 375 117.4 364 117.4z" glyph-name="app-store-ios" horiz-adv-x="448" unicode=""/><glyph d="M255.9 327.1L265 342.8C270.6 352.6 283.1 355.9 292.9 350.3C302.7 344.7 306 332.2 300.4 322.4L212.9 170.9H276.2C296.7 170.9 308.2 146.8 299.3 130.1H113.8C102.5 130.1 93.4 139.2 93.4 150.5C93.4 161.8 102.5 170.8999999999999 113.8 170.8999999999999H165.8L232.4 286.3L211.6 322.3999999999999C206 332.2 209.3 344.5999999999999 219.1 350.3C228.9 355.8999999999999 241.3 352.5999999999999 247 342.8L255.9 327.0999999999999zM177.2 109.1L157.6 75.1C152 65.3 139.5 62 129.7 67.6C119.9 73.2000000000001 116.6 85.7000000000001 122.2 95.5L136.8 120.7C153.2 125.8 166.6 121.9 177.2 109.1zM346.1 170.8H399.2000000000001C410.5000000000001 170.8 419.6 161.7 419.6 150.4C419.6 139.1 410.5 130.0000000000001 399.2000000000001 130.0000000000001H369.7000000000001L389.6 95.5000000000001C395.2000000000001 85.7000000000001 391.9000000000001 73.3000000000001 382.1 67.6000000000001C372.3 62.0000000000001 359.9000000000001 65.3000000000001 354.2000000000001 75.1000000000001C320.7000000000001 133.2000000000001 295.5000000000001 176.7000000000001 278.8000000000001 205.7000000000001C261.7000000000001 235.2000000000001 273.9000000000001 264.8000000000001 286.0000000000001 274.8000000000001C299.4000000000001 251.8000000000001 319.4000000000001 217.1000000000001 346.1000000000001 170.8000000000001zM256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM472 192C472 73.3 375.9 -24 256 -24C137.3 -24 40 72.1 40 192C40 310.7 136.1 408 256 408C374.7 408 472 311.9 472 192z" glyph-name="app-store" horiz-adv-x="512" unicode=""/><glyph d="M42.1 208.9C64.3 208.9 71.1 206.1 75.6 194.3H76.4V217.2C76.4 228.5000000000001 71.6 232.6 58.5 232.6C47.2 232.6 44.1 230.1 43.4 219.8H4.8C5.1 233.7 6.3 238.9 10.6 244.2C17.9 253 29.5 256 56.7 256C89.7 256 103.8 251 110.6 237.1C112.6 232.8 114.6 221.5 114.6 213.4V137.1H76.3L77.6 156.2000000000001H76.6C71.3 140.6 63 135.8000000000001 41.1 135.8000000000001C10.8 135.8000000000001 0 145.9000000000001 0 173.1000000000001C0 198.3000000000001 12.3 208.9000000000001 42.1 208.9000000000001zM59.2 160.8C72.3 160.8 76.1 163.8 76.1 174.2C76.1 183.3 71.8 185.8 56.5 185.8C43.4 185.8 38.6 182.8 38.6 173.7C38.5 163.3 42.3 160.8 59.2 160.8zM137 255.7H175.3L173.8 235.1H174.6C183.7 252.2 190.5 256 212.1 256C226.5000000000001 256 236.8 253.0000000000001 243.6 246.9000000000001C253.4000000000001 238.3000000000001 256.4000000000001 226.5000000000001 256.4000000000001 198.8000000000001C256.4000000000001 168.8000000000001 253.4000000000001 155.7000000000001 244.3000000000001 145.9C237.5000000000001 138.6 227.9000000000001 135.8 211.1 135.8C190.7 135.8 181.9 141.3 177.3 157H176.5V86.7H137V255.7zM217.9 195C217.9 222.5 214.6 227.5 197.2 227.5C180.3 227.5 176.5 222.5 176.5 198.8C176.5 170.8 180 165.3 197.7 165.3C214.1 165.3 217.9 170.9 217.9 195zM275.8 255.7H314.1L312.6 235.1H313.4000000000001C322.5000000000001 252.2 329.3 256 350.9000000000001 256C365.3 256 375.6 253 382.4000000000001 246.9C392.2000000000001 238.3 395.2000000000001 226.5 395.2000000000001 198.8C395.2000000000001 168.8 392.2000000000001 155.7 383.1 145.9C376.3 138.6 366.7000000000001 135.8 349.8 135.8C329.4000000000001 135.8 320.6 141.3 316 157H315.2V86.7H275.7V255.7zM356.7000000000001 195C356.7000000000001 222.5 353.4000000000001 227.5 336.0000000000001 227.5C319.1000000000001 227.5 315.3000000000001 222.5 315.3000000000001 198.8C315.3000000000001 170.8 318.8000000000001 165.3 336.5000000000001 165.3C352.9000000000001 165.3 356.7000000000001 170.9 356.7000000000001 195zM410.5000000000001 198.8C410.5000000000001 224.2 413.8000000000001 236.6 422.8000000000001 244.6C431.6000000000001 252.7 445.0000000000001 255.9000000000001 467.9000000000001 255.9000000000001C510.7000000000001 255.9000000000001 523.6000000000001 243.1 523.6000000000001 200.2000000000001V189.1H448.3000000000002C448.0000000000001 187.1 448.0000000000001 185.1 448.0000000000001 184.3C448.0000000000001 167.4 452.5000000000001 162.4 468.1000000000001 162.4C482.0000000000001 162.4 486.0000000000001 165.4 486.0000000000001 176.3H523.5000000000001V174C523.5000000000001 164.2 521.0000000000001 155.1 516.7000000000002 149.3C509.4000000000001 139.5 497.1000000000001 135.7 472.4000000000001 135.7C444.9000000000002 135.7 430.8000000000002 139 421.8000000000002 148C413.3000000000002 156.5 410.5000000000001 169.3 410.5000000000001 198.8zM486.9000000000001 210.4C486.6000000000001 212.2 486.6000000000001 213.7 486.6000000000001 214.2C486.6000000000001 226.5000000000001 483.3000000000001 228.8 467.0000000000001 228.8C452.6000000000001 228.8 449.9000000000001 225.8 448.9000000000001 213.7L448.6 210.4H486.9zM542.5000000000001 255.7H580.8000000000001L579.0000000000001 235.8H579.7000000000002C586.5000000000001 250.7 594.1000000000001 256 609.4000000000002 256C620.2000000000002 256 628.5000000000002 252.7 632.8000000000002 246.7C638.1000000000001 239.4 639.6000000000001 232.3 639.6000000000001 212.7C639.6000000000001 211.2 639.6000000000001 207.7 639.8000000000002 203.4H604.8000000000002C605.1000000000001 205.2 605.1000000000001 206.7 605.1000000000001 207.4C605.1000000000001 222.8 603.1000000000001 226.8 594.8000000000002 226.8C588.5000000000002 226.8 584.0000000000002 223.5 581.7000000000002 217.5C580.7000000000002 214.5 580.7000000000002 213.1999999999999 580.7000000000002 205.1999999999999V137.1999999999999H542.4000000000002V255.7z" glyph-name="apper" horiz-adv-x="640" unicode=""/><glyph d="M116.9 289.5C109.4 280.6 97.4 273.6 85.4 274.6C83.9 286.6 89.8 299.4 96.7 307.2C104.2 316.3 117.3 322.8 128 323.3C129.2 310.9 124.3 298.6 116.9 289.5M127.8 272.3C110.4 273.3 95.5 262.4 87.3 262.4C78.9 262.4 66.3 271.8 52.5 271.5C34.6 271.2 18 261.1 8.9 245C-9.9 212.7 4 165 22.2 138.7C31.1 125.7 41.7 111.4 55.7 111.9C69 112.4 74.2 120.5 90.2 120.5C106.3 120.5 111 111.9 125 112.1C139.5 112.4 148.6 125.1 157.5 138.1C167.6 152.9 171.8 167.2000000000001 172 168C171.7 168.3 144 178.9 143.7 210.9C143.4 237.7 165.6 250.4 166.6 251.2C154.1 269.8 134.6 271.8 127.8 272.3M228.2 308.5V113.6H258.5V180.2000000000001H300.4C338.7 180.2000000000001 365.5 206.5000000000001 365.5 244.5000000000001S339.1 308.5000000000001 301.4 308.5000000000001H228.2zM258.5 283H293.4C319.7 283 334.7 269 334.7 244.4S319.7 205.6 293.3 205.6H258.5V283zM420.7 112.1C439.7 112.1 457.3 121.7000000000001 465.3 137H465.9V113.6H493.9V210.6C493.9 238.7 471.4 256.9000000000001 436.8 256.9000000000001C404.7 256.9000000000001 380.9000000000001 238.5000000000001 380 213.3000000000001H407.3C409.6 225.3000000000001 420.7 233.2000000000001 435.9000000000001 233.2000000000001C454.4 233.2000000000001 464.8 224.6000000000001 464.8 208.7000000000001V197.9L427 195.6C391.9 193.5 372.9 179.1 372.9 154.1C373 128.9 392.6 112.1 420.7 112.1zM428.9 135.2000000000001C412.8 135.2000000000001 402.5 143.0000000000001 402.5 154.8000000000001C402.5 167.1000000000001 412.4 174.2000000000001 431.3 175.3000000000001L464.9 177.4000000000001V166.4000000000001C464.9 148.2000000000001 449.4000000000001 135.2000000000001 428.9000000000001 135.2000000000001zM531.4 60.6C560.9 60.6 574.8 71.9 586.9 106L640 255H609.2L573.6 139.9H573L537.4 255H505.8L557 113.1L554.2 104.5C549.6 89.9 542.1 84.2 528.7 84.2C526.3000000000001 84.2 521.7 84.5 519.8000000000001 84.7V61.3C521.6 60.9 529.1 60.6 531.4000000000001 60.6z" glyph-name="apple-pay" horiz-adv-x="640" unicode=""/><glyph d="M314.7 179.3C314.5 216 331.1 243.7 364.7 264.1C345.9 291 317.5 305.8 280 308.7000000000001C244.5 311.5 205.7 288 191.5 288C176.5 288 142.1 307.7000000000001 115.1 307.7000000000001C59.3 306.8 0 263.2 0 174.5C0 148.3 4.8 121.2 14.4 93.3C27.2 56.6 73.4 -33.4 121.6 -31.9C146.8 -31.3 164.6 -14 197.4 -14C229.2 -14 245.7 -31.9 273.8 -31.9C322.4000000000001 -31.2 364.2000000000001 50.6 376.4 87.4C311.2 118.1 314.7 177.4 314.7 179.3000000000001zM258.1 343.5C285.4 375.9 282.9 405.4 282.1 416C258 414.6 230.1 399.6 214.2 381.1C196.7 361.3 186.4 336.8 188.6 309.2C214.7 307.2 238.5 320.6 258.1 343.5z" glyph-name="apple" horiz-adv-x="376.5" unicode=""/><glyph d="M0 70.6L43 -3.7C51.5 -20.5 68.8 -32 88.9 -32H374.3L315.1 70.6H0zM499.8 98L333.6 388.7C325 404.9 307.9 416 288.2 416H199.8L457.1 -31.6L497.8 38.9C499.7 42.1 518.8 68.6 499.8 98zM273 143.5L157.5 343.5L42 143.5H273z" glyph-name="artstation" horiz-adv-x="508.1" unicode=""/><glyph d="M517.5 138.8C556.3 178.8 575.6 218.8 576 254.9C576.8 320.4 516.6 373.1 406.6 389.9C277.9 409.6 118.1 374.4 0 307.5C52 334 110.6 355.7 170.7 365.7C245.2 386.2 323.7 391.1 392 380.5C544.5 356.7 588.8 253 490.8 148.8C480.6 138 468.8 127.7 455.8 118.2L304.9 344.6L114.7 59.1C49.1 88.5 38.2 149.3 95.6 210.3C116.4 232.5 143.9 252.2 175.1 268.4C195.1 280.6 214.8 291 237.1 299.1C172 278.8 114.4 246.2 75.5 206.2C47.8 177.6 34.1 149.1 33.8 123.3C33.3 88.1999999999999 57.2 58.1999999999999 102.2 40.3L67.7 -11.4H169.3L191.3 22.9999999999999C213.5 21.9999999999999 236.6 22.9999999999999 259.9 25.6999999999999L237.1 -11.4000000000001H372.6L340 41.7C358.6 47 376.9 53.2 394.5 60.4L440.4 -11.4H542L468.6 99C487.1 111.1 503.6 124.5 517.5 138.8zM329.9 58.3L304.9 98.9L272.2 45.6C248.8 42.1 225.5 40.5 203 41.2L304.9 200.5000000000001L383.6 77.5000000000001C366.4 70.1000000000001 348.3 63.6000000000001 329.9 58.3000000000001z" glyph-name="asymmetrik" horiz-adv-x="576" unicode=""/><glyph d="M152.2 211.6C144.5 219.8 132.5 219.3 127.4 208.8L1.6 -42.2C-3.4 -52.2 4 -63.9 15 -63.9H190C195.8 -64 201 -60.7 203.4 -55.5C241.3 22.3 218.5 140.8 152.2 211.6zM244.4 439.9C122.1 246.5 235.9 91.3 309.4 -55.6C311.9 -60.7 317.1 -64 322.8 -64H497C508.2 -64 515.4 -52.2 510.4 -42.3C510.4 -42.3 275.9 428.3 270 440C264.7 450.6 251.2 450.8 244.4 439.9z" glyph-name="atlassian" horiz-adv-x="512" unicode=""/><glyph d="M640 248.1V194.1L320 -5.9L0 194V248L320 48L640 248.1zM445.5 176.1L492.6 205.5C455.4 261.3 391.9000000000001 298.1 319.9000000000001 298.1C247.9000000000001 298.1 184.4 261.4000000000001 147.3000000000001 205.7H147.6000000000001C150.1000000000001 208 152.7000000000001 210.2 155.3000000000001 212.4C245.0000000000001 286.8 374.7000000000001 270.5 445.5 176.1zM225.4 157.3C242.3 169.2 261.9 176 282.8 176C317.2 176 348 157.6 369.2000000000001 128.4L414.6 156.8C393.7000000000001 186.6999999999999 359 206.3 319.8 206.3C280.9000000000001 206.3 246.4 186.9 225.4 157.3zM103.6 286.9C235.4 391.2 421.8 363.3 521.1 224.8L521.8000000000001 223.8L570.6 254.2C517.1 335.9 424.8 389.9 319.9 389.9C216.4 389.9 123.3 336.4 69.4 254.3C79.3 264.8 92.1 277.8 103.6 286.9zM570.6 254.2z" glyph-name="audible" horiz-adv-x="640" unicode=""/><glyph d="M318.4 432L157.4 -48H234.9L260.3 33.4H379.8L405 -48H482.5L318.4 432zM278.1 90.1L319.3 220.5H320.8L361.7 90.1H278.0999999999999zM640 43L630 74.4L462.1 90L481.5 33.5L640 43zM177.9 90L10 74.3L0 43L158.5 33.6L177.9 90z" glyph-name="autoprefixer" horiz-adv-x="640" unicode=""/><glyph d="M453.1 416H141.1C102.2 416 64.9 384.8 57.8 346.3L1.2 37.7C-5.9 -0.8 19.9 -32 58.9 -32H370.9C409.8 -32 447.1 -0.8 454.2 37.7L510.9 346.2C517.9 384.8 492.1 416 453.1 416zM394.9000000000001 68.7L362.9000000000001 55.2L247.5000000000001 165.2C232.8000000000001 155.2 218.3000000000001 145.7 205.8 138.1L227.9 73.9L210 61.2L169.4 122.2L117 170.3L132.7 185.7L190.7 154.6C200 165.1 211.5 177.2 223.5 189.5L203 219.1L134.2 318.9L153 347.8L161.9 352.6L265 240.2L269.9 235.7C289.3 254.5 303.7 268.1 303.7 268.1C311.4 274.6 325.2 271 334.4 260.2C343.4 249.7 345 235.5 337.1 228.9C335.3 227.6 321.6 217.5 301.8 203.3L306.3 196L401.2 76.6L394.8999999999999 68.7z" glyph-name="avianex" horiz-adv-x="512" unicode=""/><glyph d="M107.2 164.5L88.2 206.3H36.1L17.1 164.5H0L62.2 295.9L124.4 164.5H107.2zM62.2 262.6L42.6 220.1H81.8L62.2 262.6zM174.9 160.2L112.7 291.6H129.8L174.9 195.6L220 291.6H237L174.9 160.2zM255.5 164.5V291.6H271V164.5H255.5zM464.6 280.1V164.5H447.3V280.1H406.1V291.6H505.7V280.1H464.6zM640 229.2C640 220 638.3 211.4 634.9 203.4C631.5 195.4 626.6999999999999 188.3 620.6999999999999 182.3C614.6999999999999 176.3 607.5999999999999 171.5 599.5999999999999 168.1C591.5999999999999 164.7 582.9999999999999 163 573.8 163S556 164.6999999999999 548 168.1C540 171.5 532.9 176.3 526.9 182.3C520.9 188.3 516.1 195.3 512.6999999999999 203.4C509.3 211.4 507.5999999999999 220 507.5999999999999 229.2S509.2999999999999 247 512.6999999999999 255C516.0999999999999 263 520.9 270.1 526.9 276.1C532.9 282.1 539.9 284.5 548 288C556 291.4 564.6 293.1 573.8 293.1S591.5999999999999 291.4 599.5999999999999 288C607.5999999999999 284.6 614.6999999999999 282.2 620.6999999999999 276.1C626.6999999999999 270.1 631.4 263 634.9 255C638.3 247 640 238.4 640 229.2zM624.5 229.2C624.5 236.5 623.2 243.2 620.6 249.5C618 255.8 614.4 261.2 609.8000000000001 265.8C605.2 270.4 599.8000000000001 274 593.6 276.7000000000001C587.4 279.4 580.8000000000001 280.7000000000001 573.8000000000001 280.7000000000001S560.2 279.4 554.0000000000001 276.7000000000001C547.8000000000001 274 542.4000000000001 270.4 537.8000000000001 265.8C533.2 261.2000000000001 529.6 255.8 527.0000000000001 249.5C524.4000000000001 243.2 523.1000000000001 236.4 523.1000000000001 229.2C523.1000000000001 221.9 524.4000000000001 215.2 527.0000000000001 208.9C529.6000000000001 202.6 533.2000000000002 197.2 537.8000000000001 192.6C542.4000000000001 188 547.8000000000001 184.4 554.0000000000001 181.7C560.2000000000002 179 566.8000000000001 177.7 573.8000000000001 177.7S587.4000000000001 179 593.6 181.7C599.8000000000001 184.4 605.2 188 609.8000000000001 192.6C614.4000000000001 197.2 618.0000000000001 202.6 620.6 208.9C623.2 215.2 624.5 222 624.5 229.2zM529.7 132.5V138.8L618.6 148.8L375.7000000000001 135.4C376.3000000000001 137.6 376.8000000000001 140.0000000000001 377.1 142.6C377.4000000000001 144.6 377.6 146.8 377.7000000000001 149.1L442.5000000000001 157.2000000000001L377.6 155.3000000000001C377.6 155.7000000000001 377.5 156.0000000000001 377.5 156.4000000000001C374.7 173.6000000000001 352 180.1000000000001 352 180.1000000000001L350.9 206.4000000000001H374.7L393.7 164.6000000000001H410.8L348.6 296L286.4000000000001 164.6H303.5000000000001L322.5000000000001 206.4H346.1000000000001L345 180S322.3 173.5 319.5 156.3C319.4 156 319.4 155.6 319.4 155.2L254.5 157.1L319.3 149C319.4 146.6999999999999 319.6 144.6 319.9 142.5C320.2 139.8999999999999 320.7 137.5 321.3 135.3L78.4 148.8L167.3 138.8V132.5C161.4 131.6 156.8 126.5 156.8 120.3C156.8 113.5 162.4 107.9 169.2 107.9C176 107.9 181.6 113.5000000000001 181.6 120.3C181.6 126.5 177 131.6 171.1 132.5V138.3L251.4000000000001 129.3V123.9C245.7000000000001 122.8 241.5000000000001 117.7000000000001 241.5000000000001 111.8C241.5000000000001 105 247.1 101.6 253.9000000000001 101.6C260.7000000000001 101.6 266.3 105 266.3 111.8C266.3 117.8 262 122.8 256.4000000000001 123.9V128.8L284.8 125.6V101.9H278.9000000000001V88H284.8V94.6H289.8V88H295.7V101.8H289.8V125L328.1 120.7C336.2000000000001 109.3 347.1 107.1 347.1 107.1L347 100.4L341.9 100.2L341.8 88.1H345.9L346 93.1H351.2L351.3 88.1H355.4000000000001L355.3 100.2L350.2 100.4L350.1 107.1S361 109.2 369.1 120.7L407.4 125V101.8H401.5V88H407.4V94.6H412.4V88H418.3V101.8H412.4V125.5L440.8 128.7V123.8C435.1 122.7 430.9 117.6 430.9 111.7C430.9 104.9 436.5 101.5 443.3 101.5C450.1 101.5 455.6999999999999 104.9 455.6999999999999 111.7C455.6999999999999 117.7 451.3999999999999 122.7 445.8 123.8V129.2L526.0999999999999 138.2V132.4C520.1999999999999 131.5 515.5999999999999 126.4 515.5999999999999 120.2C515.5999999999999 113.4 521.1999999999999 107.8 527.9999999999999 107.8C534.7999999999998 107.8 540.3999999999999 113.4 540.3999999999999 120.2C540.1999999999998 126.5 535.6999999999998 131.6 529.6999999999998 132.5zM328.9000000000001 220.1L348.5000000000001 262.6L368.1000000000001 220.1H350.2000000000001L348.5000000000001 260.4L346.8000000000002 220.1H328.9000000000002z" glyph-name="aviato" horiz-adv-x="640" unicode=""/><glyph d="M180.41 244.99C179.69 222.34 191.01 212.31 191.29 205.94A8.164 8.164 0 0 0 187.19 199.67L174.39 190.71A10.659999999999998 10.659999999999998 0 0 0 168.76 188.79C168.33 188.81 160.57 186.96 148.28 214.4A78.608 78.608 0 0 0 85.67 184.95C69.39 184.06 25.27 194.19 27.54 241.16C25.95 279.44 61.6 303.2200000000001 98.47 301.21C105.57 301.19 120.07 300.84 145.46 294.94V310.56C148.15 337.02 130.76 357.55 100.65 354.47C98.25 354.46 81.25 354.97 54.81 344.36C47.45 340.98 46.51 341.54 44.06 341.54C36.65 341.54 39.7 363.02 41.12 365.74C46.33 372.14 76.98 384.09 107.06 383.92A76.857 76.857 0 0 0 162.75 366.64A70.285 70.285 0 0 0 180.42 314.28L180.41 244.99zM93.99 212.6C126.42 213.07 140.15 232.57 143.28 243.07C145.74 253.12 145.33 259.48 145.33 270.4700000000001C135.66 272.79 121.74 275.32 105.77 275.3400000000001C90.62 276.48 62.95 269.7100000000001 64.03 243.08C62.79 226.29 75.15 211.68 93.99 212.6zM264.91 189.55C257.05 188.83 253.39 194.41 252.23 199.92L202.43 364.5700000000001C201.46 367.35 200.8199999999999 370.2200000000001 200.51 373.1500000000001A4.61 4.61 0 0 0 204.37 378.4000000000001C204.61 378.4400000000001 202.24 378.4000000000001 226.62 378.4000000000001C235.4 379.2800000000001 238.26 372.37 239.17 368.0300000000001L274.89 227.2L308.05 368.03C308.58 371.25 310.99 379.1 320.85 378.27H338.01C340.18 378.45 349.12 378.77 350.69 367.9L384.11 225.27L420.98 367.9C421.4600000000001 370.0800000000001 423.7000000000001 379.27 433.6600000000001 378.27H453.38C454.23 378.4 459.53 379.0800000000001 458.63 369.69C458.2 367.8400000000001 462.04 380.35 405.88 199.79C404.73 194.28 401.06 188.7000000000001 393.2 189.42H374.51C363.57 188.2700000000001 362 199.08 361.83 200.17L328.67 337.3L295.89 200.31C295.73 199.22 294.16 188.41 283.21 189.56H264.91zM538.39 183.92C532.51 183.91 504.47 184.22 481.03 196.21A12.802 12.802 0 0 0 473.22 208.12V218.87C473.22 227.32 479.42 225.77 482.05 224.76C492.09 220.7 498.53 217.62 510.86 215.16C547.51 207.63 563.63 217.46 567.5799999999999 219.64C580.7299999999999 227.45 581.77 245.32 572.8299999999999 254.59C562.3499999999999 263.38 557.3499999999999 263.71 519.6999999999999 275.59C515.06 276.88 475.9999999999999 289.2 475.9099999999999 327.95C475.2999999999999 356.19 500.9599999999999 384.13 545.43 383.9C558.0999999999999 383.91 591.8599999999999 379.77 601 368.28C602.35 366.19 603.02 363.73 602.92 361.24V351.13C602.92 346.69 601.3 344.47 598.05 344.47C590.3399999999999 345.33 576.66 355.64 548.89 355.22C542 355.58 509 354.31 510.48 330.25C510.05 311.29 537.09 304.18 540.1800000000001 303.36C576.6400000000001 292.39 588.83 290.57 603.3000000000001 273.78C620.44 251.53 611.2 225.48 607.6500000000001 218.34C588.57 180.85 539.2300000000001 183.9 538.3900000000001 183.92zM578.59 79.06C508.5600000000001 27.34 406.9000000000001 -0.19 320.1 -0.19A469.127 469.127 0 0 0 2.83 120.54C-3.7 126.43 2.06 134.5 10 130.0100000000001A637.37 637.37 0 0 1 326.88 45.89A630.22 630.22 0 0 1 568.47 95.4400000000001C580.25 100.4400000000001 590.24 87.64 578.59 79.0600000000001zM607.7800000000001 112.35C598.82 123.87 548.5000000000001 117.73 525.97 115.04C519.1800000000001 114.2700000000001 518.03 120.16 524.1800000000001 124.5100000000001C564.2500000000001 152.6800000000001 630.0600000000001 144.6100000000001 637.6200000000001 135.1400000000001C645.1700000000001 125.67 635.5700000000002 59.73 598.0600000000002 28.23C592.3000000000002 23.36 586.7900000000002 25.93 589.3500000000001 32.33C597.7900000000002 53.58 616.7400000000001 100.8200000000001 607.7800000000001 112.35z" glyph-name="aws" horiz-adv-x="640" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM296.2 113.9H115.2L199.9 270H380.9L296.2 113.9z" glyph-name="bandcamp" horiz-adv-x="496" unicode=""/><glyph d="M186.5 155C186.5 135.7 172.5 129.6 155.3 129.6H110.2V182.5H156.2C174.8 182.4 186.5 174.7 186.5 155zM178.8 237.3C178.8 255 165.1 259.2000000000001 149.9 259.2000000000001H110.3V214.4H153C168.1 214.4 178.8 221 178.8 237.3000000000001zM311.1 214.1C292.8 214.1 280.6 202.7 279.4000000000001 184.4H341.6C339.9000000000001 202.9 330.3 214.1 311.1 214.1zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM271.7 263H349.5V281.9H271.7V263zM228.7 152.7C228.7 176.8 217.3 197.6 193.7 204.3C210.9 212.5 219.9 222 219.9 241.3C219.9 279.5 191.4 288.8 158.5 288.8H68V96.8H161.1C196 96.9999999999999 228.7 113.6999999999999 228.7 152.6999999999999zM380 167.5C380 208.6 355.9 242.9 312.4 242.9C270 242.9 241.3 211.1 241.3 169.3C241.3 126 268.6 96.3 312.4 96.3C345.6 96.3 367.1 111.2 377.5 143.1H343.8C340.1 131.2000000000001 325.2 125 313.6 125C291.2000000000001 125 279.5 138.1 279.5 160.3H379.7C379.8 162.6 380 165.1 380 167.5z" glyph-name="behance-square" horiz-adv-x="448" unicode=""/><glyph d="M232 210.8C263.8 226 280.4 249 280.4 284.8C280.4 355.4 227.8 372.6 167.1 372.6H0V18.2H171.8C236.2 18.2 296.7000000000001 49.1 296.7000000000001 121.1C296.7000000000001 165.6 275.6 198.5 232.0000000000001 210.8zM77.9 312.1H151C179.1 312.1 204.4 304.2 204.4 271.6C204.4 241.5 184.7 229.4 156.9 229.4H77.9V312.1zM161.2 78.4H77.9V176H162.8C197.1 176 218.8 161.7 218.8 125.4C218.8 89.6 192.9 78.4 161.2 78.4zM519.7 319.1H376V354H519.7V319.1zM576 142.8C576 218.7 531.6 282 451.1 282C372.9000000000001 282 319.8 223.2 319.8 146.2C319.8 66.3 370.1 11.5 451.1 11.5C512.4 11.5 552.1 39.1 571.2 97.8H509C502.3 75.9 474.7 64.3 453.3 64.3C412 64.3 390.3 88.5 390.3 129.6H575.4C575.6999999999999 133.8 576 138.3 576 142.8zM390.4 174C392.7 207.7 415.1 228.8 448.9 228.8C484.3 228.8 502.1 208 505.1 174H390.4z" glyph-name="behance" horiz-adv-x="576" unicode=""/><glyph d="M416 416H32C14.4 416 0 401.6 0 384V0C0 -17.6 14.4 -32 32 -32H416C433.6 -32 448 -17.6 448 0V384C448 401.6 433.6 416 416 416zM352 158.6C352 109.2000000000001 340.6 76 248.2 76H231.3C187.2 76 168.9 90.9 160.9 114.8H160V80H96V312H160V237.3H161.1C165.7 267.8 200.8 276.1 230.8 276.1H248.1C340.5 276.1 351.9000000000001 243.0000000000001 351.9000000000001 193.6V158.6zM288 187.5V164.6C288 142.9 284.6 130.8 249.6 130.8H204.3C175.4 130.8 160.2 137.3 160.2 166.5V185.5C160.2 214.8 175.4 221.2 204.3 221.2H249.6C284.6 221.4 288 209.2 288 187.5z" glyph-name="bimobject" horiz-adv-x="448" unicode=""/><glyph d="M16.2 416.4C7.4 416.5 0.1 409.5 0 400.6C0 399.7 0.1 398.7 0.2 397.8L68.1 -14.3C69.8 -24.7 78.8 -32.4 89.4 -32.5H415.1C423 -32.6 429.8 -26.9 431.1 -19.1L499 397.7C500.4 406.4 494.5 414.6 485.8 416C484.9 416.1 484 416.2 483 416.2L16.2 416.4zM302.1 118.6H198.1L170 265.6H327.3L302.1 118.6z" glyph-name="bitbucket" horiz-adv-x="499.2" unicode=""/><glyph d="M504 192C504 55.033 392.967 -56 256 -56S8 55.033 8 192S119.033 440 256 440S504 328.967 504 192zM362.349 227.33C367.286 260.329 342.158 278.069 307.799 289.903L318.945 334.605L291.732 341.386L280.881 297.862C273.727 299.645 266.379 301.326 259.078 302.992L270.007 346.802L242.809 353.583L231.656 308.897C225.734 310.246 219.9209999999999 311.579 214.279 312.981L214.31 313.121L176.78 322.491L169.541 293.429S189.732 288.802 189.3059999999999 288.516C200.3279999999999 285.765 202.3199999999999 278.472 201.9859999999999 272.691L189.2899999999999 221.766C190.0499999999999 221.572 191.0339999999999 221.293 192.119 220.859C191.2119999999999 221.084 190.243 221.332 189.243 221.572L171.447 150.2339999999999C170.098 146.8859999999999 166.68 141.8639999999999 158.976 143.7699999999999C159.2469999999999 143.375 139.196 148.7069999999999 139.196 148.7069999999999L125.6859999999999 117.56L161.0999999999999 108.733C167.6879999999999 107.0819999999999 174.1449999999999 105.3539999999999 180.5 103.727L169.238 58.514L196.4199999999999 51.733L207.5729999999999 96.466A1038.209 1038.209 0 0 1 229.26 90.8389999999999L218.1449999999999 46.3159999999999L245.3579999999999 39.5349999999999L256.6199999999999 84.6629999999999C303.0239999999999 75.8819999999999 337.9189999999999 79.4239999999999 352.6059999999999 121.3899999999999C364.4419999999999 155.1799999999999 352.0169999999999 174.6709999999999 327.6019999999999 187.3809999999999C345.3819999999999 191.4789999999999 358.7759999999999 203.1729999999999 362.3489999999999 227.3299999999999zM300.172 140.151C291.762 106.3609999999999 234.864 124.6279999999999 216.417 129.208L231.361 189.107C249.807 184.504 308.961 175.39 300.172 140.151zM308.589 227.818C300.916 197.082 253.558 212.698 238.196 216.526L251.744 270.853C267.107 267.025 316.58 259.88 308.589 227.818z" glyph-name="bitcoin" horiz-adv-x="512" unicode=""/><glyph d="M78.4 380.8C173.8 470 324.5 472 421.5 377C435.8 362.9 415.1 339.9 399.1 355.5C314.3 437.9 183.3 435.8 100.2000000000001 358.7C83.9000000000001 343.6 63.7000000000001 367 78.4000000000001 380.8zM177.3 -37.8C196.6 -43.5 206.6 -14.2 185.2 -7.8C73 26.1 9.4 141.9 37.7 253.2C42.7 272.8 12.8 281.3 7.5 260.3C-24.6 132.9 48.6 0.5 177.3 -37.8000000000001zM325.4 -35.8C447.3 4.4 518.3 131.1 489.8 255.2C485.3 274.9 454.9 269 459.8 247.3C483.9999999999999 139.6 422.7 29.4 316.6 -6.1C295.4 -13.1 306.2 -42.1 325.4 -35.8zM262.5 43.2L262.7 115C262.7 123.2 256.1 129.8 247.9 129.8C239.7 129.8 233.1 123.1 233.1 115L232.9 43.2C232.9 35 239.5 28.4 247.7 28.4S262.5 35 262.5 43.2zM333.5 312.2C335.6 221.3 338.2 180.3 248 179.7C155.5 180.4 161.1 224 162.5 312.2C162.5 334 130 331.8 130 312.2V240.6C130 171.3 190.7 149.7 248 150.5C305.3 149.7 366 171.3 366 240.6V312.2C366 331.8 333.5 334 333.5 312.2z" glyph-name="bity" horiz-adv-x="496" unicode=""/><glyph d="M0 416V-32H448V416H0zM316.5 90.8L224 2.1L131.5 90.8L196 274.8L131.5 361.4H316.4L252 274.8L316.5 90.8z" glyph-name="black-tie" horiz-adv-x="448" unicode=""/><glyph d="M166 331.1C166 307.7 149.6 282 93.5 282H23.4L44.4 370.8H112.2C154.3 370.8 166 347.5 166 331.1zM292.2 370.8H224.4L205.7 282H275.8C329.6 282 345.9 307.7 345.9 331.1C346 347.5 334.3 370.8 292.2 370.8zM88.8 239.9H21L0 151.1H70.1C126.2 151.1 142.6 174.5 142.6 200.2C142.6 216.5 130.9 239.9000000000001 88.8 239.9000000000001zM268.9 239.9H201.1L182.4 151.1H252.5C306.3 151.1 322.6 174.5 322.6 200.2C322.6 216.5 310.9 239.9000000000001 268.9 239.9000000000001zM458.2 293.7H390.4L371.7 204.9H441.8C495.6 204.9 511.9 228.3 511.9 254C512 270.3 500.3 293.7 458.2 293.7zM430.2 155.8H362.4L343.7 67H413.8C469.9 67 483.9 90.4 483.9 116.1C483.9 132.4 472.3 155.8 430.2 155.8zM240.8 102H173L154.3 13.2H224.4C280.5 13.2 294.5 38.9 294.5 62.3C294.6 78.6 282.9 102 240.8 102z" glyph-name="blackberry" horiz-adv-x="512" unicode=""/><glyph d="M446.6 225.3C444.8 233.3 439.8 240.7 434.1 243.8C432.3 244.8 421.1 246 409.1 246.5C389 247.4 386.8 247.8 380.4000000000001 251.5C370.3 257.4 367.6 263.8 367.5000000000001 281C367.4000000000001 314 353.7000000000001 344.7 326.6000000000001 372.3C307.3000000000001 392 285.7000000000001 405.3 261.1000000000001 412.8C255.2000000000001 414.6 242.0000000000001 415.2 197.8000000000001 415.7C128.4000000000001 416.5 113.0000000000001 415.1 89.4000000000001 405.7C45.9 388.5 14.7 351.9 3.3 305.1C1.2 296.3 0.7 282.2 0.2 201.2C-0.4 99.7 0.3 84.8 6.6 64.7C22.2 15.1 66.5 -21.6 111 -29.6C125.8 -32.3 308.3 -32.9 327 -30.4C359.5 -26.0000000000001 385 -12.9 408.9 11.4999999999999C426.2 29.1999999999999 437 48.3 444.1 73.6C449 91.2 448.6 216.4 446.6 225.3zM124.5 288.9C132.3 296.8 134.5 297.1 183.3 297.1C227.2 297.1 228.7 297 235.1 293.7C244.4000000000001 289 248.5000000000001 282.4 248.5000000000001 271.8C248.5000000000001 262.3 244.7 255.6 236.2 250.2C231.6 247.3 228.9 247.1 185.9 246.9C159.4 246.7 138.2000000000001 247.3 135.1 248.1C118.5 252.8 112.3 276.6 124.5 288.9zM316.3 89.1L301.4000000000001 86.7000000000001L223.9 85.8000000000001C155.8000000000001 85.0000000000001 136.6 86.2000000000001 133 87.8000000000001C125.9 90.9000000000001 119.2 99.5000000000001 118.1 107.2000000000001C117 114.5000000000001 120.7 124.5000000000001 126.3 129.6C133.4 136 136.5 136.2000000000001 223.6 136.3C313.2000000000001 136.4 312.7000000000001 136.4 321.2000000000001 128.5C333.3000000000001 117.2 330.7000000000001 97.3 316.3000000000001 89.1z" glyph-name="blogger-b" horiz-adv-x="448" unicode=""/><glyph d="M162.4 252C167.2 256.9 168.6 257.1 198.8 257.1C226 257.1 226.9 257 230.9 255C236.7 252.1 239.2 248 239.2 241.4C239.2 235.5 236.8 231.4 231.6 228C228.8 226.2 227.1 226.1 200.5 225.9C184.1 225.8 171 226.1 169 226.7C158.7 229.6 154.9 244.4 162.4 252.0000000000001zM223.8 157.5C169.9 157.5 168 157.3 163.6 153.4C160.1 150.3 157.9 144 158.5 139.5C159.2 134.8 163.3000000000001 129.4 167.7 127.5C169.9 126.5 181.8 125.8 224 126.3L271.9 126.9L281.1 128.4C290.1 133.5000000000001 291.6 145.8 284.2 152.8C278.9 157.5 279.2 157.5 223.8 157.5zM447.2000000000001 27.4C443.7000000000001 -1 424.2000000000001 -23 396.1 -30.1C388.9000000000001 -31.9 386.4000000000001 -32 223.2 -31.9C65.4 -31.9 57.3 -31.8 51.2 -30.1C42.8 -27.9 35.6 -24.6 28.9 -20.1C23.3 -16.3 15 -8.3 11.9 -3.7C8.1 1.9 3.7 11.6 1.9 18.3C0.1 25 0 27.7 0 191.7C0 354.8 0 358.3 1.8 365.4C8.1 390.1 27.7 409 53 414.6C60.3 416.2 385.1 416.5 393 414.9C414.2 410.6 430.9 397.8 440.6 378.5C448.3 363.2 447.6 380 447.9000000000001 197.9C448.1 82.1 447.9000000000001 33.4 447.2000000000001 27.4zM361.8000000000001 212.6C360.7000000000001 217.6 357.6000000000001 222.2 354.1000000000001 224.1C353.0000000000001 224.7 346.1000000000001 225.4 338.6000000000001 225.8C326.2000000000001 226.4 324.8000000000001 226.6 320.8000000000001 228.9C314.6000000000001 232.5 312.9000000000001 236.5 312.8000000000001 247.2C312.8000000000001 267.6 304.3000000000001 286.6 287.5000000000001 303.7C275.5000000000001 315.9 262.2000000000001 324.2 246.9000000000001 328.8C243.3000000000001 329.9 235.1000000000001 330.3 207.7000000000001 330.6C164.8000000000001 331.1 155.2000000000001 330.2 140.6000000000001 324.4C113.6000000000001 313.7 94.3000000000001 291 87.2000000000001 262C85.9000000000001 256.5999999999999 85.6000000000001 247.8 85.3 197.6999999999999C84.9 134.8999999999999 85.3 125.5999999999999 89.3 113.1999999999999C99 82.4999999999999 126.4 59.8 153.9 54.8C163.1 53.1 276.1 52.6999999999999 287.6 54.3C307.7000000000001 56.9999999999999 323.5 65.1 338.3 80.1999999999999C349 91.0999999999999 355.7 102.9999999999999 360.1 118.6999999999999C363.3 129.5999999999999 363 207.0999999999999 361.8 212.5999999999999z" glyph-name="blogger" horiz-adv-x="448" unicode=""/><glyph d="M196.48 187.977L289.106 291.31L143.125 448V241.67L57.014 327.781L25.608 296.376L133.669 187.977L25.608 79.578L57.014 48.173L143.125 134.284L145.84 -64L294.392 84.644L196.48 187.977zM237.34 290.973L187.363 240.995L187.025 341.29L237.34 290.973zM187.363 134.96L237.34 84.982L187.025 34.6659999999999L187.363 134.9599999999999z" glyph-name="bluetooth-b" horiz-adv-x="320" unicode=""/><glyph d="M292.6 276.9L249.7 234L249.4 320L292.6 276.9M249.4 57.1L292.5 100.2000000000001L249.6 143.1L249.4 57.1zM416 188.6C416 -17 344.1 -64 230.9 -64S32 -17 32 188.6S115.4 448 228.6 448S416 394.1 416 188.6zM257.5 188.6L336.9 277.2000000000001L211.8 411.5V234.6L138 308.4L111 281.5L203.7 188.5L111 95.5L137.9 68.6L211.7 142.4L214 -27.6L341.4 99.9L257.5 188.6z" glyph-name="bluetooth" horiz-adv-x="448" unicode=""/><glyph d="M310.204 205.362C337.9340000000001 219.542 355.581 244.752 351.4840000000001 286.662C346.1260000000001 344.013 299.0260000000001 363.235 236.6340000000001 368.591V448H188.1060000000001V370.7970000000001C175.5010000000001 370.7970000000001 162.5810000000001 370.482 149.662 370.1670000000001V448H101.134V368.591C83.2920000000001 368.052 62.512 368.315 3.764 368.591V316.913C42.078 317.591 62.181 320.053 66.787 295.486V78.057C63.862 58.565 48.263 61.372 13.532 61.986L3.765 4.32C92.246 4.32 101.135 4.005 101.135 4.005V-64H149.663V3.06C162.897 2.745 175.817 2.745 188.107 2.745V-64H236.635V4.005C317.9340000000001 8.417 372.2820000000001 28.899 379.5300000000001 105.472C385.201 166.918 356.2100000000001 194.334 310.2040000000001 205.362zM150.608 313.447C178.023 313.447 263.7340000000001 321.954 263.7340000000001 264.919C263.7340000000001 210.404 178.0240000000001 216.707 150.608 216.707V313.447zM150.608 61.671V168.179C183.38 168.179 283.735 177.317 283.735 114.924C283.7340000000001 54.738 183.38 61.671 150.608 61.671z" glyph-name="btc" horiz-adv-x="384" unicode=""/><glyph d="M0 416V288H128V416H0zM120 296H8V408H120V296zM160 416V288H288V416H160zM280 296H168V408H280V296zM320 416V288H448V416H320zM440 296H328V408H440V296zM0 256V128H128V256H0zM120 136H8V248H120V136zM160 256V128H288V256H160zM280 136H168V248H280V136zM320 256V128H448V256H320zM440 136H328V248H440V136zM0 96V-32H128V96H0zM120 -24H8V88H120V-24zM160 96V-32H288V96H160zM280 -24H168V88H280V-24zM320 96V-32H448V96H320z" glyph-name="buromobelexperte" horiz-adv-x="448" unicode=""/><glyph d="M224 297.3L266.9 136.6H181.1L224 297.3zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM382.7 42.7L288.2 341.4H159.8L65.3 42.7H156L267.7 134.3L291.9 42.6999999999999H382.7z" glyph-name="buysellads" horiz-adv-x="448" unicode=""/><glyph d="M232.9 448S195.4 375.7 190.4 368.2C185.4 358.2 180.4 358.2 172.8 363.2C162.8 368.2 132.7 385.6 132.7 385.6S160.3 266 160.3 256C162.8 246 152.8 238.5 142.7 246C140.2 248.5 87.6 308.3 87.6 308.3S75.1 281 72.6 276C70.1 271 67.6 266.1 60.1 268.5C50 271 2.4 281 2.4 281S20 221.3 22.5 213.7C24.9 207.7 27.5 201.2 17.5 196.3L0 188.7S102.6 98.8 105.2 96.3C110.3 91.3 115.2 88.8 110.3 73.8C105.2 58.8 100.2 38.6999999999999 100.2 38.6999999999999S195.4 58.8 205.5 61.3C214.2 62.1999999999999 223.8 58.8 223.8 48.8C223.8 38.6999999999999 218 -64 218 -64H248S242.2 38.7 242.2 48.8C242.2 58.8 251.7 62.2 260.6 61.3C270.6 58.8 365.8 38.7 365.8 38.7S360.8 58.8 355.8 73.8S355.8 91.3 360.8 96.3C363.3 98.8 465.9999999999999 188.7000000000001 465.9999999999999 188.7000000000001L448.5 196.2000000000001C438.5 201.1000000000001 441.1 207.7000000000001 443.5 213.6000000000001C445.8999999999999 221.2000000000001 463.6 280.9000000000001 463.6 280.9000000000001S415.9 270.9000000000001 405.9 268.4000000000001C398.4 266 395.9 270.9000000000001 393.4 275.9000000000001S378.4 308.3000000000001 378.4 308.3000000000001S325.8 248.4000000000001 323.3 246.0000000000001C313.3 238.5000000000001 303.2 246.0000000000001 305.7 256.0000000000001C305.7 266.0000000000001 333.3 385.6 333.3 385.6S303.2 368.2000000000001 293.2 363.2000000000001C285.7 358.2000000000001 280.5999999999999 358.2000000000001 275.5999999999999 368.2000000000001C270.5 375.7 232.9 448 232.9 448" glyph-name="canadian-maple-leaf" horiz-adv-x="465.9" unicode=""/><glyph d="M124.7 246.2C124.8 258 124.7 269.7 124.7 281.5V316.8C124.7 318.1 125.1 318.8 126.1 319.5C137.6 327.5 150.2 331.6 164.3 330.6C176.8 329.7 187 323.6 192.4 308.9C195.7 300 196.5 290.7000000000001 196.5 281.2000000000001C196.5 272.5 195.8 263.9 193.1 255.6C187.4 237.8 174.4 230.9000000000001 157.4 231.7C145.7 232.2 135.5 236.7 126 243.4C125.1 244.2 124.6 245 124.7 246.2zM279.6 231.6C284.2000000000001 229.8 288.9000000000001 229.6 293.7000000000001 230.1C305.3000000000001 231.3 315.6 235.8 325.0000000000001 242.6C325.9000000000001 243.2 326.3000000000001 243.9 326.3000000000001 245.1C326.2000000000001 249 326.3000000000001 253 326.3000000000001 256.9C326.3000000000001 260.9 326.2000000000001 264.9 326.3000000000001 268.9C326.3000000000001 270.3 325.9000000000001 270.9 324.5000000000001 271.1C317.5000000000001 272 310.6000000000001 273.3 303.6000000000001 274C296.6000000000001 274.6 289.6000000000001 274.3 282.8000000000001 272.1C276.1000000000001 269.9 271.1000000000001 265.9 269.1000000000001 259C267.5000000000001 253.6 267.5000000000001 248.2 269.2000000000001 242.8C270.8000000000002 237.3 274.4000000000001 233.6 279.6000000000001 231.6zM576 368V16C576 -10.5 554.5 -32 528 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H528C554.5 416 576 394.5 576 368zM368.5 344.1C368.9 342.4 369.4 340.7 370.1 339C386.6 298.4 403 257.7 419.6 217.1C421 213.6 421.3 210.7 419.8 207.2C417 201 414.9000000000001 194.6 412 188.5C409.4 183 405.3 179 399.3 177.3C395.1 176.2 390.8 176 386.4000000000001 176.4C384.3 176.6 382.2000000000001 177.1 380.1 177.2000000000001C377.3 177.4 375.9000000000001 176.1 375.8 173.2000000000001C375.7 170.4 375.7 167.6 375.8 164.9C375.9000000000001 160.3 377.4000000000001 158.2000000000001 382 157.4C386.7 156.6 391.4 155.8 396.2 155.7000000000001C410.5 155.4 421.9 161.1 429.3 173.6C432.2 178.5 434.9000000000001 183.7000000000001 437 189C456.8 239.1 476.5 289.3 496.2 339.5C496.8 341 497.3 342.5 497.5 344.1C497.9 346.5 496.8 347.7 494.4 347.8C488.8 347.9 483.3 347.8 477.7 347.8C474.6 347.8 472.4 346.4 471.3 343.5C470.9 342.4 470.4 341.2 470 340.1L440.9 256.4C438.8 250.3 436.7 244.3 434.4 237.8C434 238.7 433.8 239.2 433.6 239.7C422.8 269.6 412 299.6 401.2 329.5C399.5 334.2 397.7 339 395.9 343.7C395 346.2 393.2 347.7 390.5 347.7C384.1 347.8 377.7 347.9 371.3 347.8C369.1 347.8 368 346.2 368.5 344.1zM242.4 242C244.1 230.3 250 221.2 260.4 215.4C270.3 209.9 281.1 209.2 292.1 210.8C304.8 212.7 316 218.1 325.9 226.3C326.3 226.6 326.7 226.9 327.3 227.3C327.8 224.1 328.2 221.1 328.8 218.1C329.3 215.5 330.9 213.8 333.3 213.7C337.9 213.6 342.4 213.6 347 213.7C349.3 213.8 350.8 215.3 351 217.6C351.1 218.4 351.1 219.2 351.1 219.9V308.7000000000001C351.1 312.3000000000001 350.9 315.9000000000001 350.4 319.5000000000001C348.8 330.3000000000001 344.2 339.2000000000001 334.5 344.9000000000001C328.9 348.2000000000001 322.7 349.9000000000001 316.3 350.8000000000001C313.3 351.2000000000001 310.3 351.5000000000001 307.2 351.9000000000001H297.2C296.4 351.8000000000001 295.6 351.6000000000001 294.7 351.6000000000001C286.5 351.2000000000001 278.4 350.2000000000001 270.5 348.1000000000001C265.4 346.8000000000001 260.5 344.9000000000001 255.5 343.2000000000001C252.5 342.2000000000001 251 340.0000000000001 251.1 336.7000000000001C251.2 333.9000000000001 251 331.1000000000001 251.1 328.4000000000001C251.2 324.3000000000001 252.9 323.2000000000001 256.8 324.3000000000001C263.3 326.0000000000001 269.9000000000001 327.8000000000001 276.5 329.1000000000001C286.8 331.0000000000001 297.2 331.8000000000001 307.6 330.3000000000001C313 329.5000000000001 318.1 327.9000000000001 321.7000000000001 323.3000000000001C324.8000000000001 319.3000000000001 325.9000000000001 314.5000000000001 326.1 309.6000000000001C326.4000000000001 302.7000000000001 326.3 295.7000000000001 326.4000000000001 288.8000000000001C326.4000000000001 288.4000000000001 326.3 288.1000000000001 326.2000000000001 287.6000000000001C325.8000000000001 287.6000000000001 325.4000000000001 287.6000000000001 325.1 287.7000000000001C316.3 289.8000000000001 307.4000000000001 291.3000000000001 298.3 291.8000000000001C288.8 292.3000000000001 279.4000000000001 291.7000000000001 270.4000000000001 288.6000000000001C259.6 284.8000000000001 250.9000000000001 278.3000000000001 245.8000000000001 267.8000000000001C241.7000000000001 259.5000000000001 241.2000000000001 250.8000000000001 242.4000000000001 242.0000000000001zM98.7 341.1V165.8C98.7 165 98.7 164.1 98.8 163.3C99 160.8 100.5 159.1999999999999 102.9 159.1C108.8 159 114.7 159 120.6 159.1C123.1 159.1 124.6 160.8 124.7 163.2C124.8 164 124.8 164.9 124.8 165.7V226.4C125.7 225.7 126.2 225.2 126.7 224.8C141.7 212.3 158.9 208.2 177.8 211.9C194.9 215.3 206.7 225.8 214.5 241.1C220.3 252.7 222.8 265.2 223.2 278.1C223.7 292.4 222.2 306.5 216.4 319.8C209.3 336.2 197.5 347.1 179.7 350.7C177 351.3 174.2 351.5 171.5 351.9H164.5C163.3 351.7 162.1 351.6 160.9 351.4C149.2 350 138.6 345.6 129.1 338.7C127.1 337.3 125.2 335.7 123.2 334.2C123.1 334.7 122.9 335 122.8 335.4C122.4 337.7 122.1 340 121.7 342.3C121.1 346.2 119.2 347.8 115.3 347.9H105.6C99.7 348 98.7 346.9 98.7 341.1zM493.6 109C490.9 109.7 488.5 109 486 108C442.1 89.6 396.5 77.8 349.2 72.2C334.7 70.5 320.1 69.4 305.5 69C278.9 68.3 252.3 69.8 225.9 73.3C208.1 75.7 190.4 79 172.9 83.2C135.9 92.1 100.2 104.9 66.2 122C57.4 126.4 48.8 131.3 40.1 136C36.3 138.1 33.9 137.5 31.9 133.9V132.2C33.1 130.6 34.1 128.8 35.6 127.4C71.6 95.2 112.2 70.9 157.6 54.5C179.5 46.6 202 40.8 224.9 37C238.9 34.7 252.9 33.2 267.1 32.5C270.1 32.4 273.1 32.3 276.1 32.1C276.8 32.1 277.5 31.9 278.2 31.8H295.9C296.6 31.9 297.3 32.1 298 32.1C312.9 32.5 327.8 33.9 342.6 36.1C364 39.3 385 44.2 405.5 50.8C435.1 60.4 463.2 73.2 488.9 90.9C491.7 92.8 494.6 94.7000000000001 496.9 97.1C501.2 101.5 499.2 107.5 493.6 109zM544 136.7C543.2 140.9 540 142.5 536.4 143.7C530.6999999999999 145.6 524.8 146.5 518.8 147C507.8 147.9 496.8 147.4 485.9999999999999 145.4C473.9999999999999 143.2 462.6 139.3 452.4999999999999 132.3C451.3 131.5 450.1 130.5 449.3999999999999 129.3C448.7999999999999 128.4 448.7 127 448.8999999999999 125.9C449.2 124.6 450.5999999999999 124.3 451.8999999999999 124.4C452.4999999999999 124.4 453.0999999999999 124.4 453.6999999999999 124.5L473.1999999999999 126.6C482.8 127.5 492.3999999999999 128.1 501.9999999999999 127.4C506.1 127.1 510.1 126.2000000000001 514 125.2000000000001C518.3 124.1 520.2 120.8000000000001 520.4 116.5000000000001C520.6999999999999 109.8000000000001 519.1999999999999 103.4 517.5 97.0000000000001C514 84.1000000000001 509.2 71.6000000000001 504.2 59.2000000000001C503.9 58.4 503.5 57.5000000000001 503.4 56.7000000000001C503 54.2 504.4 52.7 506.8 53.2C508.1999999999999 53.5000000000001 509.8 54.3000000000001 510.8 55.3000000000001C514.5 58.9000000000001 518.3 62.5000000000001 521.4 66.5000000000001C532.1 80.3000000000001 538.4 96.1000000000001 542.1 113.1000000000001C542.8000000000001 116.1000000000001 543.3000000000001 119.2000000000001 543.8000000000001 122.2000000000001C544.0000000000001 126.9000000000001 544.0000000000001 131.8000000000001 544.0000000000001 136.7000000000001z" glyph-name="cc-amazon-pay" horiz-adv-x="576" unicode=""/><glyph d="M576 192.6C538.1 192.8 531.8 193.5 521.5 187.6V192.6C476.2 192.6 468 194.3 456.6 187.4V192.6H378.4000000000001V187.5C367.0000000000001 194 357.0000000000001 192.6 302.7000000000001 192.6V187C296.4000000000001 190.7 288.2000000000001 192.6 278.4000000000001 192.6H220.4C216.9 188.8 207.9 178.9 204.7000000000001 175.4C192.0000000000001 189.5 194.2000000000001 187 189.2000000000001 192.6H106.1000000000001V100.3H188.1000000000001C191.4000000000001 103.8 201.0000000000001 114.1999999999999 204.2000000000001 117.6999999999999C216.9 103.3999999999999 214.5000000000001 105.9999999999999 219.6000000000001 100.3H268.5000000000001C268.5000000000001 115 268.6000000000001 108.6 268.6000000000001 123.3C280.1000000000001 123.1 292.9000000000001 123.5 302.9000000000001 129.5C302.9000000000001 115.6 302.8000000000001 112.3999999999999 302.8000000000001 100.3H342.4000000000001C342.4000000000001 118.8 342.5000000000001 107.6999999999999 342.5000000000001 125.6C348.7000000000001 125.6 350.2000000000001 125.6 351.9000000000001 125.5C352.0000000000001 124.1999999999999 351.9000000000001 125.5 351.9000000000001 100.3C504.7000000000001 100.3 497.8000000000001 99.1999999999999 508.6000000000001 104.8V100.3C543.4000000000001 100.3 563.4000000000001 98.1 576.1000000000001 106.4V16C576.1000000000001 -10.5 554.6000000000001 -32 528.1000000000001 -32H48C21.5 -32 0 -10.5 0 16V219.7H26.6C30.8 229.8 28.8 225 33 235H52.2C56.4 225 54.4 229.8 58.6 219.7H111.5V231.1C113.7 226.1 112.6 228.6 116.6 219.7H146.1C148.5 225.2 148.7 225.5 151.2 231.1V219.7H286.7V244.8C293.1 244.8 294.7 244.9 296.5 244.6C296.5 244.6 296.3 233.7 296.6 219.8H363.1V228.7C370.5 222.8 380.5 219.8 392.8 219.8H419.6C423.8 229.9 421.8 225.1 426 235.1H445C451.5 220.1 445.2 234.6 451.6 219.8H504.4V241.7C516.2 222 512.2 228.8 517.6 219.8H559.2V311.8H519.3000000000001V293.4C507.1000000000001 313.6 513.0000000000001 303.8 508.1000000000001 311.8H464.8000000000001V291.2C458.6000000000001 305.8 460.2 302 456.0000000000001 311.8H423.6000000000001C423.2000000000001 311.8 421.3000000000001 311.6 421.3000000000001 312.1H393.7000000000001C380.9000000000001 312.1 370.6 308.9 363.0000000000001 302.8V312.1H323.1000000000001V306.8C312.3000000000001 312.9 302.4000000000001 311.9 258.7000000000001 312.1C258.6 312.1 247.1000000000001 312.2 247.1000000000001 312.1H144.1000000000001C141.6000000000001 306 137.3000000000001 295.7 131.5000000000001 282.1C128.7000000000001 288.1 120.5000000000001 305.9 117.6000000000001 312.1H71.6000000000001V291C64.2000000000001 308.4 66.9000000000001 302 62.6000000000001 312.1H22.9C19.5 304.2 9.2 280.1 -0.2 258.2V368C-0.2 394.5 21.3 416 47.8 416H527.8C554.3 416 575.8 394.5 575.8 368V192.6zM389.4 273.2C389.1 273 388 271 388 265.6C388 259.6 388.9 257.9 389.1 257.7C389.3 257.6 390.2000000000001 257.2 392.5 257.2L399.8 274.1C398.7 274.1 397.7 274.2 396.7 274.2C391.1 274.2 389.7 273.5 389.4 273.2zM369.5 142.3C378.7 139 380.5 132.8 380.5 123.9L380.4 110.1H363.8L363.9 121.6C363.9 133.4 360.1 135.4 349.1 135.4H331.5L331.3999999999999 110.1H314.7999999999999L314.8999999999999 179.4H354.2999999999999C367.2999999999999 179.4 381.3999999999999 177.1 381.3999999999999 160.7C381.2999999999999 153.1 377.2 145.4 369.5 142.3zM363.2 157.6999999999999C363.2 164.0999999999999 357.6 165.0999999999999 352.5 165.0999999999999H331.5V149.4999999999999H352.2C357.8 149.4999999999999 363.2 150.7999999999999 363.2 157.6999999999999zM544.9 164.8H575V179.4H542.1C529.3000000000001 179.4 518.3000000000001 172.8 518.3000000000001 158.7C518.3000000000001 125.7 561.0000000000001 145.9 561.0000000000001 131.3C561.0000000000001 126.2 556.7000000000002 124.9 552.6000000000001 124.9H520.6000000000001L520.5000000000001 110.1H552.5000000000001C560.9000000000001 110.1 570.1000000000001 111.9 575.0000000000001 119V144.8C564.5000000000001 158.6 535.7000000000002 146.1 535.7000000000002 158.3C535.7000000000002 164.1 540.3000000000002 164.8 544.9000000000002 164.8zM445.7 165.1V179.4H390.5L390.4 110.1H445.6L445.7 124.4L407.1 124.7V138.5H445V152.6H407.2V165.1H445.7zM487.9 125H455.7L455.6 110.1999999999999H487.8C502.6 110.1999999999999 514 115.8 514 132.1999999999999C514 165.3999999999999 471.1 143.3999999999999 471.1 158.5C471.1 164.1 476 164.8999999999999 480.3 164.8999999999999H510.7V179.5H477.5C464.7 179.5 454 172.8999999999999 454 158.8C454 125.8 496.7 146.3 496.7 131.4C496.6 126 492 125 487.9 125zM409.8 283.7C392.4 284 376.6 287.8 376.6 264C376.6 252.2 379.4 244.1 392.7 244.1H400.1L423.6 298.5999999999999H448.4L476.3 233.2V298.5999999999999H501.6L530.6999999999999 250.5V298.5999999999999H547.5999999999999V229.6H524L492.8 281.5V229.6H459.1L452.5 244.9H418.2L411.8 229.6H392.6C369.8 229.6 359.6 241.4 359.6 263.5999999999999C359.6 286.9 370.1 298.8999999999999 393.6 298.8999999999999H409.7000000000001V283.7zM424.1 259.2H446.9L435.7 286.8L424.1 259.2zM351.5 298.8H334.6V229.5H351.5V298.8zM313.4 261.5C322.9 258.2 324.4 252.3 324.4 243.1V229.6H307.8C307.5 244.4 311.4 254.7 293 254.7H275V229.6H258.6V298.8999999999999L297.7 298.5999999999999C311 298.5999999999999 325.1 296.5999999999999 325.1 280.2C325.2 272.2 320.8 264.4999999999999 313.4 261.4999999999999zM306.7 276.8C306.7 283.2 301.1 284.2 296 284.2H275V268.9H295.7C301.4 268.9 306.7 270.2 306.7 276.8zM247.2 284.2V298.8H191.7V229.5H247.2V243.8H208.3V257.6H246.1V271.7H208.3V284.2H247.2zM162.6 229.5V283.7L138.6 229.5H124L100 283.7V229.5H66.2L59.8 244.8H25.3L18.9 229.5H1L30.7 298.8H55.2L83.3 233.1V298.8H110.4L132.1 251.8L151.8 298.8H179.4V229.5H162.6zM53.9 259.2L42.4 286.8L31.2 259.2H53.9zM306.9 156.7C306.9 128.8 276.5 133.4 257.6 133.4L257.5 110.1H225.3L204.9 133.1L183.5999999999999 110.1H118.1999999999999L118.2999999999999 179.4H184.7999999999999L205.2999999999999 156.6L226.3 179.4H279C294.6 179.4 306.9 174 306.9 156.7zM194.2 144.9L176.3 165.1H134.6V152.6H170.9V138.5H134.6V124.6999999999999H175.2L194.2 144.8999999999999zM241 172L215.7 144.6L241 116.5V172zM289.3 156.7C289.3 162.8 284.7 165.1 279.1 165.1H257.6V147.5H278.8C284.7 147.5 289.3 150.3 289.3 156.6999999999999z" glyph-name="cc-amex" horiz-adv-x="576" unicode=""/><glyph d="M302.2 229.6C302.2 212.4 291.7 202.5 273.2 202.5H248.9V256.7H273.3C291.7 256.7 302.2 246.9 302.2 229.6zM349.7 167C349.7 158.7 356.9 153.3 368.2 153.3C382.6 153.3 393.4 162.4 393.4 175.2V182.9L369.9 181.4C356.6 180.5 349.7 175.6 349.7 167zM576 369V17C576 -9.5 554.5 -31 528 -31H48C21.5 -31 0 -9.5 0 17V369C0 395.5 21.5 417 48 417H528C554.5 417 576 395.5 576 369zM127.8 250.8C136.2 250.1 144.6 255 149.9 261.2000000000001C155.1 267.6 158.5 276.2000000000001 157.6 284.9C150.2 284.6 141 280 135.7 273.6C130.9 268.1 126.8 259.2 127.8 250.8zM188.4 176.3C188.2 176.5 168.8 183.9 168.6 206.3C168.4 225 183.9 234 184.6 234.5C175.8 247.5 162.2 248.9 157.5 249.2C145.3 249.9 134.9 242.3 129.1 242.3C123.2 242.3 114.4 248.9 104.8 248.7C92.3 248.5 80.6 241.4 74.3 230.1C61.2 207.5 70.9 174.1 83.6 155.7C89.8 146.6 97.3 136.6 107.1 137C116.4 137.4 120.1 143 131.3 143C142.6 143 145.8 137 155.6 137.1C165.8 137.3 172.1 146.2000000000001 178.4 155.3C185.3 165.7 188.2 175.7 188.4 176.3zM323.8 229.7C323.8 256.3 305.3 274.5 278.9000000000001 274.5H227.7000000000001V138.1H248.9000000000001V184.7000000000001H278.2000000000001C305.0000000000001 184.7000000000001 323.8000000000001 203.1000000000001 323.8000000000001 229.7000000000001zM413.8 206C413.8 225.7 398 238.4000000000001 373.8 238.4000000000001C351.3 238.4000000000001 334.7 225.5000000000001 334.1 207.9H353.2000000000001C354.8000000000001 216.3000000000001 362.6 221.8000000000001 373.2000000000001 221.8000000000001C386.2000000000001 221.8000000000001 393.4000000000001 215.8000000000001 393.4000000000001 204.6000000000001V197.1000000000001L367.0000000000001 195.5000000000001C342.4000000000001 194.0000000000001 329.1000000000001 183.9 329.1000000000001 166.4C329.1000000000001 148.7000000000001 342.8000000000001 137.0000000000001 362.5000000000001 137.0000000000001C375.8000000000001 137.0000000000001 388.1000000000001 143.7000000000001 393.7000000000001 154.4H394.1V138H413.7000000000001V206zM516 237.1H494.5L469.6 156.5H469.2L444.3000000000001 237.1H422L457.9 137.8L456 131.8C452.8 121.6 447.5 117.6 438.1 117.6C436.4000000000001 117.6 433.2000000000001 117.8 431.9000000000001 117.9V101.5000000000001C433.1 101.1000000000001 438.4000000000001 101.0000000000001 440.0000000000001 101.0000000000001C460.7 101.0000000000001 470.4 108.9 478.9 132.8000000000001L516 237.1z" glyph-name="cc-apple-pay" horiz-adv-x="576" unicode=""/><glyph d="M239.7 368.1C142.8 368.1 63.9 289.5 63.9 192.3C63.9 95.4 142.8 16.5 239.7 16.5C336.9 16.5 415.5 95.4 415.5 192.3C415.5 289.5 336.9 368.1 239.7 368.1zM199.8 88.5C158.1 104.4 128.4 144.9 128.4 192.3S158.1 280.2000000000001 199.8 296.4V88.5zM279.6 88.2V296.4C321.3 280.2000000000001 351 239.7 351 192.3S321.3 104.4 279.6 88.2000000000001zM528 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H528C554.5 -32 576 -10.5 576 16V368C576 394.5 554.5 416 528 416zM329.7 0H239.4C133.2 0 45.6 85.5 45.6 190.2C45.6 304.8 133.2 384 239.4 384H329.7C434.7 384 530.4 304.8 530.4 190.2C530.4 85.5 434.7 0 329.7 0z" glyph-name="cc-diners-club" horiz-adv-x="576" unicode=""/><glyph d="M83 235.9C83 228 79.8 220.4 74.1 215.2C69.2 210.8 62.5 208.8 52.2 208.8H48V263H52.2C62.5 263 68.9 261.3 74.1 256.4C79.8 251.4 83 243.8 83 235.9zM504.8 264H499.9V239.1H504.6C514.9 239.1 520.4 243.5 520.4 251.9C520.4 259.8 514.9 264 504.8 264zM576 368V16C576 -10.5 554.5 -32 528 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H528C554.5 416 576 394.5 576 368zM428 195H473.3V208.8H444V231H472.3V244.8H444V263H473.3V277H428V195zM341.8 277L376.8 192.8H385.4000000000001L420.9000000000001 277H403.4000000000001L381.2000000000001 221.8L359.3000000000001 277H341.8000000000001zM258.8 235.4C258.8 210.8 278.7 190.8 303.4000000000001 190.8C328.0000000000001 190.8 348.0000000000001 210.7 348.0000000000001 235.4C348.0000000000001 260 328.1000000000001 280 303.4000000000001 280C278.8 280 258.8 260.1 258.8 235.4zM190.8 235.9C190.8 203.4 224.4 183.4 254.1 197.7V216.7C234.8 197.4 207.3 210.9 207.3 235.9C207.3 259.6 234 275 254.1 254.9V273.9C223.9 288.9 190.8 267.1 190.8 235.9zM156.9 207.6C149.3 207.6 143.1 211.3 139.4 218.4L129.1 208.5C146.9 182.4 185.7 190.3 185.7 219.8C185.7 232.9 180.3 238.8 162.1 245.4C152.5 248.8 149.8 251.3 149.8 255.7C149.8 264.4 164.3 269.8 174.7 258.2000000000001L183.1 269C164 286.1 133.4 277.9000000000001 133.4 254.7C133.4 243.4 138.6 237.5000000000001 153.6 232.0000000000001C179.3 222.9 168.3 207.6 156.9 207.6zM99.5 235.9C99.5 260 81.5 277 55.4 277H32V195H55.4C86.3 195 99.5 217.4 99.5 235.9zM122.9 277H106.9V195H122.9V277zM544 160C510.7 139.2 317.6 35.6 128 0H529C537.2 0 544 6.8 544 15V160zM544 195L518.1 229.5C530.2 232 536.8000000000001 240.1 536.8000000000001 252.7C536.8000000000001 281.2 506.5000000000001 277.1 483.9000000000001 277.1V195.1H499.9000000000001V227.9H502.1000000000001L524.3000000000001 195.1H544z" glyph-name="cc-discover" horiz-adv-x="576" unicode=""/><glyph d="M431.5 203.7V236C472.7 236 470 235.8 470 235.8C477.3 234.5 483.3 228.5 483.3 219.8C483.3 211 477.3 205.3 470 204C468.8 203.6 466.7 203.7 431.5 203.7zM474.3 183.5C471.5 184.2 471 184 431.5 184V149C471.1 149 471.5 148.8 474.3 149.5C481.8 151 487.8 157.5 487.8 166.5C487.8 175.2 481.8 182 474.3 183.5zM576 368V16C576 -10.5 554.5 -32 528 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H528C554.5 416 576 394.5 576 368zM182 255.7H125C125 188.6 135.7 146 89.2 146C69.7 146 50.4 151.7 32 160.8V132.8C62 124.5 100 124.5 100 124.5C197.9 124.5 182 172.2 182 255.7zM360.5 251.2C297.1 267.2 195.5 266.1 195.5 191.9C195.5 114.8 303.7 118.3 360.5 132.7V161C312.9 136.3 253 139 253 192S312.8 247.6 360.5 223.2V251.2zM544 161.5C544 180 527.5 192 506 193.5V194.3C525.5 197 536.3 209.8 536.3 224.5C536.3 243.5 520.5999999999999 254.5 499.3 255.5C499.3 255.5 505.6 255.8 379 255.8V128.3H501.6999999999999C525.9999999999999 128.2 543.9999999999999 141.2 543.9999999999999 161.5z" glyph-name="cc-jcb" horiz-adv-x="576" unicode=""/><glyph d="M482.9 37.7C482.9 30.9 478.3 26 471.7 26C464.9 26 460.5 31.2 460.5 37.7C460.5 44.2 464.9 49.4 471.7 49.4C478.3 49.4 482.9 44.2 482.9 37.7zM172.1 49.4C165 49.4 160.9 44.2 160.9 37.7C160.9 31.2 165 26 172.1 26C178.6 26 183 30.9 183 37.7C182.9 44.2 178.6 49.4 172.1 49.4zM289.6 49.7C284.2 49.7 280.9 46.2 280.1 41H299.2C298.3 46.7 294.8 49.7 289.6 49.7zM397.4 49.4C390.6 49.4 386.5 44.2 386.5 37.7C386.5 31.2 390.6 26 397.4 26C404.2 26 408.6 30.9 408.6 37.7C408.6 44.2 404.2 49.4 397.4 49.4zM503.3 23.3C503.3 22.9999999999999 503.6 22.8 503.6 22.1999999999999C503.6 21.8999999999999 503.3 21.6999999999999 503.3 21.0999999999999C502.9999999999999 20.7999999999999 502.9999999999999 20.5999999999999 502.8 20.2999999999999C502.4999999999999 19.9999999999999 502.3 19.7999999999999 501.6999999999999 19.7999999999999C501.3999999999999 19.4999999999999 501.1999999999999 19.4999999999999 500.5999999999999 19.4999999999999C500.2999999999999 19.4999999999999 500.0999999999999 19.4999999999999 499.4999999999999 19.7999999999999C499.1999999999999 19.7999999999999 498.9999999999999 20.0999999999999 498.6999999999999 20.2999999999999C498.3999999999999 20.5999999999999 498.1999999999999 20.7999999999999 498.1999999999999 21.0999999999999C497.8999999999999 21.5999999999999 497.8999999999999 21.8999999999999 497.8999999999999 22.1999999999999C497.8999999999999 22.6999999999999 497.8999999999999 22.9999999999999 498.1999999999999 23.3C498.1999999999999 23.8 498.4999999999999 24.1 498.6999999999999 24.4C498.9999999999999 24.7 499.1999999999999 24.7 499.4999999999999 24.9C499.9999999999999 25.2 500.2999999999999 25.2 500.5999999999999 25.2C501.0999999999999 25.2 501.3999999999999 25.2 501.6999999999999 24.9C502.1999999999999 24.6 502.4999999999999 24.6 502.8 24.4S502.9999999999999 23.8 503.3 23.3zM501.1 21.9C501.6 21.9 501.6 22.2 501.9 22.2C502.2 22.5 502.2 22.7 502.2 23C502.2 23.3 502.2 23.5 501.9 23.8C501.6 23.8 501.4 24.1 500.8 24.1H499.1999999999999V20.6H499.9999999999999V22H500.3L501.4 20.6H502.2L501.1 21.9zM576 367V15C576 -11.5 554.5 -33 528 -33H48C21.5 -33 0 -11.5 0 15V367C0 393.5 21.5 415 48 415H528C554.5 415 576 393.5 576 367zM64 227.4C64 150.9 126.1 88.9 202.5 88.9C229.7 88.9 256.4 97.1 279 112C206.1 171.3 206.6 283.2 279 342.5C256.4 357.5 229.7 365.6 202.5 365.6C126.1 365.7 64 303.6 64 227.4zM288 118.6C358.5 173.6 358.2 280.8 288 336.1C217.8 280.8 217.5 173.5 288 118.6zM145.7 42.3C145.7 51 140 56.7 131 57C126.4 57 121.5 55.6 118.2 50.5C115.8 54.6 111.7 57 106 57C102.2 57 98.4 55.6 95.4 51.6V56H87.2V19.3H95.4C95.4 38.2 92.9 49.5 104.4 49.5C114.6 49.5 112.6 39.3 112.6 19.3H120.5C120.5 37.6 118 49.5 129.5 49.5C139.7 49.5 137.7 39.5 137.7 19.3H145.9V42.3zM190.6 56H182.7V51.6C180 54.9 176.2 57 171 57C160.7 57 152.8 48.8 152.8 37.7C152.8 26.5 160.7 18.4 171 18.4C176.2 18.4 180 20.3 182.7 23.8V19.1999999999999H190.6V56zM231.1 30.4C231.1 45.4 208.2 38.6 208.2 45.6C208.2 51.3 220.1 50.4 226.7 46.7L230 53.2C220.6 59.3 199.8 59.2 199.8 45C199.8 30.7 222.7 36.7 222.7 30C222.7 23.7 209.2 24.2 202 29.2L198.5 22.9C209.7 15.3 231.1 16.9 231.1 30.4zM266.5 21.1L264.3 27.9C260.5 25.8 252.1 23.5 252.1 32V48.6H265.2000000000001V56H252.1000000000001V67.2H243.9000000000001V56H236.3000000000001V48.7H243.9000000000001V32C243.9000000000001 14.4 261.2000000000001 17.6 266.5000000000001 21.1zM279.8 34.4999999999999H307.3C307.3 50.6999999999999 299.9000000000001 57.1 289.9000000000001 57.1C279.3 57.1 271.7000000000001 49.2 271.7000000000001 37.8C271.7000000000001 17.3 294.3000000000001 13.9 305.5000000000001 23.6L301.7000000000001 29.6C293.9000000000001 23.2 282.1 23.8 279.8000000000001 34.4999999999999zM338.9000000000001 55.9999999999999C334.3 57.9999999999999 327.3 57.8 323.7000000000001 51.6V56H315.5000000000001V19.3H323.7000000000001V40C323.7000000000001 51.6 333.2000000000001 50.1 336.5000000000001 48.4L338.9000000000001 56zM349.5000000000001 37.6999999999999C349.5000000000001 49.0999999999999 361.1000000000001 52.8 370.2000000000001 46.0999999999999L374.0000000000001 52.5999999999999C362.4000000000001 61.6999999999999 341.3000000000001 56.6999999999999 341.3000000000001 37.5999999999999C341.3000000000001 17.7999999999999 363.7000000000001 13.7999999999999 374.0000000000001 22.5999999999999L370.2000000000001 29.0999999999999C361.0000000000001 22.5999999999999 349.5000000000001 26.4999999999999 349.5000000000001 37.6999999999999zM416.2000000000001 55.9999999999999H408V51.6C399.7 62.6 378.1 56.4 378.1 37.7C378.1 18.5 400.5 13 408 23.8V19.2H416.2V56zM449.9000000000001 55.9999999999999C447.5000000000001 57.1999999999999 438.9000000000001 58.8999999999999 434.7000000000001 51.6V56H426.8000000000001V19.3H434.7000000000001V40C434.7000000000001 51 443.7000000000001 50.3 447.5000000000001 48.4L449.9000000000001 56zM490.2 70.8999999999999H482.3000000000001V51.5999999999999C474.1000000000001 62.4999999999999 452.4000000000001 56.6999999999999 452.4000000000001 37.6999999999999C452.4000000000001 18.3 474.9000000000001 13.0999999999999 482.3000000000001 23.8V19.1999999999999H490.2V70.8999999999999zM497.8000000000001 145.9999999999999V141.3999999999999H498.6000000000001V146H500.5000000000001V146.8H495.9V146H497.8zM504.4000000000001 22.1999999999999C504.4000000000001 22.6999999999999 504.4000000000001 23.2999999999999 504.1000000000001 23.7999999999999C503.8000000000001 24.0999999999999 503.6000000000001 24.5999999999999 503.3000000000001 24.8999999999999C503.0000000000001 25.1999999999999 502.5000000000001 25.3999999999999 502.2 25.6999999999999C501.7 25.6999999999999 501.1 25.9999999999999 500.6 25.9999999999999C500.3 25.9999999999999 499.8 25.6999999999999 499.2 25.6999999999999C498.7 25.3999999999999 498.4 25.1999999999999 498.1 24.8999999999999C497.6 24.5999999999999 497.3 24.0999999999999 497.3 23.7999999999999C497 23.2999999999999 497 22.6999999999999 497 22.1999999999999C497 21.8999999999999 497 21.3999999999999 497.3 20.7999999999999C497.3 20.4999999999999 497.6 19.9999999999999 498.1 19.6999999999999C498.4 19.3999999999999 498.6 19.1999999999999 499.2 18.8999999999999C499.7 18.5999999999999 500.3000000000001 18.5999999999999 500.6 18.5999999999999C501.1 18.5999999999999 501.7 18.5999999999999 502.2 18.8999999999999C502.5000000000001 19.1999999999999 503.0000000000001 19.3999999999999 503.3000000000001 19.6999999999999C503.6000000000001 19.9999999999999 503.8000000000001 20.4999999999999 504.1000000000001 20.7999999999999C504.4000000000001 21.3999999999999 504.4000000000001 21.8999999999999 504.4000000000001 22.1999999999999zM507.6000000000001 146.8999999999999H506.2000000000001L504.6000000000001 143.3999999999999L503.0000000000001 146.8999999999999H501.6000000000001V141.4999999999999H502.4000000000001V145.5999999999999L504.0000000000001 142.0999999999999H505.1000000000001L506.5000000000001 145.5999999999999V141.4999999999999H507.6000000000001V146.8999999999999zM512.0000000000001 227.3999999999999C512.0000000000001 303.5999999999999 449.9000000000001 365.6999999999999 373.5000000000001 365.6999999999999C346.3000000000002 365.6999999999999 319.6000000000002 357.4999999999999 297.0000000000001 342.5999999999999C369.1000000000002 283.2999999999999 370.2000000000001 171.0999999999999 297.0000000000001 112.0999999999999C319.6000000000002 97.0999999999999 346.5000000000001 88.9999999999999 373.5000000000001 88.9999999999999C449.9000000000001 88.8999999999999 512.0000000000001 150.8999999999999 512.0000000000001 227.3999999999999z" glyph-name="cc-mastercard" horiz-adv-x="576" unicode=""/><glyph d="M186.3 189.8C186.3 177.6 176.6 168.3 164.3 168.3C155.1 168.3 148.3 173.5 148.3 183.3C148.3 195.5 157.8 205.3 170 205.3C179.3 205.3 186.3 199.6 186.3 189.8zM80.5 238.3H75.8C74.3 238.3 72.8 237.3 72.6 235.6L68.3 208.9L76.5 209.2000000000001C87.5 209.2000000000001 96 210.7000000000001 98 223.4C100.3 236.8000000000001 91.8 238.3000000000001 80.5 238.3000000000001zM364.5 238.3H360C358.2 238.3 357 237.3 356.8 235.6L352.6 208.9L360.6 209.2000000000001C373.6 209.2000000000001 382.6 212.2000000000001 382.6 227.2000000000001C382.5 237.8000000000001 373 238.3000000000001 364.5 238.3000000000001zM576 368V16C576 -10.5 554.5 -32 528 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H528C554.5 416 576 394.5 576 368zM128.3 232.6C128.3 253.6 112.1 260.6 93.6 260.6H53.6C51.1 260.6 48.6 258.6 48.4 255.9L32 153.8C31.7 151.8 33.2 149.8 35.2 149.8H54.2C56.9 149.8 59.4 152.7 59.7 155.5L64.2 182.1C65.2 189.3 77.4 186.8 82.2 186.8C110.8 186.8 128.3 203.8 128.3 232.6zM212.5 223.8H193.5C189.7 223.8 189.5 218.3 189.3 215.6C183.5 224.1 175.1 225.6 165.6 225.6C141.1 225.6 122.4 204.1 122.4 180.4C122.4 160.9 134.6 148.2 154.1 148.2C163.1 148.2 174.3 153.1 180.6 160.1C180.1 158.6 179.6 155.4 179.6 153.9C179.6 151.6 180.6 149.9 182.8 149.9H200C202.7 149.9 205 152.8 205.5 155.6L215.7 219.9C216 221.8 214.5 223.8 212.5 223.8zM253 125.9L316.7 218.5C317.2 219 317.2 219.5 317.2 220.2C317.2 221.9 315.7 223.7 314 223.7H294.8C293.1 223.7 291.3 222.7 290.3 221.2L263.8 182.1999999999999L252.8 219.6999999999999C252 221.8999999999999 249.8 223.6999999999999 247.3 223.6999999999999H228.6C226.9000000000001 223.6999999999999 225.4000000000001 221.8999999999999 225.4000000000001 220.1999999999999C225.4000000000001 219 244.9000000000001 163.3999999999999 246.6 158.0999999999999C243.9000000000001 154.2999999999999 226.1 129.4999999999999 226.1 126.4999999999999C226.1 124.6999999999999 227.6 123.2999999999999 229.3 123.2999999999999H248.5C250.3 123.3999999999999 252 124.3999999999999 253 125.8999999999999zM412.3 232.6C412.3 253.6 396.1 260.6 377.6 260.6H337.9000000000001C335.2000000000001 260.6 332.7000000000001 258.6 332.4000000000001 255.9L316.2000000000001 153.9C316.0000000000001 151.9 317.5000000000001 149.9 319.4000000000001 149.9H339.9000000000001C341.9000000000001 149.9 343.4000000000001 151.4 343.9000000000001 153.1L348.4000000000001 182.1C349.4000000000001 189.3 361.6 186.8 366.4000000000001 186.8C394.8 186.8 412.3 203.8 412.3 232.6zM496.5 223.8H477.5C473.7 223.8 473.5 218.3 473.2 215.6C467.7 224.1 459.2 225.6 449.5 225.6C425 225.6 406.3 204.1 406.3 180.4C406.3 160.9 418.5 148.2 438 148.2C447.3 148.2 458.5 153.1 464.5 160.1C464.2 158.6 463.5 155.4 463.5 153.9C463.5 151.6 464.5 149.9 466.7 149.9H484C486.7 149.9 489 152.8 489.5 155.6L499.7 219.9C500 221.8 498.5 223.8 496.5 223.8zM544 257.1C544 259.1 542.5 260.6 540.8 260.6H522.3C520.8 260.6 519.3 259.4 519.0999999999999 257.9L502.8999999999999 153.9L502.5999999999999 153.4C502.5999999999999 151.6 504.0999999999999 149.9 506.0999999999999 149.9H522.5999999999999C525.0999999999999 149.9 527.5999999999999 152.8 527.8 155.6L544 256.8V257.1zM454 205.3C441.8 205.3 432.3 195.6 432.3 183.3C432.3 173.6 439.3 168.3 448.5 168.3C460.5 168.3 470.2 177.5 470.2 189.8C470.3 199.6 463.3 205.3 454 205.3z" glyph-name="cc-paypal" horiz-adv-x="576" unicode=""/><glyph d="M396.9 191.5C396.9 172.4 388.1 158.1 375 158.1C366.7 158.1 361.7 161.1 358.2 164.8L358 217.6C361.7 221.7 366.8 224.6 375 224.6C387.9 224.7 396.9 210.1 396.9 191.5zM576 368V16C576 -10.5 554.5 -32 528 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H528C554.5 416 576 394.5 576 368zM122.2 166.9C122.2 209.2 67.9 201.6 67.9 217.6C67.9 223.1 72.5 225.3 80 225.3C90.8 225.3 104.5 222 115.3 216.2V249.6C103.5 254.3 91.8 256.1 80 256.1C51.2 256.1 32 241.1 32 215.9C32 176.6 86 183 86 166C86 159.4 80.3 157.3 72.4 157.3C60.6 157.3 45.5 162.2 33.5 168.6V134.7000000000001C46.7 129.0000000000001 60.1 126.6 72.3 126.6C101.9 126.8 122.2 141.3 122.2 166.9zM191.1 253.8H164.1V284.6L129.4 277.2L129.2000000000001 163.3C129.2000000000001 142.3 145.0000000000001 126.8 166.1000000000001 126.8C177.7000000000001 126.8 186.3000000000001 128.9 191.0000000000001 131.5V160.3999999999999C186.5000000000001 158.5999999999999 164.0000000000001 152.0999999999999 164.0000000000001 173V223.5H191.0000000000001V253.8zM264.9000000000001 253.8C260.2000000000001 255.5 243.6 258.6 235.3000000000001 243.3L233.1000000000001 253.8H202.4000000000001V129.3H237.9000000000001V213.7C246.3000000000001 224.7 260.5000000000001 222.6 265.0000000000001 221.1V253.8zM309.1 253.8H273.4000000000001V129.3H309.1V253.8zM309.1 301.1L273.4000000000001 293.5V264.6L309.1 272.2V301.1zM431.8 192.3C431.8 233.6 408.3 256.1 383.4000000000001 256.1C369.5000000000001 256.1 360.5000000000001 249.5 355.6 245L353.8 253.8H322.5V88L358 95.5L358.1 135.7C363.2000000000001 132 370.8 126.7 383.2000000000001 126.7C408.6 126.8 431.8000000000001 147.2 431.8000000000001 192.3zM544 191.1C544 227.5 526.4 256.2 492.7 256.2C458.9 256.2 438.4 227.5 438.4 191.3C438.4 148.5 462.6 126.8 497.2 126.8C514.2 126.8 526.9 130.6999999999999 536.6 136V164.6C526.9 159.7 515.8000000000001 156.7 501.7 156.7C487.9 156.7 475.7 161.6 474.1 178.2H543.6C543.7 180.2 544 187.6 544 191.1zM492.4 227.2C483.5 227.2 473.7 220.5 473.7 204.5H510.4C510.4 220.5 501.1 227.2 492.4 227.2z" glyph-name="cc-stripe" horiz-adv-x="576" unicode=""/><glyph d="M470.1 216.7S477.7 179.5 479.4 171.7H446C449.3 180.6 462 215.2 462 215.2C461.8 214.9 465.3 224.3 467.3 230.1L470.1 216.7zM576 368V16C576 -10.5 554.5 -32 528 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H528C554.5 416 576 394.5 576 368zM152.5 116.8L215.7 272H173.2L133.9 166L129.6 187.5L115.6 258.9C113.3 268.8 106.2 271.6 97.4 272H32.7L32 268.9C47.8 264.9 61.9 259.1 74.2 251.8L110 116.8H152.5zM246.9 116.6L272.1 272H231.9000000000001L206.8000000000001 116.6H246.9000000000001zM386.8 167.4C387 185.1 376.2 198.6 353.1 209.7000000000001C339 216.8000000000001 330.4000000000001 221.6000000000001 330.4000000000001 228.9000000000001C330.6 235.5000000000001 337.7000000000001 242.3000000000001 353.5000000000001 242.3000000000001C366.6000000000001 242.6000000000001 376.2000000000001 239.5000000000001 383.4000000000001 236.4000000000001L387.0000000000001 234.7000000000001L392.5000000000001 268.3000000000001C384.6000000000001 271.4000000000001 372.0000000000001 274.9000000000001 356.5000000000001 274.9000000000001C316.8000000000001 274.9000000000001 288.9000000000001 253.7000000000001 288.7000000000001 223.5C288.4000000000001 201.2 308.7000000000001 188.8 323.9000000000001 181.3C339.4000000000001 173.7 344.7000000000001 168.7 344.7000000000001 162C344.5000000000001 151.6 332.1 146.8 320.6 146.8C304.6 146.8 296 149.3 282.9000000000001 155.1L277.6 157.6L272 122.7000000000001C281.4 118.4 298.8 114.6 316.8 114.4C359 114.3 386.5 135.2000000000001 386.8 167.4zM528 116.6L495.6 272H464.5C454.9 272 447.6 269.2 443.5 259.1L383.8 116.6H426S432.9 135.8 434.4 139.9H486C487.2 134.4 490.8 116.6 490.8 116.6H528z" glyph-name="cc-visa" horiz-adv-x="576" unicode=""/><glyph d="M329.2 179.4C325.4 144.2 293.8 118.8 258.6 122.6C223.4 126.4 198 158 201.8 193.2C205.6 228.4 237.2 253.8 272.4 250C307.5 246.2 333 214.5999999999999 329.2 179.4zM243.4 -55.7C96.7 -48 -8.2 82.5 10.1 223.7C21.3 310.3 75.9 380.6 149.2 415.7C310.2 492.8 498.9 378.3 503.9 199.1C508 52.1 385.5 -63.1 243.4 -55.7zM423.3 124.3C451.1999999999999 242.3 262.8 330.2 186.1 358.5C128.6 302.2 117 169.9 152.3 14.1C221.1 -1.7 321.4 40.4999999999999 423.3 124.3z" glyph-name="centercode" horiz-adv-x="512" unicode=""/><glyph d="M289.6 350.2L321.2000000000001 318.5L244.9000000000001 242V350.2H289.6zM127.2 318.5L203.5 242V350.2H158.8L127.2 318.5zM168.7 360.1H213.4V232.2L224.2000000000001 221.4L235.0000000000001 232.2V360.1H279.7000000000001L224.2000000000001 415.7L168.7000000000001 360.1zM194.9 192L184.1 202.8H55.5V247.6L0 192L55.5 136.4V181.2H184.1L194.9 192zM274.2 212.7H382.1V257.5L350.5 289.2L274.2 212.7zM447.5 192L392 247.6V202.8H264.3L253.5 192L264.3 181.2H392V136.4L447.5 192zM65.4 271.5L97.9 303.2L188.2 212.7H203.5V228L113.2 318.5L144.8 350.2H65.4V271.5zM382.1 350.2H303.6L335.2000000000001 318.5L244.9000000000001 228V212.7H260.2000000000001L350.5000000000001 303.2L382.1000000000001 271.5V350.2zM203.5 33.8V141.9L127.2 65.4L158.8 33.7H203.5zM65.4 212.7H174.2L97.9 289.2L65.4 257.5V212.7zM382.1 112.5L350.5 80.8L260.2 171.3H244.9V156L335.2 65.5L303.6 33.8H382.1V112.5zM382.1 171.3H274.2L350.5 94.8L382.1 126.5V171.3zM321.2000000000001 65.5L244.9 142V33.9H289.6L321.2000000000001 65.5zM97.9 94.8L174.2 171.3H65.4V126.5L97.9 94.8zM279.7000000000001 23.9H235V151.8L224.2 162.6L213.4 151.8V23.9H168.7L224.2 -31.7L279.7 23.9zM113.2000000000001 65.5L203.5000000000001 156V171.3H188.2000000000001L97.9000000000001 80.8L65.4000000000001 112.5V33.8H144.8000000000001L113.2000000000001 65.5z" glyph-name="centos" horiz-adv-x="447.5" unicode=""/><glyph d="M131.5 230.5L55.1 347.9C102.7 407.1 174.1 439.7 247.1 440C289.4 440.3 332.6 429.5 371.9 406.8C415.3 381.6 448.3 345.4 469.3 303.8L264 314.6C205.9 318 150.6 285.3 131.5 230.5zM164.4 192C164.4 145.8 201.8 108.4 248 108.4S331.6 145.8 331.6 192S294.2000000000001 275.6 248.0000000000001 275.6S164.4 238.3 164.4 192zM479.3 281.2L339.6 274C377.5 229.7 378.1 165.8 346.2000000000001 116.8L234.1 -55.6C280.6 -58.1 328.5 -47.9 371.9 -22.7C479.3 39.3 522.8 169.3 479.3 281.2zM133.7 144.4L40.4 327.9C14.9 288.9 0 242.1 0 192C0 68 90.8 -34.7 209.5 -52.9L273.2 71.9C215.6 61.1 160 92.7000000000001 133.7 144.4z" glyph-name="chrome" horiz-adv-x="496" unicode=""/><glyph d="M318.1 294L308.7000000000001 286.4C286.2000000000001 305.7000000000001 257.2000000000001 320 225.4000000000001 320C153.8 320 96 259.2 96 187.7C96 181.1 96.4 174.6 97.4 168.3C95.4 224.3 139.2 265.7000000000001 190 265.7000000000001C214.2 265.7000000000001 236.2 256.3 252.6 241.0000000000001L227.4 220.6C219.1 221.5 210.6 218.8 204.3 212.5C193.2 201.5 193.2 183.6 204.3 172.5C215.4 161.5 233.2 161.5 244.3 172.5C250.6 178.8 253.3 187.4 252.4 195.6L327.6 284.4C333.9000000000001 290.9 324.3 300.3 318.1 294zM234.3 182.5C228.7 177 219.7 177 214.1 182.5C208.5 188.1 208.5 197.1 214.1 202.7S228.7 208.3 234.3 202.7S239.9 188 234.3 182.5zM224 416C100.5 416 0 315.5 0 192S100.5 -32 224 -32S448 68.5 448 192S347.5 416 224 416zM224 32C135.8 32 64 103.8 64 192S135.8 352 224 352S384 280.2 384 192S312.2 32 224 32z" glyph-name="cloudscale" horiz-adv-x="448" unicode=""/><glyph d="M332.5 28.1C332.5 -18.3 294.9 -56 248.5 -56S164.5 -18.3 164.5 28.1S202.1 112.1 248.5 112.1S332.5 74.5 332.5 28.1zM248.5 272C294.9 272 328.5 309.6 328.5 356S294.9 440 248.5 440S160.5 402.4000000000001 160.5 356S130.9 280 84.5 280S0.5 238.4000000000001 0.5 192S38.1 112 84.5 112S168.5 145.6 168.5 192S202.1 272 248.5 272z" glyph-name="cloudsmith" horiz-adv-x="332" unicode=""/><glyph d="M148.6 144C156.8 75.5 216 28.5 294.6 32.7C345.8 -10.6 431.4000000000001 -13.1 481 38.3C550.2 37.2 599.5 82.9 612.5 137.8C627.3 200.3 594.3 270.3 520.4 292.9C487.4 381 389 394.4 333.9 377.9C276.6 360.6 249.6 324.7 234.6 268.2C226.8 265.5 208.1 259.3 189.6 244.1C201.3 244.1 204.8 235.2 204.8 224.6V204.2C204.8 193.5 196.1 184.7 185.3 184.7H165.1C154.4 184.7 145.6 190.7 145.6 201.4V208H98.8C95 208 88 203.7 88 196.1V155.7C88 149.3 93.3 143.9 99.7 143.9H148.6zM376 136C365.3 89.7 397.7 63.6 431.3 49.2C324.1 15.4 259.7 100 296 160C262.8 138.4 262.3 88.8 266.8 67.1C248.9 79.5 213 99.5 209.4 146.9C206.4 186.8 230.9 222.6 266.4 240.8000000000001C297 256.6 369.9 249.3 400 200C385.9 248 346.2 270.1 298.2 274.8C329.1 305.5 362.6 325.1 412.4 318.5C482.2 309.2 545.5999999999999 235.7 480.1 168C515.0999999999999 184.3 528.8 222.4 527.5999999999999 244.9L538.0999999999999 225.3C549.8999999999999 203.3 553.3 177.7 547.4999999999999 153.3C538.2999999999998 114.3 506.8999999999999 84.5 467.7999999999999 76.8C435.6999999999999 70.5 384.7 81.9 375.9999999999999 136zM128 240H88.2C79.3 240 72 247.3 72 256.2V295.8C72 304.7 79.3 312 88.2 312H128C136.9 312 144.2 304.7 144.2 295.8V256.2C144.2 247.3 136.9 240 128 240zM10.1 280C4.5 280 0 284.5 0 290.1V317.9C0 323.5 4.5 328 10.1 328H37.8C43.3 328 47.9 323.5 47.9 317.9V290.1C47.9 284.5 43.4 280 37.8 280H10.1zM168 305.3V326.7000000000001C168 331.8 172.2 336 177.3 336H198.7C203.8 336 208 331.8 208 326.7000000000001V305.3C208 300.2000000000001 203.8000000000001 296 198.7 296H177.3C172.2 296 168 300.2 168 305.3zM56 212.5V187.5C56 181.2 50.9 176 44.6 176H19.4C13.1 176 8 181.2 8 187.5V212.5C8 218.8 13.1 224 19.4 224H44.5C50.9 224 56 218.8 56 212.5z" glyph-name="cloudversify" horiz-adv-x="616" unicode=""/><glyph d="M502.285 288.296L268.2850000000001 444.296C260.298 449.211 251.7740000000001 449.256 243.7140000000001 444.296L9.714 288.296C3.714 284.2970000000001 0 277.153 0 270.011V114.012C0 106.869 3.714 99.726 9.715 95.726L243.715 -60.296C251.702 -65.211 260.226 -65.256 268.286 -60.296L502.286 95.726C508.286 99.725 512.001 106.869 512.001 114.012V270.011C512 277.153 508.286 284.2970000000001 502.285 288.296zM278 384.8690000000001L450.286 270.011L373.429 218.582L278 282.2970000000001V384.8690000000001zM234 384.8690000000001V282.2970000000001L138.571 218.582L61.714 270.011L234 384.8690000000001zM44 228.868L99.143 192.011L44 155.154V228.868zM234 -0.847L61.714 114.011L138.571 165.4400000000001L234 101.725V-0.847zM256 140.011L178.285 192.011L256 244.011L333.7150000000001 192.011L256 140.011zM278 -0.847V101.725L373.429 165.4400000000001L450.286 114.0110000000001L278 -0.847zM468 155.154L412.857 192.011L468 228.868V155.154z" glyph-name="codepen" horiz-adv-x="512" unicode=""/><glyph d="M422.5 245.1C453.2 245.1 456 192 422.2 192H411.4V147.7H384.8V245.1H422.5zM472 95.4C429.9 3.5 350.4 -56 248 -56C111 -56 0 55 0 192S111 440 248 440C345.4 440 420.8 386.3 466.2 301.6L280.2 192.8L472 95.4zM433.5 82.9L373.2 113.6C346.1 69.3 302.8 42.1999999999999 250.8 42.1999999999999C168.3 42.1999999999999 101.6 108.8999999999999 101.6 191.0999999999999C101.6 273.5999999999999 168.3 340.2999999999999 250.8 340.2999999999999C299.2 340.2999999999999 339.7 316.7999999999999 367.7 276.8999999999999L427.2 311.4999999999999C386.5 374.0999999999999 322.5 411.4999999999999 248 411.4999999999999C126.8 411.4999999999999 28.5 313.1999999999999 28.5 191.9999999999999S126.8 -27.5 248 -27.5C326.6 -27.5 394.5 14.6 433.5 82.9z" glyph-name="codiepie" horiz-adv-x="472" unicode=""/><glyph d="M2.3 35.8C-2.2 28.2 0.2 18.3 7.8 13.6L113.7 -51.6C121.4 -56.2999999999999 131.4 -53.9999999999999 136.1 -46.3C136.1 -46.1999999999999 136.2 -46.1 136.2 -46.1C203.3 66.1 216.7 49.8000000000001 417.1 -45.4C425.2 -49.3 434.9 -45.8 438.8 -37.7C438.9 -37.6 438.9 -37.4 439 -37.3L489.3999999999999 76.8C492.9999999999999 84.9 489.2999999999999 94.4 481.2999999999999 98.1C459.0999999999999 108.4999999999999 415.0999999999999 129.3 375.3999999999999 148.4C127.5 269 44.6 102.7 2.3 35.8zM509.7 347.9000000000001C514.2 355.5 511.8 365.4000000000001 504.2 370.1L398.4 435.2C390.9 440.2 380.8 438.3 375.8 430.8C375.6 430.5 375.4 430.2 375.2 429.8C307.8999999999999 317.2 294.0999999999999 334.2 94.5999999999999 428.9C86.4999999999999 432.8 76.7999999999999 429.3 72.8999999999999 421.2C72.7999999999999 421.1 72.7999999999999 420.9 72.6999999999999 420.8L22.2 306.7C18.6 298.6 22.3 289.1 30.3 285.4C52.5 275 96.6 254.2 136.3 235C384.3 115 467.1 280.4 509.7 347.9z" glyph-name="confluence" horiz-adv-x="512" unicode=""/><glyph d="M550.5 207L500.411 293.786C501.482 295.928 502.286 298.339 502.286 301.0180000000001C502.286 309.054 495.59 315.751 487.554 316.019L432.107 411.9120000000001C432.643 413.519 433.178 415.126 433.178 416.733C433.178 425.304 426.214 432.001 417.91 432.001C413.089 432.001 409.071 429.858 406.124 426.376H299.518C296.839 429.857 292.8210000000001 432 288 432S279.161 429.857 276.482 426.375H170.411C167.464 429.857 163.447 432 158.625 432C150.322 432 143.357 425.304 143.357 416.732C143.357 415.125 143.893 413.25 144.429 411.911L88.446 314.678C83.09 312.2680000000001 79.339 307.178 79.339 301.017C79.339 300.482 79.607 299.9460000000001 79.607 299.41L26.303 207.267C19.071 205.928 13.713 199.767 13.713 192.267C13.713 185.035 18.802 178.874 25.767 177.267L80.946 81.909C80.41 80.302 80.142 78.963 80.142 77.088C80.142 69.8559999999999 85.231 63.6949999999999 92.196 62.356L143.893 -27.376C143.357 -28.983 142.822 -30.858 142.822 -32.733C142.822 -41.304 149.786 -48.001 158.09 -48.001C162.911 -48.001 166.929 -45.858 169.608 -42.6439999999999H276.483C279.161 -45.857 283.447 -48 288 -48S296.839 -45.857 299.5180000000001 -42.643H406.6610000000001C409.3390000000001 -45.589 413.3570000000001 -47.464 417.6430000000001 -47.464C426.2140000000001 -47.464 432.9110000000001 -40.5 432.9110000000001 -32.196C432.9110000000001 -30.589 432.6440000000001 -29.25 432.1080000000001 -27.911L483.8050000000001 62.357C490.7690000000001 63.696 495.859 69.857 495.859 77.0889999999999C495.859 78.696 495.5910000000001 80.3029999999999 495.0550000000001 81.91L549.9660000000001 177.268C556.9300000000002 178.607 562.2880000000001 184.768 562.2880000000001 192.268C562.2860000000002 199.5 557.1960000000001 205.661 550.5000000000001 207zM153.535 -2.732L109.875 73.071H153.535V-2.732zM153.535 81.107H109.875C109.607 82.178 109.071 83.249 108.536 84.321L153.535 131.731V81.107zM153.535 143.518L103.178 90.2139999999999C101.839 90.7499999999999 100.499 91.5539999999999 99.16 91.821L43.447 188.25C43.982 189.589 43.982 190.929 43.982 192.268S43.982 194.678 43.714 195.75L95.679 285.75C98.358 286.0180000000001 101.036 286.822 103.447 288.429L153.536 236.464V143.518zM153.535 245.84L107.732 293.25C109.071 295.393 109.875 298.071 109.875 301.017C109.875 301.285 109.607 301.821 109.607 302.089L153.535 317.893V245.84zM153.535 326.465L109.875 310.661L153.535 386.197V326.465zM480.054 287.357L480.8579999999999 286.018L445.5 118.875L381.75 186.107L479.786 287.625L480.054 287.357zM291.75 92.893L303.2680000000001 81.107H280.5L291.75 92.893zM291.4820000000001 104.143L208.179 189.589L287.7320000000001 273.964L370.7680000000001 186.375L291.4820000000001 104.1429999999999zM296.8390000000001 98.25L376.1250000000001 180.482L443.6250000000001 109.232L437.7330000000001 81.107H313.714L296.839 98.25zM410.411 403.607C411.4820000000001 403.0710000000001 412.553 402.535 413.8930000000001 402.267L471.75 301.553V301.017C471.75 298.0710000000001 472.553 295.3930000000001 473.893 293.25L376.393 192L293.358 279.589L410.411 403.607zM401.304 405.75L287.7320000000001 285.482L230.6780000000001 345.75L397.0170000000001 405.75H401.3040000000001zM277.821 405.75C280.499 403.072 283.981 401.4650000000001 288 401.4650000000001S295.5 403.072 298.1789999999999 405.75H373.1789999999999L224.786 352.179L173.893 405.75H277.8210000000001zM161.572 400.125L162.643 402.267A33.834 33.834 0 0 1 165.322 403.0710000000001L216.483 349.231L161.572 329.41V400.125zM161.572 320.839L222.375 342.803L282.107 279.589L202.554 195.482L161.572 237.535V320.839zM161.572 228.161L198 190.393L161.572 152.089V228.161zM161.572 140.303L203.625 184.767L286.393 98.785L269.25 81.107H161.572V140.303zM168.536 -21.75C166.929 -20.143 165.054 -19.072 162.643 -18.268L161.572 -16.6609999999999V73.071H261.482L169.875 -21.75H168.536zM298.447 -21.75C295.7680000000001 -19.34 292.019 -17.465 288 -17.465S280.233 -19.34 277.553 -21.75H181.124L272.731 73.071H311.035L402.642 -21.75H298.447zM418.447 -9.964L414.161 -17.464C412.822 -17.732 411.751 -18.267 410.679 -18.803L321.483 73.072H435.8589999999999L418.447 -9.964zM431.303 12.268L444.161 73.071H466.125L431.303 12.268zM466.125 81.107H445.7680000000001L450.3210000000001 102.2670000000001L467.4640000000001 84.0530000000001C466.929 83.2500000000001 466.393 82.179 466.1250000000001 81.107zM532.2860000000001 188.518L476.8390000000001 91.821C475.5000000000001 91.286 474.1600000000001 90.75 472.8210000000001 89.947L452.1960000000001 111.911L486.7500000000001 275.839L532.5530000000001 196.553C532.2860000000001 195.214 531.7500000000001 193.875 531.7500000000001 192.268C531.7500000000001 190.929 532.0180000000001 189.857 532.2860000000001 188.518z" glyph-name="connectdevelop" horiz-adv-x="576" unicode=""/><glyph d="M45.4 143C59.8 75.9 71.8 14 113.6 -32H34C15.3 -32 0 -16.8 0 2V382C0 400.7 15.2 416 34 416H91.7C77.9 403.4 65.6 388.8 54.8 372.4C9.4 302.4 27.8 225.6 45.4 143zM478 416H387.8C409.2 394.6 427 366.5 440.5 331.9L303.4 302.6C288.5 331.6 265.6 355.9 220.8 346.5C196.2 341.2 179.8 327.2 172.5 311.9C163.7 293.2000000000001 159.3 272.1 180.7 171.6C201.8 71.4 214.4 53.9 230.2 40.4C243.1 29.3 263.6 23.4 288.5 28.7C333 38.1 344.2 69.4 345.9 101.9L483.3 131.5000000000001C486.4999999999999 60.0000000000001 464.6 6.3000000000001 425.9 -32.0999999999999H478C496.7 -32.0999999999999 512 -16.8999999999999 512 1.9000000000001V382C512 400.8 496.8 416 478 416z" glyph-name="contao" horiz-adv-x="512" unicode=""/><glyph d="M52.9 234.3H92.9L86.7 210.7C84.8 204.2 79.3 199.8 72.4 199.8H53.8C28.9 199.8 29.1 162.4 53.8 162.4H65.1C69.3 162.4 72.7 158.5000000000001 71.5 154.1L64.4 128H52C18.5 128 -7 159.4 1.7 193.2C9 220.2 30 234.3 52.9 234.3M73.1 128L108 258.1C109.8 264.5 115.2 269 122.3 269H159.3C183.4 269 204.7 252.6 210.3 227.8C216.9 198.7 195.8 162.5 158.6 162.5H126.6L133 186.3C134.8000000000001 192.5 140.3000000000001 197.1 147.3000000000001 197.1H157.6000000000001C170.0000000000001 197.1 178.4000000000001 208.8 175.9000000000001 219.7C173.8000000000001 228.9 166.0000000000001 234.5000000000001 157.6000000000001 234.5000000000001H137.8000000000001L112 138.8C110.1 132.6 104.6 128.1 97.8 128.1L73.1 128M293.7 197.4C294 198.4 295.6 202.7 291.6 202.7H234.1C224.4 202.7 217.5 211.6 219.9 221.2L223.4 234.6H301.3C320.1 234.6 334.6 217 329.8 197.8L315.8 146C313 135.4 303.6 128.2 292.4 128.2L234.9 128.4C192 128.4 196.4 192.2 235.6 192.2H284L280.5 179C278.6 172.8 273.1 168.2 266.3 168.2H244.7C239.4 168.2 239.4 160.3 244.7 160.3H279.6C284.2000000000001 160.3 284.7000000000001 164.2 285.1 165.6L293.7000000000001 197.4M396.8000000000001 234.3000000000001C431.2000000000001 234.3000000000001 456.1000000000001 202.0000000000001 447.1000000000001 168.9L438.3000000000001 135.8C437.1000000000001 130.9 432.6000000000001 128 428.0000000000001 128H408.9000000000001C404.4000000000001 128 401.3 132 402.5000000000001 136.3L413.1000000000001 176.3C416.4000000000001 187.9 407.5000000000001 199.7 395.0000000000001 199.7H375.2000000000001L358.0000000000001 135.7000000000001C356.8000000000001 130.9 352.4000000000001 127.9 347.6000000000001 127.9H328.7000000000001C324.5000000000001 127.9 321.1000000000001 131.8 322.3000000000002 136.2000000000001L348.5000000000001 234.2000000000001H396.8000000000002M498 196.4L490 166.4C489.1 163.1 491.5 159.7 495.1 159.7H568.4L562.6999999999999 138.7C560.8 132.5 555.3 128 548.4999999999999 128H481.7999999999999C461.7999999999999 128 448.4999999999999 147 453.4999999999999 164.7L464.2999999999999 204.7C469.0999999999999 222.3 484.9999999999999 234.3 502.8999999999999 234.3H550.1999999999999C569.1999999999999 234.3 583.4 216.6 578.4999999999999 197.5L575.2999999999998 185.5C572.3999999999999 174.5 562.5999999999998 167.9 552.0999999999998 167.9H498.6999999999998L502.1999999999998 180.9C503.7999999999998 187.1 509.3999999999998 191.7 516.3999999999999 191.7H538C540 191.7 541.3 192.7 541.9 194.7L542.6 197.3C543.3000000000001 200 541.3000000000001 202.4 538.7 202.4H505.8000000000001C501.7 202.4 498.9000000000001 200.3 498.0000000000001 196.4zM568.2 128L603.8000000000001 261.1C605.0000000000001 265.8 609.3000000000001 269 614.2 269H633.1C637.6 269 640.8000000000001 265 639.6 260.7L613.1 162.5C608 141.8 588.9 128 568.2 128" glyph-name="cpanel" horiz-adv-x="640" unicode=""/><glyph d="M314.9 253.6V152.2H286.6V31.7H209.5V152.1H181.2V253.6C181.2 258 182.8 261.8 185.8 264.9C188.9 268 192.7 269.6 197.1 269.6H299C303.1 269.6 306.8 268 310.1 264.9C313.2000000000001 261.7000000000001 314.9000000000001 258 314.9000000000001 253.6zM213.4 317.3C213.4 340.6 224.9 352.3 247.9 352.3S282.4 340.6 282.4 317.3C282.4 294.3 270.9 282.8 247.9 282.8S213.4 294.3 213.4 317.3zM247.6 440C389.4 440 496 329.9 496 192C496 44.9 377.5 -56 247.6 -56C113.6 -56 0 53.5 0 192C0 324.9 104.7 440 247.6 440zM248.4 395.3C130.2 395.3 44.7 297.4 44.7 192C44.7 82.2 135.9 -10.8 248.4 -10.8C351.6 -10.8 451.2 70.3 451.2 192C451.3 305.8 361 395.3 248.4 395.3z" glyph-name="creative-commons-by" horiz-adv-x="496" unicode=""/><glyph d="M247.7 440C103.6 440 0 323.2 0 192C0 55.7 111.7 -56 247.7 -56C377.9 -56 496 44.9 496 192C496 331 388.4 440 247.7 440zM248.3 -10.7C136.3 -10.7 44.7 81.8 44.7 192C44.7 215.2 48.4 237.2 55.6 258L121.3 228.9H116.6V199.4H139.9C139.9 193.2 139.5 196.2 139.5 179.9H116.7V150.4H143.7C155.1 83.4 210.9 49.1 268.3 49.1C294.9 49.1 318.9 56.9999999999999 333.1 64.9L323.1 111C314.4 106.4 294.9 100.2 275.8 100.2C247.6 100.2 217.7 111.1 208.5 150.4H298.8L427.1 93.6C425.6 91.4999999999999 370.9 -10.7 248.3 -10.7zM231.6 179.9L231.1 180.3L232 179.9H231.6zM308.8 199.4H312.5V228.9H242.2L213.6 241.5C216.1 247 219 252 222.4 255.8C235.3 271.6 253.5 278.2 273.5 278.2C291.8 278.2 308.8 272.8 319.6 268.2L331.2000000000001 315.5C316.2000000000001 322.1 294.2000000000001 327.9 268.9000000000001 327.9C229.9000000000001 327.9 196.7000000000001 312.1 173 285.6C167.7 279.5 163.2 272.7000000000001 159.1 265.5L77.5 301.6C142.1 398.4000000000001 235.2 395.2000000000001 248.2 395.2000000000001C361.2000000000001 395.2000000000001 451.2 305 451.2 191.8C451.2 173.1 449.1 155.5 444.9000000000001 138.9L308.8000000000001 199.4z" glyph-name="creative-commons-nc-eu" horiz-adv-x="496" unicode=""/><glyph d="M247.7 440C103.6 440 0 323.2 0 192C0 55.6 111.8 -56 247.7 -56C377.9 -56 496 44.8 496 192C496 330.8 388.5 440 247.7 440zM248.3 -10.7C136.3 -10.7 44.7 81.8 44.7 192C44.7 213.1 47.7 233.2 53.7 252.3L180.7 195.8H152.8V157.2H210.9L216.6 145.4V126.7H152.8V88H216.6V32H278.3V88H342.5V123.7L423.5 87.6C422 85.4 366.3999999999999 -10.7 248.3 -10.7zM335.9 126.6H278.3V145.3L281.2 150.9L335.8999999999999 126.6zM342.4 178V195.8H303.8L366.8 311.8H301L257.6 215.8L234.6 226L195 311.7H129.2000000000001L156.5000000000001 260.7L74.6000000000001 297.2C102.4000000000001 341.3 157.2000000000001 395.3 248.3000000000001 395.3C361.1 395.3 451.3000000000001 305.3 451.3000000000001 191.9C451.3000000000001 170.9 448.6000000000001 151.3 443.4000000000001 132.9L342.4000000000001 178z" glyph-name="creative-commons-nc-jp" horiz-adv-x="496" unicode=""/><glyph d="M247.6 440C387.4 440 496 332.1 496 192C496 44.8 377.5 -56 247.6 -56C113.1 -56 0 54.8 0 192C0 324.9 104.7 440 247.6 440zM55.8 258.9C48.4 238.5 44.7 216.2 44.7 192C44.7 81.1 136.8 -10.4 248.4 -10.4C370.8 -10.4 425.6 91.4 426.9 93.7000000000001L333.5 135.3000000000001C325.8 98.2000000000001 292.3 82.3000000000001 265.3 79.9000000000001V41.8000000000001H236.5V80C209 80.3 183.9 90.2 161.2 109.7L195.3 144.2C227 114.8 281.7 112.4 281.7 146.4C281.7 152.6 279.5 157.6 275.1 161.5C260.9 167.5 273.3 161.6 55.8 258.9zM248.4 395.7C210 395.7 136 387 77.9 302.7L172.7 260.2C182.7 291.5 213.1 303.1 236.5 304.5V342.6H265.3V304.5C288 303.3 308.7 295.6 327.3 281.5L295 248.3C252.3 278.2000000000001 211.5 256.3 225 237.2C278.4 213.1 268.8 217.4 318 195.6L445.1 138.9C449.2000000000001 156.3 451.3 174.0000000000001 451.3 192C451.3 249.0000000000001 431.5 297 392 335.9000000000001C352.7 375.8000000000001 304.8 395.7000000000001 248.4 395.7000000000001z" glyph-name="creative-commons-nc" horiz-adv-x="496" unicode=""/><glyph d="M247.6 440C389.4 440 496 329.9 496 192C496 44.9 377.5 -56 247.6 -56C113.6 -56 0 53.5 0 192C0 324.9 104.7 440 247.6 440zM248.4 395.3C130.2 395.3 44.7 297.4 44.7 192C44.7 82.2 135.9 -10.8 248.4 -10.8C351.6 -10.8 451.2 70.3 451.2 192C451.3 305.8 361 395.3 248.4 395.3zM342.4 251V208.5H162.1V251H342.4zM342.4 171.2V128.7H162.1V171.2H342.4z" glyph-name="creative-commons-nd" horiz-adv-x="496" unicode=""/><glyph d="M247.6 440C389.4 440 496 329.9 496 192C496 44.9 377.5 -56 247.6 -56C113.6 -56 0 53.5 0 192C0 324.9 104.7 440 247.6 440zM248.4 395.3C130.2 395.3 44.7 297.4 44.7 192C44.7 82.2 135.9 -10.8 248.4 -10.8C351.6 -10.8 451.2 70.3 451.2 192C451.3 305.8 361 395.3 248.4 395.3zM135.5 124.7V262H203.7C237.4 262 254.2 246.5 254.2 215.5C254.2 206.5 251.2 169 197.1 169H170.1V124.7H135.5zM169.6 236.3V194.7H198.8C226.7 194.7 228.8 236.3 197.9 236.3H169.6zM263.5 124.7V262H316.7C338.1 262 386.7 256.8 386.7 193.4C386.7 129.9 338.1 124.8 316.7 124.8H263.5zM297.6 233.2V153.5H317.5C341.5 153.5 352 168.8 352 193.4C352 235.4 320.8 233.3 317 233.3L297.6 233.2z" glyph-name="creative-commons-pd-alt" horiz-adv-x="496" unicode=""/><glyph d="M248 440C111 440 0 328.9 0 192C0 55 111 -56 248 -56S496 55 496 192C496 328.9 385 440 248 440zM248 -9.5C108.8 -9.5 12.2 128.5 57.8 258.4L136.6 223.3C134.5 212.8 133.3 201.8 133.3 190.4C133.3 91.4 207.2 63.5 253.7 63.5C276.6 63.5 307.2000000000001 70.2 333.1 93L297 136.9C291.5 130.6 279.4 120.2 260.7 120.2C222.9 120.2 207 160.1 206.8 192.1C437.2 89.5 423.3 95.6 424.7 95.3C390.4 32.9 324.1 -9.5 248 -9.5zM442.2 140.5L218.2 240.5C237 274.5 273.1 271.2 292.9 251.5L333.3 293.1C306.2 316.4 275.3 320.6 255.2 320.6C207.8 320.6 174.3 300.1 154.5 269L79.5999999999999 302.4C115.6999999999999 357.3 177.6999999999999 393.6 248.1 393.6C359.2 393.6 449.5999999999999 303.2 449.5999999999999 192.1C449.5999999999999 174.1 447.2 156.7000000000001 442.7999999999999 140.1C442.4999999999999 140.2000000000001 442.3999999999999 140.3 442.1999999999999 140.5z" glyph-name="creative-commons-pd" horiz-adv-x="496" unicode=""/><glyph d="M247.6 440C389.4 440 496 329.9 496 192C496 44.9 377.5 -56 247.6 -56C113.6 -56 0 53.5 0 192C0 324.9 104.7 440 247.6 440zM248.4 395.3C130.2 395.3 44.7 297.4 44.7 192C44.7 82.2 135.9 -10.8 248.4 -10.8C351.6 -10.8 451.2 70.3 451.2 192C451.3 305.8 361 395.3 248.4 395.3zM410.1 187.6L415 185.4V115.4C407.8 111.8 351.6 87.9 347.7 86.6C341.2 88.4 234 133.4 210.4 142.8L146.2 116.2L82.9 143.7V207.5L142.2 232.3C141.5 233 141.8 227.3 141.8 302.7000000000001L209.1 332.4000000000001L361 269.5V207.9L410.1 187.6zM339.7000000000001 106.1V149.9H339.3000000000001V151.7000000000001L225.5000000000001 198.2000000000001V153L339.3000000000001 106.1V106.5L339.7000000000001 106.1zM347.2000000000001 163.7000000000001L387.1 180.1L350.3 195.6L311.3 179.2000000000001L347.2 163.7000000000001zM399.5000000000001 125.6V168.6L355.2 150V106.6L399.5 125.6z" glyph-name="creative-commons-remix" horiz-adv-x="496" unicode=""/><glyph d="M247.6 440C389.4 440 496 329.9 496 192C496 44.9 377.5 -56 247.6 -56C113.6 -56 0 53.5 0 192C0 324.9 104.7 440 247.6 440zM248.4 395.3C130.2 395.3 44.7 297.4 44.7 192C44.7 82.2 135.9 -10.8 248.4 -10.8C351.6 -10.8 451.2 70.3 451.2 192C451.3 305.8 361 395.3 248.4 395.3zM137.7 227C150.7 310.9 218.2 322.7 246.6 322.7C346.4 322.7 374.1 240.2 374.1 188.5C374.1 124.9 333.1 55.6 245.2 55.6C206.3 55.6 146.1 75.6 135.8 152.6H198.3C199.8 122.5 217.9 107.4 252.8 107.4C276.1 107.4 310.8 125.6 310.8 190.2000000000001C310.8 272.7000000000001 261.7 270.8000000000001 254.1 270.8000000000001C221 270.8000000000001 202.4 256.2000000000001 198.3 227.0000000000001H216.5L167.3 177.8000000000001L118.3 227.0000000000001H137.7z" glyph-name="creative-commons-sa" horiz-adv-x="496" unicode=""/><glyph d="M247.6 440C389.4 440 496 329.9 496 192C496 44.9 377.5 -56 247.6 -56C113.6 -56 0 53.5 0 192C0 324.9 104.7 440 247.6 440zM248.4 395.3C130.2 395.3 44.7 297.4 44.7 192C44.7 82.2 135.9 -10.8 248.4 -10.8C351.6 -10.8 451.2 70.3 451.2 192C451.3 305.8 361 395.3 248.4 395.3zM355.4 189.7C350.7 189.7 346.4 186.9 344.7 182.5L340.7 173L329.7 265.8C328 279.7000000000001 307.7 279.2000000000001 306.6 265.4L302.3 214L297.1 282.8C296 297.1 275 297 273.9 282.8L270.4 237.9L264.5 332.2C263.6 346.7 242.2 346.6 241.3 332.2L236.2 248.5L231.9 314.8C231 329.2000000000001 209.7 329.2000000000001 208.7 314.8L203.4 234.6L199.3 291.6C198.2 305.9000000000001 177.3 305.9000000000001 176.1 291.8L168.4 202L166.6 214.2C164.9 225.6 149.5 227.8 144.6 217.5L131.4 189.8H87.5V166.6H138.8C143.2 166.6 147.2 169.1 149.2 173L159.9 99.9C161.9 86.4 181.8 86.9 183 100.6L186.8 144.2L192.5 65.9C193.6 51.5 214.8 51.7 215.7 66L220.3 136.4L225.1 63.1C226 48.7 247.4 48.7 248.3 63.2L253.2 143.7L257.7 71.9C258.6 57.6 279.8 57.4 280.9 71.7L285.5 130.3L290.4 65.9C291.5 51.6 312.4 51.7 313.5 65.8L320.3 148.8L323 126.5C324.4 114.6999999999999 340.7 112.3999999999999 345.3 123.3999999999999L363.3 166.7999999999999H413.8V190L355.4000000000001 189.7zM277.4 184.5H255.5V162.6C255.5 158.5 252.2 155.1 248 155.1C243.9 155.1 240.5 158.4 240.5 162.6V184.5H218.6C214.5 184.5 211.1 187.8 211.1 192C211.1 196.1 214.5 199.5 218.6 199.5H240.5V221.4C240.5 225.5 243.9 228.9 248 228.9S255.5 225.6 255.5 221.4V199.5H277.4C281.5 199.5 284.9 196.2 284.9 192C284.9 187.9 281.5 184.5 277.4 184.5z" glyph-name="creative-commons-sampling-plus" horiz-adv-x="496" unicode=""/><glyph d="M247.6 440C389.4 440 496 329.9 496 192C496 44.9 377.5 -56 247.6 -56C113.6 -56 0 53.5 0 192C0 324.9 104.7 440 247.6 440zM248.4 395.3C130.2 395.3 44.7 297.4 44.7 192C44.7 82.2 135.9 -10.8 248.4 -10.8C351.6 -10.8 451.2 70.3 451.2 192C451.3 305.8 361 395.3 248.4 395.3zM252 342.1C254.8 342.4 263.5 341.1 263.5 330.6L270.1 223.4L275 282.7C275 288.7 279.7 293.3 285.6 293.3C291.5 293.3 296.2000000000001 288.6 296.2000000000001 282.7C296.2000000000001 280.2 295.7000000000001 288.4 301.9000000000001 201.2L307.7000000000001 265.4C308.0000000000001 268.3 310.6 274.7 317.9000000000001 274.7C321.7000000000001 274.7 327.8 272.4 328.5000000000001 265.8L340.0000000000001 169.3L345.3000000000001 182.1C347.1000000000001 186.5 350.5000000000001 188.7 355.5000000000001 188.7H413.5000000000001V167.4H362.6000000000001L344.4000000000001 123.1C340.5000000000001 113.2 324.9000000000001 114 323.6000000000001 126.2L319.6000000000001 158.1L312.1000000000001 65.5C311.8000000000001 62.5 309.1000000000001 56.2 301.9000000000001 56.2C298.9000000000001 56.2 292.1000000000001 58.3 291.3000000000001 65.5C291.3000000000001 67.4 291.9000000000001 59.7 285.1000000000001 143.4L279.8000000000001 71.2C278.7000000000001 66.4 275.0000000000001 61.9 269.2000000000001 61.9C266.3000000000001 61.9 259.4000000000001 63.9 258.6 71.2C258.6 73.1 259.1 64.5 252.8 158.9L247 64.1C247 57.8 243.4 51.7 236.4 51.7C231.2 51.7 225.8 55.8 225.8 63.7L220 151.4C214.2 58.9 214.7 67.4 214.7 65.5C213.6 60.7 209.9 56.2 204.1 56.2C201.1 56.2 194.3 58.3 193.5 65.5C193.5 66.2 193.1 66.6 193.1 68.1L186.9 156.7000000000001L182 100C181.3 93.5 175.3 90.7 171.4 90.7C165.6 90.7 161.8 94.8 160.8 99.6L149.7 176C147.7 172 146.2 167.6 138.6 167.6H87.2V188.9H132L145.7 216.8000000000001C150.1 226.7000000000001 163.9 224 165.6 214.1000000000001L168.7 193.7000000000001L177.1 291.6C177.1 297.6 181.9 302.2000000000001 187.7 302.2000000000001C188.2 302.2000000000001 198.3 302.4000000000001 198.3 289.8000000000001L203.2 220.7000000000001L209.8 313.3000000000001C209.8 323.4000000000001 219.3 323.9000000000001 220 323.9000000000001C220.6 323.9000000000001 230.6 323.2000000000001 230.6 313.3000000000001L235.9 232.7000000000001L242.1 330.6C242.2 331.7000000000001 241.5 340.9000000000001 252 342.1z" glyph-name="creative-commons-sampling" horiz-adv-x="496" unicode=""/><glyph d="M247.6 440C389.4 440 496 329.9 496 192C496 44.9 377.5 -56 247.6 -56C113.6 -56 0 53.5 0 192C0 324.9 104.7 440 247.6 440zM248.4 395.3C130.2 395.3 44.7 297.4 44.7 192C44.7 82.2 135.9 -10.8 248.4 -10.8C351.6 -10.8 451.2 70.3 451.2 192C451.3 305.8 361 395.3 248.4 395.3zM349.4 262.9C357.2 262.9 363.1 256.8 363.1 249.2V66.7C363.1 59 357 53 349.4 53H214.3C206.6 53 200.6 59 200.6 66.7V120.7H146.6C138.8 120.7 132.9 126.7 132.9 134.4V316.9C132.9 325.1 139.5 329.6 145.3000000000001 330.6H281.7000000000001C289.4000000000001 330.6 295.4000000000001 324.6 295.4000000000001 316.9V262.9H349.4000000000001zM159.9 147.7H200.6V249.1C200.6 256.5 206.4 261.7 212.6 262.8H268.4000000000001V303.1H159.9V147.6999999999999zM336.1 235.8H227.6V80.4H336.1V235.8z" glyph-name="creative-commons-share" horiz-adv-x="496" unicode=""/><glyph d="M247.6 440C389.4 440 496 329.9 496 192C496 44.9 377.5 -56 247.6 -56C113.6 -56 0 53.5 0 192C0 324.9 104.7 440 247.6 440zM248.4 395.3C130.2 395.3 44.7 297.4 44.7 192C44.7 82.2 135.9 -10.8 248.4 -10.8C351.6 -10.8 451.2 70.3 451.2 192C451.3 305.8 361 395.3 248.4 395.3zM248 334.8C166.1 334.8 145.5 257.5 145.5 192C145.5 126.5 166.1 49.2 248 49.2S350.5 126.5 350.5 192C350.5 257.5 329.9 334.8 248 334.8zM248 280.9C251.3 280.9 254.4 280.4 257.2 279.7000000000001C263.1 274.6 266 267.6 260.3 257.8L205.8 157.6C204.1 170.3 203.9 182.7000000000001 203.9 192C203.9 220.8000000000001 205.9 280.9000000000001 248 280.9000000000001zM288.8 234.7C291.7 219.3 292.1 203.3 292.1 192C292.1 163.1 290.1 103.1 248.0000000000001 103.1C234.5000000000001 103.1 215.4 110.8 227.9000000000001 129.5L288.8 234.7z" glyph-name="creative-commons-zero" horiz-adv-x="496" unicode=""/><glyph d="M245.83 233.13L212.61 215.85C203.18 235.43 187.37 235.78 185.15 235.78C163.02 235.78 151.93 221.17 151.93 191.94C151.93 168.37 161.14 148.1 185.15 148.1C199.62 148.1 209.8 155.19 215.72 169.36L246.27 153.86C240.1 142.35 220.58 114.88 181.17 114.88C158.57 114.88 107.21 125.2 107.21 191.93C107.21 250.62 150.21 268.99 179.84 268.99C210.56 269 232.54 257.04 245.8300000000001 233.13zM388.88 233.13L356.1 215.85C346.6 235.62 330.38 235.78 328.2000000000001 235.78C306.0600000000001 235.78 294.98 221.17 294.98 191.94C294.98 168.39 304.2100000000001 148.1 328.2000000000001 148.1C342.6500000000001 148.1 352.85 155.19 358.7400000000001 169.36L389.7400000000001 153.86C387.6400000000001 150.11 368.3500000000001 114.88 324.6500000000001 114.88C301.9600000000001 114.88 250.6900000000001 124.75 250.6900000000001 191.93C250.6900000000001 250.6 293.6600000000001 268.99 323.3200000000001 268.99C354.0300000000001 269 375.9000000000001 257.04 388.8800000000001 233.13zM247.56 439.95C104.74 439.95 0 324.89 0 191.95C0 53.46 113.6 -56.05 247.56 -56.05C377.49 -56.05 496 44.82 496 191.95C496 329.82 389.38 439.95 247.56 439.95zM248.43 -10.86C135.89 -10.86 44.73 82.18 44.73 191.95C44.73 297.37 130.16 395.2200000000001 248.45 395.2200000000001C360.98 395.2200000000001 451.27 305.76 451.27 191.96C451.26 70.27 351.59 -10.86 248.43 -10.86z" glyph-name="creative-commons" horiz-adv-x="496" unicode=""/><glyph d="M224.82 448C225.08 447.85 441.39 323.49 441.94 323.28C444.98 322.1 445.64 319.82 445.64 316.7200000000001C445.57 233.27 445.58 149.82 445.63 66.36C445.63 63.59 444.65 61.93 442.25 60.58C420.88 48.59 234.39 -57.71 223.32 -64H220.32C141 -18.34 2.08 61.44 1.93 61.52C0.64 62.26 -0.03 63.27 0.05 64.76C0.09 65.63 0.02 290.7 0 317.86C0 320.3 0.89 321.65 2.93 322.79C26.19 335.89 212.2 442.02 223.07 448H224.82zM214.4 427.58L214.18 427.74C149.43 390.88 84.69 354 19.95 317.13C19.99 317.01 20.03 316.9 20.08 316.78C30.27 312.94 40.47 309.0900000000001 50.94 305.14C43.23 299.15 42.62 299.11 40.29 300.01C40.19 300.05 16.12 309.29 13.49 310V79.58C14.37 80.9900000000001 77.56 190.49 77.62 190.59C79.24 193.41 80.65 192.51 86.74 192.1100000000001C88.14 192.0200000000001 88.22 191.8900000000001 87.52 190.6900000000001C46.33 119.3600000000001 51.12 127.7000000000001 20.04 73.7500000000001C19.23 72.3500000000001 19.43 72.6200000000001 21.29 72.6200000000001C249.02 72.6200000000001 197.69 72.6200000000001 207.79 72.5900000000001C209.23 72.5900000000001 209.48 72.8200000000001 209.49 74.2300000000001C209.5 77.1900000000001 209.5 80.1500000000001 209.49 83.1100000000001C209.49 84.4500000000001 211.85 83.9200000000001 191.12 84.1200000000001C183.66 84.1900000000001 176.98 87.3400000000001 169.74 96.8200000000001C162.36 106.4800000000001 155.12 116.2500000000001 147.89 126.03C145.61 129.11 144.44 128.41 131.13 128.41C129.38 128.41 129.35 128.41 129.37 126.59C129.66 100.3800000000001 129.52 101.3200000000001 130.41 93.9300000000001C130.93 89.5600000000001 132.57 89.7300000000001 140.1 89.1200000000001C143.24 88.8600000000001 143.98 85.0400000000001 140.62 84.2000000000001C139.05 83.8100000000001 109.02 83.6900000000001 106.95 84.3000000000001C104.68 84.9600000000001 104.4 88.3800000000001 107.25 89.0300000000001C110.54 89.7900000000001 113.41 88.2200000000001 113.91 93.4700000000001C115.21 107.1300000000001 115.08 102.5100000000001 115.01 172.8900000000001C115 183.7100000000001 114.66 185.4700000000001 109.65 186.4400000000001C108.43 186.6800000000001 106.11 186.6000000000001 104.96 186.9900000000001C102.08 187.9600000000002 102.96 191.8300000000001 106.73 191.8400000000002C140.4 191.8700000000001 152.81 192.9100000000002 162.79 186.9800000000001C170.53 182.3700000000001 174.77 175.5000000000001 175.3 166.5800000000002C176.18 151.9900000000002 168.79 144.2300000000001 160.31 133.9900000000001C159.63 133.1700000000001 159.59 132.6100000000001 160.27 131.7700000000001C162.87 128.5200000000001 165.32 125.1400000000001 167.98 121.9400000000001C195.54 88.7100000000001 192.09 91.4000000000001 209.26 88.8800000000001C210.15 88.7500000000001 210.28 89.3000000000001 210.27 90.0300000000001C210.25 93.7000000000001 210.28 97.3600000000001 210.25 101.0300000000001C210.24 102.0500000000001 210.57 102.4600000000001 211.66 102.2900000000001C224.2 100.3800000000001 233.51 102.3600000000001 235.24 102.5900000000001C236.32 102.7400000000001 236.74 102.3900000000001 236.72 101.2600000000001C236.72 101.1500000000001 237.6 74.5700000000001 237.59 74.4600000000001C237.54 72.9400000000001 238.26 72.8400000000001 239.48 72.8400000000001C301.86 72.8600000000001 364.63 72.8600000000001 426.19 72.8600000000001C399.07 119.8900000000001 372.08 166.71 345.01 213.6700000000001C347.2699999999999 214.3300000000001 344.61 213.7000000000001 351.7 215.0600000000001C353.7299999999999 215.4500000000001 353.75 215.4700000000001 354.81 213.6200000000001C362.12 200.9800000000001 432.12 79.6600000000001 432.18 79.5600000000001V310.02C430.4599999999999 309.52 328.88 271.3 326.42 270.3400000000001C325.34 269.92 324.87 270.14 324.51 271.2200000000001C323.88 273.12 323.17 274.98 322.42 276.8400000000001C322.1 277.63 322.33 277.9700000000001 323.07 278.23C323.17 278.27 418.5999999999999 314.08 426.11 317C360.69 354.57 295.55 392 230.1 429.6C259.17 379.24 288.05 329.23 316.92 279.2100000000001C316.83 279.1 316.74 278.99 316.64 278.88C307.07 279.78 306.18 280.48 304.84 282.82C303.88 284.51 231.34 410.53 222.84 424.98C213.74 410.31 139.28 278.77 137.47 278.66C134.54 278.49 131.59 278.58 128.22 278.58C157.05 328.41 185.72 378 214.4 427.58zM266.33 297.6600000000001C268.18 297.7100000000001 270.03 298.1800000000001 271.87 298.51C273.56 298.8100000000001 274.4 298.3100000000001 274.4700000000001 296.5900000000001C274.4700000000001 296.48 274.54 277.5300000000001 273.61 276.1400000000001C272.74 274.8400000000001 271.73 274.9200000000001 271.01 276.3300000000001C266.05 286.0200000000001 277.23 285.99 231.89 288.3800000000001C231.19 288.4200000000001 230.89 288.1500000000001 230.92 287.4500000000001C230.92 287.3200000000001 234.64 165.47 234.65 165.34C234.67 164.4500000000001 235.17 164.1400000000001 235.86 163.8300000000001C238.78 162.5200000000001 241.82 161.41 244.56 159.78C251.87 155.4500000000001 255.94 148.9400000000001 256.97 140.47C258.41 128.67 254.2 104.7000000000001 224.76 103.33C222.01 103.2000000000001 196.5 102.2500000000001 190.62 126.5800000000001C185.96 145.84 198.88 159.28 210.5099999999999 162.98C212 163.4500000000001 212.4599999999999 164.24 212.4899999999999 165.6400000000001C212.5899999999999 171.2700000000001 215.4899999999999 272.74 216.1999999999999 286.99C216.25 288.0700000000001 215.5799999999999 288.1500000000001 214.8499999999999 288.1400000000001C182.5 287.62 178.0999999999999 288.48 174.63 279.62C172.21 273.4400000000001 170.49 278.3000000000001 170.68 279.3900000000001A1361.1 1361.1 0 0 0 173.99 297.4200000000001C174.39 299.5300000000001 175.42 300.0300000000001 177.42 299.2800000000001C183.01 297.1700000000001 184.14 297.5800000000001 214.67 297.3600000000001C216.4 297.3500000000001 216.45 297.4400000000001 216.49 299.2100000000001C217.17 326.7000000000001 217.07 321.8000000000001 217.46 328.7600000000001C217.53 330.0500000000001 217.05 330.9300000000001 215.83 331.5600000000001C210.23 334.4700000000001 207.08 339.1100000000001 206.93 345.4300000000001C206.58 360.2400000000001 224.65 367.1000000000001 234.31 356.9400000000001C241.15 349.7500000000001 240.11 338.0300000000001 231.86 332.7900000000001C230.2 331.7300000000001 229.55 330.4600000000001 229.64 328.4500000000001C229.67 327.8600000000001 229.53 332.7600000000001 230.62 298.4000000000001C230.65 297.5000000000001 231.05 297.2800000000001 231.86 297.2900000000001C231.96 297.2900000000001 254.87 297.3800000000001 266.33 297.6600000000001zM67.27 306.3C87.11 310.81 99.95 306.86 119.76 304.61C122.52 304.3 123.5 303.39 123.38 300.62C123.17 295.63 122.22 278.29 122.14 277.4700000000001C122.04 276.43 121.54 275.56 120.51 275.13C116.45 273.43 116.9 279.58 116.5 282.42C113.37 304.85 42.63 315.12 41.87 257.02C41.56 233.1 58.88 203.39 95.95 206.14C123.19 208.15 115 226.33 120.79 226.61C122.77 226.71 124.12 225.28 123.77 223.25C121.94 212.4 120.35 204.3 120.32 204.1C118.81 194.92 33.65 182.02 26.97 246.15C24.29 272.02 37.44 299.52 67.27 306.3zM147.26 218.63C140.76 218.66 134.27 218.63 127.77 218.67C125.81 218.68 124.99 220.28 125.11 220.46C127.49 224.21 131 219.54 130.97 226.6C130.89 252.35 131.18 264.59 131.2 266.7C131.23 270.12 130.67 271.35 127.88 271.64C120.88 272.36 124.77 275.01 126.77 275.02C138.61 275.12 149.39 275.2 156.82 274.3C165.59 273.23 173.53 261.67 164.75 251.68C162.77 249.43 160.72 247.26 158.61 244.95C159.56 243.8 165.51 236.13 175.89 225.27C178.55 222.49 182.04 221.76 185.77 222.14C186.99 222.26 187.88 222.89 188 224.26C188.3 227.68 188.26 219.53 188.45 264.84C188.47 270.49 188.11 271.42 185.22 271.67C181.27 272.02 181.19 273.93 184.53 275.04C184.65 275.08 203.51 275.13 203.62 275.13C203.94 275.13 208.11 274.6 204.67 271.75C204.62 271.7 204.51 271.7200000000001 204.43 271.7100000000001C200.82 271.4500000000001 200.49 270.73 200.47 267.0900000000001C200.2 223.16 200.54 226.86 200.88 224.27C200.99 223.43 201.15 222.04 205.98 222.13C208.47 222.17 209.84 218.76 205.96 218.73C195.59 218.65 185.22 218.7 174.85 218.66C164.18 218.62 161.38 224.86 150.64 239.48C149.04 241.6600000000001 142.33 241.8400000000001 142.44 239.85C143.32 223.38 142.44 222.07 146.43 222.18C151.18 222.28 151.16 218.61 147.26 218.63zM422.23 228.78C421.0200000000001 221.65 422.4000000000001 218.4 416.93 218.44C355.38 218.86 369.11 218.66 366.2100000000001 218.75C364.99 218.79 363.7800000000001 219.19 362.5800000000001 219.48C360.0500000000001 220.08 364.0600000000001 220.71 362.2000000000001 225.08C360.7700000000001 228.45 359.4200000000001 231.86 358.0900000000001 235.27C357.7100000000001 236.25 357.1500000000001 236.71 356.05 236.71C352.93 236.71 348.7800000000001 237.15 341.4700000000001 236.64C340.8900000000001 236.6 340.0700000000001 236.09 339.85 235.58C338.2700000000001 231.96 336.7800000000001 228.29 335.3400000000001 224.62C334.0700000000001 221.39 343.2000000000001 223.3 347.5300000000001 222.46C350.5000000000001 221.89 352.06 218.74 348.1900000000001 218.73C339.4000000000001 218.7 330.6100000000001 218.67 321.8200000000001 218.68C318.9000000000001 218.68 318.7300000000001 221.83 321.0800000000001 221.89C323.7500000000001 221.96 325.8200000000001 223.02 327.0000000000001 225.36C328.5000000000001 228.33 329.8000000000001 231.4 331.1100000000001 234.45C349.2900000000001 276.59 348.1700000000001 274.62 349.5300000000001 276.06C350.5300000000001 277.12 351.6000000000001 277.11 352.5600000000001 276.02C355.4900000000001 272.68 370.9600000000001 231.31 376.1800000000001 224.1C378.1400000000001 221.4 381.9200000000001 222.12 382.5400000000001 222.09C386.1500000000001 221.96 386.5100000000001 223.2000000000001 386.6700000000001 226.38C386.7600000000001 228.2500000000001 386.7500000000001 225.2100000000001 386.7400000000001 267.62C386.7400000000001 272.0800000000001 384.3800000000001 271.36 381.1900000000001 271.8900000000001C380.9300000000001 271.9300000000001 378.6300000000001 272.5200000000001 381.1100000000001 274.9500000000001C381.3200000000001 275.1500000000001 380.2200000000001 275.1900000000001 402.8100000000001 275.1C405.1300000000001 275.0900000000001 408.1300000000001 272.35 401.6000000000001 271.6500000000001C399.7900000000001 271.4600000000001 399.0200000000001 270.6500000000001 398.9400000000001 268.8200000000001C398.8700000000001 267.1900000000001 398.7500000000001 229.9300000000001 399.2300000000001 227.6100000000001C399.5800000000001 225.8800000000001 400.9600000000001 225.2300000000001 402.4600000000001 225.1800000000001C415.7100000000001 224.75 417.3800000000001 224.7400000000001 418.5000000000001 228.5900000000001C420.1700000000002 234.3700000000001 422.6300000000001 231.1100000000001 422.2300000000002 228.7800000000001zM317.55 164.41C313.31 164.41 313.13 167.8 316.94 167.82C352.85 167.98 345.05 167.44 354.13 168.47C355.81 168.66 356.51 168.23 356.38 166.58C356.12 163.19 355.74 159.8 355.35 156.42C355.1 154.2599999999999 352.1500000000001 153.81 351.9500000000001 156.5699999999999C351.5700000000001 161.88 349.8000000000001 161.0199999999999 336.3200000000001 161.6499999999999C334.7400000000001 161.7199999999999 334.6800000000001 161.6699999999999 334.6800000000001 160.13V144.0099999999999C334.6800000000001 142.36 334.6800000000001 142.4099999999999 336.3000000000001 142.5399999999999C339.4200000000001 142.7899999999999 346.6100000000001 142.1999999999999 351.9900000000001 144.0599999999999C352.4600000000001 144.2199999999999 355.2900000000001 145.8499999999999 355.0600000000001 142.2999999999999C355.0500000000001 142.0899999999999 354.3000000000001 131.9499999999999 353.8800000000001 130.9099999999999C353.3500000000001 129.6199999999999 352.0000000000001 129.3999999999999 351.3000000000001 130.5899999999999C350.1300000000001 132.5399999999999 351.3000000000001 135.6699999999999 347.5900000000001 135.8899999999999C332.1700000000001 136.7899999999999 334.6800000000001 138.44 334.6800000000001 129.8999999999999C334.6800000000001 117.6499999999999 333.9200000000001 113.7899999999999 338.5700000000001 113.6599999999999C355.2100000000001 113.1799999999999 352.9700000000001 113.6599999999999 355.0000000000001 119.3699999999999C355.8400000000001 121.7399999999999 358.5000000000001 121.1399999999999 358.1800000000001 118.7899999999999C357.7400000000001 115.5799999999999 357.3300000000001 112.3599999999999 356.9500000000001 109.1499999999999C356.9100000000001 108.7899999999999 356.79 106.7499999999999 352.29 106.7599999999999C315.13 106.8399999999999 317.75 106.9499999999999 317.0800000000001 107.0699999999999C314.36 107.5799999999999 314.8800000000001 110.11 317.3000000000001 110.5199999999999C318.4000000000001 110.7099999999999 321.3300000000001 109.9799999999999 321.4600000000001 113.0799999999999C323.9000000000001 169.3 321.3900000000001 164.42 317.5500000000001 164.4099999999999zM317.14 273.93C319.6 273.32 320.27 272.17 320.09 269.28C319.76 263.9799999999999 319.75 260.3 319.54 259.5899999999999C318.88 257.36 316.39 257.4699999999999 316.2 259.86C315.82 264.67 313.15 267.68 308.63 269.01C282.35 276.74 275.82 253.55 281.46 238.79C287.34 223.38 303.45 222.87 310.32 225.01C316.24 226.86 316.2 231.51 317.23 232.59C318.4600000000001 233.89 319.48 234.43 320.35 231.49C320.38 231.39 320.92 219.6 314.38 218.74C312.78 218.53 295 215.05 281.7 222.13C260.69 233.32 264.96 257.6 274.82 267.46C288.85 281.52 314.73 274.52 317.14 273.93zM288.8 167.86C292.08 167.86 292.4600000000001 164.86 288.9600000000001 164.43C286.35 164.11 283.99 164.85 283.9600000000001 158.97C283.9500000000001 156.99 283.7700000000001 129.92 284.36 117.5200000000001C284.4700000000001 115.23 285.51 114.0000000000001 287.8 113.8700000000001C309.8300000000001 112.6600000000001 302.75 115.5200000000001 306.5900000000001 120.21C308.42 122.4500000000001 309.35 119.3700000000001 309.35 119.1300000000001C309.7000000000001 105.5100000000001 305.3900000000001 106.7400000000001 304.1600000000001 106.7300000000001C304.06 106.7300000000001 266.0800000000001 106.9100000000001 265.98 106.9200000000001C264.05 107.1500000000001 263.92 109.9100000000001 265.56 110.3000000000001C267.55 110.7800000000001 270.5 109.9000000000001 270.69 113.1000000000001C271.65 128.9700000000001 271.26 157.7500000000001 271.03 160.9100000000001C270.76 164.6800000000001 268.23 164.1800000000001 265.35 164.6200000000001C262.88 165.0000000000001 263.36 167.8400000000001 265.69 167.8400000000001C267.16 167.8600000000001 283.68 167.8700000000001 288.8 167.8600000000001zM257.17 225.65C257.24 221.57 260.0300000000001 222.19 263.18 222.07C265.79 221.97 265.71 218.66 263.11 218.64C256.63 218.6 249.4100000000001 218.66 241.5 218.7C237.66 218.72 238.12 222.05 241.54 222.07C246.03 222.1 244.78 220.46 244.95 267.61C244.97 272.69 241.68 271.15 240.23 271.84C237.65 273.07 238.87 274.93 240.64 274.99C241.93 275.04 260.83 275.4 261.81 274.78C262.94 274.06 263.68 273.13 261.39 271.92C260.4 271.4 257.53 272.2 257.24 269.45C257.2200000000001 269.24 256.42 267.82 257.17 225.65zM220.26 -48.62C221.4 -49.28 222.38 -49.28 223.52 -48.62C240.51 -38.83 405.49 54.95 420.94 63.89C420.8 64.32 432.2 64.07 239.42 64.16C238.2 64.16 237.85 63.79 237.89 62.6C237.89 62.4999999999999 239.14 18.09 239.11 12.22C239.09 9.64 238.49 6.9999999999999 237.75 4.51C237.2 2.68 238.13 5.01 224.25 -27.72C223.52 -29.4400000000001 223.21 -29.93 222.28 -27.64C218.09 -17.3000000000001 214 -6.9200000000001 209.71 3.3699999999999C208.25 6.8699999999999 207.47 10.3699999999999 207.71 14.16C207.87 16.6199999999999 208.51 30.28 209.22 62.18C209.26 64.1299999999999 209.23 64.1399999999999 207.26 64.1399999999999H24.26C26.84 62.5099999999999 202.58 -38.4300000000001 220.26 -48.6200000000001zM129.36 140.13C129.36 137.73 129.72 137.34 132.12 137.1C143.66 135.93 153.16 133.36 157.76 144.42C163.77 158.88 160.42 178.8300000000001 145.28 183.26C143.27 183.85 129.32 186.02 129.34 181.75C129.39 173.74 129.35 170.17 129.36 140.13zM235.11 155.18C235.11 153.05 236.18 116.5 236.2 116.05C236.54 106.11 210.62 110.28 210.97 118.64C211.0500000000001 120.66 212.34 156.06 212.07 158.07C197.97 150.63 197.65 117.86 218.51 109.27C226.9400000000001 105.8 236.05 108.67 240.9000000000001 116.34C245.8100000000001 124.1 247.7400000000001 145.81 235.4700000000001 155.3C235.35 155.25 235.23 155.21 235.11 155.18zM222.83 353.2200000000001C213 353.25 213.1 338.4700000000001 222.76 338.35C232.35 338.24 232.86 353.19 222.83 353.2200000000001zM142.68 249.35C142.7 247.55 143.09 246.95 144.85 246.77C158.47 245.38 157.36 257.76 157.01 260.13C155.32 271.35 142.63 270.33 142.66 267.94C142.71 263.44 142.63 254.26 142.68 249.35zM354.99 242.95C352.9600000000001 248.23 350.99 253.34 348.89 258.79C346.73 253.31 344.73 248.22 342.66 242.95H354.99z" glyph-name="critical-role" horiz-adv-x="445.64" unicode=""/><glyph d="M0 416L34.9 20.2L192 -32L349.1 20.2L384 416H0zM313.1 336L308.3 288.7L193 239.4L192.7 239.3H304.2L291.4 92.7000000000001L193.2 64.0000000000001L94.4 93.2000000000001L88 167.1H136.9L140.1 128.8L192.7 115.5L247.4 130.9L251.1 192.5L84.8 193V193.1L84.6 193L81 239.3L193.1 286L199.6 288.7H76.7L70.9 336H313.1z" glyph-name="css3-alt" horiz-adv-x="384" unicode=""/><glyph d="M480 416L416 48L192.7 -32L0 48L19.6 142.8H101.6L93.6 102.2L210 57.8L344.1 102.2L362.9000000000001 199.3H29.5L45.5 281.3H379.2L389.7 334H56.3L72.6 416H480z" glyph-name="css3" horiz-adv-x="512" unicode=""/><glyph d="M344 142.5C326.5 110.9 286.6 88 248 88C191.4 88 144 135.4 144 192S191.4 296 248 296C286.6 296 326.5 273.1 344 241.5C357.7 292.4 385.7 334.8 431 359.3C385.7 408.9 320.5 440 248 440C111 440 0 329 0 192S111 -56 248 -56C320.5 -56 385.7 -24.9 431 24.7C385.7 49.2 357.7 91.6 344 142.5z" glyph-name="cuttlefish" horiz-adv-x="440" unicode=""/><glyph d="M285.96 232.59C285.96 238.28 287.54 247.99 295.57 253.1C295.44 253.1 291.89 253.88 286.6 251.98C288.63 255.03 296.57 259.83 297.01 259.83C288.84 285.88 259.02 282.74 264.81 282.74C233.89 282.74 232.17 282.4 224.92 286.75C225.05 285.99 225.4400000000001 278.59 234.5300000000001 271.85C236.13 270.57 237.4100000000001 269.45 237.4100000000001 265.28V226.51C237.4100000000001 222.34 236.61 221.22 234.6900000000001 220.1C234.57 220.03 227.17 215.64 226.8400000000001 215.45H261.92C271.94 215.45 279.3300000000001 216.98 287.87 224.1C287.23 229.07 288.0300000000001 233.55 288.67 236.12C288.68 236.28 286.92 234.68 285.9600000000001 232.59zM256 231.79V266.39C260.58 266.39 279.07 269.73 279.07 249.09C279.07 228.37 260.7 231.79 256 231.79zM360.77 223.14C361.5 224.6 362.57 228.18 360.61 232.11C361.33 231.99 366.22 231.63 366.22 227.62C366.22 224.74 363.33 223.46 360.77 223.14zM375.35 215.45H375.03C378.62 219.76 378.44 227.39 372.79 231.79C373.96 231.79 392.49 228.59 392.49 249.09C392.49 269.82 374.13 266.39 369.42 266.39V262.06C364.03 262.8300000000001 361.97 261.79 361.89 261.74C363.97 263.5 366.38 264.3 367.98 264.62C360.93 266.2200000000001 354.36 262.2200000000001 353.4 261.1C354.2 262.86 355.8 264.4600000000001 356.92 265.5900000000001C354.68 264.79 352.59 263.67 350.83 262.55C350.83 267.73 351.09 270 347.95 272C338.85 278.57 338.46 286.17 338.34 286.9C345.41 282.66 346.03 282.89 378.23 282.89C410.9 281.3300000000001 412.03 253.06 412.03 249.4100000000001C412.04 242.7800000000001 408.71 215.45 375.35 215.45zM363.97 234.84C361.57 234.84 359 234.36 359 234.36C358.5199999999999 234.84 355.32 237.24 353.87 237.56C357.8999999999999 233.28 354.33 227.73 350.83 230.35V246.05C351.4699999999999 246.85 352.1099999999999 247.81 352.9099999999999 248.61C354.6699999999999 250.69 357.5599999999999 251.97 360.4399999999999 251.97C362.1999999999999 251.97 363.9599999999999 251.49 365.0899999999999 250.53L366.0499999999999 249.89L366.8499999999999 250.69C367.3299999999999 251.17 368.4499999999999 251.65 369.5699999999999 252.13V233.71C367.8199999999999 234.52 366.0599999999999 234.84 363.9699999999999 234.84zM360.77 256.62C354.84 257.42 345.71 253.42 341.07 247.65C342.03 251.49 346.2 257.74 351.32 260.63C351.32 260.63 348.76 257.43 349.88 256.95C351.48 256.15 355.65 262.72 361.09 262.88C361.09 262.88 357.08 260.96 357.89 259.52C358.53 258.56 361.25 260.8 365.9 260.8C371.67 260.8 376.79 257.28 379.2 254.55C375.19 255.67 367.67 253.75 365.42 251.83C365.1600000000001 252.03 353.6600000000001 260.75 343.4700000000001 236.29C338.6900000000001 240.12 339.0300000000001 239.99 337.06 240.78C341.39 246.85 350.36 256.14 360.77 256.62zM298.29 274.57C298.09 276.87 298.34 294.36 318.32 293.47C329.5299999999999 292.83 334.98 285.14 334.98 276.97C334.98 272.64 332.74 266.88 329.53 263.19C327.32 265.4 323.97 267.85 321.84 271.04C325.68 276.65 324.08 285.4599999999999 317.19 285.4599999999999C312.86 285.4599999999999 309.34 280.9699999999999 310.78 275.53C310.14 273.13 309.82 269.92 310.3 267.52C305.33 270.08 303.73 273.45 302.77 276.49C301.49 273.93 300.69 270.4 301.65 267.04C301.66 266.72 298.77 269.28 298.29 274.57zM301.18 260.95C300.7 259.19 294.13 257.27 290.93 254.06C295.74 255.02 297.98 254.22 298.78 252.3C299.26 250.86 298.62 248.94 298.3 246.69C299.9 248.45 305.35 252.14 309.35 252.94C308.39 253.26 305.99 253.74 305.02 253.74C307.9 257.1 314.31 258.23 317.84 257.42C315.6 257.58 311.11 256.3 309.35 254.86C310.95 254.54 312.39 254.22 313.68 253.74C311.6 252.94 308.87 250.38 307.91 247.65C314.94 252.61 320.98 242.49 314.96 239.48C315.76 239.32 317.68 239.48 318.48 239.96C318.16 238.84 316.56 236.92 315.44 236.6C318.32 236.6 322.49 238.52 323.61 241.25C323.61 241.25 321.85 240.61 321.05 241.41S321.37 245.74 321.37 245.74C319.09 242.81 317.95 247.05 320.09 249.91C319.13 250.23 316.57 250.55 315.44 250.39C318.64 251.51 325.85 252.15 326.65 250.71C327.29 249.59 325.69 247.35 325.69 247.35C329.7 247.85 333.95 246.22 332.42 242.22C335.3 243.66 337.87 248.15 337.23 252.63C336.9100000000001 251.67 335.63 250.23 334.35 249.91C334.5100000000001 251.35 333.3900000000001 252.15 332.43 252.47C334.13 262.0899999999999 317.81 266.7 318.33 276.3399999999999C317.37 275.06 316.57 271.37 317.53 269.29C320.25 266.0899999999999 326.18 262.56 327.62 257.1099999999999C325.06 263.5199999999999 312.56 268.4799999999999 313.04 277.3C311.44 275.7 310.48 269.45 311.76 266.2499999999999C314.16 264.81 316.25 262.4099999999999 316.57 260.1599999999999C314.33 265.2899999999999 305.2 266.2499999999999 302.63 272.3399999999999C301.99 270.0999999999999 302.31 267.3699999999999 303.59 265.6099999999999C303.59 265.6099999999999 301.35 266.41 296.54 266.2499999999999C298.13 265.5999999999999 301.5 262.7099999999999 301.18 260.95zM327.13 253.58C324.4099999999999 253.58 323.61 255.66 322.9599999999999 257.91C326.1699999999999 256.62 327.13 253.58 327.13 253.58zM362.05 211.77C363.97 210.01 368.62 208.73 371.02 209.85C367.13 202.93 347.95 202.32 347.95 216.26C345.07 213.38 345.87 208.89 347.95 206.97C345.71 207.61 342.18 210.01 341.54 214.34C340.23 224.39 345.94 220.8 331.13 232.44C326.32 236.12 328.0899999999999 239.01 327.12 240.93C326.0199999999999 243.14 320.14 245.06 322.63 249.42C322.4699999999999 247.82 323.5899999999999 246.54 325.19 245.9C326.95 245.26 328.39 245.74 330 244.94C331.76 243.82 330.9599999999999 241.1 332.24 239.97C333.36 239.17 336.41 240.29 338.81 238.21C341.37 236.13 346.98 231.48 349.38 229.56C353.7099999999999 226.04 358.19 230.04 356.75 234.21C361.24 231.65 361.72 224.28 358.0299999999999 221.71C368.6199999999999 219.3 371 231.75 363 233.08C370.2099999999999 233.72 376.4599999999999 228.75 376.4599999999999 222.35C376.1499999999999 215.93 369.58 210.81 362.0499999999999 211.77zM338.66 224.42C334.82 216.57 327.61 206.48 313.83 206.48C303.87 206.48 297.75 213.53 298.29 213.53C294.04 219.19 295.29 213.23 295.89 211.61C285 221.86 290.6 236.92 290.76 237.56C291.4 239.48 290.76 239.8 290.12 239.48C289.1600000000001 239.16 288.04 237.56 288.04 237.56C288.8400000000001 246.69 297.3300000000001 252.3 297.3300000000001 252.3L297.4900000000001 252.14C298.4500000000001 250.7 297.0100000000001 248.94 296.8500000000001 243.17C298.4500000000001 245.41 304.7000000000001 249.74 308.2200000000001 251.02C307.1000000000001 249.58 306.1400000000001 247.5 306.1400000000001 244.45C309.8500000000001 248.63 313.6500000000001 247.1 314.1500000000001 246.85C301.9700000000001 235 307.1000000000001 220.26 317.3500000000001 220.26C323.1200000000001 220.26 328.8800000000001 226.67 331.2900000000001 230.99C333.7100000000001 228.58 337.6100000000001 225.48 338.6600000000001 224.42zM354.52 189.8199999999999C280.58 189.8199999999999 277.05 90.4999999999999 354.2 90.4999999999999C432.09 90.4999999999999 428.27 189.8199999999999 354.52 189.8199999999999zM354.2 112.2799999999999C316.83 112.2799999999999 317.31 167.5499999999999 354.36 167.5499999999999C391.23 167.5499999999999 393.19 112.2799999999999 354.2 112.2799999999999zM484.9299999999999 186.7799999999999H524.18L516.81 178.4499999999999V93.2199999999999H495.5C491.49 105.8799999999999 450.64 138.2399999999999 446.96 148.81H446.64V101.3899999999999L454.01 93.2199999999999H415.08L422.29 101.5499999999999V178.4499999999999L414.92 186.94H446.48C449.36 177.49 486.21 150.41 491.66 136H491.98V178.4499999999999L484.9299999999999 186.7799999999999zM579.5999999999999 188.8599999999999C558.93 188.8599999999999 539.55 187.5799999999999 529.3 186.7799999999999L536.67 178.6099999999999V101.3899999999999L529.3 93.2199999999999C539.7099999999999 92.4199999999999 560.2199999999999 91.1399999999999 580.88 91.1399999999999C623.01 91.1399999999999 639.99 111.8099999999999 639.99 139.9999999999999C640 169.3199999999999 616.77 188.8599999999999 579.6 188.8599999999999zM564.55 113.2499999999999V166.6C594.62 169.94 611.3299999999999 162.8 611.3299999999999 140.3300000000001C611.3199999999999 114.72 589.8699999999999 110.08 564.55 113.2500000000001zM263.05 101.5499999999999L270.26 93.3799999999999H227.6499999999999L235.3399999999999 101.5499999999999L235.1799999999999 120.9299999999999L191.1199999999999 186.7699999999999H235.9799999999999L229.5699999999999 179.5599999999999L250.5599999999999 142.3899999999999H250.8799999999999L271.39 179.5599999999999L265.3 186.7699999999999H306.95L262.89 120.6099999999999L263.05 101.5499999999999zM199.93 114.5299999999999L185.83 93.3799999999999H185.99H104.61L111.98 101.55V178.61L104.61 186.78L178.14 186.94V186.78L192.24 165.79H139.85V150.89H177.02L162.92 129.74V129.58L139.85 129.74V114.36L199.93 114.53zM79.94 142.08C97.09 146.65 96.12 160.12 96.12 161.94C96.12 182.51 71.98 186.93 59.11 186.93H3.04L11.37 178.28V148.8H0L11.37 134.22V102.02L3.04 93.3700000000001C64.78 93.3700000000001 76.85 91.83 89.39 99.3000000000001C96.12 103.3100000000001 99.32 109.0700000000001 99.32 116.9200000000001C99.32 122.0500000000001 101.94 135.7100000000001 79.94 142.0800000000001zM38.61 169.64C58.59 169.64 68.25 170.49 68.25 160.51V157.47C68.25 145.39 49.29 148.66 38.61 148.66V169.64zM71.45 119.65C71.45 108.45 59.02 110.36 38.61 110.36V132.9499999999999C50.81 132.9499999999999 71.29 135.2299999999999 71.29 124.1399999999999V119.6499999999999H71.45z" glyph-name="d-and-d-beyond" horiz-adv-x="640" unicode=""/><glyph d="M82.5 349.1C81.9 366.3 84.5 382.9 95.2 397.3C95.5 389.9 96.4 382.8 99.4 375.7C105.3 403.2 119.1 425 141.7 441.2C139.8 435.3 138.2 429.4 138.7 423.5C147.4 430.9 157.5 441.3 183.1 446.2C197.8 449 212.8 448.2 225.2 445.2C263.7 435.9 286.2 410.9 294.9 372.9C300.2 349.8 295.6 327.9 286.6 306.5C281.4 294.1 274.6 282.1 265.9 271.4C263.9 273.3 262 275.2000000000001 260.1 277C217.3 317.8 233.3 302.2 222.7 314.4C221.6 315.6 221.7 316.6 222.6 318C230.9 331.5 234.4 346.2 232.6 362C231.5 371.8 228.3 380.9 221.3 388.2C206.8 403.5 182.1 403.2 167.8 387.6C156.4 375.1 153.7 360.2 156.9 344C157.0999999999999 342.7 157.3 341.3 156.9 340.1C153.5 326.4 152.3 312.5 154.4 298.5C154.5 298 154.5 297.4 154.5 296.9C154.5 296.6 154.4 296.4 154.3 295.8C132.5 306.8 118.3 324.1 111.1 348C102.8 330.2000000000001 100 312.5 104.5 293.9C88.9 309.1 83.2 328.2 82.5 349.1zM552.1 225.9C540.5 237.5 527.1 246.3 512 252.5C499.2 257.7 486 260.4 472.1 259.6C462.1 259 452.5 256.5 443.1 253.2C440.6 252.3 438 251.6 435.4000000000001 251C430.5000000000001 249.8 428.1 254.1 430.7000000000001 257.8C433.9000000000001 262.4 434.1 262 445.7000000000001 269.8C446.3000000000001 270.2 446.9000000000001 270.6 447.9000000000001 271.3H445.4000000000001C444.8 271.3 444.2000000000001 271.1 443.5000000000001 271C424.2000000000001 267.7 412.8000000000001 255.5 394.6000000000001 241.4C384.2000000000001 233.3 380.8000000000001 237.6 382.6000000000001 241.9C384.0000000000001 245.4 385.9000000000001 248.6 387.7000000000001 251.9C388.7000000000001 253.7 390.0000000000001 255.3 391.2000000000001 257C391.0000000000001 257.2 390.7000000000001 257.3 390.5000000000001 257.5C363.5000000000001 239.2 343.8000000000002 215.1 332.8000000000002 184.2C333.1000000000002 183.9 333.5000000000001 183.6 333.8000000000002 183.3C334.1000000000002 183.9 334.3000000000002 184.5 334.7000000000001 185C345.1000000000001 197.1 357.5000000000001 206.8 371.3000000000002 214.8C389.5000000000001 225.4 408.8000000000002 233.1 430.0000000000001 235C434.3000000000002 235.4 438.7000000000001 235.1 443.1000000000002 235.1C441.3000000000002 234.4 439.6000000000002 234.2 437.8000000000002 234C419.3000000000002 231.6 402.3000000000002 225 386.3000000000002 215.5C356.1000000000002 197.6 331.8000000000002 173.3 311.2000000000002 145.1C310.9000000000002 144.7000000000001 310.8000000000002 144.2000000000001 310.5000000000002 143.8C325.0000000000002 138.5 334.5000000000002 126.5 346.6000000000002 118.2C346.8000000000002 118.3 346.9000000000002 118.4 347.0000000000002 118.6L348.2000000000002 121.3C360.4000000000002 148.1999999999999 375.2000000000002 173.6 394.9000000000002 195.8C411.6000000000002 214.6 432.9000000000002 221.1 457.4000000000001 215.8C463.3000000000001 214.5 468.8000000000001 211.4 474.6000000000001 209C476.9000000000001 210.4 479.7000000000002 212.1999999999999 482.6000000000001 213.6999999999999C491.0000000000001 218 500.0000000000001 220.6999999999999 509.3000000000001 222.6999999999999C524.0000000000001 225.8 538.8000000000002 227.6 553.8000000000002 224V224.5C553.3000000000002 224.9 552.6000000000001 225.3 552.1000000000001 225.9zM316.7 50.4C277.3 83.4 293.9 69.9 274 86C273.2 85.1 274 86.2 272.1 83C260.9000000000001 63.9 246.6 47.7 228.1 35.4C217.8 28.6 206.6 23.6 194 23.6C172.4 23.6 155.8 33.1 144.6 51.4C132.6 70.9 131.3 92.1 136.4 114C144.2000000000001 147.8 166.5 169.2 175 178.3C156.3000000000001 184.5 142 176.6 128.6 164.4C129.4 178.3 132.9 190.6 140.4 201.7000000000001C116.1 191.1 94.5 176.7000000000001 75.6 157.8000000000001C75.3 163.6000000000001 81 201.5000000000001 81.2 202.5000000000001C81.5 205.2000000000001 80.6 207.8000000000001 78.2 209.9000000000001C54 185.2000000000001 33.7 158.1000000000001 22.1 125.3000000000001C29.5 131.2000000000001 37 136.7000000000001 45.7 141.5000000000001C37.4 119.2000000000001 26.1 88.7000000000001 37.9 40.4000000000001C42.5 21.4000000000001 49.8 3.6000000000001 62 -11.8999999999999C64.9 -15.5999999999999 68.3 -18.7999999999999 71.5 -22.1999999999999C71.7 -21.9999999999999 71.9 -21.8999999999999 72.1 -21.6999999999999C70.7 -14.6999999999999 69.9 -7.5999999999999 70.6 0.2C72.8 -2.9999999999999 74.5 -5.8 76.5 -8.4C89.1 -24.4 105.2 -35.8 123.7 -44C148.7000000000001 -55.3 174.8000000000001 -57.3 201.6 -52.6C256.5 -42.9 292.3 -4 317.6 46.2C318.6 48 318.2000000000001 49.1 316.7000000000001 50.4zM488.7 96.8C479.2 99.9 466.5 100.9999999999999 460 99.6999999999999C469.9 95.6999999999999 474.1 93.0999999999999 478.8 87.6999999999999C491.4 73.3 489.2 52.9999999999999 473.4 42.0999999999999C461.7 33.9999999999999 448.5000000000001 31.5999999999999 434.5000000000001 32.9999999999999C433.3000000000001 33.0999999999999 432.2000000000001 33.3999999999999 431.5000000000001 33.5999999999999C434.3000000000001 37.2999999999999 437.5000000000001 40.5999999999999 439.6000000000001 44.3999999999999C449.0000000000001 61.1999999999999 445.0000000000001 86.4999999999999 430.9000000000001 100.4999999999999C428.8000000000001 102.6 426.3000000000001 104.3999999999999 423.9000000000001 106.3999999999999C423.6000000000001 105.0999999999999 423.8000000000001 104.2999999999999 424.0000000000001 103.5999999999999C428.2000000000001 86.9999999999999 415.9000000000001 71.1999999999999 399.2000000000001 71.7999999999999C391.6000000000001 72.0999999999999 385.3000000000002 75.5999999999999 379.6000000000001 80.2999999999999C360.1000000000001 96.3999999999999 340.5000000000001 112.3999999999999 321.1000000000001 128.5999999999999C315.2000000000001 133.4999999999999 308.6000000000001 136.6999999999999 301.0000000000001 137.2999999999999C296.4000000000001 137.6999999999999 291.7000000000001 137.8999999999999 287.1000000000001 138.1999999999999C281.2000000000001 138.5999999999999 278.3000000000001 140.9999999999999 276.7000000000001 146.5999999999999C275.8000000000002 149.9999999999998 275.2000000000001 153.3999999999999 274.5000000000001 156.7999999999999C273.0000000000001 164.8999999999999 268.3000000000002 169.7999999999999 260.2000000000001 170.9999999999998C255.8000000000001 171.6999999999998 251.3000000000001 171.9999999999998 246.9000000000001 172.4999999999998C233.9000000000001 173.8999999999998 227.1000000000001 179.8999999999998 224.3000000000001 192.7999999999999C219.3000000000001 181.7999999999999 222.7000000000001 170.3999999999999 231.6000000000001 162.8999999999999C236.1000000000001 159.0999999999999 240.9000000000001 155.5999999999999 245.4000000000001 151.6999999999999C250.0000000000001 147.8999999999999 252.8000000000002 142.9999999999999 253.3000000000002 136.8999999999999C253.7000000000002 132.1999999999999 254.1000000000002 127.3999999999999 255.1000000000002 122.7999999999999C257.3000000000002 112.1999999999998 264.0000000000001 104.3999999999999 272.1000000000002 97.6999999999998C288.6000000000002 83.9999999999998 305.1000000000002 70.3999999999998 321.6000000000002 56.5999999999998C339.5000000000001 41.5999999999998 335.5000000000001 23.7999999999998 334.6000000000002 0.5999999999998C333.7000000000002 -22.3000000000002 346.8000000000002 -42.3000000000002 368.1000000000002 -50.6000000000002C369.1000000000002 -51.0000000000002 370.1000000000002 -51.2000000000002 371.7000000000002 -51.7000000000002C356.0000000000002 -33.5000000000002 361.6000000000002 -7.6000000000002 372.4000000000002 0.5999999999998C372.7000000000002 -1.6000000000002 372.8000000000002 -3.7000000000002 373.3000000000002 -5.8000000000002C382.7000000000001 -49.9000000000002 418.7000000000001 -70.0000000000002 458.3000000000001 -62.7000000000002C474.3000000000001 -59.8000000000002 488.9000000000001 -53.8000000000002 501.2000000000001 -42.9000000000001C503.2000000000001 -41.1000000000001 504.9000000000001 -38.8000000000001 507.1000000000001 -36.4000000000001C487.8000000000001 -41.0000000000002 471.3000000000001 -36.5000000000002 456.2000000000001 -25.8000000000001C456.9000000000001 -25.5000000000001 457.5000000000001 -25.5000000000001 458.1000000000001 -25.5000000000001C479.4000000000001 -27.3000000000001 498.7000000000001 -22.1000000000001 515.1000000000001 -8.1000000000001C534.6000000000001 8.4999999999999 541.7000000000002 34.7999999999998 532.5000000000001 57.8999999999999C524.2000000000002 77.9999999999999 508.9000000000001 90.1999999999999 488.7000000000001 96.7999999999998zM99.4 268.7C94.1 277.9 86.2 284.3 77.3 290C91 290.5 103.9 289.8 116.9 286.3C109.9 298.5 108.4 311 111.9 325C117.2 313.1 125.6 304.9 135.5 298.2000000000001C155.2 285 171.2 278.6 182.2 268C185.6 264.7000000000001 188.5 260.9000000000001 191.8 257.1C191 259.2000000000001 190.4 261.2000000000001 189.6 263.1C184.6 273.7000000000001 176.6 281.7000000000001 167 288.1C165.2 289.3 164.2 290.6 163.6 292.6C160.3 305.1 160.6 317.7000000000001 162.9 330.2000000000001C163.9 335.7000000000001 165.7 341.1 167.4 346.5C168.2 348.9000000000001 169.7 351.1 171.4 353.1C172 346.2 171.4 327.6 191 307.1C201.8 295.8 213.4 285.2000000000001 224.9 274.4000000000001C233.9 265.9000000000001 243.2 257.7000000000001 250.4 247.6C251.5 246.0000000000001 252.6 244.3 254.2 242.9000000000001C249.2 255.9000000000001 240.0000000000001 267 230.0000000000001 276.7000000000001C220.4 286.0000000000001 210.6 295.1 200.8000000000001 304.1C197.5 307.1 196.2000000000001 310.8000000000001 195.7000000000001 315.0000000000001C194.5000000000001 325.4000000000001 195.7000000000001 335.6 200.0000000000001 345.2000000000001C200.5000000000001 346.2000000000001 201.1000000000001 347.2000000000001 201.9000000000001 348.5000000000001C202.4000000000001 344.3000000000001 202.5000000000001 340.6 203.3000000000001 336.9000000000001C208.1000000000001 313.8000000000001 223.7000000000001 300.6000000000001 252.6000000000001 273.4000000000001C262.6000000000001 264.0000000000001 271.9000000000001 254.2000000000001 278.2000000000001 241.8000000000001C283.0000000000001 232.5000000000001 285.5000000000001 222.8000000000001 283.9000000000001 212.2000000000001C283.8000000000001 211.6000000000001 284.4000000000001 210.5000000000001 285.0000000000001 210.2000000000001C291.2000000000001 207.6000000000001 295.0000000000001 203.3000000000001 294.7000000000001 195.9000000000001C302.4000000000001 198.5000000000001 307.2000000000001 203.9000000000001 311.1000000000001 210.4000000000001C315.3000000000001 190.2000000000001 302.0000000000001 160.1000000000001 283.9000000000001 151.7000000000001C284.3000000000001 156.2000000000001 288.9000000000001 175.1 267.4000000000001 179.4C260.6000000000001 180.7000000000001 254.6000000000001 180.7000000000001 244.5000000000001 181.5000000000001C249.2000000000001 190.5000000000001 254.9000000000001 202.1000000000001 245.0000000000001 203.9000000000001C220.1000000000001 208.5000000000001 192.2000000000001 202.0000000000001 187.2000000000001 199.3000000000001C195.4000000000001 198.9000000000001 203.5000000000001 198.3000000000001 210.7000000000001 196.0000000000001C208.7000000000001 189.5000000000001 206.7000000000001 183.3000000000001 204.9000000000001 177.1000000000001C203.0000000000001 170.6000000000001 207.0000000000001 162.5000000000001 214.2000000000001 167.5000000000001C215.4000000000001 168.4 216.5000000000001 169.4 217.5000000000001 170.2000000000001C214.4000000000001 152.3000000000001 214.6000000000001 154.3000000000001 214.7000000000001 151.9C215.0000000000001 141.7000000000001 224.2000000000001 144.1 230.4000000000001 144.6C227.9000000000001 132.8 200.9000000000001 117.3 185.0000000000001 118.8C192.0000000000001 123.5 197.7000000000001 129.1 200.9000000000001 136.7C194.4000000000001 135.9 188.0000000000001 135.1 181.7000000000001 134.3L181.4000000000001 135.2C186.1000000000001 138.6 189.4000000000001 143 191.6000000000001 148.3C200.3000000000001 169.4 188.0000000000001 186.3 166.6000000000001 188.2C157.5000000000001 189 148.8000000000001 187.4 140.7000000000001 182.7C146.9000000000001 198.3 157.9000000000001 209.3 173.3000000000001 217.2C158.1000000000001 221.5 164.4000000000001 219.9 148.7000000000001 223.5C163.3000000000001 232.8 178.9000000000001 236.7 195.2000000000001 238.1C190.0000000000001 241.3 147.1000000000001 241.7 125.0000000000001 217.2C132.9000000000001 215.8 140.5000000000001 214.4 148.2000000000001 213C124.4000000000001 206 104.2000000000001 193.3 85.8000000000001 177.4C86.9000000000001 182.2 88.5000000000001 186.9 89.1000000000001 191.7C89.7000000000001 196.2 89.9000000000001 200.9 89.2000000000001 205.3C87.7000000000001 214.7 80.3000000000001 220.4 69.5000000000001 221.6C61.6000000000001 222.5 53.9000000000001 221.5 46.2000000000001 220.3C45.3000000000001 220.2 44.5000000000001 220 43.3000000000001 220.3C59.1000000000001 235.1 79.3000000000001 242 96.4000000000001 253.8C102.4000000000001 258.3 103.2000000000001 262 99.4000000000001 268.7zM227.8 241.9C231.1 225.9 240.4 216.4 251.6 217.6C247.0000000000001 228.9 239.5000000000001 237.1 227.8 241.9z" glyph-name="d-and-d" horiz-adv-x="576" unicode=""/><glyph d="M326.6 344H110.4C59.3 344 19.2 300.7 19.2 250.5V21C19.2 -29.5 59.3 -64 110.4 -64H337.6C388.7000000000001 -64 428.8 -29.5 428.8 21V448L326.6 344zM153.9 31.5C136.2 31.5 121.5 46.6 121.5 64.3V207.2C121.5 224.9 136.2 239.7 153.9 239.7H294.6C312.3 239.7 326.6 224.9 326.6 207.2V83.7L377.7000000000001 31.4H153.9z" glyph-name="dashcube" horiz-adv-x="448" unicode=""/><glyph d="M446.5 380C446.1 381.5 445.6 383 445.1 384.5C444.2000000000001 387 443.1 389.3 441.8 391.6C440.4000000000001 394 438.8 396.4 437.1 398.5C435 401 432.7000000000001 403.3 430.2000000000001 405.3C429.1 406.2 428.0000000000001 407 426.9000000000001 407.8C425.6 408.7 424.3 409.5 422.9000000000001 410.2C421.1 411.2 419.3 412 417.4000000000001 412.7C415.7000000000001 413.4 413.9000000000001 414 412.0000000000001 414.4C408.2000000000001 415.4 404.1000000000001 415.9 400.0000000000001 415.9H48C21.5 416 0 394.5 0 368V16C0 11.9 0.5 7.8 1.5 4C3.5 -3.7 7.3 -10.6 12.5 -16.3C13.5 -17.4 14.6 -18.5 15.8 -19.6C21.5 -24.8 28.4 -28.6 36.1 -30.6C39.9 -31.6 44 -32.1 48.1 -32.1H400.1C426.6 -32.1 448.1 -10.6 448.1 15.9V368C448 372.1 447.5 376.2 446.5 380zM416 16C416 7.2 408.8 0 400 0H224V192H32V368C32 376.8 39.2 384 48 384H224V192H416V16z" glyph-name="delicious" horiz-adv-x="448" unicode=""/><glyph d="M382.2 312H433.9V72.4H382.2V93.1C362.4 68.3 329.4 68.9999999999999 308.4 78.4C282.2 90.1 264.1 116.5 264.1 150.2C264.1 180 278.9 208.1 307.4 221C327.6 230.1 360.1 231.6 382.2 208.1V312zM317.5 150.2C317.5 132 331.1 116.7 350.7 116.7C370.5 116.7 383.9 133.1 383.9 149.6C383.9 166.7 370.2 182.8 350.7 182.8C331.1 182.8 317.5 166.4 317.5 150.1999999999999zM188.5 312H240.2V72.4H188.5V93.1C168.7 68.3 135.7 68.9999999999999 114.7 78.4C88.5 90.1 70.4 116.5 70.4 150.2C70.4 180 85.2 208.1 113.7 221C133.9 230.1 166.4 231.6 188.5 208.1V312zM123.8 150.2C123.8 132 137.4 116.7 157 116.7C176.8 116.7 190.2 133.1 190.2 149.6C190.2 166.7 176.5 182.8 157 182.8C137.3 182.8 123.8 166.4 123.8 150.1999999999999zM448 352C465.5 352 480 337.6 480 320V64C480 46.5 465.6 32 448 32H64C46.5 32 32 46.4 32 64V320C32 337.5 46.4 352 64 352H448M448 384H64C28.8 384 0 355.2 0 320V64C0 28.8 28.8 0 64 0H448C483.2 0 512 28.8 512 64V320C512 355.2 483.2 384 448 384z" glyph-name="deploydog" horiz-adv-x="512" unicode=""/><glyph d="M205.9 -64L237 -25.6C249.3 -25.4 262.6 -24.2 273.5 -19C312.4 -0.4 311.9 42.9 311.8 44.8C311.7 49.8 311 49.2 282.9000000000001 82.2H362C361.8 32.1 354.7 13.7 351.8 6.5C342.4000000000001 -17.2 307.9000000000001 -56.3 256.6 -62.9C247.9000000000001 -64 223.8 -64.1 205.9 -64zM406.3 103.7C444.9000000000001 103.7 464.8 117.3 480 134.6L304.5 134.9L287.1 103.6L406.3 103.7zM362.7 327.6V159.3H289.2L256.5 103.8H250C197.7 103.8 191.9 160.3 191.7 162.6999999999999C190.5 175.8999999999999 170.4 174.3 171.6 160.8999999999999C173 145.0999999999999 180.4 120.8999999999999 198 103.7999999999999H107C81.5 103.7999999999999 -3.8 130.5999999999999 0 217.7999999999999V431.1C0 447.1 9.7 447.7 15 447.9H97C97.2 447.9 97.3 447.8 97.5 447.8C101.8 448.2 147.6 449.9 147.6 404.1C147.6 390.8 167.8 390.7 167.8 404.1C167.8 422.3 162.3 436.9 152 447.8H236.2C344.9 448.2 362.7 368.4 362.7 327.6zM230.2 271.6L294.2 242.3C307.5 287.8 252 314 230.2 271.6z" glyph-name="deskpro" horiz-adv-x="480" unicode=""/><glyph d="M120.12 239.71C116.24 242.61 112.35 244.06 108.47 244.06H91.03V139.59H108.48C112.36 139.59 116.25 141.04 120.13 143.9400000000001C124.01 146.84 125.95 151.1900000000001 125.95 157.0000000000001V226.6500000000001C125.94 232.4500000000001 123.99 236.8100000000001 120.12 239.7100000000001zM404.1 416H43.9C19.7 416 0.06 396.41 0 372.2V11.8C0.06 -12.41 19.7 -32 43.9 -32H404.1C428.31 -32 447.94 -12.41 448 11.8V372.2C447.94 396.4100000000001 428.3 416 404.1 416zM154.2 156.81C154.2 138 142.59 109.5 105.84 109.56H59.44V275.02H106.82C142.26 275.02 154.18 246.56 154.19 227.74L154.2 156.81zM254.88 245.47H201.6V207.05H234.17V177.48H201.6V139.0700000000001H254.89V109.5000000000001H192.71C181.55 109.21 172.27 118.03 171.99 129.1900000000001V254.3C171.72 265.4500000000001 180.55 274.7100000000001 191.7 274.99H254.89L254.88 245.47zM358.52 130.18C345.32 99.43 321.67 105.55 311.08 130.18L272.55 274.98H305.12L334.83 161.26L364.3999999999999 274.98H396.9799999999999L358.5199999999999 130.18z" glyph-name="dev" horiz-adv-x="448" unicode=""/><glyph d="M320 354.8L221.8 175.7L229.2 166.2H320V38.5H159.1L145.6 29.3L101.9 -54.7C101.6 -54.7 93.3 -63.3 92.7 -63.9H0V29.3L93.2 208.7L85.8 217.9H0V345.5H156L169.5 354.7L213.2 438.7C213.5 438.7 221.8 447.3 222.4 447.9H320V354.8z" glyph-name="deviantart" horiz-adv-x="320" unicode=""/><glyph d="M238 146.8H296.7L319 177H260.3L238 146.8zM0 165.1V158.7000000000001H81.8L86.5 165.1H0zM172.9 177C164.2 177 166.9 180.6 168.3 182.5C171.1 186.3 175.9 192.9 178.7 196.6C181.5 200.3 181.5 202.5 175.9 202.5H124.9L83.8 146.7H183.9C217 146.7 235.4 169.2 241.1 177H172.9zM490.4 183.9L529.6999999999999 237.3H467.4999999999999L428.2 183.9H490.3999999999999zM95.3 177H0V170.6H90.6L95.3 177zM206.3 203.6C203.5 199.8 198.8 193.2 196 189.4C194.6 187.4 191.9 183.9 200.6 183.9H246.2S253.5 193.9 259.7 202.3C268.1 213.7 260.4 237.3 230.5 237.3H112.6L92.2 209.5H203.6C209.2 209.5 209.1 207.3 206.3 203.6zM0 146.8H73.1L77.8 153.2H0V146.8zM323 146.8H381.7L404 177H345.3C345.2 177 323 146.8 323 146.8zM545 146.7H640V153.1H549.7L545 146.7zM567.3 177L562.5999999999999 170.6H640V177H567.3zM553.8 158.7H640V165.1H558.5L553.8 158.7zM389.6 237.3L367.1 206.7H340.9L363.4 237.3H304.7L265.4 183.9H409L448.3 237.3H389.6zM423.1 177S418.8 171.1 416.7 168.3C409.3 158.3 415.8 146.7 439.9 146.7H534.1999999999999L556.4999999999999 177H423.1z" glyph-name="dhl" horiz-adv-x="640" unicode=""/><glyph d="M226.6 93.3C225.2 93.3 138.6 -26.6 137.9 -26.6C137.2 -26.6 51.3 33.9 51 34.6C50.7 35.4 137.6 160.3 137.6 162C137.6 164.2 8 206 0 209.1C-1.3 209.6 31.4 310.9 31.7 311.2C32.3 311.9 176.1 264.2 177.2 264.2C177.6 264.2 178.1 264.8 178.2 265.5C178.6 267.5 179.2 414.1 179.9 415.1C180.7 416.3 284.4 415.8 285 415.4C286.5 414.4 288.5 259.3 291.1 259.3C292.5 259.3 429.8 306.3 430.4 305.6C431.2 304.7000000000001 462.3 203.4 461.9 203C461 202.1 321.7 155.9 321.3 154.2000000000001C321 152.8000000000001 404.1 32.1 403.8 31.3000000000001C403.6 30.6000000000001 318.3 -32.1999999999999 317.5 -32.1999999999999C316.5 -31.9999999999999 228.5 93.3000000000001 226.6 93.3000000000001z" glyph-name="diaspora" horiz-adv-x="462.1" unicode=""/><glyph d="M81.7 275.7H0V101.3H132.7V352H81.7V275.7zM81.7 142.3H50.9V234.6H81.7V142.3zM378.9 275.7V101.3H460.7V72.8H378.9V32H512V275.7H378.9zM460.7 142.3H429.9V234.6H460.7V142.3zM225.1 101.3H307.2V72.8H225.1V32H358.4V275.7H225.1V101.3zM276.3 234.6H307.1V142.3H276.3V234.6zM153.3 352H204.6V301H153.3V352zM153.3 275.7H204.6V101.3H153.3V275.7z" glyph-name="digg" horiz-adv-x="512" unicode=""/><glyph d="M256 -56V40.1C357.8 40.1 436.8 141 397.7 248.1C383.4 287.7000000000001 351.6 319.5 311.9 333.8C204.8 372.6 103.8 293.9000000000001 103.8 192.1H8C8 354.3 164.9 480.8 335 427.7C409.2 404.4 468.6 345.3 491.6 271.1C544.8 100.8 418.6 -56 256 -56zM256.3 135.4H160.7V39.8H256.3V135.4zM160.7 39.8H87V-33.8000000000001H160.7V39.8zM87 101.4H25.4V39.8H87V101.4z" glyph-name="digital-ocean" horiz-adv-x="512" unicode=""/><glyph d="M297.216 204.8C297.216 189.184 285.6960000000001 176.384 271.104 176.384C256.768 176.384 244.992 189.184 244.992 204.8S256.512 233.216 271.104 233.216C285.696 233.216 297.216 220.416 297.216 204.8zM177.664 233.216C163.072 233.216 151.552 220.416 151.552 204.8S163.328 176.384 177.664 176.384C192.256 176.384 203.776 189.184 203.776 204.8C204.032 220.416 192.256 233.216 177.664 233.216zM448 395.264V-64C383.506 -7.006 404.132 -25.872 329.216 43.776L342.784 -3.584H52.48C23.552 -3.584 0 19.968 0 49.152V395.264C0 424.448 23.552 448 52.48 448H395.5200000000001C424.448 448 448 424.448 448 395.264zM375.04 152.576C375.04 235.0080000000001 338.1760000000001 301.824 338.1760000000001 301.824C301.3120000000001 329.472 266.24 328.704 266.24 328.704L262.656 324.608C306.176 311.296 326.4 292.096 326.4 292.096C265.589 325.425 194.156 325.4310000000001 135.168 299.52C125.696 295.168 120.064 292.096 120.064 292.096S141.312 312.32 187.392 325.632L184.832 328.704S149.76 329.472 112.896 301.824C112.896 301.824 76.032 235.008 76.032 152.576C76.032 152.576 97.536 115.456 154.112 113.6640000000001C154.112 113.6640000000001 163.584 125.184 171.264 134.912C138.752 144.6400000000001 126.464 165.12 126.464 165.12C130.23 162.484 136.44 159.067 136.96 158.72C180.17 134.5220000000001 241.548 126.5940000000001 296.704 149.7600000000001C305.664 153.088 315.648 157.9520000000001 326.144 164.864C326.144 164.864 313.344 143.872 279.808 134.4C287.488 124.672 296.704 113.6640000000001 296.704 113.6640000000001C353.28 115.456 375.04 152.576 375.04 152.576z" glyph-name="discord" horiz-adv-x="448" unicode=""/><glyph d="M225.9 416C103.3 416 0 317.5 0 195.9C0 192 0.1 -32 0.1 -32L225.9 -31.8C348.6 -31.8 448 70.5 448 192.1C448 313.7 348.6 416 225.9 416zM224 64C204.6 64 186.1 68.3 169.6 76.1L88.5 56L111.4 131C101.6 149.1 96 169.9 96 192C96 262.7 153.3 320 224 320S352 262.7 352 192S294.7 64 224 64z" glyph-name="discourse" horiz-adv-x="448" unicode=""/><glyph d="M397.9 288H256V428.4L397.9 288zM304 256V126C304 59.2 267.5 25.9 190.7 25.9H96V363.2H190.7C202.7 363.2 213.8 362.4 223.8 360.7V444.7C212.9 446.9 201.4 448 189.2 448H0V-64H189.2C329.7 -64 400 0.6 400 129.9V256H304z" glyph-name="dochub" horiz-adv-x="416" unicode=""/><glyph d="M349.9 211.7H283.8V271.1H349.9V211.7zM349.9 416H283.8V355.3H349.9V416zM428.1 271.2H362V211.8H428.1V271.2zM271.8 343.3H205.7V283.2H271.8V343.3zM349.9 343.3H283.8V283.2H349.9V343.3zM626.7 243.3C612.3000000000001 253 579.1 256.5 553.6 251.7C550.3000000000001 275.7 536.9 296.6 512.5 315.4L498.5 324.7L489.2 310.7C470.8 282.9 465.8 237.1 485.5 206.9C476.8 202.2 459.7 195.8 437.1 196.2H2.4C-6.3 145.4 8.2 79.4 46.4 34.1C83.5 -9.8 139.1 -32.1 211.8 -32.1C369.2000000000001 -32.1 485.7 40.4 540.2 172.1C561.6 171.7000000000001 607.8000000000001 172 631.5 217.3C633 219.8 638.1 230.5 640 234.4L626.7 243.3zM115.6 271.2H49.6V211.8H115.7V271.2zM193.7 271.2H127.6V211.8H193.7V271.2zM271.8 271.2H205.7V211.8H271.8V271.2zM193.7 343.3H127.6V283.2H193.7V343.3z" glyph-name="docker" horiz-adv-x="640" unicode=""/><glyph d="M369.9 22.6V77L417 49.8L369.9 22.6zM82.4 67.4C107.9 94.7 180.1 172.1 233.3 237.4C268.4000000000001 280.5 273.6 319.8 261.7 350.1C254.3 368.9 244.2 380.3 237.4 385.8C282.7 383.7 305.4 362.4 319.6 347.5C319.6 347.5 362 299.3 325.4 234.2C288.4 168.3 214.5 86.7 196.9 67.5H82.4zM134.2 286.6C134.2 274.2 124.2 264.2 111.8 264.2C99.4 264.2 89.4 274.2 89.4 286.6C89.4 299 99.4 309 111.8 309C124.2 309 134.2 298.9 134.2 286.6M336 132.1V67.4H244.7C275.5 102.4 326.5 163.3000000000001 356.5 216.7000000000001C391.7 279.3000000000001 372.6 340.1 343.7 370.0000000000001C339.3 374.6 281.5 432.9000000000001 177.7 411.2000000000001C118.6 398.8000000000001 88.3 367.8000000000001 73.4 343.9000000000001C60.3 323.0000000000001 56.4 304.1000000000001 55.2 296.2000000000001C49.7 263.2000000000001 74.6 229.1000000000001 111.9 229.1000000000001C143.6 229.1000000000001 169.2 254.8000000000001 169.2 286.5000000000001C169.2 313.6 149.5 338.6 121.2 343.3000000000001C123 350.6 138.9 364.4000000000001 147.5 368.0000000000001C188.6 385.3000000000001 225.5 362.8000000000001 230.8 334.5000000000001C239.1 290.2000000000001 193.7 244.1000000000001 161.1 206.9000000000001C84.5 119.9 18.3 51.2 0 32.1L336 32.2V-32L480 49.9L336 132.1z" glyph-name="draft2digital" horiz-adv-x="480" unicode=""/><glyph d="M90.2 219.8C99.1 262.2000000000001 127.6 297.5 165.9 315.5C169.5 310.6 193.9 276.7 216.6 236.5C152.6 219.5 96.3 219.7 90.2 219.8zM314.6 294C281 323.8 235.3 335.1 192 324.6C195.8000000000001 319.5 220.6 285.7 243.0000000000001 244.6C291.6 262.9 312.1 290.5 314.6 294zM140.1 84C180.6 52.4 233.4 47.3 277.4 66C275.4 78 267.4 119.8 248.2 169.6C193.1 150.8 154.4 113.2000000000001 140.1 84zM238.9 192.2C235.5 200 231.7 207.7 227.8 215.4C159.6 195 93.4 195.8 87.4 196C87.4 194.6 87.3 193.2 87.3 191.8C87.3 156.7 100.6 124.7000000000001 122.4 100.4C144.6 138.3 189.5 178.3 238.9 192.2zM273.8 175.9C291.7 126.8 298.9 86.8 300.3 78.5C331 99.2 352.8 132.1 358.9 170.1C354.3 171.6 316.6 182.8 273.8 175.9zM253.5 224.3C258.3 214.5 261.8 206.5 265.5 197.5C311 203.2 356.2 194.1 360.7 193.1C360.3999999999999 225.4 348.8999999999999 255 329.8 278.2C326.9 274.3 304 245 253.5 224.3zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM384 192C384 280.2 312.2 352 224 352S64 280.2 64 192S135.8 32 224 32S384 103.8 384 192z" glyph-name="dribbble-square" horiz-adv-x="448" unicode=""/><glyph d="M256 440C119.252 440 8 328.748 8 192S119.252 -56 256 -56S504 55.252 504 192S392.748 440 256 440zM419.9700000000001 325.634C449.473 289.588 467.3390000000001 243.677 467.805 193.679C460.821 195.156 390.7870000000001 209.361 320.303 200.497C314.551 214.538 309.122 226.89 301.686 242.111C380.007 274.088 415.504 319.593 419.97 325.634zM396.421 350.13C392.611 344.703 360.724 301.844 285.4 273.611C250.688 337.387 212.215 389.779 206.36 397.619C273.536 413.812 344.326 396.349 396.421 350.13zM165.941 383.38C171.526 375.721 209.379 323.264 244.478 260.871C145.391 234.558 58.118 234.937 48.644 235.062C62.38 300.795 106.678 355.427 165.941 383.38zM44.17 191.677C44.17 193.843 44.213 195.999 44.278 198.15C53.546 197.96 156.198 196.637 261.984 228.2960000000001C268.048 216.4280000000001 273.841 204.3810000000001 279.158 192.347C202.559 170.7720000000001 132.964 108.8200000000001 98.627 50.0410000000001C64.794 87.595 44.17 137.27 44.17 191.677zM125.977 24.564C148.104 69.797 208.155 128.186 293.5560000000001 157.3200000000001C323.2960000000001 80.037 335.5950000000001 15.2670000000001 338.7450000000001 -3.318C270.6330000000001 -32.331 188.7300000000001 -24.371 125.9770000000001 24.564zM374.357 16.075C372.186 28.9610000000001 360.911 90.972 333.205 167.1080000000001C399.585 177.734 457.905 160.3400000000001 465.152 158.0530000000001C455.71 99.1120000000001 421.879 48.2090000000001 374.357 16.075z" glyph-name="dribbble" horiz-adv-x="512" unicode=""/><glyph d="M264.4 331.7L132.4 247.4L264.4 163.1L132.4 78.8L0 163.9L132.3 248.2L0 331.7L132.3 416L264.4 331.7zM131.6 52.3L263.6 136.6L395.6 52.3L263.6 -32L131.6 52.3zM264.4 163.9L396.4 248.2L264.4 331.8L395.7 416L528 331.7L395.7 247.4L528 163.2L395.7 78.9L264.4 163.9z" glyph-name="dropbox" horiz-adv-x="528" unicode=""/><glyph d="M319.5 333.3C297.3 347.3 276 352.8 254.8 366.8C241.8 375.6 223.5 396.8 208.3 415.1C205.6 385.8 196.8 373.9 186.3 365.6C165 348.6 151.5 343.4 132.8 333.3C117 325 32 266.5 32 157.5C32 48.3 123.8 -32 225.8 -32C327.5 -32 416 42 416 154C416 266.3 333 325 319.5 333.3zM322 7.7C301.9 -12.4 231.9 -21 205.3 3.5C200.5 8.3 205.6 15.5 211.8 15.5C211.8 15.5 228.8 2.2 263.3 2.2C290.3 2.2 309.3 9.9 317.8 16.2C323.9000000000001 20.8 326.2 11.9 322 7.7zM267.5 60.3C276.2 63.9 296.5 64.1 304.3 59C308.4000000000001 56.2 320.4000000000001 40.2 310.5 35.3C302.1 31.1 309.3 51 284 51C269.3 51 264.5 45.8 257.3 40C250.3 34 247.5 32 245.1 35.3C239.1 43.5 261 57.6 267.5 60.3zM360 43C344.8 44 314.5 91.8 295 92.5C264.1 93.4 190.9 11.8 133.7 50.5C94.9 77.1 119.1 155.3 185.5 155.7C235 156.2 269.3 106.7 294 107.2C315.3 107.5 355.8 149 375.8 149C424.5 149 399.1 39.7 360 43z" glyph-name="drupal" horiz-adv-x="448" unicode=""/><glyph d="M0 416V296.8H64V352H171.2C284.6 352 352 271.8 352 192.1C352 116 293.4 32 171.2 32H0V-32H171.2C331.9 -32 416 80.7 416 192.1C416 250.8 393.9 305.5 353.7 346.4C308.9 392 245.7 416 171.2 416H0z" glyph-name="dyalog" horiz-adv-x="416" unicode=""/><glyph d="M313.2 400.5C314.4 413.5 334.5 414.5 349.8 409.2C350.7 408.9 376 399.5 368.8 394C340.9000000000001 401.4 312.4000000000001 375.8 313.2 400.5zM112.2 393.6C142.9 401.7 174.2 373.6 173.3 400.7C172 414.9 149.9 416 133.1 410.3C132.1 410 104.4 399.8 112.2 393.6zM319.4 288C310.6 288 303.4 280.8 303.4 272S310.6 256 319.4 256S335.4 263.2 335.4 272S328.2 288 319.4 288zM159.7 288C150.9 288 143.7 280.8 143.7 272S150.9 256 159.7 256S175.7 263.2 175.7 272S168.5 288 159.7 288zM478.2 124.8C468.3 100.8 437.5 113.8 414.3 126C400.8 56.9 356.2 14.6 288 1.8C288.3 0.9 286 1.9 312 0.8C345.6 -0.6 375.8 3.9 409.4 8.8C389.6 22.6 398 45.9 399.6 46.9C401 47.8 414.3 45.2 421.2 35.4C429.8 47.9 449.6 50.2 451.4 49.0000000000001C453 47.9 458 28.1000000000001 444.5 14.4C449.2 15.3 452.7 16.0000000000001 454.3 16.5000000000001C456.9 17.3000000000001 472 5.2 457.4 3.2C443.1 0.9 434.8 -1.9 410.3 -7.6C364.4000000000001 -18.3 324.4 -19.4 292.6 -20.4L293.6 -32C297.4000000000001 -50.1 270.2000000000001 -56.3 266 -38.2C266.8 -56.1 238.9 -60 237.6 -37.2L237.1 -42.5C236.4 -60.9 208.7 -60.4 208.8 -41.9C201.3 -55.4 180.7 -48.7 182.4 -33.4L183.6 -21C146.9 -21.9 123.9 -24.1 121.8 -24.1C100.9 -24.1 100.9 7.5 121.8 7.5C124.2 7.5 149.5 6.2 185 4.7C123.9 20.2 81.3 59.7 70.1 122.9C45.1 110.1 12.6 96.1 1.9 122.1C-8.6 147.5 23.4 164.7 68.7 195.5C69.4 202.1 70.3 208.8 71.4 215.3C57 234.9 59.8 251.6 55.3 275.7C38.5 273.3 32.1 284.8 31.7 298.8C32 306.1 33.8 313.7 34.1 314.2C35.2 316 44.2 316.2 46.8 316.8C52.8 348.5 97.4 350 137.7 351.3C157.4 373.1 182.9 392.8 218.6 399.6C203.3 419 215.2 439.5 216.2 440C217.9 440.8 237.4 435.7 242.5 416.8C247.7 425.6 260.8 428.2 262.1 427.5C263.2000000000001 426.9 268.5 412.5 257.2000000000001 401.6C297.5000000000001 398.1 329.4000000000001 376.9 353.2000000000001 350.9C389.3000000000001 349.4 425.0000000000001 345 430.3000000000001 316.9C433.0000000000001 316.3 441.9000000000001 316.1 443.0000000000001 314.3C443.3000000000001 313.8 445.1000000000001 306.2000000000001 445.4000000000001 298.9C444.9000000000001 285 438.6 273.5 421.8 275.8C418.6 258.5 419.1 242.9 413.1 228.1C415.5 216.4 417.1 204.3 417.9000000000001 191.7000000000001C454.9 166.3000000000001 488.2 149.2000000000001 478.2 124.8000000000001zM207.4 288.1C208.3 332.1 169.5 330.3 128.8 328.4C107.1 327.4 89.9 326.5 83.3 314.5C71.9 293.6 89.2 221.6 106.5 213.3C116.3 208.6 179.9 205.4 192.8 220.4C201 229.8 207.8 269.8 207.4 288.1zM259.4 229.8C255.1 242.2 253.4 259.9 244.1 262.5C242.1 263 235.1 263 233.1 262.5C223.1 259.7 222.3 240.4 216.1 225.3C231.5 225.3 235.4 215.6 239.8 215.6C244.1 215.6 246.1 226.9000000000001 259.4 229.8zM395.1 314.5C388.5 326.6 370.3 327.4 348.6 328.4C308.4 330.3 270.4 332.2 271.3 288.1C270.8 269.8 276.3 229.8 284.5 220.3C297.5 205.4 361.0999999999999 208.5 370.8 213.2C386.6 220.8 407.3 292.1 395.1 314.5z" glyph-name="earlybirds" horiz-adv-x="480" unicode=""/><glyph d="M405.2 184.2C376.1 183.3 358 178 358 158.9C358 146.5 367.9 133.1 393 133.1C426.7 133.1 444.6 151.5 444.6 181.5V184.8C432.8 184.8 418.3 184.6999999999999 405.2000000000001 184.1999999999999M476.7 144.5C476.7 135.1999999999999 477.0000000000001 125.8999999999999 477.7 117.6999999999999H447.9000000000001C447.1 124.5999999999999 446.8 131.3 446.8 137.8999999999999C430.7 118.0999999999999 411.5 112.3999999999999 384.9000000000001 112.3999999999999C345.4000000000001 112.3999999999999 324.3 133.2999999999999 324.3 157.3999999999999C324.3 192.3999999999999 353.1 204.6999999999999 402.9 205.7999999999999C416.6 206.0999999999999 431.9 206.1999999999999 444.6 206.1999999999999V209.5999999999999C444.6 233 429.6 242.6 403.6 242.6C384.3 242.6 370 234.6 368.6 220.7999999999999H334.9C338.5 255.2 374.6 263.8999999999999 406.4 263.8999999999999C444.5 263.8999999999999 476.7 250.3999999999999 476.7 210.0999999999999V144.4999999999999zM127.7000000000001 201.3C125.4000000000001 256 40.2 257.9 33.3 201.3H127.7000000000001zM32.7 179.9C36.2 121.6 111.9000000000001 122.5 123.9000000000001 158.3H157C150.6 123.9 114 112.1999999999999 82.6 112.1999999999999C25.4 112.1999999999999 0.1 143.6999999999999 0.1 186.1999999999999C0.1 233 26.3 263.8 83.1 263.8C128.4 263.8 161.5 240.1 161.5 188.3999999999999V179.8999999999999H32.7zM243.7000000000001 134.2C273.5000000000001 134.2 293.9000000000001 155.7 293.9000000000001 188C293.9000000000001 220.4 273.5000000000001 241.8 243.7000000000001 241.8C214.1000000000001 241.8 193.5000000000001 220.4 193.5000000000001 188C193.5000000000001 155.7 214.1000000000001 134.2 243.7000000000001 134.2M161.5000000000001 320.2H193.6000000000001V239.6C209.3000000000001 258.3 231.0000000000001 263.8 252.3000000000001 263.8C288.0000000000001 263.8 327.7000000000001 239.7 327.7000000000001 187.6C327.7000000000001 144 296.2000000000001 112.1999999999999 251.7000000000001 112.1999999999999C228.4000000000001 112.1999999999999 206.6000000000001 120.5 193.0000000000001 137.0999999999999C193.0000000000001 130.4999999999999 192.6000000000001 123.8999999999999 191.9000000000001 117.5999999999999H160.4000000000001C160.9000000000001 127.7999999999999 161.5000000000001 140.3999999999999 161.5000000000001 150.6999999999999V320.2zM640 258.5L540.8 63.7H504.9L533.4 117.8L458.8 258.5H496.3L551.1999999999999 148.6L606 258.5H640z" glyph-name="ebay" horiz-adv-x="640" unicode=""/><glyph d="M25.714 219.837C25.825 219.999 25.944 220.16 26.056 220.322C26.035 220.16 26.011 219.999 25.991 219.837H25.714zM486.286 204.329C486.286 248.361 478.532 288.794 457.485 326.734C416.498 400.121 343.912 439.999 258.893 439.999C118.962 440.276 40.617 334.786 26.056 220.321C68.485 281.633 143.129 341.697 246.431 345.287C246.431 345.287 356.097 345.287 345.85 240.33H169.997C176.366 277.716 188.551 299.316 204.336 319.256C129.288 284.363 82.486 223.16 83.594 130.941C84.424 59.493 133.718 -13.895 204.337 -41.035C287.694 -72.8820000000001 397.113 -48.235 444.469 -19.711V84.693C363.605 28.199 173.598 23.768 172.214 152.265H486.287V204.329z" glyph-name="edge" horiz-adv-x="512" unicode=""/><glyph d="M425.6 416H22.4C10 416 0 406 0 393.6V-9.6C0 -22 10 -32 22.4 -32H425.6C438 -32 448 -22 448 -9.6V393.6C448 406 438 416 425.6 416M164.3 92.5H124.5V291.5H164.3V92.5zM323.6 92.5H204.1V132.3H323.6V92.5zM323.6 172.1H204.1V211.9H323.6V172.1zM323.6 251.8H204.1V291.6H323.6V251.8z" glyph-name="elementor" horiz-adv-x="448" unicode=""/><glyph d="M248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM391.8400000000001 154.8C375.31 89.49 315.79 43.2 248 43.2S120.69 89.49 104.16 154.8C102.51 162.24 106.64 170.5099999999999 114.08 172.16C121.52 173.81 129.79 169.68 131.44 162.24C145.49 109.3299999999999 193.44 72.1299999999999 248 72.1299999999999S350.51 109.3299999999999 364.56 162.24C366.21 169.68 374.48 174.6399999999999 381.92 172.16C389.36 170.51 394.32 162.24 391.8400000000001 154.8z" glyph-name="ello" horiz-adv-x="496" unicode=""/><glyph d="M639.9 193.4C638.8 204.1 629.1999999999999 200.2 629.1999999999999 200.2S613.5999999999999 188.1 599.9 189.5C586.1999999999999 190.8 590.5 221.5 590.5 221.5S593.5 249.6 585.4 251.9C577.3 254.3 567.4 244.6 567.4 244.6S555 230.9 549.1 213.4L547.5 212.9S549.4 243.5 547.2 250.5C545.6 254 530.8000000000001 253.7 528.4000000000001 247.5S514.2 198.3 513.4000000000001 180.3C513.4000000000001 180.3 490.3000000000001 160.7 470.1000000000001 157.5S445.1000000000001 166.9 445.1000000000001 166.9S499.9000000000001 182.2 498.0000000000001 226C496.1000000000001 269.8 453.8000000000001 253.6 449.0000000000001 250C444.4000000000001 246.5 419.6000000000001 231.6 412.4000000000001 190.3C412.2000000000001 188.9 411.7000000000001 182.8 411.7000000000001 182.8S390.5000000000001 168.6 378.7000000000001 164.8C378.7000000000001 164.8 411.7000000000001 220.4 371.4000000000001 245.7C353.1 256.7 338.6 233.6 338.6 233.6S393.1 294.3 381.1 345.6C375.3 370 363.1 372.7 351.9000000000001 368.7C334.9000000000001 362 328.4000000000001 352 328.4000000000001 352S306.4000000000001 320 301.3 272.5S288.7 167.4 288.7 167.4S278.2 157.2 268.5 156.7S263.1 185.4 263.1 185.4S270.6 230 270.1 237.5S269 249.1 260.2000000000001 251.7C251.3000000000001 254.4 241.7000000000001 243.1 241.7000000000001 243.1S216.2000000000001 204.4 214.0000000000001 198.5L212.7000000000001 196.1L211.4 197.7S229.4000000000001 250.4 212.2000000000001 251.2C195.0000000000001 252 183.7000000000001 232.4 183.7000000000001 232.4S164.1000000000001 199.6 163.3000000000001 195.9L162 197.5S170.1 235.7 168.4 245.1C166.8000000000001 254.5 157.9 252.6 157.9 252.6S146.6 253.9 143.7000000000001 246.7S130.0000000000001 191.3999999999999 128.7000000000001 176C128.7000000000001 176 100.5 155.8 81.9000000000001 155.6C63.4000000000001 155.3 65.2000000000001 167.4 65.2000000000001 167.4S133.2000000000001 190.7 114.6000000000001 236.6C106.3000000000001 248.4 96.6000000000001 252.1 82.9000000000001 251.9C69.2000000000001 251.6 52.6000000000001 243.3 41.6000000000001 218.6C36.3000000000001 206.8 34.8000000000001 195.6 33.8000000000001 187.1C33.8000000000001 187.1 21.5000000000001 184.7 15.0000000000001 190S5.0000000000001 190 5.0000000000001 190S-6.1999999999999 176 4.9000000000001 171.6999999999999S33.0000000000001 165.5999999999999 33.0000000000001 165.5999999999999C34.6000000000001 158.0999999999999 39.2000000000001 146.0999999999999 52.6000000000001 135.8999999999999C72.8000000000001 120.5999999999999 111.4000000000001 137.1999999999999 111.4000000000001 137.1999999999999L127.3000000000001 146S127.8000000000001 131.3999999999999 139.4000000000001 129.3C151.0000000000001 127.1999999999999 155.8000000000001 128.3 175.9000000000001 177.1999999999999C187.7000000000001 202.1999999999999 188.5000000000001 200.7999999999999 188.5000000000001 200.7999999999999L189.8000000000001 201.0999999999999S180.7000000000001 154.3 184.2000000000001 141.3999999999999C187.7 128.6 203 130 203 130S211.3 127.6 218 151.2C224.7 174.8 237.6 201.1 237.6 201.1H239.2S233.6 153 242.2 137.4C250.8 121.8 273.1 132.1 273.1 132.1S288.7 139.9 291.1 142.3C291.1 142.3 309.6 126.5 335.7 129.4C394 140.9 414.8 155.3 414.8 155.3S424.8 130.9 455.9 128.6C491.4 125.9 510.7 147.2 510.7 147.2S510.4 133.7 522.8 128.6C535.1999999999999 123.5 543.5 151.4 543.5 151.4L564.2 208.6H566.1S567.2 171.3 587.6 165.4S634.6 179.1 634.6 179.1S641 182.6 639.9 193.4zM61.9 188.1C62.7 220.1 83.7 234.0000000000001 90.9 227.1C98.2 220.1 95.5 205.1 81.8 195.7C68.1 186.2000000000001 61.9 188.1 61.9 188.1zM334.7 311.9000000000001S353.8 361.6 358.3 337.4000000000001S318.3 241.2000000000001 318.3 241.2000000000001C318.8 257.4000000000001 334.7 311.9000000000001 334.7 311.9000000000001zM357.5 173.5C344.9 140.5 314.2 153.9 314.2 153.9S310.7 165.7 320.6 198.8S353.9 219 353.9 219S370.1 206.6 357.5 173.5zM442.1 188.1S439.1 198.6 450.2000000000001 218.7C461.2 238.9 469.8000000000001 227.8 469.8000000000001 227.8S479.2 217.6 468.5000000000001 202.3S442.1000000000001 188.1 442.1000000000001 188.1z" glyph-name="ember" horiz-adv-x="640" unicode=""/><glyph d="M287.6 393.8C276.8 396 265.5 397.1 254.1 397.4V415.6C332.2000000000001 413.4 400.2000000000001 371.6 438.7000000000001 309L422.9000000000001 299.9C416.8 309.6 410.2000000000001 318.7000000000001 402.7000000000001 327L384.7000000000001 311.5C358.7000000000001 341.1 323.3000000000001 362.2 282.8000000000001 369.9L287.6000000000001 393.8zM53.4 125.6L76.4 133.3C70 151.6 66.4 171.5 66.4 192S69.7 232.4 76.1 250.7L53.4 258.4C57 269.2 61.7 279.7 67 289.4L51.2 298.5C34 267 24.1 230.5 24.1 192S34.1 117 51.2 85.4L67 94.5C61.7 104.5 57.3 114.8 53.4 125.6zM213.1 14C172.7 22 137.3 43.1 111.2 72.7L93.2 56.9C85.7 65.5 78.8 74.6 73 84.3L57 74.9C95.5 12.6 163.8 -29.4 241.9 -31.7V-13.4C230.6 -13.1 219.2 -11.7 208.4 -9.8L213.1 14zM93.3 327.1L111.3 311.6C137.3 341.2 172.7 362.3 213.2 370L208.5 393.8C219.3 396 230.6 397.1 242 397.4V415.6C163.9 413.4 95.9 371.6 57.4 309L73.2 299.9C79.2 309.6 85.8 318.8 93.3 327.1zM402.7 56.9L384.7 72.7C358.7 43.1 323.3 22 282.8 14L287.5 -9.8C276.7 -11.7 265.3999999999999 -13.1 254 -13.4V-31.7C332.0999999999999 -29.5000000000001 400.4 12.6 438.9 74.9L422.8 84.3C417.1 74.6 410.2 65.4999999999999 402.7 56.9zM496 192C496 55 385 -56 248 -56S0 55 0 192S111 440 248 440S496 329 496 192zM483.8 192C483.8 322.1 378.1 427.8 248 427.8S12.2 322.1 12.2 192S117.9 -43.8 248 -43.8S483.8 61.9 483.8 192zM444.8 298.6L429 289.5C434.3 279.8 439 269.3 442.6 258.5L419.9000000000001 250.8C426.3 232.5 429.6 212.6 429.6 192.1S426 151.7000000000001 419.6 133.4L442.6 125.7000000000001C438.7000000000001 114.9 434.3 104.7000000000001 429 94.7000000000001L444.8 85.6C462 117 471.9 153.5 471.9 192S462 267 444.8 298.6zM261.8 120.9C278.1 124.2 292.2 132.5 302.5 144.4L353.7 99.6C365.6 113.2 375 128.9 380.8 146.4L316.6 168.5C319.1 176 320.5 183.7 320.5 192S319.1 208.1 316.6 215.5L381.1 237.6C375 255 365.6 270.8 353.7000000000001 284.4L302.5000000000001 239.6C292.3000000000001 251.5 278.1000000000001 260.1 261.8000000000001 263.4L275.1000000000001 329.8C266.5000000000001 331.7 257.4000000000001 332.6 248.0000000000001 332.6C238.6000000000001 332.6 229.5000000000001 331.8 220.9000000000001 329.8L234.2000000000001 263.4C217.9000000000001 260.1 203.8000000000001 251.5 193.5000000000001 239.6L142.3000000000001 284.4C130.4000000000001 270.8 121.0000000000001 255.1 114.9000000000001 237.6L179.4000000000001 215.5C176.9000000000001 208 175.5000000000001 200.3 175.5000000000001 192S176.9000000000001 175.9 179.4000000000001 168.5L115.2000000000001 146.4C121.0000000000001 129 130.4000000000001 113.2 142.3000000000001 99.6L193.5000000000001 144.4C203.7000000000001 132.5 217.9000000000001 124.2 234.2000000000001 120.9L220.9000000000001 54.2C229.5000000000001 52.5 238.6000000000001 51.4 248.0000000000001 51.4C257.4000000000001 51.4 266.5000000000001 52.5 275.1000000000001 54.2L261.8000000000001 120.9z" glyph-name="empire" horiz-adv-x="496" unicode=""/><glyph d="M0 416C477.6 416 366.6 98.7 367.1 49.7L448 -32H422L351.6 39.2C312.6 35 227.2 4.7 137.2 76.2C47 147.7 52 233.3 0 416zM79.7 370C30 393.5 74.5 360.8 74.5 360.8C119.7 329.6 140.5 287.1 164.7 240.9C196.2 180.7 243.7 101.2 308.9 73.2C373.9 45.2 343.1 60.7 314.9 81.7C286.7 102.9 246.7 168.7 223.9 211.9C192.2 271.9 162.9 330.5 79.7 370z" glyph-name="envira" horiz-adv-x="448" unicode=""/><glyph d="M21.7 201.6C21.6 114.8 50.7 42.1 100.4 -10.5H0V394.5H87.2C45.7 344.3 21.6 278.3 21.7 201.6zM640 394.4H556.4C587.8 351.7 605.1 296.9 602.6 231.7C603.1 225.7 603.1 220 602.6 207.6H230.2C230 97.9 269.1 12.7 368.8 12.3C437.3 12.6 486.8 63.3 520.6999999999999 118.4L617.0999999999999 70.2C599.6999999999999 39.3 580.5999999999999 12.4 559.1999999999999 -10.6H640V394.4zM559.2 -10.6S559.2 -10.5 559.2 -10.6H559H559.2zM556.1 394.4H556.4L556.3 394.5L556.0999999999999 394.4zM325.4000000000001 384.8C279.5000000000001 384.7 240.3000000000001 351.3 236.2000000000001 301.6H406.1C405 351.3 371.6 384.7 325.4000000000001 384.8z" glyph-name="erlang" horiz-adv-x="640" unicode=""/><glyph d="M311.9 187.2L160 94.4L8 187.2L160 448L311.9 187.2zM160 64.6L8 157.4L160 -64L312 157.4L160 64.6z" glyph-name="ethereum" horiz-adv-x="320" unicode=""/><glyph d="M384 100C382.25 89.25 370.25 -10 368.5 -32C250.621 -27.701 148.605 -27.257 0 -32V-6.5C45.457 2.448 60.627 1.519 61 28.75C62.793 101.072 64.524 272.8930000000001 61 350.75C59.971 379.2100000000001 48.87 377.515 0 386.75V412.25C73.886 409.892 255.933 403.699 362.999 416C359.499 377.75 355.249 289.5 355.249 289.5H332C320.947 332.335 313.241 380 277.25 380H140.25C130 380 129.5 376.5 129.5 370.25V206.5C187.5 206 218 209 218 209C247.77 209.951 245.56 217.502 258.75 274.251H284.5C280.093 172.9 280.59 212.422 282.75 114.001H257C247.845 154.087 247.935 175.046 217.499 175.501C217.499 175.501 195.999 177.501 129.499 177.501V38.501C129.499 12.501 143.749 0.251 173.749 0.251H263C326.636 0.251 329.564 25.247 361.751 100.001H384z" glyph-name="etsy" horiz-adv-x="384" unicode=""/><glyph d="M248 404.6C130.6 404.6 35.4 309.4 35.4 192S130.6 -20.6 248 -20.6S460.6 74.6 460.6 192S365.4 404.6 248 404.6zM150.6 271.7C150.6 325.4 194.3 369.1 248 369.1S345.4 325.4 345.4 271.7V245.1C345.4 240.1 341.5 236.2 336.5 236.2H318.8C313.8 236.2 309.9000000000001 240.1 309.9000000000001 245.1V271.7C309.9000000000001 353.8 185.9 353.8 185.9 271.7V245.1C185.9 240.1 182 236.2 177 236.2H159.3000000000001C154.3000000000001 236.2 150.4 240.1 150.4 245.1V271.7zM389.7 68C389.7 58.3 381.7 50.3 372 50.3H124C114.3 50.3 106.3 58.3 106.3 68V209.7C106.3 219.4 114.3 227.4 124 227.4H372C381.7 227.4 389.7 219.4 389.7 209.7V68zM141.7 205.3V72.4C141.7 69.9 139.8 68 137.3 68H128.4C125.9 68 124 69.9 124 72.4V205.3C124 207.8 125.9 209.7 128.4 209.7H137.3C139.8 209.7 141.7 207.8 141.7 205.3zM283.4 156.6C283.4 143.6 276.2 132.2000000000001 265.7 126.2000000000001V94.6C265.7 89.6 261.8 85.7000000000001 256.8 85.7000000000001H239.1C234.1 85.7000000000001 230.2 89.6 230.2 94.6V126.2000000000001C219.7 132.3000000000001 212.5 143.6 212.5 156.6C212.5 176.3 228.3000000000001 192 247.9000000000001 192S283.4000000000001 176.2000000000001 283.4000000000001 156.6zM248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -38.3C121 -38.3 17.7 65 17.7 192S121 422.3 248 422.3S478.3 319 478.3 192S375 -38.3 248 -38.3z" glyph-name="expeditedssl" horiz-adv-x="496" unicode=""/><glyph d="M76.7 -64V165H0V256H76.7V327.7C76.7 405.6 124.3 448 193.8 448C227.1 448 255.7 445.5 264 444.4V363H215.8C178 363 170.7 345 170.7 318.7V256H256L244.3 165H170.7V-64" glyph-name="facebook-f" horiz-adv-x="264" unicode=""/><glyph d="M224 416C15.9 416 -77.5 170 84.6 47.4V-32L160.3 10C302.5 -29.8 445.7 69.9 445.7 208.7C445.8 323.2 346.5 416 224 416zM247.4 137.9L190 197.5L79.6 136.4L200.7 264.9L258.1 205.3L368.5 266.4L247.4 137.9z" glyph-name="facebook-messenger" horiz-adv-x="448" unicode=""/><glyph d="M448 368V16C448 -10.5 426.5 -32 400 -32H314.7V145.2H375.3L384 212.8H314.7V256C314.7 275.6 320.1 288.9 348.2 288.9H384V349.3C377.8 350.1 356.6 352 331.8 352C280.2 352 244.8 320.5 244.8 262.6V212.7H184V145.1H244.9V-32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368z" glyph-name="facebook-square" horiz-adv-x="448" unicode=""/><glyph d="M448 391.3V-7.2C448 -20.9 436.9 -31.9 423.3 -31.9H309.1V141.5H367.3L376 209.1H309V252.3C309 271.9 314.4 285.2000000000001 342.5 285.2000000000001H378.3V345.7000000000001C372.1 346.5 350.9000000000001 348.4000000000001 326.1 348.4000000000001C274.5 348.4000000000001 239.1 316.9000000000001 239.1 259V209.1H180.7V141.5H239.1V-32H24.7C11.1 -32 0 -20.9 0 -7.3V391.3C0 404.9 11.1 416 24.7 416H423.2C436.9 416 448 404.9 448 391.3z" glyph-name="facebook" horiz-adv-x="448" unicode=""/><glyph d="M256 415.14L32.86 192L256 -31.14L479.14 192L256 415.14zM88.34 192.17C90.3 194.17 100.26 204.47 184.83 289.65C226.28 331.4 271.02 333.42 304.6 308.34C329.23 289.94 366.66 249.44 366.75 249.34C367.43 248.6 367.82 246.48 367.33 245.96C356.06 234.12 344.6499999999999 222.42 333.83 211.27C299.62 243.58 293.31 249.51 285.32 255.22C267.55 267.91 243.92 265.35 228.34 250.12C226.17 247.99 226.55 246.69 228.46 244.77C231.4 241.82 256.56 216.44 263.55 208.99C251.6 197.39 239.89 186.02 227.86 174.33C215.84 186.87 203.38 199.86 191.32 212.44C169.93 191.35 149.63 171.33 129.47 151.45A42569.01 42569.01 0 0 0 88.34 192.17zM323.16 90.57C287.67 55.14 245.07 52.43 216.17 70.1C194.09 83.6 176.79 102.18 143.24 136.9400000000001C155.29 149.3100000000001 167.03 161.3600000000001 178.61 173.2500000000001C211.63 141.34 215.67 137.2400000000001 223.29 131.1600000000001C241.77 116.4200000000001 265.81 117.4900000000001 282.61 132.9600000000001C286.29 136.3500000000001 286.3 136.6000000000001 282.75 140.2000000000001C272.16 150.9300000000001 261.56 161.6400000000001 250.98 172.3800000000001C249.66 173.7200000000001 247.95 174.8600000000001 250.1799999999999 177.0700000000001C260.9699999999999 187.7800000000001 271.6599999999999 198.5900000000001 282.39 209.3600000000001C282.6499999999999 209.6200000000001 283.0399999999999 209.7400000000001 284.3 210.4300000000001C296.67 197.5600000000001 309.22 184.5100000000001 321.55 171.6800000000001C342.56 192.4100000000001 362.79 212.3600000000001 382.8 232.1000000000001C396.48 218.7000000000001 409.93 205.5200000000001 423.66 192.0700000000001C403.49 171.2100000000001 341.98 109.3600000000001 323.16 90.5700000000001zM256 448L0 192L256 -64L512 192L256 448zM16 192L256 432L496 192L256 -48L16 192z" glyph-name="fantasy-flight-games" horiz-adv-x="512" unicode=""/><glyph d="M586 163.5L639.3 223.4H576.9L555.1999999999999 198.6L532.6999999999999 223.4H414V239.4H470.1V287.5H318.9V212H318.4C308.8 223 296.9 226.8 283 226.8C254.6 226.8 233.2 207.4 225.7 181.9C207.7 241.3000000000001 128.3 239.5000000000001 103.8 195.9V220.1H49V246.3H109V287.4H0V103H49V180.5H97.9C96.4 174.8 95.6 168.7 95.6 162.3C95.6 89.2000000000001 198.2 70.9 225.8 138.6H183.8C169.1 117.7000000000001 138 129.7000000000001 138 153.2000000000001H223.5C227.2 122.7000000000001 250.9 96.3000000000001 283.6 96.3000000000001C297.7000000000001 96.3000000000001 310.6 103.2000000000001 318.5 114.9000000000001H319V103H531.2L553.3000000000001 128L575.6 103H640L586 163.5zM139.3 180.1C145.4 206.4 181 205.7 185.8 180.1H139.3zM292.7000000000001 131.2000000000001C258.1 131.2000000000001 258.7000000000001 194.0000000000001 292.7000000000001 194.0000000000001C325.3000000000001 194.0000000000001 327.2000000000001 131.2000000000001 292.7000000000001 131.2000000000001zM460.5000000000001 112.1H366.1V278.6H461.1V248.4H405V214.5H460.5V186.4H404.4V141.7H460.5V112.1zM414.6000000000001 151.9V176.3H470.7000000000001V220.3L521.4000000000001 163.3L470.7000000000001 106.3V151.9H414.6000000000001zM553.2 141.6L527.1 112.1H489L534.6 163.3L489 214.5H528.7L555.3000000000001 185.2L580.9000000000001 214.5H619.4000000000001L574.0000000000001 163.5L620.0000000000001 112.1H579.5000000000001L553.2000000000002 141.6z" glyph-name="fedex" horiz-adv-x="640" unicode=""/><glyph d="M53.62 -31.56C23.83 -31.48 -0.08 -7.45 0 22.34L0.44 192.58C0.76 316.29 101.31 416.32 225.02 416C348.73 415.68 448.76 315.13 448.44 191.42S347.57 -32.32 223.86 -32L53.62 -31.56M289.84 362.07C231.6 362.2200000000001 184.44 315.3 184.29 257.06L184.15 201.06L141.59 201.17C108.96 201.25 108.84 151.97 141.46 151.89L175.06 151.8C179.54 151.79 184.01 147.3 184 142.82L183.88 95.78C183.8 64.87 158.65 39.85 127.74 39.93C118.37 39.9499999999999 118.34 41.5199999999999 112.06 41.54C98.84 41.5699999999999 87.62 30.4 87.58 16.96C87.54 1.39 101.77 -7.28 107.45 -7.28C168.77 -20.1300000000001 232.98 26.36 233.16 95.66L233.3 151.66L275.86 151.55C308.51 151.47 308.56 200.75 275.99 200.83L242.39 200.92C237.44 200.93 233.44 204.95 233.45 209.9L233.57 256.94C233.67 297.4599999999999 272.2 317.81 299.57 311.87C314.93 307.99 329.83 320.3 329.87 335.76C329.8999999999999 347.86 321.19 357.9599999999999 310 359.78C303.2799999999999 361.36 296.7799999999999 362.05 289.8399999999999 362.07M108.8399999999999 184.68L97 196.59C92.29 195.26 87.58 193.48 83.32 191.25L110.35 164.08C108.79 168.12 107.91 172.15 107.92 176.63M101.76 46.72H100.19H101.76M80.85 16.98C80.86 22.13 82.22 27.06 84.47 31.31L22.58 93.52C22.56 85.9 23.66 78.73 25.44 71.56L80.85 15.86V16.98M86.4 -0.96C84.39 1.96 83.06 4.87 82.17 8.23L27.88 62.8C37.44 34.12 58.88 10.99 86.4 -0.96M308.6 168.04L320.44 156.1400000000001C325.15 157.47 329.86 159.2500000000001 334.12 161.48L307.0900000000001 188.65C308.6500000000001 184.61 309.5300000000001 180.5800000000001 309.5200000000001 176.1M336.8100000000001 335.74C336.8000000000001 330.5900000000001 335.2200000000001 326.11 332.9600000000001 321.4100000000001L394.85 258.75C394.6500000000001 266.81 393.7700000000001 273.98 392 281.16L336.82 337.3L336.81 335.74M331.0300000000001 353.68C333.04 350.76 334.37 347.85 335.2600000000001 344.49L389.5500000000001 289.92C380.0000000000001 318.61 358.5600000000001 341.73 331.0300000000001 353.68M315.51 154.8L307.02 163.33C305.22 159.08 302.74 155.28 299.37 151.93C304.98 152.37 310.36 153.47 315.51 154.8M363.97 182.23L329.12 217.26A64.478 64.478 0 0 0 318.57 208.78L353.87 173.3C357.4599999999999 176.2 360.82 179.1 363.97 182.23M350.27 170.62L314.07 206.55C310.03 204.32 305.32 202.99 300.39 201.88L338.37 163.48C342.42 165.71 346.46 168.16 350.27 170.62M375.65 196.09L339.9 232.02C337.65 227.77 335.18 223.97 332.25 220.62L367.1 185.59C370.0300000000001 188.9400000000001 372.9500000000001 192.29 375.6500000000001 196.09M384.8800000000001 211.97L345.3300000000001 251.7200000000001C344.8700000000001 246.35 343.73 241.2 341.7100000000001 236.5000000000001L378.1300000000001 199.8900000000001C380.6000000000001 203.6900000000001 382.8500000000001 207.7200000000001 384.8800000000001 211.9700000000001M394.8400000000001 252.9400000000001L330.5 317.6200000000001C327.8 313.8200000000001 324.43 310.6900000000001 320.62 308.4600000000001L392.56 236.3700000000001C393.9100000000001 241.5100000000001 394.6 247.5600000000001 394.84 252.9400000000001M391.64 230.7700000000001L338.47 284.2200000000001C342.71 276.37 345.37 267.4000000000001 345.57 257.99L386.9 216.4400000000001C388.71 221.1400000000001 390.29 225.8400000000001 391.64 230.7700000000001M63.57 179.42C59.98 176.5200000000001 56.39 173.61 53.47 170.04L88.32 135.4500000000001C91.46 138.5800000000001 95.06 141.48 98.87 143.9300000000001L63.57 179.4200000000001M78.83 189.2400000000001C75.02 187.0100000000001 70.98 184.5600000000001 67.61 182.1000000000001L102.91 146.1700000000001C107.4 148.4000000000001 112.33 149.9500000000001 117.03 150.8400000000001L78.83 189.2400000000001M118.06 200.7900000000001C112.46 200.3600000000001 107.08 199.2500000000001 101.92 197.9200000000001L110.41 189.3900000000001C112.44 193.6300000000001 114.92 197.4400000000001 118.06 200.7900000000001M24.66 116.8000000000001C23.53 111.2000000000001 22.62 105.6100000000001 22.6 99.7800000000001L86.95 35.5500000000001C89.65 38.9000000000002 93.01 42.0300000000001 96.83 44.2600000000001L24.66 116.8M39.31 152.8300000000001C36.84 149.03 34.59 145.0000000000001 32.56 140.7500000000001L72.11 101C72.57 106.37 73.71 111.52 75.73 116.22L39.31 152.8300000000001M30.54 136.5000000000001C28.74 131.5800000000001 27.16 126.8800000000001 25.8 121.9500000000001L78.53 68.5000000000001C74.74 76.3500000000001 72.08 85.3200000000001 71.88 94.7300000000001L30.54 136.5M50.33 167.14C47.41 163.79 44.49 160.44 41.79 156.63L77.54 120.7C79.79 125.17 82.26 128.75 85.19 132.1L50.33 167.14z" glyph-name="fedora" horiz-adv-x="448.44" unicode=""/><glyph d="M341.3 192C341.3 144.9 303.1 106.7 256 106.7S170.7 144.9 170.7 192S208.9 277.3 256 277.3S341.3 239.1 341.3 192zM256 277.3C303.1 277.3 341.3 315.5 341.3 362.6S303.1 448 256 448H85.3C38.2 448 0 409.8 0 362.7S38.2 277.4 85.3 277.4C38.2 277.3 0 239.1 0 192S38.2 106.7 85.3 106.7C38.2 106.7 0 68.5 0 21.3S38.2 -64 85.3 -64S170.6 -25.8 170.6 21.3V277.3H256z" glyph-name="figma" horiz-adv-x="341.3" unicode=""/><glyph d="M478.1 212.7C477.4 217.2 476.7 219.8 476.7 219.8S474.9 217.8 472.0000000000001 213.9C471.1000000000001 224.6 469.2 235.1 466.2 245.5C462.5000000000001 258.4 457.7 270.9 451.7 282.9C447.9000000000001 290.9 443.5000000000001 298.5 438.4000000000001 305.7C436.6 308.4 434.7000000000001 311.1 432.8 313.6C424 328 413.8 336.9 402.1 353.6C394.5 366.4 389.2000000000001 380.5 386.7000000000001 395.2C383.5000000000001 386.3 381.0000000000001 377.2 379.3000000000001 367.9C367.2000000000001 380.1 356.8000000000001 388.7 350.4000000000001 394.6C319.4 423.8 323 438.9 323 438.9S264.7 373.8 289.9 306C298.6 283 313.7 262.9 333.3 248.1C357.7 227.9 384.1 212.1 398 171.5C386.8 192.8 369.8999999999999 210.7 349.2 223C355.3999999999999 208.3 358.5999999999999 192.4 358.5 176.5C358.5 115.5 308.8999999999999 66 247.9 66.1C239.6 66.1 231.4 67 223.4 68.9C213.9 70.7000000000001 204.7 73.8 196 78.2000000000001C183.0999999999999 86.0000000000001 172 96.3000000000001 163.1999999999999 108.5000000000001L163 108.8000000000001L165 108.1000000000001C169.5999999999999 106.5000000000001 174.1999999999999 105.3000000000001 179 104.4000000000001C197.6999999999999 100.4000000000001 217.3 102.7000000000001 234.6 111.0000000000001C252.1 120.7000000000001 262.5999999999999 127.9000000000001 271.2 125.0000000000001H271.3999999999999C279.7999999999999 122.3000000000001 286.3999999999999 130.5000000000001 280.3999999999999 139.0000000000001C270 152.4000000000001 252.9999999999999 159.0000000000001 236.2 156.0000000000001C218.6999999999999 153.5000000000001 202.6999999999999 141.0000000000001 179.7999999999999 153.1000000000001C178.2999999999999 153.9000000000002 176.8999999999999 154.7000000000002 175.4999999999999 155.6000000000001C173.8999999999999 156.5000000000001 180.3999999999999 154.3000000000001 178.8999999999999 155.3000000000001C173.8999999999999 157.8000000000001 169.0999999999999 160.7000000000001 164.4999999999999 163.9000000000002C164.1999999999999 164.2000000000002 167.9999999999999 162.8000000000001 167.5999999999999 163.1000000000001C161.6999999999999 167.1000000000001 156.5999999999999 172.3000000000001 152.5999999999999 178.3000000000001C148.4999999999999 185.7000000000001 148.0999999999999 194.7000000000001 151.5999999999999 202.4000000000001C153.6999999999999 206.2000000000001 156.9999999999999 209.3000000000001 160.8999999999999 211.1000000000001C163.8999999999999 209.6000000000001 165.6999999999999 208.5000000000001 165.6999999999999 208.5000000000001S164.3999999999999 211.0000000000001 163.5999999999999 212.3000000000001C163.9 212.4000000000001 164.0999999999999 212.3000000000001 164.4 212.5000000000001C167 211.4000000000001 172.7 208.5000000000001 175.8 206.7000000000001C177.9 205.6000000000001 179.6 204.0000000000001 181 202.0000000000001C181 202.0000000000001 182 202.5000000000001 181.3 204.7000000000001C180.2 207.4000000000001 178.4 209.7000000000001 175.9 211.3000000000001H176.0999999999999C178.4 210.1000000000001 180.5999999999999 208.7000000000001 182.6999999999999 207.2000000000001C184.5999999999999 211.6000000000001 185.5 216.4000000000001 185.2999999999999 221.2000000000001C185.4999999999999 223.8000000000001 185.0999999999999 226.5000000000001 184.1999999999999 229.0000000000001C183.3999999999999 230.6000000000001 184.6999999999999 231.2000000000001 186.0999999999999 229.5000000000001C185.9 230.8000000000002 185.4 232.0000000000001 184.9 233.2000000000001V233.3000000000001S185.7 234.4000000000001 186.0999999999999 234.8000000000001C187.0999999999999 235.8000000000001 188.1999999999999 236.7000000000001 189.5 237.5000000000001C196.6999999999999 242.0000000000001 204.3 245.9000000000001 212.1999999999999 249.1000000000001C218.5999999999999 251.9000000000001 223.8999999999999 254.0000000000001 225 254.7000000000001C226.6 255.7000000000001 228.1 256.9000000000001 229.5 258.2000000000001C234.8 262.7000000000001 238.5 269.0000000000001 239.7 275.9000000000001C239.8 276.8000000000001 239.8999999999999 277.7000000000001 240 278.7000000000001V280.2000000000001C239.1 283.7000000000001 233.1 286.3000000000001 201.5999999999999 289.3000000000001C190.5 291.1000000000001 181.5999999999999 299.4000000000001 179.0999999999999 310.4000000000001V310.3000000000001C178.6999999999999 309.2000000000001 178.1999999999999 308.0000000000001 177.7999999999999 306.8000000000001C178.1999999999999 308.0000000000001 178.5999999999999 309.1000000000001 179.0999999999999 310.3000000000001V310.5000000000001C185.0999999999999 326.2000000000001 195.9 339.6 209.9 348.8000000000001C210.7 349.5000000000001 206.7 348.6 207.5 349.3000000000001C210.1999999999999 350.6 212.9 351.8000000000001 215.6999999999999 352.8000000000001C217.0999999999999 353.4000000000001 209.6999999999999 356.2000000000001 203.0999999999999 355.5000000000001C199.0999999999999 355.3000000000001 195.0999999999999 354.3000000000001 191.4 352.7000000000001C193 354.0000000000001 197.5999999999999 355.8000000000001 196.5 355.8000000000001C188.0999999999999 354.2000000000001 180 351.1 172.5999999999999 346.8000000000001C172.5999999999999 347.6 172.6999999999999 348.3000000000001 173.0999999999999 349.0000000000001C167.1999999999999 346.5000000000001 162.0999999999999 342.5000000000001 158.0999999999999 337.5000000000001C158.1999999999999 338.4000000000001 158.2999999999999 339.3000000000001 158.2999999999999 340.2000000000001C155.5999999999999 338.2000000000001 153.0999999999999 335.9000000000001 150.9999999999999 333.3000000000001L150.8999999999999 333.2000000000001C133.4999999999999 339.9000000000001 114.5999999999999 341.5000000000001 96.2999999999999 337.9000000000001L96.0999999999999 338.0000000000001H96.2999999999999C92.4999999999999 341.1 89.1999999999999 344.7000000000001 86.5999999999999 348.9000000000001L86.3999999999999 348.8000000000001L85.9999999999999 349.0000000000001C84.7999999999999 350.8000000000001 83.5999999999999 352.8000000000001 82.2999999999999 355.0000000000001C81.3999999999999 356.6000000000001 80.4999999999999 358.4000000000001 79.5999999999999 360.2000000000001C79.5999999999999 360.3000000000001 79.4999999999999 360.4000000000001 79.3999999999999 360.4000000000001C78.9999999999999 360.4000000000001 78.7999999999999 358.7000000000001 78.4999999999999 359.1000000000001V359.2000000000001C75.2999999999999 367.5000000000001 73.7999999999999 376.4000000000001 74.0999999999999 385.4000000000001L73.8999999999999 385.3000000000001C68.7999999999999 381.8000000000001 64.8999999999999 376.7000000000001 62.7999999999999 370.8000000000001C61.8999999999999 368.7000000000001 61.1999999999999 367.5000000000001 60.5999999999999 366.3000000000001V366.8000000000001C60.6999999999999 367.9000000000001 61.1999999999999 370.1000000000001 61.0999999999999 369.9000000000001C60.9999999999999 369.7000000000001 60.8999999999999 369.6000000000001 60.7999999999999 369.5000000000001C59.2999999999999 367.8000000000001 57.8999999999999 365.8000000000001 56.8999999999999 363.7000000000001C55.9999999999999 361.8000000000001 55.1999999999999 359.8000000000001 54.5999999999999 357.8000000000001C54.4999999999999 357.5000000000001 54.5999999999999 358.1 54.5999999999999 358.8000000000001S54.6999999999999 360.8000000000001 54.5999999999999 360.5000000000001L54.2999999999999 359.8000000000001C47.5999999999999 344.9000000000001 43.3999999999999 329.0000000000001 41.8999999999999 312.7000000000001C41.4999999999999 309.9000000000001 41.2999999999999 307.1 41.3999999999999 304.4000000000001V304.2000000000001C36.5999999999999 299.0000000000001 32.3999999999999 293.2000000000001 28.6999999999999 287.1C16.5999999999999 266.7000000000001 7.5999999999999 244.6000000000001 1.8999999999999 221.5000000000001C5.8999999999999 230.3000000000001 10.6999999999999 238.7000000000001 16.1999999999999 246.6000000000001C5.5 219.5 0 190.6 0 161.4C1.8 170 4.2 178.4 7 186.7C5.3 152.2 11.9 117.8 26.4 86.4C45.8 42.9 78 6.4 118.7 -18.3C135.3 -29.5 153.4 -38.2 172.5 -44.1C175 -45 177.6 -45.9 180.2 -46.8C179.4 -46.5 178.6 -46.1 177.8 -45.8C200.4 -52.6 224 -56.1 247.6 -56.1C331.3 -56.1 358.9 -24.2 361.4 -21.1C365.5 -17.4 368.9 -12.9 371.3 -7.8C372.9 -7.1 374.5 -6.4 376.2 -5.7L377.2 -5.2L379.0999999999999 -4.3C391.7 1.6 403.5999999999999 9.1 414.3999999999999 17.8C430.7 29.5 442.2999999999999 46.5 447.2999999999999 65.9C450.2999999999999 73.0000000000001 450.3999999999999 80.9 447.6999999999999 88.1C448.5999999999999 89.5 449.3999999999999 90.9 450.3999999999999 92.4C468.3999999999999 121.3 478.5999999999999 154.3 479.9999999999999 188.3000000000001V191.1000000000001C479.9999999999999 198.4000000000001 479.3999999999999 205.6000000000001 478.0999999999999 212.7000000000001z" glyph-name="firefox" horiz-adv-x="480" unicode=""/><glyph d="M248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM248 -48.21C115.34 -48.21 7.79 59.34 7.79 192S115.34 432.21 248 432.21S488.21 324.66 488.21 192S380.6600000000001 -48.21 248 -48.21zM248 411.7100000000001C126.66 411.71 28.29 313.3400000000001 28.29 192S126.66 -27.71 248 -27.71S467.71 70.66 467.71 192S369.34 411.71 248 411.71zM248 -19.51C131.19 -19.51 36.49 75.18 36.49 192S131.19 403.51 248 403.51S459.51 308.81 459.51 192S364.81 -19.51 248 -19.51zM434.23 143.47A191.613 191.613 0 0 0 414.1 94.78L339.9700000000001 130.66L401.4500000000001 75.84A193.515 193.515 0 0 0 364.2500000000001 38.55L309.4500000000001 100.12L345.3300000000001 25.85A190.94399999999996 190.94399999999996 0 0 0 296.7000000000001 5.62L269.4100000000001 84.09L274.2000000000001 1.16C265.5900000000001 -0.02 256.8000000000001 -0.64 247.8700000000001 -0.64S230.1500000000001 -0.02 221.5400000000001 1.16L226.3000000000001 83.62L199.1500000000001 5.59A191.365 191.365 0 0 0 150.5000000000001 25.79L186.4300000000001 100.13L131.5600000000001 38.49A193.85 193.85 0 0 0 94.3400000000001 75.77L155.9300000000001 130.67L81.6700000000001 94.74A191.638 191.638 0 0 0 61.5300000000001 143.43L139.3700000000001 170.54L57.1400000000001 165.78C55.9800000000001 174.35 55.3600000000001 183.1 55.3600000000001 191.99C55.3600000000001 200.99 55.9900000000001 209.83 57.1800000000001 218.5L139.5600000000001 213.7299999999999L61.6200000000001 240.89A191.726 191.726 0 0 0 81.8500000000001 289.56L156.0700000000001 253.64L94.55 308.5A193.85 193.85 0 0 0 131.8300000000001 345.7199999999999L186.59 284.19L150.7600000000001 358.36A191.48999999999998 191.48999999999998 0 0 0 199.4100000000001 378.49L226.2800000000001 301.24L221.5700000000001 382.85C230.1800000000001 384.03 238.9600000000001 384.65 247.8900000000001 384.65S265.6 384.03 274.2100000000001 382.85L269.4700000000001 300.69L296.5200000000001 378.45C313.79 373.95 330.1200000000001 367.1 345.1500000000001 358.28L309.3300000000001 284.16L364.0500000000001 345.63A193.12999999999997 193.12999999999997 0 0 0 401.2900000000001 308.4L339.8400000000001 253.63L413.9600000000001 289.49A191.51499999999996 191.51499999999996 0 0 0 434.1600000000001 240.84L356.3500000000001 213.74L438.5900000000001 218.49C439.7800000000001 209.83 440.4100000000001 200.99 440.4100000000001 192C440.4100000000001 183.12 439.8000000000001 174.37 438.6300000000001 165.81L356.5100000000001 170.56L434.2300000000002 143.47z" glyph-name="first-order-alt" horiz-adv-x="496" unicode=""/><glyph d="M12.9 218.8C13 218.9 13.1 219.1 13.2 219.2C13.2 219.1 13.2 218.9 13.1 218.8H12.9zM224 351.4C216.9 351.4 209.4 350.8 202.6 349.7L206.3 282.3L184.3 346.3C170 342.6 156.6 336.9 144.3 329.7000000000001L173.7 268.3L128.6 319.2000000000001C117.2 310.3 106.9 300.1 98 288.3L148.6 242.9L87.5 272.6C80.4 260.3 74.6 246.9 70.9 232.6L135.2 210L67.2 214C66.3 206.9 65.8 199.4 65.8 192S66.4 177.4 67.2 170.3L134.9 174.3L70.9 151.7C74.6 137.4 80.3 124 87.5 111.4L148.6 141.1L97.7 96C106.6 84.3 116.8 73.7 128.6 65.1L173.5 116L144 54.6C156.3 47.2 169.7 41.5 184 37.7L206.3 102.3000000000001L202.3 34.3000000000001C209.4 33.2 216.9 32.6000000000001 224 32.6000000000001C231.4 32.6000000000001 238.6 33.2000000000001 245.7 34.3000000000001L241.7 102.9000000000001L264.3 37.8000000000001C278.6 41.8000000000001 292 47.2 304.3 54.7L274.9 116L319.8 65.1C331.5 74 341.8 84.2000000000001 350.4 96L299.8 141.1L360.9 111.7000000000001C368 124.0000000000001 373.8 137.4 377.5 152.0000000000001L313.5 174.3000000000001L380.9 170.3000000000001C382 177.4000000000001 382.3 184.6000000000001 382.3 192.0000000000001S382 206.9000000000001 380.9 214.0000000000001L313.2 210.0000000000001L377.2 232.3000000000001C373.5 246.6000000000001 368.1 260.3000000000001 360.6 272.6000000000001L299.7 242.9000000000001L350.3 288.3000000000001C341.4000000000001 300.0000000000001 331.2 310.3000000000001 319.7 319.2000000000001L274.6 268.3000000000001L304 329.4000000000001C291.7 336.8000000000001 278.3 342.5000000000001 264 346.3000000000001L241.7 282L245.7 349.7C238.6 350.9 231.4 351.4 224 351.4zM443.4 320V64L224 -64L4.6 64V320L224 448L443.4 320zM426.3 309.7L224 427.1L21.7 309.7V74.6L224 -43.1L426.3 74.6V309.7zM224 410.9L411.7 301.5V82.6L224 -26.9L36.3 82.6V301.4L224 410.9zM224 360C131.7 360 57.1 284.9 57.1 192C57.1 99.4 131.7 24.3 224 24.3C316 24.3 390.9 99.4 390.9 192C390.9 284.9 316 360 224 360z" glyph-name="first-order" horiz-adv-x="448" unicode=""/><glyph d="M384 256H320V128H192V0H0V25.6H166.4V153.6H294.4V281.6H384V256zM358.4 217.6V89.6H230.4V-38.4H64V-64H256V64H384V217.6H358.4zM384 25.6H294.4V-64H320V0H384V25.6zM0 448V64H128V192H256V320H384V448H0z" glyph-name="firstdraft" horiz-adv-x="384" unicode=""/><glyph d="M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM144.5 129C109.4 129 81 157.4 81 192.5S109.4 256 144.5 256S208 227.6 208 192.5S179.6 129 144.5 129zM303.5 129C268.4 129 240 157.4 240 192.5S268.4 256 303.5 256S367 227.6 367 192.5S338.6 129 303.5 129z" glyph-name="flickr" horiz-adv-x="448" unicode=""/><glyph d="M0 416V-32H448V416H0zM358.4 236.8H268.8V147.2000000000001H179.2V57.6H89.6V326.4H358.4V236.8z" glyph-name="flipboard" horiz-adv-x="448" unicode=""/><glyph d="M197.8 20.2C210.7 8.5 231.5 -13.1 231 -30.5C231 -31.3 230.9 -32.1 230.9 -33C229.1 -52.8 212.1 -64.1 191.8 -64C166.8 -63.9 151.9 -47.2 153.1 -28.2C154.1 -12 173.6 8.5 185.5 19.4C187.8000000000001 21.5000000000001 188.2 22.1 191.1 23.0000000000001C194.5 23.0000000000001 195 22.7 197.8 20.2zM331.9 380.7C315.6 406.4 293.3 421.3 268.6 432.8C243.1 443.5 214 448.2 192 448C147.9 448 120.8 434.8 110.9 430.7C57.3 402.8 26.5 360.8 28 289.4C35.1 207.2 125 113.4 183.8 55.6C185.5 54 188.3 51.1 190 50.5L193.3 50.4C195.4 51.1 195.1 50.9 196.8 52.5C249.1 101.7 337.5 198.3 352.7000000000001 268.2C359.7000000000001 307.4 355.8000000000001 340.7 331.9000000000001 380.7zM186.8 96.1C158.8 147.2000000000001 121.6 226.8 117.5 285.1C114.1 332.6 128.9 416.3 186.8 421.8V96.1zM328.7 268C312.3 211.2 251.4 140 209.8 97.7C237.6 149.6 275 231 277 289.6C278.6 335.5 267.2 395.4 229 421C317.8 402.7 344.5 322.9 328.7 268z" glyph-name="fly" horiz-adv-x="384" unicode=""/><glyph d="M397.8 380.2C405.6 380.2 412.1 373.6 412.1 365.9V18.3C412.1 10.4999999999999 405.5 3.9999999999999 397.8 3.9999999999999H50.2C42.4 3.9999999999999 35.9 10.6 35.9 18.3V365.8C35.9 373.6 42.5 380.1 50.2 380.1H397.8M397.8 416H50.2C22.7 416 0 393.3 0 365.8V18.2C0 -9.3 22.7 -32 50.2 -32H397.8C425.3 -32 448 -9.3 448 18.2V365.8C448 393.3 425.3 416 397.8 416zM339.3 276.8C333.3 276.8 309.4000000000001 261.3 286.7 261.3C282.5 261.3 278.3 261.9 274.2 263.7000000000001C254.5 271.5 237.2 277.4 215.1 277.4C194.8 277.4 173.3 270.8 155.4 263.7000000000001C153.6 263.1 151.8 262.5 150.6 261.9V279.8C158.4 285.8 163.1 294.7000000000001 163.1 305.5C163.1 323.4 148.8 337.8 130.8 337.8S98.5 323.5 98.5 305.5C98.5 295.3 103.3 285.8 111 279.8V67.7000000000001C111 56.9 120 48.0000000000001 130.7 48.0000000000001C139.7 48.0000000000001 146.8 54.0000000000001 149.2 61.7000000000001V63C149.8 64.8 149.8 66 149.8 67.8V112C151 112 152.2 112.6 152.8 113.2C172.5 121.6 195.8 129.9 218.5 129.9C249.6 129.9 261.5 113.8 287.8 113.8C306.3 113.8 324.2 120.4 339.8 127.5C344 129.3 347 131.1 347 135.3V269.7C348.8 273.8 344.7 276.8 339.3 276.8z" glyph-name="font-awesome-alt" horiz-adv-x="448" unicode=""/><glyph d="M444.373 88.576C444.373 81.408 438.229 78.336 431.061 75.264C402.389 62.976 371.669 51.712 338.901 51.712C292.821 51.712 271.317 80.384 216.021 80.384C176.085 80.384 134.101 66.048 100.309 50.688C98.261 49.664 96.213 49.664 94.165 48.64V-29.184C94.165 -50.5890000000001 78.043 -64 60.373 -64C40.9169999999999 -64 25.5569999999999 -48.64 25.5569999999999 -29.184V345.6C12.245 355.8400000000001 3.029 372.224 3.029 390.656C3.029 422.4 28.629 448 60.373 448S117.717 422.4 117.717 390.656C117.717 372.224 109.525 355.8400000000001 95.189 345.6V313.856C99.313 315.23 153.957 342.528 209.877 342.528C275.147 342.528 307.553 314.88 336.853 314.88C375.765 314.88 418.773 342.528 429.0130000000001 342.528C437.2050000000001 342.528 444.3730000000001 336.384 444.3730000000001 329.216V88.576z" glyph-name="font-awesome-flag" horiz-adv-x="448" unicode=""/><glyph d="M397.8 416H50.2C22.7 416 0 393.3 0 365.8V18.2C0 -9.3 22.7 -32 50.2 -32H397.8C425.3 -32 448 -9.3 448 18.2V365.8C448 393.3 425.3 416 397.8 416zM352.4000000000001 131.7C352.4000000000001 127.5 348.8 125.7 344.6 123.9C327.9000000000001 116.7 310 110.2 290.8 110.2C263.9000000000001 110.2 251.4 126.9 219.1 126.9C195.8 126.9 171.3 118.5 151.6 109.6C150.4 108.9999999999999 149.2 108.9999999999999 148 108.4V63C148 61.2 148 59.4 147.4 58.2V57C145 48.6 137.2000000000001 42.7 128.3000000000001 42.7C117.0000000000001 42.7 108 51.7 108 63V281.6C100.2000000000001 287.6 94.9000000000001 297.1 94.9000000000001 307.9C94.9000000000001 326.4 109.8000000000001 341.4 128.4 341.4C146.9 341.4 161.9 326.5 161.9 307.9C161.9 297.1 157.1 287.6 148.8000000000001 281.6V263.1C150.6000000000001 263.7 152.4 264.3 154.2000000000001 265.5C172.7000000000001 273.3 194.8000000000001 279.8 215.7000000000001 279.8C238.4000000000001 279.8 256.3000000000001 273.8 276.6 266.1C280.8 264.3 285 263.7000000000001 289.7000000000001 263.7000000000001C312.4000000000001 263.7000000000001 337.5000000000001 279.8 343.5000000000001 279.8C348.3000000000001 279.8 352.5000000000001 276.2000000000001 352.5000000000001 272V131.7z" glyph-name="font-awesome" horiz-adv-x="448" unicode=""/><glyph d="M114.4 224H206.8L191.6 172.8H115.2V15C115.2 7 112.4 5.8 119.6 5L179.2 -0.6V-35H0V0.2L29.2 3C36.4 3.8 38.4 6.2 38.4 13.8V169.6C38.4 172.8 34.4 172.8 30.4 172.8H0V224H38.4V252.8C38.4 320.8 74.8 348.8 144.4 348.8C191.2 348.8 233.2 337.6 233.2 276.4L163.6 268C164 293.6 157.6 299.6 141.2 299.6C116 299.6 115.2 286 115.2 262V230C115.2 226.8 110.4 224 114.4 224zM384 -35H243.2V-0.6L271.2 3C278.4 3.8 281.6 5.4 281.6 13V161C281.6 166.6 277.6 170.2 272.4 171.8L239.2 180.6L248.4 221H358.4V13C358.4 5 354.8 4.2 362.4 3L384 -0.6V-35zM354 312.2L366.4 266.6L356.4 256.6L313.6 279.4L270.8 256.6L260.8 266.6L273.2 312.2L243.2 348.6L248 358.6H286L307.2 397H320L341.2 358.6H379.2L384 345.4L354 312.2z" glyph-name="fonticons-fi" horiz-adv-x="384" unicode=""/><glyph d="M0 416V-32H448V416H0zM167.4 220H234.8L223.7 182.7H168V69.8C168 63.9999999999999 166 63.1 171.2 62.4999999999999L214.7 58.3999999999999V33.2999999999999H84V59L105.3 61C110.5 61.6 112 63.3 112 68.9V180.3C112 182.6 109.1 182.6 106.2 182.6H84V220H112V241C112 290.6 138.5 311 189.3 311C223.4 311 254 302.8 254 258.2L203.3 252.1C203.6 270.8 198.9 275.1 187 275.1C168.6 275.1 168 265.2 168 247.7V224.4C168 222 164.5 220 167.4 220zM364 33.3H261.3V58.4L281.7 61.0000000000001C286.9 61.6000000000001 289.3 62.7000000000001 289.3 68.3000000000001V176.2C289.3 180.3 286.4000000000001 182.9 282.6 184.1L258.4000000000001 190.5L265.1 220H345.3V68.3C345.3 62.4999999999999 342.7 61.9 348.2 60.9999999999999L363.9 58.3999999999999V33.2999999999999zM342.1 288.8L351.1 255.6L343.8 248.3L312.6 264.9L281.4000000000001 248.3L274.1 255.6L283.1 288.8L261.3 313L264.8 322.6H292.5L308 350.6H317.3L332.8 322.6H360.5L364 313L342.1 288.8z" glyph-name="fonticons" horiz-adv-x="448" unicode=""/><glyph d="M211.7 206.9V155.2C211.7 153.1 210.1 151.5 208 151.5H185.8C183.7 151.5 182.1 153.1 182.1 155.2V206.9C182.1 209 183.7 210.6 185.8 210.6H208C210.1 210.6 211.7 209 211.7 206.9zM326.2 210.6H304C301.9 210.6 300.3 209 300.3 206.9V155.2C300.3 153.1 301.9000000000001 151.5 304 151.5H326.2C328.3 151.5 329.9 153.1 329.9 155.2V206.9C329.8 209 328.2 210.6 326.2 210.6zM297.1 -52.6C296.2 -52.7 295.4 -52.9 294.5 -53C293.5 -53.2 292.3999999999999 -53.3 291.3999999999999 -53.5C290.5 -53.6 289.5999999999999 -53.8 288.5999999999999 -53.9C287.5999999999999 -54 286.5999999999999 -54.2 285.5999999999999 -54.3C284.5999999999999 -54.4 283.5999999999999 -54.4999999999999 282.7 -54.6C281.7 -54.7 280.8 -54.8 279.8 -54.9C278.8 -55 277.7 -55.1 276.7 -55.2C275.8 -55.3 274.8999999999999 -55.4 274 -55.4C272.8999999999999 -55.5 271.7 -55.5 270.6 -55.6C269.8 -55.6 268.9 -55.7 268.1 -55.7C266.8 -55.8 265.5 -55.8 264.2 -55.8C263.5 -55.8 262.8 -55.9 262.1 -55.9C260.1 -55.9 258.1 -56.0000000000001 256.1 -56.0000000000001S252.1 -56.0000000000001 250.1 -55.9C249.4 -55.9 248.7 -55.9 248 -55.8C246.7 -55.8 245.4 -55.7 244.1 -55.7C243.3 -55.7 242.4 -55.6 241.6 -55.6C240.5 -55.4999999999999 239.3 -55.4999999999999 238.2 -55.4C237.3 -55.3 236.4 -55.3 235.5 -55.2C234.5 -55.1 233.4 -55 232.4 -54.9C231.4 -54.8 230.5 -54.7 229.5 -54.6C228.5 -54.4999999999999 227.5 -54.4 226.6 -54.3C225.6 -54.1999999999999 224.6 -54.1 223.6 -53.9C222.7 -53.8 221.8 -53.6 220.8 -53.5C219.8 -53.4 218.7 -53.2 217.7 -53C216.8 -52.9 216 -52.7 215.1 -52.6C149.5 -41.7 92.6 -4.9 55.1 46.8C54.9 46.9999999999999 54.8 47.3 54.6 47.4999999999999C53.8 48.6 53 49.6999999999999 52.3 50.8C52 51.1999999999999 51.7 51.6 51.5 51.9999999999999C50.8 53.1 50.1 54.1 49.4 55.1999999999999C49.1 55.6999999999999 48.8 56.0999999999999 48.5 56.5999999999999C47.8 57.6999999999999 47.1 58.6999999999999 46.5 59.7999999999999C46.2 60.2999999999999 45.9 60.6999999999999 45.6 61.1999999999999C44.9 62.2999999999999 44.3 63.3999999999999 43.6 64.4999999999999C43.4 64.8999999999999 43.1 65.2999999999999 42.9 65.6999999999999C40.5 69.6999999999999 38.3 73.7999999999999 36.1 77.8999999999999C36 78.0999999999999 35.9 78.1999999999999 35.8 78.3999999999999C35.2 79.4999999999999 34.7 80.5999999999999 34.1 81.6999999999999C33.8 82.2999999999999 33.5 82.7999999999999 33.3 83.3999999999999C32.8 84.3999999999999 32.3 85.4999999999999 31.8 86.4999999999999C31.5 87.1999999999999 31.2 87.7999999999999 30.9 88.4999999999999C30.4 89.4999999999999 30 90.4999999999999 29.5 91.4999999999999L28.6 93.5999999999999C28.2 94.5999999999999 27.7 95.5999999999999 27.3 96.5999999999999C27 97.2999999999999 26.7 98.0999999999999 26.4 98.7999999999999L25.2 101.7999999999999C24.9 102.5999999999999 24.6 103.2999999999999 24.3 104.0999999999999C23.9 105.0999999999999 23.5 106.0999999999999 23.2 107.0999999999999C22.9 107.9999999999999 22.6 108.8999999999999 22.2 109.8999999999999C21.6 111.4999999999999 21.1 113.1999999999999 20.5 114.7999999999999C20.2 115.6999999999999 19.9 116.5999999999999 19.6 117.5999999999999C19.3 118.4999999999999 19.1 119.3999999999999 18.8 120.2999999999999C18.5 121.1999999999999 18.2 122.1999999999999 18 123.0999999999999C17.7 123.9999999999999 17.5 124.8999999999999 17.2 125.7999999999999C16.9 126.7999999999999 16.7 127.6999999999999 16.4 128.6999999999999C16.2 129.5999999999999 15.9 130.4999999999999 15.7 131.3999999999999C15.4 132.3999999999999 15.2 133.3999999999999 15 134.3999999999999C14.8 135.2999999999999 14.6 136.0999999999999 14.4 136.9999999999999C14.2 138.0999999999999 13.9 139.1999999999999 13.7 140.1999999999999C13.5 140.9999999999999 13.4 141.7999999999999 13.2 142.5999999999999C12.9 143.8999999999999 12.7 145.2999999999999 12.4 146.5999999999999C12.3 147.1999999999999 12.2 147.6999999999999 12.1 148.2999999999999L11.2 153.9999999999998C11.1 154.5999999999999 11 155.2999999999999 10.9 155.8999999999998C10.7 157.1999999999998 10.5 158.4999999999998 10.4 159.7999999999998C10.3 160.5999999999998 10.2 161.2999999999998 10.1 162.0999999999998C10 163.2999999999998 9.8 164.4999999999998 9.7 165.6999999999998C9.6 166.4999999999998 9.5 167.2999999999999 9.5 168.0999999999998C9.4 169.2999999999998 9.3 170.4999999999998 9.2 171.5999999999998C9.1 172.3999999999998 9.1 173.1999999999998 9 173.9999999999998C8.9 175.1999999999998 8.8 176.3999999999998 8.8 177.6999999999998C8.8 178.4999999999998 8.7 179.1999999999998 8.7 179.9999999999998C8.6 181.2999999999998 8.6 182.6999999999998 8.5 183.9999999999998C8.5 184.6999999999998 8.5 185.2999999999998 8.4 185.9999999999998C8.4 187.9999999999998 8.3 189.9999999999998 8.3 191.9999999999998C8.3 245.4999999999998 25.2 294.9999999999998 54.1 335.5999999999998C56.4 338.7999999999998 58.8 341.9999999999998 61.2 345.0999999999998C66.1 351.2999999999998 71.3 357.3999999999998 76.8 363.0999999999998C79.5 365.9999999999998 82.3 368.7999999999998 85.2 371.4999999999998C88.1 374.1999999999998 91 376.8999999999998 94 379.4999999999998C98.5 383.3999999999998 103.1 387.0999999999998 107.9 390.6999999999998C109.5 391.8999999999998 111.1 393.0999999999998 112.7 394.1999999999998C140 413.8 171.7 427.9 206 435C222.1 438.3 238.9 440 256 440S289.8 438.3 306 435C340.3 428 372 413.9 399.6 394.3C401.2000000000001 393.1 402.8 392 404.4000000000001 390.8C409.2000000000001 387.2 413.8 383.5 418.3 379.6C430.3 369.2 441.3 357.7 451.1 345.2C453.6 342.1 455.9 338.9 458.2 335.7C487.1 295 504 245.5 504 192C504 190 504 188 503.9 186C503.9 185.3 503.9 184.7 503.8 184C503.8 182.7 503.6999999999999 181.3 503.6 180C503.6 179.2 503.4999999999999 178.5 503.4999999999999 177.7C503.3999999999999 176.5 503.3999999999999 175.3 503.3 177C503.1999999999999 176.2 503.1999999999999 175.4 503.1 174.6C502.9999999999999 173.4 502.9 172.2000000000001 502.8 171.1C502.6999999999999 170.3 502.6 169.5 502.6 168.7000000000001C502.4999999999999 167.5000000000001 502.3 166.3000000000001 502.2 165.1C502.1 164.3 502 163.6 501.9 162.8C501.7 161.5 501.5 160.2 501.4 158.9C501.3 158.3 501.2 157.6 501.1 157.0000000000001L500.2 151.3000000000001C500.1 150.7000000000001 500 150.2000000000001 499.9 149.6000000000001C499.7 148.3000000000001 499.4 146.9000000000001 499.1 145.6000000000001C498.9 144.8000000000001 498.8 144.0000000000001 498.6 143.2000000000001C498.4 142.1000000000001 498.1 141.0000000000001 497.9 140.0000000000001C497.7 139.1000000000001 497.5 138.3000000000001 497.3 137.4000000000001C497.1 136.4000000000001 496.8 135.4000000000001 496.6 134.4000000000001C496.4 133.5000000000001 496.1 132.6000000000001 495.9 131.7000000000001C495.6 130.7000000000001 495.4 129.8000000000001 495.1 128.8000000000001C494.9 127.9000000000002 494.6 127.0000000000001 494.3 126.1000000000001C493.9999999999999 125.2000000000002 493.6999999999999 124.2000000000002 493.4999999999999 123.3000000000001C493.1999999999999 122.4000000000002 492.9999999999999 121.5000000000001 492.6999999999999 120.6000000000001C492.3999999999999 119.7000000000002 492.0999999999999 118.8000000000001 491.8 117.8000000000001C491.3 116.2000000000001 490.6999999999999 114.5000000000001 490.1 112.9000000000002C489.8 112.0000000000002 489.4999999999999 111.1000000000001 489.1 110.1000000000001C488.7 109.1000000000001 488.4 108.1000000000001 487.9999999999999 107.1000000000001C487.6999999999999 106.3000000000001 487.3999999999999 105.6000000000001 487.1 104.8000000000001L485.9 101.8000000000001C485.6 101.1000000000001 485.3 100.3000000000001 485 99.6000000000001C484.6 98.6000000000001 484.2 97.6000000000001 483.7 96.6000000000001L482.8 94.5000000000001C482.4 93.5000000000001 481.9 92.5000000000001 481.4 91.5000000000001C481.1 90.8000000000001 480.8 90.2000000000001 480.5000000000001 89.5000000000001C480.0000000000001 88.5000000000001 479.5000000000001 87.4000000000001 479.0000000000001 86.4000000000001C478.7 85.8000000000001 478.4 85.3000000000001 478.2 84.7000000000001C477.6 83.6000000000001 477.1 82.5000000000001 476.5000000000001 81.4000000000001C476.4 81.2000000000001 476.3000000000001 81.1000000000001 476.2 80.9000000000001C474.0000000000001 76.8000000000001 471.8000000000001 72.7000000000001 469.4 68.7000000000001C469.2 68.3000000000001 468.9 67.9000000000001 468.7 67.5000000000001C468.0000000000001 66.4000000000001 467.4 65.3000000000001 466.7 64.2000000000001C466.4 63.7000000000001 466.1 63.3000000000001 465.8000000000001 62.8000000000001C465.1000000000001 61.7000000000001 464.4000000000001 60.7000000000001 463.8000000000001 59.6000000000001C463.5000000000001 59.1000000000001 463.2 58.7000000000002 462.9000000000001 58.2000000000002C462.2000000000001 57.1000000000001 461.5000000000001 56.1000000000001 460.8000000000001 55.0000000000002C460.5000000000001 54.6000000000002 460.2 54.2000000000002 460.0000000000001 53.8000000000002C459.2 52.7000000000002 458.5000000000001 51.6000000000002 457.7 50.5000000000002C457.5000000000001 50.3000000000002 457.4 50.0000000000002 457.2 49.8000000000002C419.6 -4.8999999999998 362.7000000000001 -41.5999999999998 297.1 -52.5999999999998zM414.4 33.6C427.4 46.6 438.6 60.9999999999999 448 76.4999999999999V147.8C448 149.9 446.4 151.5 444.3 151.5H422.1C420 151.5 418.4000000000001 149.8999999999999 418.4000000000001 147.8V122H388.9000000000001V266C388.9000000000001 268.1 387.3 269.7 385.2000000000001 269.7H363.1C361 269.7 359.4000000000001 268.1 359.4000000000001 266V240.1H329.9000000000001V266C329.9000000000001 268.1 328.3 269.7 326.2000000000001 269.7H304C301.9 269.7 300.3 268.1 300.3 266V240.1H270.8V266C270.8 270.8 264.3 269.7 261.3 269.7V300.4C268 302 275.1 303.2 282.1 303.2C290.9000000000001 303.2 298.9000000000001 299.7 307.5 299.7C311.2 299.7 329.9 300.6 329.9 306.2V354.6C329.9 356.7 328.3 358.3 326.2 358.3C322 358.3 314 354.8 306.8 354.8C298.9000000000001 354.8 289.9000000000001 358.3 280.5 358.3C274 358.3 267.6 357.4 261.3 356V359.9C265.7 362 268.7 366.6 268.7 371.4C268.7 388.2 243.3 388.2 243.3 371.4C243.3 366.6 246.3 361.9 250.7 359.9V269.7C247.7 269.7 241.2 270.8 241.2 266V240.1H211.7V266C211.7 268.1 210.1 269.7 208 269.7H185.8C183.7 269.7 182.1 268.1 182.1 266V240.1H152.6V266C152.6 268.1 151 269.7 148.9 269.7H126.8000000000001C124.7000000000001 269.7 123.1 268.1 123.1 266V122H93.5V147.8C93.5 149.9 91.9 151.5 89.8 151.5H67.7C65.6 151.5 64 149.9 64 147.8V76.5C73.4 61 84.6 46.6 97.6 33.6C118.2 13 142.1 -3.1 168.8 -14.4C182.7 -20.3 197 -24.7 211.7 -27.6V48.2C211.7 106.8000000000001 300.3 106.8000000000001 300.3 48.2V-27.6C315 -24.7 329.3 -20.2 343.2 -14.4C369.9 -3.1 393.8 13 414.4 33.6" glyph-name="fort-awesome-alt" horiz-adv-x="512" unicode=""/><glyph d="M489.2 160.1H461.8C459.2 160.1 457.2 158.1 457.2 155.5V123.5H420.6V301.8C420.6 304.4 418.6 306.4 416 306.4H388.6C386 306.4 384 304.4 384 301.8V269.8H347.3999999999999V301.8C347.3999999999999 304.4 345.3999999999999 306.4 342.7999999999999 306.4H315.3999999999999C312.7999999999999 306.4 310.7999999999999 304.4 310.7999999999999 301.8V269.8H274.1999999999999V301.8C274.1999999999999 307.8 266.1999999999999 306.4 262.4999999999999 306.4V344.4C270.7999999999999 346.4 279.5999999999999 347.8 288.1999999999999 347.8C299.0999999999999 347.8 309.0999999999999 343.5 319.5999999999999 343.5C324.1999999999999 343.5 347.2999999999999 344.6 347.2999999999999 351.5V411.5C347.2999999999999 414.1 345.2999999999999 416.1 342.6999999999998 416.1C337.5999999999998 416.1 327.5999999999998 411.8 318.6999999999998 411.8C308.9999999999999 411.8 297.7999999999999 416.1 286.0999999999998 416.1C278.0999999999998 416.1 270.0999999999998 415 262.3999999999998 413.2000000000001V418.1C267.7999999999998 420.7000000000001 271.4999999999999 426.4000000000001 271.4999999999999 432.4000000000001C271.4999999999999 453.1 240.0999999999998 453.2 240.0999999999998 432.4000000000001C240.0999999999998 426.4000000000001 243.7999999999998 420.7000000000001 249.1999999999998 418.1V306.4C245.4999999999999 306.4 237.4999999999999 307.8 237.4999999999999 301.8V269.8H200.8999999999998V301.8C200.8999999999998 304.4 198.8999999999998 306.4 196.2999999999999 306.4H168.8999999999998C166.2999999999999 306.4 164.2999999999999 304.4 164.2999999999999 301.8V269.8H128V301.8C128 304.4 126 306.4 123.4 306.4H96C93.4 306.4 91.4 304.4 91.4 301.8V123.5H54.8V155.5C54.8 158.1 52.8 160.1 50.2 160.1H22.8C20.2 160.1 18.2 158.1 18.2 155.5V-64H201.1V32C201.1 104.6 310.8 104.6 310.8 32V-64H493.7V155.5C493.8000000000001 158.1 491.8000000000001 160.1 489.2 160.1zM201.1 164.6C201.1 162 199.1 160 196.5 160H169.1C166.5 160 164.5 162 164.5 164.6V228.6C164.5 231.2 166.5 233.2 169.1 233.2H196.5C199.1 233.2 201.1 231.2 201.1 228.6V164.6zM347.5 164.6C347.5 162 345.5 160 342.9 160H315.5C312.9 160 310.9 162 310.9 164.6V228.6C310.9 231.2 312.9 233.2 315.5 233.2H342.9C345.5 233.2 347.5 231.2 347.5 228.6V164.6z" glyph-name="fort-awesome" horiz-adv-x="512" unicode=""/><glyph d="M5.8 138.3C2 155.3 0 172.5 0 189.7C0 313 99.8 413 223.1 413C239.7 413 256.4 411 272.4 407.5C149 360.5 51.9 262 5.8 138.3zM398.7 327.5C385 345 369 360.2 350.9 372.8C201.3 328.5 84.6 210.7 41.2 60.8C53.7 42.7 69.2 25.2 86.4 11.8C129.5 163.1 247.6 283.5 398.7 327.5zM414.5 74.8C429.7 99.9 439.9 128.5 444 157.6C364.6 114.7000000000001 299 47 256.4 -32.7C286.4 -28.3 315.3 -17.4 341 -1.4C376 -14.5 411.9 -25.7 448 -35C438.7 1.5 427.6 39.5 414.5 74.8zM444.2 220.3C441.6 239.8 436.3 259 428.4 277.1C290.5 231.3 182 120.5 137.1 -18C155.2 -25.6 174.1 -30.5 193.7 -33.2C240 80.9 330.5 173.6 444.2 220.3z" glyph-name="forumbee" horiz-adv-x="448" unicode=""/><glyph d="M323.1 445H49.9C12.4 445 0 416.7 0 398.9V-34.9C0 -55.2 12.1 -62.6 18.2 -65C24.4 -67.5 41 -69.6 51.1 -57.9C180 91.5 182.2 94 182.2 94C185.3 97.4 185.6 97.1 189 97.1H272.4C307.5 97.1 313 122.3 316.7 136.8L365.3 379.8C373.8 422.2 363.1 445 323.1 445zM306.8 371.2L295.4000000000001 311.5C294.2000000000001 305 285.9000000000001 298.3 278.5000000000001 298.3H172.1C160.1 298.3 151.5 290 151.5 278V265C151.5 253 160.1 244.4 172.1 244.4H262.5C270.8 244.4 279.1 235.2 277.3 226.2C275.5 217.3 266.8 172.4 265.9000000000001 167.4C265.0000000000001 162.5000000000001 259.1 153.9 249.0000000000001 153.9H175.5C162 153.9 158.3000000000001 152.1 149 141.3C149 141.3 140.1 129.9 59.5 33C58.6 32.1 57.7 32.4 57.7 33.3V372.1C57.7 379.8 64.5 388.7 74.3 388.7H293.3000000000001C301.5000000000001 388.7 308.9000000000001 381 306.8000000000001 371.2z" glyph-name="foursquare" horiz-adv-x="368" unicode=""/><glyph d="M69.3 303.5C28.3 235 32.9 140.5 70.3 76.5C92.5 38.3 120 24.1 120 10C120 3.2 114 -3 107.2 -3C87.7 -3 8 72.5 8 194.8C8 306.3 86 380.8 105.1 380.8C111.1 380.8 120 376 120 369.7000000000001C120 357 91.7 341.1 69.3 303.5zM265.1 89.7C269.6 87.9 277.4000000000001 84.5 277.4000000000001 90.9C277.4000000000001 93.6 275.2000000000001 93.8 273.1 94.5C264.6 97.9 259.1 102.2 254.0000000000001 109.7C245.8000000000001 121.8 243.9000000000001 133.9 243.9000000000001 148.3C243.9000000000001 180.4 288.1 186.2 288.1 218.3C288.1 230.6 280.4000000000001 234.2 280.4000000000001 237.6C280.4000000000001 239.8 281.1 239.8 283.3 239.8C291.3 239.8 302.4000000000001 226.5 305.8 220C308 215.4 308.2 214 308.2 208.9C308.2 201.9 307.5 194.7 307.5 187.6C307.5 160.6 339.4 167.8 339.4 180.8C339.4 186.8 335.8 192.4 335.8 198.2C335.8 198.9 335.8 199.4 336.5 199.4C339.8999999999999 199.4 345.8999999999999 191.7 347.6 189.3C353.4 180.4 356.1 168.5 356.1 157.9C356.1 125.5000000000001 326.6 108.9 326.6 101.9C326.6 100.9 329.5 94.2000000000001 338.7 100.0000000000001C368.4 115.1000000000001 391.8 147.6000000000001 391.8 189.8000000000001C391.8 223.4000000000001 383.1 247.5000000000001 359.7 272.4000000000001C355.8 276.5000000000001 343.3 289.3000000000001 337.2 289.3000000000001C329 289.3000000000001 344.4 270.7000000000001 344.4 258.1000000000001C344.4 250.9000000000001 339.6 245.8000000000001 332.1 245.8000000000001C320.5 245.8000000000001 317.6 271.2000000000001 316.2 279.1000000000001C310.4 312.9000000000001 303.4 337.3000000000001 269.8 353.2000000000001C259.4000000000001 358.2000000000001 233.3 365.0000000000001 233.3 355.4000000000001C233.3 353.0000000000001 236 351.3000000000001 237.9 350.3000000000001C247.1 344.7000000000001 257.5 328.9000000000001 257.5 312.1000000000001C257.5 266.0000000000001 199.8 223.9000000000001 199.8 175.9000000000001C199.6 135.6000000000001 227.9 103.3000000000001 265.1 89.7000000000001zM470.4 381C464.4 381 456 374.5 456 368.4C456 359.7 468.1 348.8 473.6 343C555.2 257.9 552.2 128.7 491.2 52C484.2 43.1 455.9 16.7 455.9 8.5C455.9 3.4 464.1 -2.9 469.1 -2.9C494.5 -2.9 567.9 77.9 567.9 182.8C568 302.1 491.8 381 470.4 381zM428.1 57.9H167C157.6 57.9 151.5 50.4 151.5 41.5C151.5 33 158.5 26 167 26H428.1C437.5 26 440 33.5 440 42.4C440 50.9 436.5 57.9 428.1 57.9z" glyph-name="free-code-camp" horiz-adv-x="576" unicode=""/><glyph d="M303.7 351.8C314.8 362.9 419.2 428.8 442.9 405C466.6 381.3 400.8 276.9 389.7 265.8C378.6 254.7 350.3 264.9 326.6 288.7000000000001C302.8 312.4 292.5 340.7000000000001 303.7 351.8zM109.9 379.9C73.6 400.5 22 423.4 5.6 406.9C-11 390.3 12.7 337.5 33.5 301.2C52 333.4 78.3 360.5 109.9 379.9zM406.7 274C410 262.7 409.4 253.3 404 247.9C383.7 227.6 316.5 274.9 294.7 318C276.7 350.3 283.6 371.4 309.6 366.7C315.3 370.3 321.9 374.3 329.2 378.3C299.4 393.8 265.6 402.6 229.7 402.6C110.6 402.6 14.1 306.1 14.1 187C14.1 68 110.6 -28.6 229.7 -28.6S445.3 67.9 445.3 187C445.3 225.4 435.2 261.5 417.6 292.8C413.7000000000001 285.8 410 279.5 406.7000000000001 274z" glyph-name="freebsd" horiz-adv-x="448" unicode=""/><glyph d="M70.75 283.86L35.37 240.31L0 283.86L35.38 327.4100000000001L70.75 283.86zM119.23 448L98.69 249.82L47.72 192L98.7 134.18L119.23 -64V147.11L78.15 192L119.23 236.89V448zM198.9 283.86L234.28 240.31L269.6600000000001 283.86L234.2800000000001 327.4100000000001L198.9 283.86zM150.42 236.89L191.5 192L150.42 147.11V-64L170.96 134.18L221.94 192L170.96 249.82L150.42 448V236.89z" glyph-name="fulcrum" horiz-adv-x="269.66" unicode=""/><glyph d="M248 -56C111.25 -56 0 55.25 0 192S111.25 440 248 440S496 328.75 496 192S384.75 -56 248 -56zM248 423.4700000000001C120.37 423.4700000000001 16.53 319.63 16.53 192S120.37 -39.47 248 -39.47S479.47 64.37 479.47 192S375.63 423.4700000000001 248 423.4700000000001zM275.62 401.6600000000001V377.04A185.933 185.933 0 0 0 359.19 342.5L376.58 359.86C347.83 381.92 313.28 396.75 275.62 401.6600000000001zM220.25 401.5900000000001C182.61 396.6500000000001 148.09 381.79 119.37 359.74L136.65 342.38H136.73C160.8 360.2200000000001 189.28 372.4400000000001 220.25 377.05V401.5900000000001zM232.5 351.42V268.55C222.46 266.52 213.08 262.61 204.83 257.13L146.21 315.7200000000001L124.28 293.79L182.95 235.12C177.48 226.89 173.5 217.53 171.48 207.5H88.58V176.5H171.48C173.5 166.48 177.49 157.19 182.95 148.96L124.28 90.27L146.21 68.34L204.83 126.96A77.873 77.873 0 0 1 232.5 115.49V32.5899999999999H263.5V115.4899999999999C273.55 117.5199999999999 282.87 121.5499999999999 291.12 127.0399999999999L349.79 68.3499999999999L371.7200000000001 90.2799999999999L313.05 148.9699999999999C318.51 157.1999999999999 322.5200000000001 166.4899999999999 324.55 176.5099999999999H407.42V207.5099999999999H324.55C322.5300000000001 217.53 318.5200000000001 226.89 313.05 235.13L371.7200000000001 293.8L349.79 315.73L291.12 257.06C282.87 262.55 273.55 266.53 263.5 268.56V351.42H232.5zM415.74 320.7000000000001L398.38 303.3400000000001A186.337 186.337 0 0 0 433.05 219.67H457.67C452.72 257.36 437.8400000000001 291.9600000000001 415.74 320.7000000000001zM80.19 320.5700000000001C58.13 291.85 43.28 257.3100000000001 38.34 219.66H62.99C67.59 250.6200000000001 79.75 279.11 97.58 303.18L80.19 320.57zM38.34 164.33C43.26 126.69 58.09 92.15 80.14 63.43L97.5 80.8199999999999C79.69 104.8899999999999 67.58 133.3899999999999 62.99 164.3399999999999H38.34zM433.04 164.33C428.43 133.34 416.24 104.83 398.37 80.73L415.73 63.37C437.81 92.11 452.71 126.66 457.66 164.33H433.04zM136.66 41.62L119.3 24.26C148.03 2.17 182.6 -12.72 220.26 -17.67V6.97C189.27 11.6 160.73 23.76 136.66 41.62zM359.19 41.57C335.1 23.73 306.61 11.49 275.62 6.9V-17.67C313.29 -12.75 347.83 2.12 376.58 24.18L359.27 41.57H359.19z" glyph-name="galactic-republic" horiz-adv-x="496" unicode=""/><glyph d="M249.86 414.52V388.45C236.28 367.83 226 279.86 225.39 173.1C237.13 188.72 244.52 206.43 244.52 221.34V238.2200000000001C244.49 243.54 245.27 248.7500000000001 246.71 253.8700000000001C247.36 256.01 248.1 257.9500000000001 249.33 259.6900000000001C250.56 261.4400000000001 252.76 263.48 256.01 263.48C259.25 263.48 261.46 261.43 262.69 259.6900000000001C263.92 257.9400000000001 264.6600000000001 256.01 265.31 253.8700000000001C266.75 248.7500000000001 267.5300000000001 243.54 267.5 238.2200000000001V221.34C267.5 206.43 274.89 188.72 286.63 173.1C286 279.86 275.72 367.8300000000001 262.14 388.4500000000001V414.52H249.86zM223.52 266.75C214 264.6 204.82 261.56 196.06 257.67C204.96 241.55 205.82 225.03 197.77 220.38C189.77 215.76 175.92 224.61 166.41 240.2C154.83 231.41 144.53 220.88 135.85 209.11C150.58 199.49 158.74 186.19 154.17 178.45C149.63 170.75 134.14 171.31 118.7 179.41C112.92 166.16 108.95 151.9 107.05 136.99C116.73 136.81 125.72 134.61 133.23 130.9499999999999C151.01 131.25 166 132.9099999999999 173.72 135.17C179.2700000000001 161.52 196.7400000000001 183.4 220.04 194.68C220.77 220.23 221.92 244.35 223.52 266.75zM288.48 266.75C290.07 244.35 291.23 220.23 291.9500000000001 194.68C315.2400000000001 183.4 332.7200000000001 161.52 338.2700000000001 135.17C345.9900000000001 132.91 360.98 131.25 378.7600000000001 130.95C386.2700000000001 134.61 395.2600000000001 136.8 404.9400000000001 136.99C403.0400000000001 151.9 399.0800000000001 166.16 393.2900000000001 179.41C377.8500000000001 171.31 362.3600000000001 170.75 357.8200000000001 178.4500000000001C353.2500000000001 186.1900000000001 361.4200000000001 199.5000000000001 376.1400000000001 209.1100000000001C367.4600000000001 220.8800000000001 357.1600000000001 231.4100000000001 345.5800000000001 240.2000000000001C336.0700000000001 224.6100000000001 322.2200000000001 215.7600000000001 314.2200000000001 220.3800000000001C306.17 225.0300000000001 307.0300000000001 241.5400000000001 315.93 257.6700000000001A147.49 147.49 0 0 1 288.48 266.7500000000001zM256 258.15C252.77 258.15 250.14 249.34 249.91 238.22H249.86V221.34C249.86 179.92 200.85 126.3 156.37 126.3C104.37 126.3 33.62 127.75 0 97.13V94.62C9.42 77.5 20.58 61.45 33.18 46.65C45.7 67.74 84.77 87.6 141.2 88C186.88 86.98 220.23 67.67 231.96 47.13C231.97 47.12 231.95 47.09 231.96 47.08C239.63 44.94 247.81 43.85 256 43.87C264.19 43.85 272.37 44.94 280.04 47.08C280.05 47.09 280.03 47.12 280.04 47.13C291.78 67.67 325.12 86.98 370.8 88C427.23 87.61 466.29 67.74 478.8199999999999 46.65C491.42 61.45 502.5799999999999 77.51 511.9999999999999 94.62V97.13C478.3899999999999 127.75 407.63 126.3 355.63 126.3C311.1499999999999 126.3 262.14 179.92 262.14 221.34V238.2200000000001H262.0899999999999C261.8599999999999 249.3400000000001 259.2299999999999 258.1500000000001 255.9999999999999 258.1500000000001zM256 161.56C278.42 161.56 296.6 143.38 296.6 120.96S278.42 80.31 256 80.31S215.4 98.54 215.4 120.96C215.4 143.38 233.58 161.56 256 161.56zM256 153.92C237.81 153.92 223.04 139.15 223.04 120.96S237.81 88 256 88S288.96 102.77 288.96 120.96S274.19 153.92 256 153.92zM256 147.78C270.81 147.78 282.82 135.7700000000001 282.82 120.96S270.81 94.14 256 94.14S229.18 106.15 229.18 120.96S241.19 147.78 256 147.78zM141.2 81.11C131.01 81.04 119.6 80.75 110.7 79.45C111.13 75.03 112.21 60.82 117.81 49.69C126.92 52.25 136.17 53.59 145.43 53.59C186.71 52.65 216.91 19.24 223.69 -20.88L223.8 -25.58C234.2 -27.49 244.99 -28.52 256.01 -28.52C267.04 -28.52 277.82 -27.5 288.22 -25.58L288.33 -20.88C295.11 19.24 325.31 52.65 366.59 53.59C375.85 53.59 385.1 52.2500000000001 394.21 49.6900000000001C399.81 60.8200000000001 400.89 75.03 401.32 79.4500000000001C392.42 80.7500000000001 381 81.03 370.82 81.1100000000001C352.06 80.6900000000001 335.63 76.9400000000001 322.21 71.4400000000001C309.67 55.4100000000001 293.05 41.4100000000001 272.63 38.3700000000001C272.54 38.3500000000001 272.46 38.33 272.36 38.3200000000001C272.31 38.3100000000001 272.25 38.28 272.2 38.27C266.96 37.2 261.57 36.67 256.01 36.67C250.46 36.67 245.06 37.2 239.82 38.27C239.77 38.28 239.71 38.3100000000001 239.66 38.3200000000001C239.56 38.34 239.49 38.3600000000001 239.39 38.3700000000001C218.97 41.4 202.36 55.4100000000001 189.81 71.4400000000001C176.39 76.9300000000001 159.95 80.6900000000001 141.2 81.1100000000001z" glyph-name="galactic-senate" horiz-adv-x="512" unicode=""/><glyph d="M407.6 384H40.6C18.5 384 0 365.5 0 343.4V208.2C0 83.5 99.7 -16 224.2 -16C348.2 -16 448 83.5 448 208.2V343.4C448 365.8 430.3 384 407.6 384zM245.6 115.5C233.2 103.7 214.2 104.4 203.2 115.5C89.5 224.4 88.3 220.6 88.3 238.7C88.3 255.6 102.1 269.4 119 269.4C136 269.4 135.1 265.6 224.2 180.1C314.8 267 312.8 269.4 329.7 269.4C346.6 269.4 360.4 255.6 360.4 238.7C360.4 220.9 357.5 223 245.6 115.5z" glyph-name="get-pocket" horiz-adv-x="448" unicode=""/><glyph d="M257 440C120 440 9 329 9 192S120 -56 257 -56S505 55 505 192S394 440 257 440zM207.5 65.2L81.8 190.9L207.5 316.6L242.7 281.2L218.5 257L207.4 268.1L130.2 190.9L207.4 113.7L234 140.3L180.9 193.2L205.3 217.6L282.5 140.4L207.5 65.2000000000001zM306.5 67.4L271.3 102.6L295.4000000000001 127L306.5000000000001 115.8999999999999L383.7000000000001 193.0999999999999L306.5000000000001 270.2999999999999L280.0000000000001 243.7999999999999L333.1000000000001 190.8999999999999L308.7000000000001 166.5L231.5000000000001 243.7L306.5000000000001 318.7L432.2 193L306.5 67.4z" glyph-name="gg-circle" horiz-adv-x="512" unicode=""/><glyph d="M179.2 217.6L281.6 115.2L179.2 12.8L0 192L179.2 371.2L224 326.4L198.4 300.8L179.2 320L51.2 192L179.2 64L230.7 115.5L153.6 192L179.2 217.6zM332.8 371.2L230.4 268.8L332.8 166.4L358.4000000000001 192L281.3000000000001 268.5L332.8000000000001 320L460.8000000000001 192L332.8000000000001 64L313.6000000000001 83.2L288.0000000000001 57.6L332.8000000000001 12.8L512 192L332.8 371.2z" glyph-name="gg" horiz-adv-x="512" unicode=""/><glyph d="M140.1 99.5C152.2 99.5 169.6 97.4 169.6 81.6C169.6 66.1 155.7 62.8 142.6 62.8C130.3 62.8 111.7 64.8 111.7 80.8S127.4 99.5 140.1 99.5zM115.4 216.1C115.4 201.3 122 192 137.7 192C153.2 192 158.9 202 158.9 216.5C159 250.9 115.4 251.3 115.4 216.1zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM207 274.3C194.7 269.5 181.5 265.9 168.1 265.9C129.6 288 77.4 265 77.4 216.4C77.4 198.4 89 173.5 107 167.5V166.8C93.6 160.9 89.9 130.7 107.7 119.8V119.1C88.2 112.7000000000001 75.4 100.3 75.4 78.9C75.4 42.1 110.2 31.9 140.8 31.9C177.9 31.9 205.6 45.3 205.6 86.2000000000001C205.6 136.6 133.5 118.0000000000001 133.5 145.3000000000001C133.5 154.9000000000001 138.7 158.7000000000001 147.6 160.5000000000001C177.2 166.0000000000001 195.8 189.1000000000001 195.8 219.2000000000001C195.8 224.4 194.7 229.4000000000001 192.9 234.2000000000001C197.7 235.3000000000001 202.4 236.5000000000001 207 238.1000000000001V274.3000000000001zM263.8 272.5H224.2C225.5000000000001 261.9 225.3 129.9 224.2 117H263.8C262.7 129.8 262.6 262.1 263.8 272.5zM268.3 325.8C268.3 339.2 258.3 352 244.2 352C229.9 352 219.6 339.5 219.6 325.8C219.6 312.2 230.1 299.9 244.2 299.9C257.9000000000001 299.9 268.3 312.4 268.3 325.8zM372.6 272.5H336.2000000000001C336.2000000000001 282.3 335.8000000000001 292.1 337.3000000000001 302H296.8000000000001C298.1000000000001 294.7 297.9000000000001 288.4 297.9000000000001 272.5H280.8000000000001V238.6C292.7000000000001 240.5 292.9000000000001 239.3 297.9000000000001 239.3V238.6H297.5000000000001V175.9C297.5000000000001 144.8 302.0000000000001 114.7 340.2000000000001 114.7C350.9000000000001 114.7 363.2000000000001 116.5 372.7000000000001 121.7V156.7C367.0000000000001 152.8 358.8000000000002 150.8 351.8000000000002 150.8C338.6000000000002 150.8 336.3000000000002 163.7 336.3000000000002 174.2V239.4C359.0000000000001 239.4 372.7000000000001 238.7 372.7000000000001 238.7V272.5z" glyph-name="git-square" horiz-adv-x="448" unicode=""/><glyph d="M18.8 226.3C18.8 201 35 166.3 60.3 157.8V156.8C41.5 148.5 36.3 106.2 61.3 91V90C34 81 16 63.7 16 33.8C16 -17.7 64.8 -32 107.5 -32C159.5 -32 198.2 -13.3 198.2 44C198.2 114.5 97.2 88.5 97.2 126.8C97.2 140.3 104.4 145.5 116.9 148.1C158.4 155.8 184.4 188.1 184.4 230.3C184.4 237.6 182.9 244.5 180.4 251.3C187.1 252.8 193.6 254.6 200.1 256.8V307.3C182.9 300.5 164.4 295.5 145.6 295.5C91.8 326.5 18.8 294.2 18.8 226.3zM106.5 62.5C123.5 62.5 147.7 59.5 147.7 37.5C147.7 15.7 128.2 11.2 110 11.2C92.7 11.2 66.7 13.9 66.7 36.4C66.8 58.7 88.8 62.5 106.5 62.5zM103.3 192C81.3 192 72 205 72 225.8C72 275.1 133 274.6 133 226.3C133 206 125 192 103.3 192zM432 142.5V93.5C418.7 86.2 401.5 83.7 386.5 83.7C333 83.7 326.7 125.9 326.7 169.4V257.1H327.2V258.1C320.2 258.1 319.9 259.7 303.2 257.1V304.6H327.2C327.2 326.9 327.5 335.6 325.7 345.8H382.4C380.4 332 380.9 318.3 380.9 304.6H431.9V257.1S412.6 258.1 380.9 258.1V167C380.9 152.2 384.2 134.2 402.7 134.2C412.5 134.2 424 137 432 142.5zM286 379.3C286 360.6 271.5 343.1 252.2 343.1C232.4 343.1 217.7 360.3 217.7 379.3C217.7 398.6 232.2 416 252.2 416C272 416 286 398 286 379.3zM279.8 304.8C278 290.2000000000001 278.2 105 279.8 87H224.3C225.9 105.1 226.1 290 224.3 304.8H279.8z" glyph-name="git" horiz-adv-x="448" unicode=""/><glyph d="M186.1 119.3C186.1 98.4 175.2 64.2 149.4 64.2S112.7 98.4 112.7 119.3S123.6 174.4 149.4 174.4S186.1 140.2000000000001 186.1 119.3zM480 169.8C480 137.9 476.8 104.1 462.5 74.8C424.6 -1.8 320.4 0 245.8 0C170 0 59.6 -2.7 20.2 74.8C5.6 103.8 0 137.9 0 169.8C0 211.7 13.9 251.3 41.5 283.4C36.3 299.2000000000001 33.8 315.8 33.8 332.2C33.8 353.7 38.7 364.5 48.4 384C93.7 384 122.7 375 157.2 348C186.2 354.9 216 358 245.9000000000001 358C272.9000000000001 358 300.1 355.1 326.3000000000001 348.8C360.3000000000001 375.5 389.3000000000001 384 434.1000000000001 384C443.9000000000001 364.5 448.7000000000001 353.7 448.7000000000001 332.2C448.7000000000001 315.8 446.1000000000001 299.5 441.0000000000001 284C468.5000000000001 251.6 480.0000000000001 211.7 480.0000000000001 169.8zM415.7 119.3C415.7 163.2 389 201.9 342.2 201.9C323.3 201.9 305.2 198.5 286.2 195.9C271.3 193.6 256.4 192.7 241.1 192.7C225.9 192.7 211 193.6 196 195.9C177.3 198.5 159 201.9 140 201.9C93.2 201.9 66.5 163.2 66.5 119.3C66.5 31.5 146.9 18 216.9 18H265.1C335.4000000000001 18 415.7000000000001 31.4 415.7000000000001 119.3zM333.1 174.4C307.3 174.4 296.4000000000001 140.2000000000001 296.4000000000001 119.3S307.3 64.2 333.1 64.2S369.8 98.4 369.8 119.3S358.9000000000001 174.4 333.1 174.4z" glyph-name="github-alt" horiz-adv-x="480" unicode=""/><glyph d="M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM277.3 32.3C268.9000000000001 30.8 265.8 36 265.8 40.3C265.8 45.7 266 73.3 266 95.6C266 111.2000000000001 260.8 121.1 254.7 126.3C291.7 130.4 330.7 135.5 330.7 199.4C330.7 217.6 324.2 226.7 313.6 238.4C315.3 242.7 321 260.4 311.9 283.4C298 287.7000000000001 266.2 265.5 266.2 265.5C253 269.2 238.7 271.1 224.6 271.1C210.5 271.1 196.2 269.2 183 265.5C183 265.5 151.2 287.7 137.3 283.4C128.2 260.5 133.8 242.8 135.6 238.4C125 226.7 120 217.6 120 199.4C120 135.8 157.3 130.4 194.3 126.3C189.5 122 185.2 114.6 183.7 104C174.2 99.7 149.9 92.3 135.4 117.9C126.3000000000001 133.7 109.9 135 109.9 135C93.7 135.2 108.8 124.8 108.8 124.8C119.6 119.8 127.2000000000001 100.6 127.2000000000001 100.6C136.9 70.9 183.3000000000001 80.9 183.3000000000001 80.9C183.3000000000001 67.0000000000001 183.5 44.4 183.5 40.3C183.5 36 180.5 30.8 172 32.3C106 54.4 59.8 117.2000000000001 59.8 190.6C59.8 282.4000000000001 130 352.1 221.8 352.1S388 282.4 388 190.6C388.1 117.2000000000001 343.3 54.3 277.3 32.3zM179.2 93.4C177.3 93.0000000000001 175.5 93.8 175.3 95.1C175.1 96.6 176.4 97.9 178.3 98.3C180.2 98.5 182 97.7 182.2 96.4C182.5 95.1 181.2 93.8 179.2 93.4zM169.7 94.3C169.7 93 168.2 91.9 166.2 91.9C164 91.7000000000001 162.5 92.8 162.5 94.3C162.5 95.6 164 96.7 166 96.7C167.9 96.9 169.7 95.8 169.7 94.3zM156 95.4C155.6 94.1 153.6 93.5000000000001 151.9 94.1C150 94.5 148.7000000000001 96 149.1 97.3C149.5 98.6 151.5 99.2 153.2 98.8C155.2 98.2 156.5 96.7 156 95.4zM143.7 100.8C142.8 99.7 140.9 99.9 139.4 101.4C137.9 102.7000000000001 137.5 104.6 138.5 105.5000000000001C139.4 106.6000000000001 141.3 106.4 142.8 104.9C144.1 103.6 144.6 101.6 143.7 100.8zM134.6 109.9C133.7 109.3 132 109.9 130.9 111.4S129.8000000000001 114.6 130.9 115.3C132 116.2 133.7000000000001 115.5 134.6 114C135.7 112.5 135.7 110.7 134.6 109.9zM128.1 119.6C127.2 118.7000000000001 125.7 119.2000000000001 124.6 120.2000000000001C123.5 121.5000000000001 123.3 123.0000000000001 124.2 123.7000000000001C125.1 124.6 126.6 124.1 127.7 123.1C128.8 121.8 129 120.3 128.1 119.6zM121.4 127C121 126.1 119.7 125.9 118.6 126.6C117.3 127.2000000000001 116.7 128.3 117.1 129.2000000000001C117.5 129.8000000000001 118.6 130.1 119.9 129.6C121.2 128.9 121.8 127.8 121.4 127z" glyph-name="github-square" horiz-adv-x="448" unicode=""/><glyph d="M165.9 50.6C165.9 48.6 163.6 47 160.7 47C157.4 46.7 155.1 48.3 155.1 50.6C155.1 52.6 157.4 54.2 160.3 54.2C163.3 54.5000000000001 165.9 52.9 165.9 50.6zM134.8 55.1C134.1 53.1 136.1 50.8 139.1 50.2C141.7 49.2 144.7 50.2 145.3 52.2S144 56.5000000000001 141 57.4C138.4 58.1 135.5 57.1 134.8 55.1zM179 56.8C176.1 56.1 174.1 54.2 174.4 51.9C174.7 49.9 177.3 48.6 180.3 49.3C183.2 50 185.2 51.9 184.9 53.9C184.6 55.8 181.9 57.1 179 56.8zM244.8 440C106.1 440 0 334.7 0 196C0 85.1 69.8 -9.8 169.5 -43.2C182.3 -45.5 186.8 -37.6 186.8 -31.1C186.8 -24.9 186.5 9.3 186.5 30.3C186.5 30.3 116.5 15.3 101.8 60.1C101.8 60.1 90.4 89.2000000000001 74 96.7000000000001C74 96.7000000000001 51.1 112.4 75.6 112.1C75.6 112.1 100.5 110.1 114.2 86.3C136.1 47.7 172.8 58.8 187.1 65.4C189.4 81.4 195.9 92.5000000000001 203.1 99.1C147.2 105.3 90.8 113.4 90.8 209.6C90.8 237.1 98.4 250.9000000000001 114.4 268.5C111.8 275 103.3 301.8 117 336.4000000000001C137.9 342.9000000000001 186 309.4000000000001 186 309.4000000000001C206 315 227.5 317.9000000000001 248.8 317.9000000000001S291.6 315 311.6 309.4000000000001C311.6 309.4000000000001 359.7000000000001 343 380.6 336.4000000000001C394.3 301.7000000000001 385.8 275 383.2000000000001 268.5C399.2000000000001 250.8000000000001 409.0000000000001 237.0000000000001 409.0000000000001 209.6C409.0000000000001 113.1 350.1000000000001 105.4 294.2000000000001 99.1C303.4000000000001 91.2000000000001 311.2000000000001 76.2000000000001 311.2000000000001 52.7C311.2000000000001 19.0000000000001 310.9000000000001 -22.6999999999999 310.9000000000001 -30.9C310.9000000000001 -37.4 315.5000000000001 -45.3 328.2000000000001 -43C428.2 -9.8 496 85.1 496 196C496 334.7 383.5 440 244.8 440zM97.2 95.1C95.9 94.1 96.2 91.8 97.9 89.9C99.5 88.3 101.8 87.6 103.1 88.9C104.4 89.9 104.1 92.2000000000001 102.4 94.1C100.8 95.7000000000001 98.5 96.4 97.2 95.1zM86.4 103.2000000000001C85.7 101.9 86.7 100.3000000000001 88.7 99.3000000000001C90.3 98.3000000000001 92.3 98.6000000000001 93 100.0000000000001C93.7 101.3000000000001 92.7 102.9 90.7 103.9C88.7 104.5000000000001 87.1 104.2000000000001 86.4 103.2000000000001zM118.8 67.6C117.2 66.3 117.8 63.3 120.1 61.4C122.4 59.1 125.3 58.8 126.6 60.4C127.9 61.7000000000001 127.3 64.7000000000001 125.3 66.6C123.1 68.9 120.1 69.2000000000001 118.8 67.6zM107.4 82.3C105.8 81.3 105.8 78.7 107.4 76.4C109 74.1 111.7 73.1 113 74.1C114.6 75.4 114.6 78 113 80.3C111.6 82.6 109 83.6 107.4 82.3z" glyph-name="github" horiz-adv-x="496" unicode=""/><glyph d="M565.7 329.9C563.4000000000001 336 556.4000000000001 339.1 550.4000000000001 336.5C544.7 334.1 541.9000000000001 327.6 544.1000000000001 321.9C555.0000000000001 292.9 561.0000000000001 261.4 561.0000000000001 228.6C561.0000000000001 94 460.7000000000001 -17.1 330.8000000000002 -34.1V89.6C338.7000000000001 91.1 346.3000000000002 93.2000000000001 353.8000000000002 95.8V-8.2C460.5000000000001 17.7 539.7000000000002 113.9 539.7000000000002 228.6C539.7000000000002 320.4000000000001 488.9000000000001 400.4000000000001 413.9000000000002 441.9000000000001C408.2000000000002 445.1 400.9000000000002 442.8 398.0000000000002 436.9000000000001C395.3000000000002 431.4000000000001 397.4000000000002 424.7000000000001 402.7000000000002 421.8C470.6000000000001 384.2000000000001 516.6000000000001 311.8000000000001 516.6000000000001 228.6000000000001C516.6000000000001 135.3000000000001 458.7000000000002 55.5000000000001 376.8000000000002 23.2V115.4C391.0000000000001 119.9 401.7000000000001 133.1 401.7000000000001 148.9C401.7000000000001 162.0000000000001 394.9000000000001 173.3 384.4000000000001 179.4C392.7000000000001 258.9000000000001 428.9000000000001 238.0000000000001 428.9000000000001 263.3000000000001V278C428.9000000000001 316 341.0000000000001 439.8 299.9000000000001 442.7C297.4000000000001 442.9 294.9000000000001 442.9 292.3000000000001 442.7C251.1 439.7 163.2 316 163.2 278V263.2C163.2 237.9 199.5 258.9 207.7 179.3C197.1 173.1999999999999 190.4 161.9 190.4 148.8C190.4 133 201 119.8 215.2 115.3V23.1C133.3 55.3 75.4 135.1 75.4 228.5C75.4 311.6 121.4 384 189.3 421.7C194.7 424.7 196.7 431.3 194 436.8C191.1 442.7 183.9 445 178.1 441.8C103.1 400.3 52.3 320.3 52.3 228.5C52.3 113.8 131.5 17.6999999999999 238.2 -8.3000000000001V95.6999999999999C245.8 93.1999999999999 253.3 91.0999999999999 261.2 89.4999999999999V-34.2C131.4 -17.2 31 93.9 31 228.5C31 261.3 37 292.8 47.9 321.8C50.1 327.6 47.3 334 41.6 336.4C35.6 339 28.6 336 26.3 329.8C14.5 298.3 8 264.2 8 228.5C8 73.4 130.6 -53.1 284.3 -59.3V86.6C291.1 86.2000000000001 299.3 86.1 307.7 86.6V-59.2C461.4 -53.1 584 73.4 584 228.5C584 264.2 577.5 298.3 565.7 329.9zM365.9 172.5C378.9 172.5 389.6 162 389.6 148.8C389.6 135.7 379 125.1 365.9 125.1C352.9 125.1 342.2 135.6 342.2 148.8C342.2 161.9 352.8 172.5 365.9 172.5zM226.1 125.2C212.9 125.2 202.4 135.9 202.4 148.9S212.9 172.6 226.1 172.6C239.2 172.6 249.8 162 249.8 148.9C249.8 135.9 239.3 125.2 226.1 125.2z" glyph-name="gitkraken" horiz-adv-x="592" unicode=""/><glyph d="M29.782 248.268L256 -45.714L8.074 138.301C1.218 143.443 -1.638 152.297 0.933 160.294L29.782 248.268zM105.187 423.074C102.045 431.928 89.478 431.928 86.336 423.074L29.782 248.268H161.743L105.187 423.074zM161.743 248.268L256 -45.714L350.257 248.2680000000001H161.743zM511.067 160.294L482.218 248.268L256 -45.714L503.926 138.301C510.781 143.443 513.637 152.297 511.067 160.294zM425.663 423.074C422.521 431.928 409.954 431.928 406.812 423.074L350.257 248.268H482.218L425.663 423.074z" glyph-name="gitlab" horiz-adv-x="512" unicode=""/><glyph d="M66.4 125.5H16V448H66.4V125.5zM166.9 371.9H116.5V-64H166.9V371.9zM267.5 371.9H217.1V-64H267.5V371.9zM368 372H317.6V125H368V372z" glyph-name="gitter" horiz-adv-x="384" unicode=""/><glyph d="M407.1 236.8C403.6 238.2 395.5 240.6 391.7000000000001 240.6C354.6 240.6 329.5000000000001 223.8 298.2000000000001 206.1L297.3000000000001 207C304.3000000000001 254.3 320.8000000000001 298.9000000000001 320.8000000000001 347.4000000000001C320.8 418.9 282.6 448 212.4 448C97.3 448 39 334.3 39 249.6C39 161.7 90.3 113 177.6 113C189.6 113 188.6 114 188.6 109.2C171.7 -19.7 97.8 -23.9 97.8 14.6C97.8 53.8 142.8 73.2000000000001 143.3 75.6C143 87.8 96.3 103.2000000000001 84.4 103.2000000000001C50.5 103.1 32 52.0000000000001 32 23.9C32 -28 64.8 -64 117.5 -64C194.9 -64 251.5 13.8 268.9 81.4C284 141.9 280.1 144.7 288.6 149C320.8 165.2 346.1 176 382.4 176C400.2 176 412.9 172.3 441.3 167.6C444.2 167.6 448 170.5 448 173.4C448 181.4 414.6 233.9000000000001 407.1 236.8000000000001zM231.8 321.2000000000001C222.5 276.5 213.2 231.6 204 186.9C201.7 176.7 190.7 179.1 182 179.1C143.7 179.1 133 220.9 133 252.2C133 299.2 151 361.5 194.8 385.6C201.8 389.7 209.6 392.3 217.4 392.3C236 392.3 237.4 379 237.4 363.6C237.3 349.3 234.7 335.1 231.8 321.2z" glyph-name="glide-g" horiz-adv-x="448" unicode=""/><glyph d="M252.8 299.4C252.8 290.6 251.2 281.7000000000001 249.4 273C243.6 245.2 237.8 217.2 232.1 189.4C230.7 183.1 223.8 184.5 218.4 184.5C194.6 184.5 187.9 210.5 187.9 230C187.9 259.3 199.1 298.1 226.4 313.1C230.7 315.6 235.6 317.3 240.5 317.3C251.9 317.3 252.8 309 252.8 299.4zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM384 181C384 186.1 363.2 218.7 358.5 220.5C356.3 221.4 351.3 222.8 348.9 222.8C325.8 222.8 310.2 212.3 290.7 201.3L290.2 201.8C294.5 231.2 304.8 259 304.8 289.2000000000001C304.8 333.8 281 351.9000000000001 237.3 351.9000000000001C165.6 351.9000000000001 129.3 281.1 129.3 228.4000000000001C129.3 173.7000000000001 161.3 143.4 215.6 143.4C223.1 143.4 222.5 144.0000000000001 222.5 141.1C212 60.8 166 58.2000000000001 166 82.2000000000001C166 106.6 194 118.7000000000001 194.3000000000001 120.2000000000001C194.1000000000001 127.8000000000001 165 137.4 157.6 137.4C136.5 137.4 124.9 104.4 124.9 86.8C124.9 54.5 145.3 32.1 178.2 32.1C226.4000000000001 32.1 261.6 81.8 272.5 123.8C281.9 161.5 279.5 163.2 284.8 165.9C304.8 176.0000000000001 320.6 182.7000000000001 343.2 182.7000000000001C354.3 182.7000000000001 362.2 180.4 379.9 177.5000000000001C381.7 177.4 384 179.2000000000001 384 181.0000000000001z" glyph-name="glide" horiz-adv-x="448" unicode=""/><glyph d="M324 128.2H310.8V93.5C286.3 70.4 254.5 57.7 220.9 57.7C147.7 57.7 88.5 117.9 88.5 192.1C88.5 266.2 147.7 326.5 220.9 326.5C256.2 326.5 289.5 312.5 314.5 287.1L376.8 350.4C335 392.7 279.7 416 220.7 416C98 416 0 315.4 0 192C0 69.5 97 -32 220.7 -32C283.9 -32 345.2 -5.8 391.7 50.5C389.7 78.1 378.3 128.2 324 128.2zM311.9 240.7H205.6V151.7H324C357.5 151.7 384.5 136.6 400 109.9V140.5C400 205.7 359.6 240.7 311.9 240.7z" glyph-name="gofore" horiz-adv-x="400" unicode=""/><glyph d="M42.6 44.7H45.4C58.1 44.7 70.9 44.7 83.6 44.6C85.2 44.6 86.7 44.9999999999999 87.2 42.4999999999999C94.3 7.6 117.2 -12.1000000000001 150.1 -21.4C177 -29.0000000000001 204.2 -29.2 231.4 -23.2C265.2 -15.8000000000001 287.4 5.1 299.4 37.1999999999999C307.4 58.6999999999999 310.1 80.9999999999999 310.4 103.6999999999999C310.5 109.4999999999999 310.7 150.6999999999999 310.2 156.5L309.3 156.8C308.5 155.3 307.6 153.9 306.8 152.4C284.7 109.3 245.5 85 201.4 83.3C98.4 79.3 32 140.3 29.4 259.5C28.9 283.2 31.2 306.4 37.7 329.2C58.3 400.3 112.3 447.4 191.6 448C252.9 448.4 293.1 409.3 307.8 377.7C308.3 376.6 309.1 375.4 310.2 375.8V437.4H354.5C354.5 157.1 354.6 105.2 354.6 105.2C354.5 26.7 327.9000000000001 -38.5 251.6 -57C182.1 -73.9 92.6 -61.8 55.6 0.2C47.6 13.7 43.8 28.5 42.6 44.7zM188.9 411.5C136.4 412 80.4 370.8 73.9 277.7C69.8 218.7 88.7 155.5 145.4 129.1C173 116.2000000000001 219.7 114.1 253.7 137.8C301.3 171 316.4 234.8 308.5 291.8C298.8 362.9 260.7 411.8 188.9 411.5z" glyph-name="goodreads-g" horiz-adv-x="384" unicode=""/><glyph d="M299.9 256.8C305 219.5 295.2 177.8 264 156.1C241.7 140.6 211.2 142 193.2 150.4C156.1 167.7000000000001 143.7 209 146.4 247.6C150.7 308.5 187.3 335.5 221.7 335.1C268.6 335.3 293.5 303.3 299.9 256.8zM448 360V24C448 -6.9 422.9 -32 392 -32H56C25.1 -32 0 -6.9 0 24V360C0 390.9 25.1 416 56 416H392C422.9 416 448 390.9 448 360zM330 134.8S329.9 168.8 329.9 352.1H300.9V311.8C300.1 311.5 299.7 312.3 299.3 313C289.7 333.7 263.4 359.3 223.3 359C171.4 358.6 136.1 327.8 122.7 281.2C118.4 266.3 116.9 251.1 117.2 235.6C118.9 157.7 162.3 117.8 229.6 120.4C258.5 121.5 284.1 137.4 298.6 165.6C299.1 166.6 299.7 167.5 300.3 168.5C300.5 168.3999999999999 300.7 168.3999999999999 300.9 168.3C301.2 164.5 301.1 137.6 301 133.8C300.8 119 299 104.3 293.8 90.3C286 69.3 271.5 55.6 249.3 50.8C231.5 46.9 213.7 46.9999999999999 196.1 51.9999999999999C174.6 58.1 159.6 70.9999999999999 155 93.8C154.7 95.4 153.7 95.1 152.7 95.1H125.9C126.7 84.4999999999999 129.1 74.8 134.4 65.9C158.6 25.4 217.1 17.4 262.6 28.5C312.5 40.8 329.9000000000001 83.4 330 134.8z" glyph-name="goodreads" horiz-adv-x="448" unicode=""/><glyph d="M339 133.1L175.4 416H336.6L500.2 133.1H339zM201.5 109.5L120.9 -32H431.4L512 109.5H201.5zM154.1 380.6L0 109.5L80.6 -32L237 239.2L154.1 380.6z" glyph-name="google-drive" horiz-adv-x="512" unicode=""/><glyph d="M325.3 213.7L104.6 435L385.4 273.8L325.3 213.7zM47 448C34 441.2 25.3 428.8 25.3 412.7V-28.6C25.3 -44.7 34 -57.1 47 -63.9L303.6 192.1L47 448zM472.2 222.4L413.3 256.5L347.6 192L413.3 127.5L473.4 161.6C491.4 175.9 491.4 208.1 472.2 222.4zM104.6 -51L385.4 110.2L325.3 170.3L104.6 -51z" glyph-name="google-play" horiz-adv-x="512" unicode=""/><glyph d="M386.061 219.504C387.895 209.812 389.204 200.12 389.204 187.548C389.204 77.795 315.599 0 204.8 0C98.716 0 12.8 85.915 12.8 192S98.716 384 204.8 384C256.664 384 299.8830000000001 365.141 333.411 333.708L281.2850000000001 283.678C267.1400000000001 297.299 242.2570000000001 313.277 204.8 313.277C139.316 313.277 85.88 259.056 85.88 192C85.88 124.944 139.316 70.723 204.8 70.723C280.761 70.723 309.313 125.468 313.765 153.496H204.8V219.505H386.0610000000001zM571.467 213.067V268.8H515.466V213.067H459.733V157.066H515.466V101.333H571.467V157.066H627.2V213.067H571.4670000000001z" glyph-name="google-plus-g" horiz-adv-x="640" unicode=""/><glyph d="M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM164 92C108.7 92 64 136.7 64 192S108.7 292 164 292C191 292 213.5 282.2 231 265.8L203.9 239.7C196.5 246.8 183.6 255.1 164.1 255.1C130 255.1 102.2 226.9000000000001 102.2 191.9C102.2 157.0000000000001 130 128.7000000000001 164.1 128.7000000000001C203.7 128.7000000000001 218.5 157.2000000000001 220.9 171.8000000000001H164V206.2000000000001H258.4C259.4 201.2000000000001 260 196.1000000000001 260 189.6000000000001C260 132.5000000000001 221.7 92.0000000000001 164 92.0000000000001zM384 173.8H355V144.8H325.8V173.8H296.8V203H325.8V232H355V203H384V173.8z" glyph-name="google-plus-square" horiz-adv-x="448" unicode=""/><glyph d="M248 440C111.1 440 0 328.9 0 192S111.1 -56 248 -56S496 55.1 496 192S384.9 440 248 440zM177.3 68C108.5 68 53.3 123.5 53.3 192S108.5 316 177.3 316C208.6 316 237.4 305 260.3 283.7L226.7 251.1C213.5 264 195.4 270.2 177.3 270.2C134.4 270.2 100.1 234.7 100.1 192.1S134.3 114 177.3 114C209.9 114 242.2 133.1 247.4 167.3H177.3V209.9H294.2000000000001C295.5000000000001 203.1 296.1 196.3 296.1 189.2C296.1 118.4 248.6 68 177.3 68zM407.5 174.2V138.7H372V174.2H336.5V209.7H372V245.2H407.5V209.7H442.7V174.2H407.5z" glyph-name="google-plus" horiz-adv-x="496" unicode=""/><glyph d="M156.8 321.2C194.4 260.6 221 208.1 241.1 158.7C232.8 124.9 222.3 92.2 209.8 60.4C196.6 112.7 183.3 161.7 153.8 208.9C160.3 245.3 156.1 282.5 156.8 321.2zM109.3 248H16.1C9.6 248 5.6 240.5 9.6 235.3C51.8 181 81.3 117.5 101.3 48H204.8C188.6 117.7 166.1 181.7 122.3 241.5C119.3 245.5 114.3 248 109.3 248zM157.1 336C225.6 228 287.1 101.5 295.3 -32H409C397 106 340.6 233 265.8 336H157.1zM408.9 404.5C407.1 411.3 400.7 416 393.7 416H305.4C300.1 416 296.4 411 297.6 405.7C310.8 359.2 319.9 310.2 324.1 259.7C372.3 173.5 403.8 81.4 414.7 -11.1C430.5 49.4 440 122.4 440 191.9C440 265.5 427.8999999999999 337 408.8999999999999 404.5z" glyph-name="google-wallet" horiz-adv-x="448" unicode=""/><glyph d="M488 186.2C488 44.7 391.1 -56 248 -56C110.8 -56 0 54.8 0 192S110.8 440 248 440C314.8 440 371 415.5 414.3 375.1L346.8 310.2C258.5 395.4 94.3 331.4 94.3 192C94.3 105.5 163.4 35.4 248 35.4C346.2 35.4 383 105.8 388.8 142.3H248V227.6H484.1C486.4 214.9 488 202.7 488 186.2z" glyph-name="google" horiz-adv-x="488" unicode=""/><glyph d="M248 440C111.1 440 0 328.9 0 192S111.1 -56 248 -56S496 55.1 496 192S384.9 440 248 440zM362.6 213.6L249.6 60.9L136.9 213.6C128.2000000000001 225.5 117.8000000000001 264 150.5 285.6C178.6 303.7 205.1 289.8 219 273.7C234.9000000000001 255.8 265.6 256.8 280.7000000000001 273.7C294.6 289.8 321.1 303.7 348.8000000000001 285.6C381.7000000000001 264 371.4000000000001 225.6 362.6000000000001 213.6z" glyph-name="gratipay" horiz-adv-x="496" unicode=""/><glyph d="M301.1 236C305.5 231.6 305.5 224.1 301.1 219.7L291.4000000000001 210C287.0000000000001 205.3 279.5000000000001 205.3 274.8 210L264.3 220.5C259.9000000000001 225.2 259.9000000000001 232.4 264.3 237.1L274 246.8C278.4 251.2 285.9 251.2 290.6 246.8L301.1 236zM270.9000000000001 255.7C273.9000000000001 258.7 273.9000000000001 263.5 270.9000000000001 266.2C268.1 269.2 263.4000000000001 269.2 260.4000000000001 266.2C257.6 263.4 257.6 258.7 260.4000000000001 255.7C263.5000000000001 252.9 268.2000000000001 252.9 270.9000000000001 255.7zM244.9000000000001 250.4C241.9000000000001 247.6 241.9000000000001 242.9 244.9000000000001 240.2C247.7000000000001 237.2 252.4000000000001 237.2 255.4000000000001 240.2C258.2000000000001 243 258.2000000000001 247.7 255.4000000000001 250.4C252.4000000000001 253.4 247.7000000000001 253.4 244.9000000000001 250.4zM317.4000000000001 263.7C297.5000000000001 278.1 283.6 306.9 305.5000000000001 331.8C327.1000000000001 356.7 346.2000000000001 349 365.3000000000001 331C377.2000000000001 319.7 394.6000000000001 306.1 382.5000000000001 282.8C370.0000000000001 259.3 337.4000000000001 249.6 317.4000000000001 263.7zM365.1 308.2C356.2000000000001 318.2 341.8 301.3 349.6 292.1C357 283.1 381.7000000000001 289.7 365.1 308.2zM504 192C504 55 393 -56 256 -56S8 55 8 192S119 440 256 440S504 329 504 192zM437.8 149.4C440.3 165.5 417.6 166 412.6 175.1C399 199.2 384.9000000000001 211.9 358.1 205.5C369.7000000000001 213.5 381.6 211.6 381.6 211.6C381.9000000000001 218 381.6 224.6 372.2000000000001 236.5C376.1 249 372.5000000000001 258.9 372.5000000000001 258.9C388.0000000000001 267.5 399.3000000000001 283.3 401.6000000000001 302.1C405.2000000000001 333.1 382.8000000000001 361.3 351.8000000000001 364.9C329.7000000000001 367.4 308.1000000000001 357.2 297.5000000000001 339.2C274.3000000000001 299.1 298.9000000000001 268.3 319.9000000000001 257.8C305.5000000000001 259.2 285.6 269.7 279.8 292.1C273.2 317.8 282.6 341.9 288.7 353.5C288.7 353.5 284.3 359.3 280.7 362.4C280.7 362.4 266.9 362.4 256.1 357.1C268 372.3 281.3 371.5 281.3 371.5C281.3 377.9 280.7 386.4 277.7 393.1C272.3 404.1 253.8999999999999 406 246 390.3C246.1 390.5 246.3 390.7 246.4 390.8C241.4 378.9 245.3 334.9 263.3 303.6C260.8 302.2 254.2 297.5 250.3 293.6C228.7 283.9 194.1 233.3 194.1 233.3C165.9 222.5 116.9 182.4 123.5 153.6C123.8 150.6 124.9 148.1 126.5 146.1C123.7 143.9 121 141.1 118.2 137.8C106.3 124 112.9 102.6 135.9 113.4C151.7 120.6 165.5 133.6 172.2 143.8C172.2 143.8 166.7 148.8 155.9 148.2C183.6 154.8 190.2 157.6 202.1 157.3C210.1 153.4 210.1 191.6 210.1 191.6C210.1 206.3 207.9 222.6 199 233.1C211.5 220.9 228.1 200.4 227 172.5C226.2 154.2 211.8 149.5 211.8 149.5C202.7 132.9 168.6 83.6 181.4 43.5C181.4 43.5 171.7 58.4 171.2 65.6C153.8 46.2 124.7 13.3 146.6 1.1C173.2 -13.6 255.4 89.7000000000001 272.8 143.4C307.4000000000001 164.2000000000001 328.2 190.7000000000001 336.7 208.4C358.7 164.9 432 113.9 437.8 149.4z" glyph-name="grav" horiz-adv-x="512" unicode=""/><glyph d="M171.8 -55.8C171.8 -50.5 176.6 -43.6 176.6 -33.5C176.6 -18.3 163.6 6.4 98.5 53.1C64.2 82.2 32 111.6 32 161.4C32 276.1 179.1 337.9 179.1 430C179.1 433.3 178.9 436.7 178.5 440C183.6 437.6 217.6 396.7 217.6 349.6C217.6 269.1 112.5 220.4 112.5 146.6C112.5 119.7000000000001 129.1 99.4 145.1 77.1C167.6 46.9 189.3 20.2 189.3 -9.4C189.2 -23.9 184.9 -39.1 171.8 -55.8zM317.8 185.6C319.3 177.2000000000001 320 169 320 161C320 109.2 290.6 63.5 252.7 24.2C251.7 23.2 250.5 21.8 249.5 21.8C245.9 21.8 214 63.4 214 75C214 75 255.8 130.7 255.8 171.9C255.8 182.7 253.1 193.6 246.7 205.3C245.2 173 191 117.6 188.6 117.6C185.9 117.6 170.7 139.6 170.7 159.7C170.7 165 171.7 170.4 173.9 175.5C176.3 181 230.5 247.5 230.5 292.2C230.5 298.4 229.5 304.2 227.1 309.3L223.1 316.5C239.8 310 305.7 252.4 317.8 185.6" glyph-name="gripfire" horiz-adv-x="384" unicode=""/><glyph d="M61.3 258.7C60.2 248.7 66.5 239.6 66.5 239.6C67.2 247.1 68.7 252.4 70.5 256.2C70.9 245.9 73.7 232.7 83.3 222.1C90.2 214.5 118.9 198.8 138.2 216C139.2 213.6 140.3 210.7 141.2 207.5C144.1 197.2 138.5 182.2 138.5 182.2S153.6 199.3 152.4 214.7C163.2 215.2 173.8 223.1 173.5 234.2C173.5 234.2 154.6 223.8 138 243C128.3 254.2 97.1 285 54.9 274.8C59.2 273.8 63.8 272.4 68.4 270.7000000000001H68.3C64.1 268.7000000000001 61.8 263.6 61.3 258.7000000000001zM89.6 260.5C109.1 249.5 127 234.8 134.5 223.5C128.8 220.2 112.8 213.1 96.5 225.2C86.2 232.8 86.7 251.4 89.6 260.5zM168.8 26.8C171 24.5 170.3 21.5 169.7 20C168.6 17.3 164.2 8.4 156.7 0.2C154 -2.7 150.1 -4.4 145.7 -4.4C141.4 -4.4 137 -2.8 133.9 -0.1C131.6 2 123.7 9.4 120.2 18.5C118.9 21.9 119.2 24.6 121.1 26.6C122.4 27.9 125.1 29.5 130.6 29.5H160C164.1 29.5 167 28.6 168.8 26.8zM231.7 214.7C230.5000000000001 199.2 245.6 182.2000000000001 245.6 182.2000000000001S240.0000000000001 197.2000000000001 242.9000000000001 207.5000000000001C243.8000000000001 210.7000000000001 244.9000000000001 213.5000000000001 245.9000000000001 216.0000000000001C265.2000000000001 198.7000000000001 293.9000000000001 214.5000000000001 300.7000000000001 222.1000000000001C310.3000000000001 232.7000000000001 313.0000000000001 245.9000000000001 313.5000000000001 256.2000000000001C315.3000000000001 252.4000000000001 316.9000000000001 247.1000000000001 317.5000000000001 239.6000000000001C317.5000000000001 239.6000000000001 323.9000000000001 248.7000000000001 322.7000000000001 258.7000000000001C322.1 263.7000000000001 319.8000000000001 268.7000000000001 315.7000000000001 270.5000000000001H315.6C320.2000000000001 272.3000000000001 324.8 273.7000000000001 329.1 274.6C286.8 284.8000000000001 255.7 254.0000000000001 246.0000000000001 242.8000000000001C229.3000000000001 223.6000000000001 210.5 234.0000000000001 210.5 234.0000000000001C210.3000000000001 223.1 220.9 215.1 231.7 214.7zM249.5000000000001 223.5C257 234.9000000000001 274.9000000000001 249.5000000000001 294.4000000000001 260.5C297.4000000000001 251.4000000000001 297.8 232.8000000000001 287.4000000000001 225.1C271.1 213 255.2000000000001 220.1 249.5000000000001 223.5C249.4000000000001 223.4 249.5000000000001 223.5 249.5000000000001 223.5zM263 26.6C264.9 24.7 265.2 22 263.9 18.7C260.4 9.8000000000001 252.5 2.6 250.2 0.6C247.1 -2 242.8 -3.6 238.4 -3.6S230.1 -1.9999999999999 227.4 0.9C219.9 8.9 215.4 17.6 214.4 20.2C213.8 21.7 213.1 24.6 215.3 26.9C217 28.7 220 29.6 224.2 29.6H253.6C259 29.5 261.7 27.9 263 26.6zM164.7 278.1C174.6 272.1 183.5 270 192 269.8C200.5 270 209.4 272.1 219.3 278.1C219.3 278.1 204.8 260.4000000000001 192.1 260.3H191.9C179.2000000000001 260.5 164.7000000000001 278.1 164.7000000000001 278.1zM349.2 130.7000000000001C346.8 112.8000000000001 336.2 96.9 324.6 87.0000000000001C321.5 109.7000000000001 320.9 142.5000000000001 320.9 149.4C320.9 164.1 330.4 173.9 333.1 175.5000000000001C335.6 177.0000000000001 338.5 178.5000000000001 341.4 180.1000000000001C359.4 189.7000000000001 381.8 201.7000000000001 381.8 223.8000000000001C381.8 240.0000000000001 372.5 247.0000000000001 366.4 251.6000000000001C365.6 252.2000000000001 364.9 252.7000000000001 364.2 253.3000000000001C362.1 255.0000000000001 360.5 256.3000000000001 359.9 257.7000000000001C355.5 267.5000000000001 356.3 291.9000000000001 358.2 295.3000000000001C358.8 295.9000000000001 374.9 316.2000000000001 370 334.5000000000001C368 341.9000000000001 363.1 347.8000000000001 355.9 351.5000000000001C350.6 354.2000000000001 344 355.7000000000001 336.4 356.0000000000001C336.3 358.0000000000001 335.9 359.9000000000001 335.5 361.9000000000001C334.9 364.5000000000001 334.4 367.2000000000001 334.6 370.0000000000001C335 374.7000000000001 335.4000000000001 379.0000000000001 336.8 381.3000000000001C345.2 394.6000000000001 365.6 398.9000000000001 365.8 398.9000000000001L378.1 401.3000000000001L370 410.8000000000001C369.9 411.0000000000001 352.7 428.3000000000001 323.7 428.3000000000001C315.8 428.3000000000001 307.7 427.0000000000001 299.6 424.4000000000001C275.4 416.6000000000001 256.7 393.9000000000001 250.2 385.1000000000001C247.1 386.1000000000001 243.9 387.0000000000001 240.6 387.8000000000001C236.4 403.6000000000001 249.6 426.3000000000001 249.6 426.3000000000001S236 429.3000000000001 215.9 411.1000000000001C213.3 417.6000000000001 207.8 431.6000000000001 214.1 448.3000000000001C184.6 437.9 177.2 422 175 407.6C167.4 413 168.3 430.7 167.8 435.2C160.3 434.3 138.6 413.3 139.6 386.9C137.6 386.4 135.7 385.8 133.7 385.2C127.2 394 108.6 416.7 84.3 424.5C76.4 426.7 68.3 428 60.4 428C31.4 428 14.3 410.7 14.1 410.5L6 401.1L18.3 398.7C18.5 398.7 38.9 394.4 47.3 381.1C48.7 378.9 49.1 374.5 49.5 369.8C49.7 367 49.1 364.3 48.6 361.7C48.2 359.8 47.8 357.8 47.7 355.8C40 355.5 33.5 354 28.2 351.3C21 347.6 16.1 341.7 14.1 334.3C9.1 316.1 25.3 295.8 25.9 295.1C27.8 291.7 28.6 267.3 24.2 257.5C23.6 256.1 22 254.8 19.9 253.1C19.2 252.6 18.5 252 17.7 251.4C11.6 246.8 2.3 239.7 2.3 223.6C2.3 201.5 24.7 189.5 42.7 179.9C45.7 178.3 48.5 176.8 51 175.3C53.7 173.6999999999999 63.2 163.9 63.2 149.1999999999999C63.2 142.3 62.6 109.4999999999999 59.5 86.8C47.9 96.6999999999999 37.3 112.6999999999999 34.9 130.6C34.9 130.6 5.7 107.9999999999999 14.3 59.8C19.5 30.3 37.5 13.6999999999999 61.3 5.1C70.1 -14.0000000000001 90.7 -40.6 128.6 -44.5000000000001C143 -56.3 163 -64 192.2 -64H192.4C221.5 -64 241.5 -56.3 256 -44.5C293.9 -40.6 314.5 -14 323.3 5.1C347.1 13.8 365 30.3 370.3 59.8C378.5 108.2 349.2 130.7000000000001 349.2 130.7000000000001zM305.7 410.3C311.3 412.1 317.3 413 323.4 413C334.4 413 343.3 410 348.1 408C345 406.6 341.7 404.8 338.4 402.7C336 403.1 332.8 403.5 329.2 403.5C318.7 403.5 308.7 400.4 300.5 394.6C288.2 385.9 282.5 377.7 279.8 372.2C277.6 373.5 275.3 374.7 272.7 375.9C271.1 376.7 269.6 377.4 268 378.1C274.1 387.2 287.9 404.6 305.7 410.3zM326.7 392.1C325.9 391.1 325.1 390 324.4 388.9C321.1 383.7 320.5 377.3 320 371.1C319.5 364.7 318.9 358.6 315.6 354.1C311.4000000000001 353.3 307.5 352.4 304.1 351.4C301.8 354.5 298.5 358.4 293.6 362.6C295 367.4 299.1 378.7 307.1 385.1C312.7000000000001 389.4 319.3 391.8 326.7000000000001 392.1zM45.6 402.7C42.3 404.9 39 406.7 35.9 408C40.7 410 49.6 413 60.6 413C66.7 413 72.6 412.1 78.3 410.3C96.1 404.5 109.9 387.1 116 378.2C114.4 377.5 112.8 376.8 111.2 376C108.7 374.8 106.3 373.5 104.1 372.3C101.5 377.7 95.8 386 83.4 394.7C75.1 400.5 65.2 403.6 54.6 403.6C51.2 403.5 48 403.1 45.6 402.7zM90.3 362.6C85.4 358.4 82 354.6 79.8 351.4C76.4 352.3 72.5 353.3 68.3 354.1C65 358.5 64.5 364.6 64 371C63.5 377.2 62.9 383.6 59.6 388.8C58.9 389.9 58.1 391 57.3 392C64.7 391.7 71.3 389.4 76.8 385C84.8 378.7 88.9 367.4 90.3 362.6zM58.1 188.1C55.4 189.7000000000001 52.5 191.2000000000001 49.7 192.7C34.8 200.7 19.5 209 19.5 223.2C19.5 234.3 23.8 237.8 28.4 241.4L28.9 241.8C29.6 242.4 30.3 243 31.1 243.6C30.2 236.4000000000001 29.2 230.3 28.4 228.7C28.4 228.7 40.5 243.7 44.1 273C45.5 284.5 43 307.3 39 316C39.2 311.1 39 306.2 38.7 301.6C38.3 302.4 37.9 303.2 37.4 303.8C34.2 307.8 25.6 321.3 28 330.4C28.9 333.9 31.1 336.4 34.7 338.2C38.5 340.1 43.5 341.1 49.8 341.1C62.1 341.1 75.7 337.4 82.7 335.1C107.8 327.1 138.1 304.2 146.8 297.4C147 297.2 147.2 297.1 147.2 297.1L152.8 293.2L149.3 299C149.1 299.3 130.2 330.4 96.1 345.5C98.1 348.4 103.5 353.6 117.7 360.6C139.1 371.1 164.2 376.4 192 376.4C219.9 376.4 244.9 371.1 266.3 360.6C280.5 353.7 285.9000000000001 348.4 287.9000000000001 345.5C253.9000000000001 330.4 235.0000000000001 299.3 234.8000000000001 299L231.3000000000001 293.2L236.9000000000001 297.1S237.1 297.2 237.3000000000001 297.4C246.0000000000001 304.2 276.3000000000001 327.2 301.4000000000001 335.1C308.4000000000001 337.3 322.0000000000001 341.1 334.3 341.1C340.6 341.1 345.6 340.1 349.4000000000001 338.2C352.9000000000001 336.4 355.1 333.8 356.1 330.4C358.6 321.3 350 307.8 346.7000000000001 303.8C346.2000000000001 303.2 345.8000000000001 302.5 345.4000000000001 301.6C345.1 306.2 344.9000000000001 311.1 345.1 316C341.1 307.2 338.6 284.5 340 273C343.6 243.7 355.7 228.7 355.7 228.7C354.9 230.3 353.9 236.4 353 243.6C353.7 243 354.5 242.4 355.2 241.8L355.7 241.4C360.3 237.7 364.6 234.3 364.6 223.2C364.6 209 349.2 200.7 334.4 192.7C331.5 191.2 328.7 189.6 326 188.1C317.3 183.1 308 171.4 306.9 153.9C306 139.3 307.8 104 310.3 78C297.9 73.2 283.6 71.6 270.6 71.2C268.6 75.3 266.7 79.7 265.1 84.3C264.4 86.3 245.5 135.4 238.7 146.5C244.2 107.5 256.2 72.8 262.2 56.9C258.7 57.4 254.8999999999999 57.6 250.5 57.6H133.5C129.0999999999999 57.6 125.2 57.3 121.8 56.9C127.8 72.8 139.9 107.5 145.3 146.5C138.5 135.3 119.6 86.2 118.9 84.3C117.3 79.7 115.4 75.3 113.4 71.2C100.4 71.6 86.2 73.2 73.7 78C76.2 104 77.9999999999999 139.2 77.1 153.9C76.2 171.3 66.8 183.1 58.1 188.1zM34.8 43.4C22.7 63.4 26.1 97.5 31.1 102.5C42 68.1 78.3 58.2 105.5 57.1C102.8 52.9 100.3 49.5 98.5 47.1L97.1 45.7C89.9 37.9 88.5 27.2 93 13.9C70.3 14.0000000000001 46.7 23.7 34.8 43.4zM80.5 -0.1C86.5 -1.2 92.7 -2 99.1 -2.5C102.6 -10.5 106.5 -18.4 111.4 -25.6C97 -19.7 87 -9.6 80.5 -0.1zM192 -50.2C131.4 -50.1 113.7 -4.4 107.1 14.5C103.4 25 103.7 32.7 108 37.6C110.9 40.9 117.5 44.8 132.6 44.8H251.4C266.5 44.8 273.2 40.9 276 37.6C280.2 32.8 280.5 25 276.9 14.5C270.3 -4.3 252.6 -50.1 192 -50.2zM272.6 -25.6C277.5 -18.4 281.4000000000001 -10.4999999999999 284.9000000000001 -2.4999999999999C291.3 -1.9999999999999 297.5000000000001 -1.1999999999999 303.5000000000001 -0.1C297.0000000000001 -9.6 287.0000000000001 -19.7 272.6000000000001 -25.6zM349.2000000000001 43.4C337.2000000000001 23.7 313.6 14.1 291.1 13.7C295.6 27.0000000000001 294.2000000000001 37.8000000000001 287 45.5000000000001C286.6 46.0000000000001 286.1 46.5000000000001 285.6 47.0000000000001C283.8 49.4 281.3 52.8000000000001 278.6 57.0000000000001C305.8 58.2000000000001 342.1 68.0000000000001 353 102.4C358 97.4 361.4 63.3 349.2 43.4z" glyph-name="grunt" horiz-adv-x="384" unicode=""/><glyph d="M209.8 56.9L195.7 32.3L191.1 -47.9C191.1 -56.8 162.8 -64 128 -64S64.9 -56.8 64.9 -47.9L59.1 31.5L44.2 56.9C85.4 39.6 170.2000000000001 40.2 209.8000000000001 56.9zM13.8 310.2L27.4 184.7C33.3 204.7 48.2 231.7 67.4 239.9C73.7 242.6 80.1 242.6 86.1 239C91.3 236 95.7 229.7 96.2 227.2C97.4 220.7 94.2 218.1 91.7 218.1C88.7 218.1 86.4 222.7 84.9 225.4C80.8 232.7 74.6 233 68 228.2C61.1 223.2 55.1 214.8 50.9 207.5C45.8 198.7 41.5 189 38.9 179.3C37.4 173.7 36 164.7 38.3 159.4C39.3 157.2000000000001 40.8 155.8 43.2 155.8C48.2 155.8 55.5 162.4 59 165.9C63.5 170.4 69.3 177.4 71.5 181.9L76.7 197.4C79.3 204.2000000000001 86.6 203 86.6 197.4C86.6 187.2000000000001 82.9 183.8 76.6 162.7000000000001C70.8 143.2000000000001 69 136.9 69 136.9C68.3 134.1 65.6 129.4 62.7 129.4C61.5 129.4 60.6 129.8 60.1 130.6C59.1 132 59.2 135.9 59.3 136.9C59.5 140.1 65.6 159.1 66.6 162.1C64.6 159.9 62.5 157.7000000000001 60.2 155.5C54.8 150.4 46.1 143.7 38.7 143.7C35.3 143.7 33.1 144.6 31 146.1L38.6 66.5C40.6 61.5 77.8 49.4 126.8 49.4C175.9 49.4 213.1 61.6 215 66.5L225.9000000000001 161.1C220.2000000000001 155.9 213.6 149.5 206.3000000000001 146.3C200.9 144 188.9 142.5 188.9 152C188.9 157.2 198 166.8 203.3000000000001 173.5C204.7000000000001 175.2 208 179.4 208 181.6C208 184.5 202 183.8 196.3000000000001 179.1C193.1000000000001 176.4 190.1000000000001 172.8 187.6000000000001 169.4C183.3000000000001 163.4 181.0000000000001 158.2000000000001 179.1000000000001 153.9C172.9000000000001 139.7000000000001 175.0000000000001 145.3 170.0000000000001 131.9C165.0000000000001 118.6 165.8000000000001 120.1 164.8000000000001 117.9C163.9000000000001 116.0000000000001 162.6000000000001 114.4 160.8000000000001 113.4C158.9000000000001 112.4 156.3000000000001 112.5000000000001 154.7000000000001 113.7000000000001C153.8000000000001 114.3000000000001 153.4000000000001 115.6 153.4000000000001 117.4C153.4000000000001 118.3 153.5000000000001 119.2000000000001 153.7000000000001 120.1C155.2000000000001 126.2000000000001 161.5000000000001 138.2000000000001 168.7000000000001 154.4C170.3000000000001 158.1 169.7000000000001 157.0000000000001 169.5000000000001 156.7000000000001C163.3000000000001 150.7000000000001 158.6000000000001 147.8000000000001 155.1000000000001 146.2000000000001C149.3000000000001 143.6 142.1000000000001 143.6 140.6000000000001 150.3000000000001C140.5000000000001 150.7000000000001 140.5000000000001 151.1000000000001 140.4000000000001 151.5000000000001C128.6000000000001 142.3000000000001 116.1000000000001 139.8000000000001 120.4000000000001 159.6000000000001C115.8000000000001 151.4000000000001 107.8000000000001 144.7000000000001 98.0000000000001 144.7000000000001C93.9000000000001 144.7000000000001 90.9000000000001 146.1000000000001 89.4000000000001 149.8000000000001C87.1000000000001 155.3000000000001 90.7000000000001 164.7000000000001 94.0000000000001 173.6000000000001C95.7000000000001 178.1000000000001 98.0000000000001 183.5000000000001 101.1000000000001 189.8000000000001C102.7000000000001 193.2000000000001 105.3000000000001 195.2000000000001 108.7000000000001 194.3000000000001C109.3000000000001 194.1000000000001 109.8000000000001 193.9000000000001 110.3000000000001 193.6000000000001C112.9000000000001 191.8000000000001 111.9000000000001 189.1000000000001 110.6000000000001 186.4000000000002C106.8000000000001 178.9000000000002 103.5000000000001 173.4000000000002 101.3000000000001 165.6000000000001C100.4000000000001 162.3000000000001 99.3000000000001 156.6000000000001 102.8000000000001 156.6000000000001C105.2000000000001 156.6000000000001 107.5000000000001 157.4000000000002 109.7000000000001 159.0000000000001C114.3000000000001 162.4000000000001 118.0000000000001 167.5000000000001 120.8000000000001 172.5000000000001C122.8000000000001 176.1000000000001 125.2000000000001 180.8000000000001 126.4000000000001 184.8000000000001C126.9000000000001 186.5000000000001 127.5000000000001 188.1000000000001 128.2000000000001 189.6000000000001C129.3000000000001 192.1000000000001 130.8000000000001 194.7000000000001 133.4000000000001 194.7000000000001C134.7000000000001 194.7000000000001 135.8000000000001 194.2000000000001 136.6000000000001 193.2000000000001C138.3000000000001 191.0000000000001 137.9000000000001 188.7000000000002 137.0000000000001 186.3000000000001C135.0000000000001 180.7000000000001 132.3000000000001 175.7000000000001 130.1000000000001 169.6000000000001C128.8000000000001 166.1000000000001 127.4000000000001 161.6000000000001 127.4000000000001 157.9000000000002C127.4000000000001 154.5000000000002 131.1000000000001 155.3000000000001 134.2000000000001 156.7000000000002C136.6000000000001 157.8000000000002 139.0000000000001 159.5000000000002 141.0000000000001 161.2000000000002C142.2000000000001 166.1000000000001 141.9000000000001 165.0000000000002 167.4000000000001 229.4000000000002C168.7000000000001 232.7000000000002 171.1000000000001 234.1000000000002 173.5000000000001 234.1000000000002C174.7000000000001 234.1000000000002 175.7000000000001 233.7000000000002 176.7000000000001 233.0000000000002C178.4 231.7000000000002 178.4 228.9000000000002 177.7000000000001 226.8000000000002C177.0000000000001 224.9000000000002 177.1000000000001 225.5000000000002 173.2000000000001 216.3000000000002C168.0000000000001 204.2000000000002 164.6000000000001 195.5000000000002 160.0000000000001 184.4000000000002C158.1000000000001 179.8000000000001 152.3000000000001 165.5000000000002 151.3000000000001 162.1000000000001C150.7000000000001 159.9000000000002 150.0000000000001 156.3000000000001 152.3000000000001 156.3000000000001C157.7000000000001 156.3000000000001 171.6000000000001 169.4000000000002 175.4000000000001 173.3000000000001C175.6000000000001 173.6000000000001 175.9000000000001 173.7000000000001 176.3000000000001 173.9000000000002C176.9000000000001 175.8000000000001 177.5000000000001 177.6000000000001 178.0000000000001 179.4000000000002C179.4000000000001 183.2000000000002 180.7000000000001 187.6000000000001 183.3000000000001 190.7000000000002C184.1000000000001 191.7000000000002 185.0000000000001 192.3000000000002 186.0000000000001 192.3000000000002C188.8000000000001 192.3000000000002 190.2000000000001 191.1000000000001 190.2000000000001 188.3000000000002C190.2000000000001 187.2000000000002 189.5000000000001 183.2000000000002 189.1000000000001 182.1000000000002C190.5000000000001 183.6000000000002 192.0000000000001 185.1000000000002 193.6000000000001 186.6000000000002C208.6000000000001 200.5000000000002 219.3000000000001 193.4000000000002 219.3000000000001 186.4000000000002C219.3000000000001 179.0000000000002 210.4 168.7000000000002 205.5 163.0000000000002C203.9 161.1000000000003 200.6 157.6000000000003 200.5 156.6000000000003C200.5 155.3000000000003 201.4 154.8000000000003 202.7 154.8000000000003C204.7 154.8000000000003 209.1 158.3000000000003 210.7 159.5000000000002C215.7 163.4000000000002 222.5 169.4000000000002 227.3 173.6000000000003L242.1 310.4000000000003C211.6 293.3000000000003 44.5 293.2000000000003 13.8 310.2000000000003zM243.5 318.7C243.5 297.7 12.3 297.7 12.3 318.7C12.3 327.5 64.1 334.6 127.9 334.6C136.9 334.6 145.7 334.5 154.2 334.2L166.8 382.9L228.1 447.4C229.5 448.8 233.9 447.6 238 443.9S244.6 436 243.3 434.6L243.2 434.5L185.9 374L175.9 333.3C215.8 330.7 243.5 325.2 243.5 318.7zM174.1 314.1C174.1 314.9 173.2 315.6 171.6 316.2L171.4 315.4C171.4 314.1 166.4 313 160.3 313S149.2 314.1 149.2 315.4C149.2 315.5 149.2 315.6 149.3 315.7L149.5 316.4C147.7 315.8 146.5 315 146.5 314.1C146.5 312 152.7 310.4 160.2 310.4C167.9 310.3 174.1 312 174.1 314.1z" glyph-name="gulp" horiz-adv-x="256" unicode=""/><glyph d="M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM21.2 218.8H21C21.1 218.9 21.2 219.1 21.3 219.2C21.3 219.1 21.3 218.9 21.2 218.8zM239.2 164.9V64H207.8V166.7L128 320H165.3C217.8 221.7 214.5 218.8 224.6 194.4C236.9000000000001 221.4 230.4000000000001 218.8 285.2000000000001 320H320L239.2 164.9z" glyph-name="hacker-news-square" horiz-adv-x="448" unicode=""/><glyph d="M0 416V-32H448V416H0zM21.2 218.8H21C21.1 218.9 21.2 219.1 21.3 219.2C21.3 219.1 21.3 218.9 21.2 218.8zM239.2 164.9V64H207.8V166.7L128 320H165.3C217.8 221.7 214.5 218.8 224.6 194.4C236.9000000000001 221.4 230.4000000000001 218.8 285.2000000000001 320H320L239.2 164.9z" glyph-name="hacker-news" horiz-adv-x="448" unicode=""/><glyph d="M453.5 320C439.01 344.95 261.13 448 232.16 448C203.2 448 25.25 345.21 10.84 320C-3.57 294.79 -3.65 89.2 10.84 63.99C25.33 38.79 203.22 -64 232.16 -64S439.01 38.92 453.49 64C467.97 89.08 467.98 295.05 453.5 320zM292.13 33.78C288.17 33.78 251.22 69.55 254.13 72.47C255 73.34 260.39 73.95 271.68 74.3C271.68 100.53 272.27 142.89 272.62 160.62C272.6600000000001 162.6399999999999 272.18 164.05 272.18 166.47H192.25C192.25 159.37 191.79 130.27 193.62 93.59C193.85 89.05 192.04 87.63 187.88 87.65C177.75 87.68 167.61 87.76 157.47 87.73C153.37 87.72 151.6 89.2599999999999 151.73 93.84C152.65 127.28 154.69 177.86 151.58 306.51V309.68C141.91 310.03 135.2 310.64 134.32 311.52C131.4 314.44 168.86 350.2099999999999 172.81 350.2099999999999C176.77 350.2099999999999 213.98 314.43 211.08 311.52C210.21 310.65 203.18 310.03 194.31 309.68V306.52C191.89 280.77 192.28 226.93 191.68 201.13H271.94C271.94 205.68 272.33 235.87 270.74 284.7699999999999C270.64 288.1599999999999 271.69 289.94 274.95 289.9699999999999C286.02 290.05 297.1 290.0999999999999 308.18 290.0299999999999C311.64 290.0099999999999 312.75 288.31 312.68 284.6499999999999C309.0300000000001 93.3599999999999 312.02 106.7099999999999 312.02 74.31C320.89 73.9599999999999 328.84 73.35 329.71 72.47C332.59 69.56 296.09 33.78 292.13 33.78z" glyph-name="hackerrank" horiz-adv-x="464.36" unicode=""/><glyph d="M0 367.8C0 369.6 0.9 370.5 2.7 370.5H43.6C45.5 370.5 46.4 369.6 46.4 367.8V286.6C61.6 294.3 78.1 298.1 96.2 298C120.2 297.9 140.4 291.8 156.5 280C175.2 266.5 184.5 248.1 184.5 224.7V88.6C184.5 86.7000000000001 183.6 85.8 181.8 85.8H154.5C145.4 85.8 138.1 93.1 138.1 102.1V224.7C138.1 225.6 140.8 251.7 92.3 251.7C43.7 251.7 46.5 225.5 46.5 224.7V88.6C46.5 86.7000000000001 45.6 85.8 43.7 85.8H2.7C0.9 85.8 0 86.7 0 88.6V367.8zM497.7 146.3C511.4 136.1 531.8 127.2 556.1 127.2C579.4 127.2 588.9 131.7 592.6 140.8C595.6 148.7 592 156.9 580.4 162L526.8 185.5C505.4 194.9 492.9999999999999 209.5 489.6 229.1C483.9 262.8 511.8 282.4 512.3 282.8C525.5 292.4 544.3 298.2000000000001 570.8 298.2000000000001C589.8 298.2000000000001 608.1999999999999 294.9 625.9 288.3C627.1999999999999 287.8 627.8 287 627.8 285.7000000000001V241C627.8 238.9 625.5 237.6 623.8 238.6C584.0999999999999 259.3 547.1999999999999 250.9 539.8 245.4C533.1999999999999 240.5 533.8 232.9 542.4 229.3L600 204C616.5 196.9 628.1 185.6 634.9 169.9C640.4 157.3 641.5 144.3 638 130.8C628.4 93.9 593.1 85.3 592.4 84.9999999999999C581.9 81.8999999999999 568.8 80.6999999999999 556.1 80.6999999999999C539.5 80.6999999999999 523.5 83.3999999999999 507.9 88.8999999999999C498.2 92.2999999999999 493.3 99.1999999999999 493.3 109.5999999999999V144C493.3 146.1 495.6 147.7 497.7 146.3zM376.2 298.2C344.5 298.2 272 278.1 272 194.7V11.2C272 10.4 272.6 8.5 274.7 8.5H315.6C317.5 8.5 318.4 9.4 318.4 11.2V100C334.9 87.3 354.2 80.9 376.1 80.9C436.6 80.9 484.8 129.4 484.8 189.6C484.9 249.9 436.6 298.2 376.2 298.2zM376.2 127.3C359 127.3 344.3 133.4 332.2 145.5C320 157.6999999999999 314 172.3 314 189.5C314 224 341.6 251.7 376.2 251.7C410.7 251.7 438.4 224.0999999999999 438.4 189.5C438.5 155.1999999999999 411.1 127.3 376.2 127.3zM251.6 88.6C251.6 86.7 250.7 85.8 248.8 85.8H207.9C206.3 85.8 205.2 87.1999999999999 205.2 88.6V290.4C205.2 291.8 206.3 293.2000000000001 207.9 293.2000000000001H248.8C250.7 293.2000000000001 251.6 292.3 251.6 290.4V88.6M228.3 375.5C244.2 375.5 257.2 362.8 257.2 346.6C257.2 330.8 244.5 317.7 228.3 317.7S199.4 331 199.4 346.6C199.5 362.6 212.4 375.5 228.3 375.5" glyph-name="hips" horiz-adv-x="640" unicode=""/><glyph d="M443.1 448H71.9C67.9 410.7 37.4 380.2 0 376.3V4.8C37.4 -0.1 66 -27.6 71.9 -64H444.1C447.1 -27.6 476.6 1.8 512 5.8V376.3C475.6 382.2 447 411.6 443.1 448zM406.1 43.1C369.8 43.1 387.3 45.1 351 45.1C315.2 45.1 330 43.1 294.9 43.1C289 43.1 290 51.3 294.9 52.9C317.7 60.5000000000001 317.8 63.1 319.5 65.7000000000001C329.9 81.3000000000001 325.4 148.7000000000001 325.4 178.7000000000001C325.4 184.0000000000001 319 191.5000000000001 311.6 191.5000000000001H200.4C193 191.5000000000001 186.6 184.0000000000001 186.6 178.7000000000001C186.6 148.7000000000001 182.1 81.3000000000001 192.5 65.7000000000001C194.2 63.2000000000001 194.3 60.5000000000001 217.1 52.9C222 51.3 223.1 43.1 217.1 43.1C182 43.1 196.8 45.1 161 45.1C124.7 45.1 142.2 43.1 105.9 43.1C98 43.1 100.1 53.9 105.9 53.9C116.1 57.3 119.4 57.4 127.6 67.7000000000001C135.3 80.6 135.5 112.1 135.5 195.5000000000001V296.7C135.5 318.9 123.3 325 106.9 329.1C98.1 331.3 102.9 340.9 107.9 340.9C144.4 340.9 128.5 338.9 165 338.9C197.7 338.9 181.5 340.9 214.2 340.9C217.5 340.9 222.7 332.6 215.2 330.1C210.3 328.5 187.6 326.4 187.6 290.8C187.6 245.2 187.4 235 188.6 222C188.6 220.7 190.9 209.2 201.4 209.2H310.6C321.1 209.2 323.4000000000001 220.7 323.4000000000001 222C324.6 235 324.4000000000001 245.2 324.4000000000001 290.8C324.4000000000001 326.4 301.7000000000001 328.5 296.8 330.1C289.3 332.6 294.5 340.9 297.8 340.9C330.5 340.9 314.3 338.9 347 338.9C383.5 338.9 367.6 340.9 404.1 340.9C409 340.9 414 331.3 405.1 329.1C388.7000000000001 325 376.5 318.8 376.5 296.7000000000001V195.5C376.5 112.1 376.6 80.6 384.4 67.7C392.6 57.5 395.8 57.3 406.1 53.9C411.9 53.9 413.9 43.1 406.1 43.1z" glyph-name="hire-a-helper" horiz-adv-x="512" unicode=""/><glyph d="M508.4 96H566.3V291.3L508.4 264V96zM582.1 206.5V96H640V206.5H582.1zM331.4000000000001 215.4C313.2000000000001 233.6 281.0000000000001 232.5 281.0000000000001 232.5S248.8000000000001 233.6 230.6000000000001 215.4C228.7000000000001 213.5 226.9000000000001 211.5 225.3000000000001 209.4C187.1 239 152.8000000000001 255.9 123.2000000000001 270.5V291.2L100.7000000000001 280.6C46.3000000000001 302.7 11.7 298.8 3.4 280.5C3.4 280.5 -21.4999999999999 247.7 65.3 169.6V200.6C16.5 255.2 26.3 276.7000000000001 30 279.8C43.5 291.2000000000001 67.5 287.8 94.4000000000001 277.7000000000001L65.2 264V200.7C78.3 186 95.7 169.2 118.7 150.3L123.2 146.7V176.5C123.2 183.4 124.9 194.7 134 194.7S144.6 187.8 144.6 179.7V131C162.6 118.8 181.9 108.9 202.3 101.4V195.3C202.3 214 188.9 232.7 161.7 232.7C145.9 232.8 131.2 224.5 123.2 210.8V265.1C165.1 244.2 207.1 218.6 223.1 206.8C212.9 192.2 213.8 178.6999999999999 213.8 163.1C213.8 144.4 212.4 128.8 230.6 110.6C248.8 92.4 281 93.4999999999999 281 93.4999999999999S313.3 92.3999999999999 331.4 110.6C349.6 128.8 348.1 144.4 348.1 163.1C348.1 181.6 349.6 197.3 331.4 215.4zM291.7000000000001 143.5C291.7000000000001 139.9 289.9000000000001 131 281.0000000000001 131C272.1000000000001 131 270.3000000000001 139.9 270.3000000000001 143.5V183.9C270.3000000000001 192.6 277.6000000000001 194.8 281.0000000000001 194.8C284.4000000000001 194.8 291.7000000000001 192.7 291.7000000000001 183.9V143.5zM477.4 215.4C459.2 233.6 427.0000000000001 232.5 427.0000000000001 232.5S394.7000000000001 233.6 376.6000000000001 215.4C358.4000000000001 197.2 359.8000000000001 181.5 359.8000000000001 162.8C359.8000000000001 144.1 358.4000000000001 128.5 376.6000000000001 110.3C394.8000000000001 92.1 427.0000000000001 93.2 427.0000000000001 93.2S459.3000000000001 92.1 477.4 110.3C495.6 128.5 494.2 144.1 494.2 162.8C494.1 181.6 495.5000000000001 197.3 477.4 215.4zM437.6 143.5C437.6 139.9 435.8 131 426.9000000000001 131C418.0000000000001 131 416.2000000000001 139.9 416.2000000000001 143.5V183.9C416.2000000000001 192.6 423.5000000000001 194.8 426.9000000000001 194.8C430.3 194.8 437.6 192.7 437.6 183.9V143.5zM611.1 216.5C627 216.5 640 229.4 640 245.4S627.1 269.9 611.1 269.9C595.2 269.9 582.2 261.3 582.2 245.4S595.1 216.5 611.1 216.5zM144.5 96L182.8 95.2C169.6 99.8 156.8 105.4 144.5 112V96zM123.1 96V124.6C116.6 128.8 110.1 133.3 103.7 138.2000000000001C88.9 149.4 76.2 159.9 65.2 169.7000000000001V96H123.1zM182.8 95.2C219.3 82.7 252.7 81 277.5 88C257.6 87.8 231.7 90.6 202.2 101.3V96L182.8 95.2z" glyph-name="hooli" horiz-adv-x="640" unicode=""/><glyph d="M75.37 77.7C77.51 61.87 69.6 45.72 54.43 38.41C35.58 29.3099999999999 12.88 37.24 3.75 56.09C-5.33 74.92 2.62 97.67 21.45 106.74C28.5 110.1399999999999 36.08 111.16 43.3 110.12C-34.98 221.47 95.3 300.65 95.3 300.65C89.44 257.61 87.06 209.49 87.06 209.49C19.75 168.04 87.98 145.43 126.87 136.62C146.64 82.9999999999999 198.05 44.68 258.5300000000001 44.68C260.4500000000001 44.68 262.3 44.8899999999999 264.2000000000001 44.9599999999999L264.3100000000001 26.0999999999999C165.0900000000001 24.7099999999999 105.6100000000001 55.2399999999999 75.3700000000001 77.6999999999999zM183.38 405.4C184.27 412.4 183.28 419.73 179.99 426.55C170.89 445.39 148.17 453.33 129.33 444.24C110.47 435.14 102.53 412.41 111.64 393.56C118.62 379.0900000000001 133.66 371.14 148.82 372.33C126.27 342.42 94.99 282.76 96.4 182.3L118.24 182.45C118.22 183.35 118.1 184.22 118.1 185.13C118.1 244.08 154.47 294.46 205.95 315.29C213.96 353.04 236.6900000000001 429.59 279.79 359.58C279.79 359.58 327.93 357.2 370.9700000000001 351.34C370.9700000000001 351.35 293.13 479.37 183.38 405.4zM487.56 271.23C506.4 280.3200000000001 514.37 303.04 505.26 321.88C496.16 340.73 473.43 348.6500000000001 454.59 339.5700000000001C439.32 332.2000000000001 431.4 315.88 433.72 299.93C402.01 321.87 343.88 348.98 250.27 347.67L250.41 325.17C253.11 325.3200000000001 255.8 325.5800000000001 258.55 325.5800000000001C317.85 325.5800000000001 368.45 288.7800000000001 389.04 236.82C428.14 227.8 494.1 205.24 427.5 164.28C427.5 164.28 425.16 116.15 419.29 73.12C419.29 73.12 552.74 154.28 468.2499999999999 267.73C474.6799999999999 267.23 481.3199999999999 268.2200000000001 487.5599999999999 271.23zM373.05 11.76C394.48 44.22 419.4700000000001 101.45 418.19 191.42L398.67 191.28C398.75 189.22 398.9700000000001 187.21 398.9700000000001 185.13C398.9700000000001 124.86 360.92 73.58 307.5800000000001 53.68C298.73 14.73 276.1400000000001 -52.98 234.8100000000001 14.19C234.8100000000001 14.19 186.6900000000001 16.53 143.6200000000001 22.41C143.6200000000001 22.41 223.5400000000001 -108.9299999999999 335.5200000000001 -28.5599999999999C335.8300000000001 -33.28 336.9700000000001 -38.0099999999999 339.1600000000001 -42.53C348.2200000000001 -61.42 370.9600000000001 -69.3099999999999 389.8000000000001 -60.2399999999999C408.6600000000001 -51.1399999999999 416.5900000000001 -28.41 407.5000000000001 -9.59C400.9400000000001 4.03 387.2400000000001 11.84 373.0500000000001 11.76z" glyph-name="hornbill" horiz-adv-x="509.02" unicode=""/><glyph d="M414.9 286.5C340.2 419 121.1 448 121.1 448S222.2 337.6 93 250.3C11.3 195.2 -21 123.6 14 45.4C40.8 -14.5 97.5 -38.9 158.6 -48C129.4 7.1 152 74.4 154.5 81.6C211.6 -4.8 319.5 81.6 265.3 175.5C336.3 160.1 346.9 36.9 292.4000000000001 -40C372.9000000000001 -14.7 426.5 48.9 441.2000000000001 105.6C456.7 164.9 444.9000000000001 233.5000000000001 414.9000000000001 286.5z" glyph-name="hotjar" horiz-adv-x="448" unicode=""/><glyph d="M258.9 117.3H154.3V-32H0V416H109.5V311.5L414.6 225.9V-32H258.9V117.3z" glyph-name="houzz" horiz-adv-x="414.6" unicode=""/><glyph d="M0 416L34.9 20.2L191.5 -32L349.1 20.2L384 416H0zM308.2 288.1H124.4L128.5 238.7H304.1L290.5 90.3L192.6 63.3V62.9999999999999H191.5L92.8 90.3L86.8 166.1H134.5L138 128L191.5 113.5L245.2 128L251.2 190.2H84.3L71.5 335.8H312.6L308.2000000000001 288.1z" glyph-name="html5" horiz-adv-x="384" unicode=""/><glyph d="M267.4 236.4C242.3 212.7 226.6 179.1 226.6 141.8C226.6 112.5 236.3 85.5 252.6 63.8L203.1 14C198.7 15.6 194 16.5 189.1 16.5C178.3 16.5 168.2 12.3 160.6 4.7C153 -2.9 148.8 -13.1 148.8 -23.9S153 -44.8 160.6 -52.4C168.2 -60.0000000000001 178.4 -64 189.1 -64C199.9 -64 210 -60.1 217.7 -52.4C225.3 -44.8 229.5 -34.6 229.5 -23.9C229.5 -19.7 228.9 -15.7 227.6 -11.8L277.6 38.4C299.6 21.5000000000001 327 11.5000000000001 356.9000000000001 11.5000000000001C428.8000000000001 11.5000000000001 486.9 69.8000000000001 486.9 141.7000000000001C486.9 206.9 439.2000000000001 260.9000000000001 376.7000000000001 270.4000000000001V332C394.2000000000001 339.4 404.9000000000001 355.8 404.9000000000001 374.9C404.9000000000001 401 384.0000000000001 422.8 357.9000000000001 422.8S311.2 401 311.2 374.9C311.2 355.8 321.9 339.4 339.4 332V270.8C324.2 268.7000000000001 309.8 264.1 296.7 257.2000000000001C269.1 278.1 179.2 342.9000000000001 127.8 382C129 386.4000000000001 129.8 391 129.8 395.8C129.8 424.6 106.3 448 77.4 448C48.6 448 25.2 424.6 25.2 395.8C25.2 366.9 48.6 343.5 77.4 343.5C87.2 343.5 96.3 346.4 104.2 351.1L267.4 236.4zM356.9 72.8C318.8 72.8 287.9 103.7 287.9 141.8S318.8 210.8 356.9 210.8S425.9 179.9 425.9 141.8S395 72.8 356.9 72.8z" glyph-name="hubspot" horiz-adv-x="512" unicode=""/><glyph d="M350.5 159.3C350.5 153.9 352.1 144.9 344.3 144.9C342.7 144.9 341.3 145.7000000000001 340.5 147.3C338.3 152.4 339.4 191.4 339.4 192C339.4 195.8 338.3 204.7 344.3 204.7C351.6 204.7 350.5 197.4 350.5 192V159.3zM265 218.1C265 227.8 266.6 234.1 254.7 234.1V150.4C266.9 150.1 265 159.1 265 168.8V218.1zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM21.3 219.2C21.2 219.1 21.1 218.9 21 218.8H21.3V219.2zM97 256H64V128.2H97V256zM210.3 256H167.2L159.6 196.1C156.9 216.1 154.2 236.2 150.9 256H108.1V128.2H137.1V212.7L149.3 128.2H169.9L181.5 214.6V128.2H210.2V256zM296.6 210.7C296.6 218.8 296.9000000000001 227.5 295.2000000000001 235.1C290.9000000000001 257.6 263.8000000000001 256 246.2000000000001 256H221.6000000000001V128.2C307.7000000000001 128.1 296.6 122.2 296.6 210.7zM382.5 193.4C382.5 210.7 381.7 223.5 360.3 223.5C351.4000000000001 223.5 345.4000000000001 220.8 339.4000000000001 214.3V256H307.7000000000001V128.2H337.5000000000001L339.4000000000001 136.3C345.1 129.5 351.3 126.5 360.3 126.5C380.1 126.5 382.5 141.7 382.5 157.4V193.4z" glyph-name="imdb" horiz-adv-x="448" unicode=""/><glyph d="M224.1 307C160.5 307 109.2 255.7 109.2 192.1S160.5 77.2 224.1 77.2S339 128.5 339 192.1S287.7 307 224.1 307zM224.1 117.4C183 117.4 149.4 150.9 149.4 192.1S182.9 266.8 224.1 266.8S298.8 233.3 298.8 192.1S265.2 117.4 224.1 117.4zM370.5 311.7C370.5 296.8 358.5 284.9 343.7 284.9C328.8 284.9 316.9 296.9 316.9 311.7S328.9 338.5 343.7 338.5S370.5 326.5 370.5 311.7zM446.6 284.5C444.9000000000001 320.4 436.7000000000001 352.2 410.4000000000001 378.4C384.2000000000001 404.6 352.4000000000001 412.8 316.5 414.6C279.5 416.7 168.6 416.7 131.6 414.6C95.8 412.9 64 404.7 37.7 378.5S3.3 320.5 1.5 284.6C-0.6 247.6 -0.6 136.7 1.5 99.7C3.2 63.8 11.4 32 37.7 5.8S95.7 -28.6 131.6 -30.4C168.6 -32.5000000000001 279.5 -32.5000000000001 316.5 -30.4C352.4 -28.7 384.2 -20.5000000000001 410.4 5.8C436.6 31.9999999999999 444.8 63.8 446.6 99.6999999999999C448.7 136.6999999999999 448.7 247.5 446.6 284.5zM398.8 60C391 40.4 375.9000000000001 25.3 356.2 17.4C326.7 5.7 256.7 8.4 224.1 8.4S121.4 5.8 92 17.4C72.4 25.2 57.3 40.3 49.4 60C37.7 89.5 40.4 159.5 40.4 192.1S37.8 294.8 49.4 324.2C57.2 343.8 72.3 358.9 92 366.8C121.5 378.5 191.5 375.8 224.1 375.8S326.8 378.4 356.2 366.8C375.8 359 390.9 343.9 398.8 324.2C410.5 294.7 407.8 224.7 407.8 192.1S410.5 89.4 398.8 60z" glyph-name="instagram" horiz-adv-x="448" unicode=""/><glyph d="M392 416H56C25.1 416 0 390.9 0 360V24C0 -6.9 25.1 -32 56 -32H392C422.9 -32 448 -6.9 448 24V360C448 390.9 422.9 416 392 416zM283.7 333.9C283.7 353.7 313.6 353.7 313.6 333.9V134.4C313.6 114.6 283.7 114.6 283.7 134.4V333.9zM209.1 341.4C209.1 361.2 239 361.2 239 341.4V124.9C239 105.1 209.1 105.1 209.1 124.9V341.4zM134.4 333.9C134.4 353.7 164.3 353.7 164.3 333.9V134.4C164.3 114.6 134.4 114.6 134.4 134.4V333.9zM59.7 304C59.7 323.8 89.6 323.8 89.6 304V169.7C89.6 149.9 59.7 149.9 59.7 169.7V304zM383.1 76.2C310.3 13.2 141.4 10.8 64.9999999999999 76.2C49.9999999999999 89 69.4 111.7 84.4 98.9C150.3 43.6 300.5 45 363.7 98.9C378.5999999999999 111.8 398 89.1 383.0999999999999 76.2zM388.3 169.7C388.3 149.9 358.4 149.9 358.4 169.7V304C358.4 323.8 388.3 323.8 388.3 304V169.7z" glyph-name="intercom" horiz-adv-x="448" unicode=""/><glyph d="M483.049 288.294C493.904 312.8690000000001 504.473 348.7320000000001 504.473 376.165C504.473 448.887 424.832 474.536 294.8 414.742C187.168 421.923 83.579 341.072 57.7019999999999 228.2850000000001C88.554 263.1470000000001 135.973 310.5830000000001 179.679 329.4430000000001C125.404 281.15 79.128 219.998 43.992 156.275C23.246 118.349 0 57.06 0 11.253C0 -87.322 92.854 -75.2470000000001 180.251 -30.753C211.674 -46.183 246.81 -46.326 281.9460000000001 -46.326C379.0700000000001 -46.326 466.1950000000001 7.968 498.76 99.696H377.927C325.418 11.103 181.108 46.7 181.108 147.132H509.9C516.307 190.713 508.245 242.847 483.049 288.294zM64.559 101.123C82.27 49.973 118.262 5.252 164.825 -22.181C76.084 -71.1210000000001 -8.442 -51.277 64.559 101.1229999999999zM180.536 209.996C182.536 265.147 230.812 304.867 284.516 304.867C337.9340000000001 304.867 386.497 265.147 388.497 209.996H180.536zM365.072 397.596C386.497 407.883 413.635 419.599 437.63 419.599C469.052 419.599 491.904 397.882 491.904 365.877C491.904 345.874 484.477 316.87 477.335 298.01C451.0549999999999 340.302 411.349 379.594 365.072 397.596z" glyph-name="internet-explorer" horiz-adv-x="512" unicode=""/><glyph d="M407.4 416H40.6C18.2 416 0 397.8 0 375.4V8.6C0 -13.8 18.2 -32 40.6 -32H407.4000000000001C429.8 -32 448.0000000000001 -13.8 448.0000000000001 8.6V375.4C448.0000000000001 397.8 429.8000000000001 416 407.4000000000001 416zM176.1 302.4C176.5 279 153.7 275.1 149.5 275C134.6 275 122.4 287 122.4 302C122.5 337.2 175.5 337.5 176.1 302.4zM332.8 71C267.2000000000001 71 298.7 145 307.8 177.6C321.9000000000001 224 262.6 236.6 247.9 176.9L222.1 73.6H177L185.1 106.1C153.6 54.3 90.5 61.7000000000001 90.5 110.4C90.6 124.7000000000001 91.4 124.4 113.5 214.5H81.7L91.4 250.1H167.8C134.2 116.4 135.2 123.2000000000001 134.9 111.9C134.9 91.0000000000001 175.8 98.4 192.3 135.1L212.1 214.5H179.8L189.5 250.1H258.3L249.4 209.6C289.9 285.1 377.3 257.4000000000001 351.2 171.6C337 120.5 336.6 120.9 336.3 112.8C336.3 97.3 353.8 90.2 368.1 129.7L386 123C375.5 86.3 356.6 71 332.8 71z" glyph-name="invision" horiz-adv-x="448" unicode=""/><glyph d="M616 288H548.7C511.2 377.3 422.9 440 320 440C183 440 72 329 72 192C72 175.6 73.6 159.5 76.7 144H24C10.7 144 0 133.2 0 120C0 106.7 10.7 96 24 96H91.3C128.8 6.7 217.1 -56 320 -56C457 -56 568 55 568 192C568 208.4 566.4 224.5 563.3 240H616C629.3 240 640 250.8 640 264C640 277.3 629.3 288 616 288zM520 192C520 81.5 430.5 -8 320 -8C244.3 -8 178.4 34 144.5 96H424C437.3 96 448 106.8 448 120C448 133.3 437.3 144 424 144H125.8C122 159.4 120 175.4 120 192C120 302.5 209.5 392 320 392C395.7 392 461.6 350 495.5 288H216C202.7 288 192 277.2 192 264C192 250.7 202.7 240 216 240H514.2C518 224.6 520 208.6 520 192zM216 216H424C437.3 216 448 205.3 448 192C448 178.8 437.3 168 424 168H216C202.7 168 192 178.7 192 192C192 205.2 202.7 216 216 216z" glyph-name="ioxhost" horiz-adv-x="640" unicode=""/><glyph d="M381.9 59.8C375.5 32.4 354.7 17 326.8 11.8C302.3 7.3 281.9 6.2 262.3 22C238.4 42.1 238.1 75.4 259.6 96.4C276.6 112.6 300.5 115.9 336.4 122.2C342.4 123.3 347.6 124.7 352 129.6C358.4 136.8 356.4 133.7 356.4 292.8C356.4 304 350.9 307.1 339.4 305.1C331.2 303.7 153.7 270.5 153.7 270.5C143.5 268.3 140.3 265.3 140.3 253.8C140.3 19.1 141.4 29.9 137.8 14.3C133.6 -3.9 122.4 -17.6 107.6 -25.2C90.8 -34.5000000000001 60.4 -38.6 44.2 -35.6C1 -27.5 -14.2 22.4 15.1 51C32.1 67.2 56 70.5 91.9 76.8C97.9 77.9 103.1 79.3 107.5 84.2C117.6 95.7 109.3 340.8 112.7 354.4C113.5 359.6 115.7 364 119.8 367.3C124 370.8 131.6 372.8 133.2 372.8C337.2 411 362.1 415.9 365.6 415.9C377.1 416.7 383.7 409.9 383.7 398.3C383.9 53.8 384.8 72.3 381.9 59.8z" glyph-name="itunes-note" horiz-adv-x="384" unicode=""/><glyph d="M223.6 367.7C129 367.7 52.5 291 52.5 196.5S129 25.2 223.6 25.2S394.8 101.9 394.8 196.4C394.8 291 318.1 367.7 223.6 367.7zM303 127.7C299.8 114.1 289.5 106.5 275.7 103.9C263.6 101.7 253.5 101.1 243.8 108.9C232 118.9 231.8 135.3 242.4 145.7C250.8 153.7 262.7 155.3 280.4 158.5C283.4 159 286 159.7 288.1 162.2C291.3 165.8 290.3 164.2 290.3 243C290.3 248.6 287.6 250.1 281.9 249.1C277.9 248.4 190 232 190 232C185 230.9 183.3 229.4 183.3 223.7C183.3 107.6 183.8 112.9 182.1 105.2C180 96.2 174.5 89.4 167.2 85.6C158.9 80.9999999999999 143.8 78.9999999999999 135.8 80.4C114.4 84.4 106.9 109.1 121.4 123.3C129.8 131.3 141.7 132.9 159.4 136.1C162.4 136.6 165 137.3 167.1 139.8C172.1 145.5 168 266.8 169.7 273.5C170.1 276.0999999999999 171.2 278.3 173.2 279.9C175.3 281.5999999999999 179 282.5999999999999 179.9 282.5999999999999C280.9 301.5999999999999 293.2 304 295 304C300.7 304.4 304 301 304 295.3C303.8999999999999 124.6999999999999 304.3999999999999 133.9 303 127.6999999999999zM345.2 416H102.8C45.9 416 0 370.1 0 313.2V70.8C0 13.9 45.9 -32 102.8 -32H345.2C402.2 -32 448 13.9 448 70.8V313.2C448 370.1 402.1 416 345.2 416zM223.6 4C117.3 4 31.1 90.2 31.1 196.5S117.3 389 223.6 389S416.1 302.8 416.1 196.5S329.9 4 223.6 4z" glyph-name="itunes" horiz-adv-x="448" unicode=""/><glyph d="M121.6 52S102 40.6 135.5 36.8C176.1 32.2 196.8 32.8 241.5 41.3C241.5 41.3 253.3 33.9 269.7 27.5C169.5 -15.4 42.9 30 121.6 52M109.4 108.1S87.5 91.9 121 88.4C164.3 83.9 198.6 83.6 257.8 95.0000000000001C257.8 95.0000000000001 266 86.7000000000001 278.9000000000001 82.2000000000001C157.6 46.7 22.6 79.3000000000001 109.4 108.1M212.6 203.2C237.3 174.8 206.1 149.2000000000001 206.1 149.2000000000001S268.8 181.6 240.0000000000001 222.1000000000001C213.1 259.9000000000001 192.5 278.7000000000001 304.1 343.4000000000001C304.2000000000001 343.4000000000001 128.9 299.6 212.6 203.2000000000001M345.2000000000001 10.6S359.7000000000001 -1.3 329.3000000000001 -10.6C271.4000000000001 -28.1 88.5000000000001 -33.4 37.7 -11.3C19.4 -3.4 53.7 7.7 64.5 10.0000000000001C75.7000000000001 12.4 82.2000000000001 12.0000000000001 82.2000000000001 12.0000000000001C61.9000000000001 26.3000000000001 -49.1 -16.1 25.8 -28.1999999999999C230.0000000000001 -61.3999999999999 398.2000000000001 -13.3 345.2000000000001 10.6000000000001M131 166.2S37.9 144.1 98 136.1C123.4 132.7 174 133.5 221.1 137.4C259.6 140.6 298.3 147.6 298.3 147.6S284.7 141.8 274.9000000000001 135.1C180.4 110.2 -2.1 121.8 50.4 147.2C94.9 168.6 131 166.2 131 166.2M298 72.9C394.1 122.8 349.6 170.8 318.6 164.3C311 162.6999999999999 307.6 161.3 307.6 161.3S310.4000000000001 165.6999999999999 315.8 167.6C377.1 189.2 424.3 103.9999999999999 296 70.3C296 70.4 297.5 71.6999999999999 298 72.9M240 448S293.2 394.8 189.5 313C106.4 247.4 170.5 209.9 189.5 167.2C141 211 105.4 249.5 129.3 285.4C164.4 337.9 261.5 363.5 240 448M140.5 -62.4C232.7 -68.2999999999999 374.3 -59.1 377.6 -15.5C377.6 -15.5 371.2000000000001 -32 301.4000000000001 -45.2C222.7000000000001 -60 125.6 -58.3 68.1 -48.8C68.1 -48.7 79.9 -58.5 140.5 -62.4" glyph-name="java" horiz-adv-x="377.6" unicode=""/><glyph d="M231.89 112.28L263.33 158.17L243.15 102.67L305.71 93.58L243.15 84.5L267.37 37.07S237.15 68.84 232.88 73.32C234.64 4.54 235.07 -12.38 235.07 -12.38S389.4700000000001 59.27 303.69 217.71C303.69 217.71 410.66 335.78 313.78 408.44C313.78 408.44 479.28 308.53 374.33 136.98C374.33 136.98 461.11 221.75 415.7 307.52C415.7 307.52 494.41 196.51 398.54 74.41C398.54 74.41 424.78 90.56 447.99 152.12C447.99 152.12 431.06 -31.14 226.03 -33.5400000000001V-33.5600000000001H221.9499999999999V-33.5400000000001C16.93 -31.14 0 152.12 0 152.12C23.21 90.56 49.44 74.41 49.44 74.41C-46.43 196.5200000000001 32.29 307.5200000000001 32.29 307.5200000000001C-13.12 221.7400000000001 73.67 136.98 73.67 136.98C-31.28 308.54 134.21 408.44 134.21 408.44C37.33 335.78 144.3 217.71 144.3 217.71C58.52 59.27 212.92 -12.38 212.92 -12.38S213.35 4.55 215.11 73.32L180.63 37.07L204.85 84.5L142.29 93.58L204.85 102.67L184.67 158.17L216.11 112.28C218.36 200.13 223.93 418.1 223.96 419.13L223.97 421.56L223.99 420.56L224.02 421.56L224.03 419.13C224.08 417.41 229.64 199.93 231.89 112.28z" glyph-name="jedi-order" horiz-adv-x="448" unicode=""/><glyph d="M487.1 23C485.7 34.2 468.1 46.1 458.9 54.9C453.8 59.9 429.9000000000001 78 428.5000000000001 84.8C427.1000000000001 91.4 438.2000000000001 106.3 441.8000000000001 113.6999999999999C446.9000000000001 124.3999999999999 450.6000000000001 137.3999999999999 453.1000000000001 146.3C471.9000000000001 212.4 473.8000000000001 303.2 446.9000000000001 357.5C436.7000000000001 378.0999999999999 408.3000000000001 406.5 390.5000000000001 420C348.5000000000001 451.6999999999999 270.9000000000001 455.3 220.4000000000001 436.6C206.3000000000001 431.3999999999999 192.6000000000001 426.8 180.3000000000001 419.5C147.2000000000001 400.1 112.0000000000001 387 102.2000000000001 347.9C78.0000000000001 337.1 70.7000000000001 306.1 71.9000000000001 270.1C72.1000000000001 263.1 76.0000000000001 254.3 74.6000000000001 247.7C73.9000000000001 244.4 69.4000000000001 240.1 68.5000000000001 237.9C56.9000000000001 210.2 66.2000000000002 173.9 79.6000000000001 154.1999999999999C87.7000000000001 142.3 101.1000000000001 131.8 118.8000000000002 129C119.5000000000002 118.3999999999999 122.1000000000001 109.3 127.0000000000002 98.6C130.1000000000001 91.8 141.7000000000001 79.6 137.4000000000002 70.9C135.2000000000002 66.5 116.4000000000002 57.1 110.1000000000002 53.3C89 40.8 73.7 33 54.2 19C41.6 10 21.9 8.8 25 -12.1C27.1 -26.2 35.1 -43.7 39.7 -57.9C40.4 -59.9 41.1 -62.0000000000001 41.8 -63.9H463.8C468.7 -48.6 473.5 -33.0000000000001 478.4 -16.7C481.8 -5.3000000000001 488.6 11.1 487.1 22.9999999999999zM205.9 414.3C207.7 414.8 209.3 413.6 210.8 411.9C210.6 406.7 205.4 406.8 201.9 405.1C196.5 398.4 188.5 395.3 181.9 387.9C175.1 380.4 167.5 360.2 158.5 357.9C154 356.8 148.8 358.7 144.9 358.4C134.5 357.7 127.2 352.4 116.6 350.9C130.2 380.8 172.7 404.9 205.9 414.3zM101.1 320.7C114.6 335.6 133.2 344.8 155.9 346.6C167.6 316.9 147.5 281.6 155 249C157.3 239.1 165.2 223.6 152.6 223.3C152.9 251.6 117.8 269.6 91.3 252.9C89.5 274.4 86.4 304.6 101.1 320.7zM137.8 120.5C136.8 124.6 135.1 133.4 135.5 135.6C137.1 144.3 152.6 148.1 146.5 160.3C135.2 160.4 132.7 150.1 122.4 149C95.7 146.4 76.8 184.4 78 207.4C79 226.9 95.6 245.6 118.1 243.2C134.1 241.4 139.5 224 142.6 208.5C151.8 208 165.1 208.9 169.5 216.1C168.9 233.6 160.7 247.7 161.3 263.8C162.3 294.1 178.8 321.4 166.1 351.2000000000001C179.7 382.1 219.6 406.5 249.2 421.2000000000001C285.8 439.5 344.1 424.9000000000001 378.5 405.4000000000001C398.2 394.3 412.9 372.7000000000001 426.8 354.7000000000001C407.3 360.5 390.7 350.5 393.7 334.4000000000001C410 349.3 437.9 334.6 446.2 318C454.1 302.2000000000001 454 278.7000000000001 455.2 255.2000000000001C458.1 198.2000000000001 444.8 139.3000000000001 416.1 98.1C408.4 87.1 402 75.1 391.2 67.5C365.2 49.3 325.8 32.8 292 44.1C247.3 59.1 227 88.9 202.5 122.9C203.2 104.2000000000001 216.3 88.8 229.3 74.5000000000001C240.6 62.0000000000001 254.3 47.9 269 42.1000000000001C256.7 45.0000000000001 237.9 45.9000000000001 232.8 34.9000000000001C204.2 36.8000000000001 177.7 39.7000000000001 164.1 59.1000000000001C153.5 74.5000000000001 142.7 100.5000000000001 137.8 120.5000000000001zM359.8 -3.6C363.9000000000001 -0.6 370.9000000000001 -0.7 377.2 0C371.8 2.7 364.2 3.7 357.9 2.2C357.8 6.4 355.9 9 354.7 12.4C365.3 16.2 390.2 40.9 404.3 32.7C411 28.8 413.8 6.5 414.4000000000001 -4.3C414.8 -13.3 413.6 -22.3 409.9000000000001 -27.1C391.1 -26.5 374.1 -24.3 359.2000000000001 -20.1C360.1 -14 358.2000000000001 -8 359.8000000000001 -3.6zM342.6 16.4C325.8 15.6 316.6 17.6 304.3 27.2C304.5 28 305.7 27.7 305.8 28.6C323.8 20.6 346.6 31.9 364.8 33.4999999999999C356.9000000000001 28.3999999999999 350.2 21.8999999999999 342.6 16.3999999999999zM330.5 -16.8C328.9 -7.4 327 -4.8 327.7 3.4C352.7 20 357.4 -25.2 330.5 -16.8zM226 9.4C214.4 10.1 177.9 23.4 187.5 33.1C196.9 26.6 215 28.2 228.8 25.8C229.6 21.4 226 15.6 226 9.4zM57.7 -49.1C53.4 -36.4 48.5 -24 42.9 -12.2C73.7 11.6 108.2 36.6999999999999 145.1 51.3C147.9 52.4 168.3 25.9 171.3 23.6999999999999C187.8 11.9999999999999 208.3 2.6999999999999 227.5 -6.5000000000001C228.7 -15.3000000000001 231.4 -26.7 236.2 -42.0000000000001C236.9 -44.3000000000001 237.6 -46.7 238.4 -49.2H57.7zM298.3 -54.8H297.5C297.8 -54.6 298 -54.4 298.3 -54.3V-54.8zM305.8 -49.1C307.9000000000001 -47.7 310.1 -46.3 312.2 -44.8C313.3 -46.2 314.4 -47.6 315.4 -49.1H305.8zM320.9000000000001 -24.4C310.1 -31.7 300.3 -42.7 287.6 -49.6C281.6 -52.9 260.6 -61.3 254.2 -59.8C250.6 -59 250.3 -54.5 248.8 -50.3C245.7 -41.3 238.7 -26.9 238 -13.3C237.2 3.9 235.5 32.7 254 29.1C268.9 26.2 286.3 19.4 297.9 12.9999999999999C305 9.1 309 4.3999999999999 319.8 3.4999999999999C319.7 2.1 319.7 0.6999999999999 319.6 -0.8000000000001C313.7 -4.7 304.3 -4.6000000000001 297.8 -7.9000000000001C307.3 -8.3000000000001 314.8 -10.6000000000001 321.3 -13.8000000000001C321.2 -17.2 321 -20.8000000000001 320.9 -24.4000000000001zM374.3 -49.1H360.3C360.2 -45.9 357.5 -43.3 354.2 -43.3S348.3 -45.9 348.1 -49.1H330.7C327.9 -44.7 325 -40.5 321.8 -36.6C323.9000000000001 -34.4 325.8 -31.9 327.8 -29.7C336.8 -33.4 342.6 -24.8000000000001 349.5 -25.5000000000001C357.4 -26.3000000000001 363.7 -37.2 374.9 -36.5000000000001L374.3 -49.1000000000001zM383 -49.1C383.2 -45.1 383.4 -41.3 383.6 -37.6C399.2000000000001 -30.3 412.6 -38.9 419.3 -49.1H383zM466.4 -12.1C464.1 -23.3 460.6 -36.1 456.5 -49.2C456.3 -49.1 456.1 -49.1 455.9 -49.1H428C428.6 -48 429.2 -46.9 429.9 -45.8C427.3 -39.7 420.9 -37.1 419 -30.3C431.1 -7.6 425.5 63.1 394.8 48.2C399.1 54.5 410.4000000000001 59.7 415.6 67.5C428.6 57.1 436.4000000000001 47.2 448.8 36.1C455.6 30.1 468.8 22.8 470.2 13C471 7.5 467.6 -5.9 466.4 -12.1zM222.2 317.5C227.6 332.4 249.4 352.2 267.2 349.5C274.9 348.3 285.2 341.3 279.4 331.8C249.2 338.8 234.2 319.2 225 298.7C216.9 300.7 220.1 311.8 222.2 317.5zM406.3 254.4C414.5 258 428.7 255.1 435.9 259.7000000000001C431.7 271.2000000000001 425.6 281.1 426.6 297.4000000000001C427.1 297.4000000000001 427.6 297.4000000000001 428 297.3000000000001C434.8 283.1 440.7 268.1 449.3999999999999 255.6C443.7 242.1 405.7999999999999 230.2 406.2999999999999 254.4000000000001zM426.7 297.4zM309.5 251.7C302.7 262.6 290.5 284.2 295 297C301.5 285.1 303.6 272.6 312.8 263.7C316.9 259.7 325 254.7 321 243.5C320.1 240.8 313.2 234.9 309.3 233.8C294.9 229.5 261.4 232.9 272.7 250.9C284.5999999999999 250.2 300.5999999999999 243.1 309.5 251.7zM336.8 181.7C340.6 175.1 338.2 163 348.9 161.1C369.1 157.7 392.5 173.4 407 178.9C416 194.1 406.2 199.6 398.1 209.4C381.5 229.4 359.3 254.2 360.1 284.1C366.8 289 367.4000000000001 276.7 368.3 274.4C377 254.1 398.7 228.2 414.6 210.9C418.5 206.6 424.9000000000001 202.5 425.6 199.7C427.7000000000001 191.5 420.2000000000001 181.7 421.1 176.2C399.4000000000001 162.3 375.3 147.1 339.7000000000001 150.6C332.3000000000001 157.3 329.4000000000001 172 336.8000000000001 181.7zM135.5 190.9C128.6999999999999 194.8 127.0999999999999 211.9 119.0999999999999 212.3C107.6999999999999 213 109.7999999999999 190.1 109.7999999999999 176.8C101.9999999999999 183.9 100.5999999999999 205.9 106.2999999999999 217.1C99.7 220.3 96.7999999999999 213.5 93.2 211.2C97.9 245.3 143 227 135.5 190.9zM435.1 162.1C425 142.9 410.7 121.7 381.1 121.1C380.5 127.3 380 136.7 381.1 140.5C403.8 142.6999999999999 417.7 154.1999999999999 435.1 162.1zM293.2 149.7C312.0999999999999 139.8 346.8 138.7 372.5 139.5C373.8999999999999 133.9 373.8 126.9 373.8999999999999 120.1C340.8999999999999 118.3 301.8999999999999 126.5 293.2 149.7000000000001zM385.3999999999999 103C383.7 98.7 380.0999999999999 93.7 375.5999999999999 91.9C363.4999999999999 87 329.9999999999999 83.2 313.2 92.2C302.5 97.9 295.7 110.7 289.8 118.2C287 121.8 272.9 131.1 289.6 131.1C302.7 98.4 347.6 102.1 385.4 102.9999999999999z" glyph-name="jenkins" horiz-adv-x="512" unicode=""/><glyph d="M490 206.3C417.1 279 320.6 376.2 248.5 448C83 283.1 6 206.3 6 206.3C-1.9 198.4 -1.9 185.6 6 177.6C138.8 45.3 67.8 116.1 248.5 -64C627.9 314 264.2 -47.3 490 177.7C498 185.6 498 198.4 490 206.3zM248.5 116.3L172.5 192L248.5 267.7L324.5 192L248.5 116.3z" glyph-name="jira" horiz-adv-x="496" unicode=""/><glyph d="M227.5 -20.7C218.5 -7.1 207.6 12.6 203.8 21.7C198.1 35.4 176.6 67.3 235 88.8C286.7 107.9 411.7 105.3 443.8 106.4C439.8 97.4 435.2 88.5 429.9000000000001 79.8C389.5000000000001 14.3 319.5 -21.7 247.9000000000001 -21.7C241.1 -21.7 234.3000000000001 -21.3000000000001 227.5000000000001 -20.7M66.1 304.1C128 404.6 259.6 435.8 360.1 373.9C434.9000000000001 327.8 471.3 243 459.4 161.2000000000001C434.5000000000001 161.7000000000001 280.1 164.8000000000001 229.1 166.1C173.6 167.5 147.4 186.9 170.6 214.3C193.8 241.7 221.7 255 239.5000000000001 265.5C257.4000000000001 276 266.8 299.2 215.9 295.2C87.3 286.5 48.6 195.9 37.6 155C28.8 204.7 37.5 257.7 66.1 304.1M36.9 322.1C-35 205.5 1.3 52.8 117.9 -19.1C234.5 -91 387.2 -54.7 459.1 61.8C531 178.4 494.7 331.2 378.1 403C337.6 428.1 292.6 440 248.2 440C165 440 83.8 398.1 36.9 322.1M281.3 211.7C249.8 191.2 216 180.4 216 180.4L385.5 182L432 205.4S435.6 214.9 412.9 220.9C390.2 226.9 355.9 209.6 326.2 193.7C296.5 177.9 295.1 185.5 295.1 185.5S335.3 213.6 345.8 220C356.3 226.4 377.7 234 359.2 244.6C356 246.4 352.5 247.3 348.8 247.3C331 247.3 307.3 228.6 281.3 211.7" glyph-name="joget" horiz-adv-x="496" unicode=""/><glyph d="M0.6 355.9C0.6 389.2 27.4 416 60.4 416C90.4 416 114.9 394.1 119.6 365.8C152.2 373.4 186.7 365.2 216.1 335.8L171.8 291.5C151.3 312 129.2 307.8 116.4 295C102.1 280.7 102.1 257.1 116.4 242.8L215.9 143.3L171.9 99C84.2 186.2 122.2 148.7 72.1 198.7C45.3 225.2 37.1 263.5 47.3 297.6C20.4 303.4 0.6 327.3 0.6 355.9zM130.1 239.5L174.4 195.2C184.4 205.2 264.1 284.9 274.1 295C288.4 309.3 311.7 309.3 326 295C338.8 282.2 343 260 322.5 239.6L366.5 195.3C397.7 226.5 405 262.9 395.3999999999999 296.5C424.5999999999999 300.6 447.2999999999999 325.7 447.2999999999999 356C447.2999999999999 389.2 420.4999999999999 416.1 387.4999999999999 416.1C357.1999999999999 416.1 332.0999999999999 393.6 327.9999999999999 364.5C294.1999999999999 374.4 256.2999999999999 366 229.6999999999999 339.4C211.3999999999999 320.3 158.5999999999999 267.9 130.0999999999999 239.5zM396.4 87.3C404.6 120 395.5 155.8 370.1 181.2000000000001C358.3 193.4 375.1 176.5000000000001 270.6 280.9000000000001L226.3 236.6L326 136.9C340.3 122.6 340.3 99.3 326 85.0000000000001C313.2 72.2000000000001 291 68.0000000000001 270.6 88.5000000000001L226.6 44.2C254.2 14.0000000000001 294.6 5.4 329.3 16.2C334.8 -11.1999999999999 359 -31.9 388.2 -31.9C421.2 -31.9 448 -5.1 448 28.2C448 58.4 425.5 83.2000000000001 396.3999999999999 87.3000000000001zM312.1 140.4L268.1 184.7000000000001C181.1 98.3000000000001 217.7 134.3000000000001 168.4 84.9C154.1 70.6 130.8 70.6 116.5 84.9C103.4 98.3 99.6 120.2000000000001 119.7 140.3L75.7 184.6C45.5 154.4 37.7 119.4 46.2 86.3C19.5 80.3 0 56.4 0 28.1C0 -5.2 26.8 -32 59.8 -32C88.4 -32 112.3 -12.2 118.4 14.7C151.1 6.5 186.9 15.3 212.6 40.7C244.7 72.7 224.8 53.1 312.1 140.4z" glyph-name="joomla" horiz-adv-x="448" unicode=""/><glyph d="M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM243.8 66.6C243.8 23 218.2 3.1 180.9 3.1C147.2 3.1 127.7 20.5 117.7 41.6L152 62.3C158.6 50.6 164.6 40.7 179.1 40.7C192.9 40.7 201.7 46.1 201.7 67.2V210.3H243.8V66.6zM343.4 3.1C304.3 3.1 279 21.7 266.7 46.1L301 65.9C310 51.2 321.8 40.3 342.5 40.3C359.9 40.3 371.1 49 371.1 61.1C371.1 75.5 359.7000000000001 80.6 340.4000000000001 89.1L329.9000000000001 93.6C299.5000000000001 106.5 279.4000000000001 122.8 279.4000000000001 157.1C279.4000000000001 188.7000000000001 303.5000000000001 212.7 341.0000000000001 212.7C367.8000000000001 212.7 387.0000000000001 203.4 400.8000000000001 179L368 158C360.8 170.9 353 176 340.9 176C328.6 176 320.8 168.2 320.8 158C320.8 145.4 328.6 140.3 346.7 132.4L357.2 127.9C393 112.6 413.0999999999999 96.9 413.0999999999999 61.7C413.0999999999999 23.9 383.2999999999999 3.1 343.3999999999999 3.1z" glyph-name="js-square" horiz-adv-x="448" unicode=""/><glyph d="M0 416V-32H448V416H0zM243.8 66.6C243.8 23 218.2 3.1 180.9 3.1C147.2 3.1 127.7 20.5 117.7 41.6L152 62.3C158.6 50.6 164.6 40.7 179.1 40.7C192.9 40.7 201.7 46.1 201.7 67.2V210.3H243.8V66.6zM343.4 3.1C304.3 3.1 279 21.7 266.7 46.1L301 65.9C310 51.2 321.8 40.3 342.5 40.3C359.9 40.3 371.1 49 371.1 61.1C371.1 75.5 359.7000000000001 80.6 340.4000000000001 89.1L329.9000000000001 93.6C299.5000000000001 106.5 279.4000000000001 122.8 279.4000000000001 157.1C279.4000000000001 188.7000000000001 303.5000000000001 212.7 341.0000000000001 212.7C367.8000000000001 212.7 387.0000000000001 203.4 400.8000000000001 179L368 158C360.8 170.9 353 176 340.9 176C328.6 176 320.8 168.2 320.8 158C320.8 145.4 328.6 140.3 346.7 132.4L357.2 127.9C393 112.6 413.0999999999999 96.9 413.0999999999999 61.7C413.0999999999999 23.9 383.2999999999999 3.1 343.3999999999999 3.1z" glyph-name="js" horiz-adv-x="448" unicode=""/><glyph d="M510.634 210.538C505.907 213.159 504.97 216.286 504.253 221.314C501.9010000000001 237.802 500.7140000000001 254.933 495.1560000000001 270.409C459.2610000000001 370.366 341.1660000000001 413.795 248.3070000000001 362.055C220.9370000000001 346.805 199.3360000000001 325.6860000000001 182.8140000000001 298.1520000000001C179.6300000000001 299.6600000000001 177.3560000000001 300.862 174.9900000000001 301.838C144.8880000000001 314.259 115.9410000000001 311.9590000000001 89.6590000000001 292.6710000000001C64.1280000000001 273.9340000000001 53.2370000000001 248.123 56.9830000000001 216.263C57.3380000000001 213.238 55.0160000000001 208.642 52.4690000000001 206.7180000000001C12.7570000000001 176.7260000000001 -3.5619999999999 128.653 10.5670000000001 82.1030000000001C24.3980000000001 36.5340000000001 68.0810000000001 2.3070000000001 116.1750000000001 0.6700000000001C146.4660000000001 -0.3609999999999 176.8120000000001 0.1240000000001 207.1340000000001 0.1310000000001C291.1750000000001 0.1520000000001 375.2240000000001 -0.3999999999999 459.2540000000001 0.6110000000001C511.9180000000001 1.2450000000001 555.3620000000001 37.4840000000001 567.4660000000001 87.9040000000001C579.0060000000001 135.9780000000001 556.3220000000001 185.2040000000001 510.6340000000001 210.5380000000001zM531.741 53.658C513.511 31.226 489.398 18.405 460.461 18.008C403.587 17.227 346.694 17.778 289.8090000000001 17.778C289.8090000000001 17.078 126.781 17.619 126.081 17.624C82.22 17.956 49.342 37.39 30.906 77.619C12.004 118.864 26.902 168.4670000000001 65.092 193.725C74.274 199.798 77.597 205.291 75.188 216.861C69.698 243.222 79.641 264.817 101.608 279.842C124.595 295.5650000000001 149.03 295.988 173.642 282.925C183.911 277.475 188.249 271.361 195.84 285.452C210.0620000000001 311.851 230.3970000000001 332.179 256.511 346.746C353.971 401.112 484.881 339.178 486.751 214.049C486.873 205.899 489.163 201.621 496.599 198.155C554.1590000000001 171.326 571.0550000000001 102.033 531.7410000000001 53.658zM443.952 134.1570000000001C438.104 103.0000000000001 409.33 79.061 377.286 79.062C360.3330000000001 79.063 345.228 85.607 333.207 96.767C305.51 122.48 262.066 171.747 237.27 190.154C217.214 205.042 195.28 202.487 176.998 186.372C127.002 142.3010000000001 192.857 64.597 244.061 109.184C248.609 113.144 251.901 118.727 256.805 122.028C264.989 127.537 277.571 122.912 269.973 111.406C252.615 85.122 220.643 73.209 191.11 82.105C162.213 90.809 142.27 118.073 142.484 152.284C143.709 174.769 154.848 195.344 177.898 208.249C200.473 220.887 224.267 221.395 244.889 205.775C295.68 167.3 320.467 124.03 352.185 104.53C376.743 89.431 406.439 97.167 421.008 122.036C449.838 171.245 386.416 227.052 342.14 185.4959999999999C338.151 181.7519999999999 335.223 176.5639999999999 330.73 173.7759999999999C319.755 166.9649999999999 313.397 177.8889999999999 317.921 184.1289999999999C338.6239999999999 212.6829999999999 368.385 224.5689999999999 401.192 212.3429999999999C432.6209999999999 200.6289999999999 450.3 167.9769999999999 443.952 134.1569999999999z" glyph-name="jsfiddle" horiz-adv-x="576" unicode=""/><glyph d="M291.7200000000001 -60.98C291.2100000000001 -62.99 289.2100000000001 -63.99 285.7100000000001 -63.99H218.79C214.77 -63.99 211.28 -62.24 208.27 -58.72L97.74 81.86L66.92 52.54V-56.48C66.92 -61.4999999999999 64.41 -63.9999999999999 59.4 -63.9999999999999H7.52C2.5 -64 0 -61.5 0 -56.48V440.49C0 445.49 2.5 448 7.52 448H59.4C64.41 448 66.92 445.49 66.92 440.49V134.49L199.24 268.31C202.75 271.81 206.26 273.57 209.76 273.57H278.9400000000001C285.9000000000001 273.57 286.8400000000001 265.7 284.2000000000001 263.05L144.35 127.74L290.2100000000001 -53.46" glyph-name="kaggle" horiz-adv-x="291.72" unicode=""/><glyph d="M177.2 17.1C177.2 7.3 169.2 -0.7 159.4 -0.7S141.6 7.3 141.6 17.1S149.6 34.9 159.4 34.9C169.2 35.0000000000001 177.2 27.0000000000001 177.2 17.1zM270 35C260.2 35 252.2 27 252.2 17.2S260.2 -0.6 270 -0.6S287.8 7.4 287.8 17.2S279.8 35 270 35zM412.3 71C412.3 32.1 404.7 -2.9 390.1 -32H362.8C386.3 6.7 393.3 62.8 385.2 102.3C369.1 72.8 333.1 63.7 299.3 73.5C171.5 111 106.8 53.8 64.7 23.2L83.6 82.5L43.7 40.2C48.5 13.5 59.4 -11.1 74.9 -32.1H46.1C36.4 -16.3 28.9 0.9 23.9 19.2L0.1 -6C0.1 68.9 -5.4 141.6 61.6 209.2C81.8 229.6 105.3 245.4 130.7 255.9C123.9 269.4 121.2 285.1 122.9 301.9L103 303.1C85.1 304.2 71.4 319.6 72.4 337.5V337.6L74 363.8C75.1 380.9 89.4 394.4 106.5 394.4C107.8 394.4 106.2 394.5 134.7 392.7C148.6 391.9 156.2 382.9 157.5 381.3C164.6 391.7 172 401.8 182.1 415.8L202.7 403.7C189.1 374.7 193.6 367.5 193.7 367.4C197.6 367.4 207.6 367.9 226.1 361.7C246 355.1 262 341 271 322C271.4 321.1 286.5 293 272.2 259.4C291.2 253.3 323.5 239.5 354.6 207.6C391.2000000000001 170 412.3 120.2000000000001 412.3 71zM128 325.7C131.2 335.7 135.7 345.4 141.1 355.1C141.2 357.1 143.3 368.2 133.3 368.9C104.8 370.7 107 370.5 106.6 370.5C102 370.5 98.3 367 98 362.4L96.4 336.2C96.1 331.5 99.8 327.4 104.5 327.1L128 325.7zM153.8 263.9C159.4 254.5 167.9 247.8 176.1 243.9C176.1 265.1 204.6 285.8 228.9000000000001 261.4L237.3000000000001 251.1C258.1 269.9 256.7000000000001 296.4 249.4000000000001 312C235.6 341.1 202.5 344 195.1 343.7C184.8 343.3 175.4 349.1 171.4 359C157.7000000000001 337.8 134.2000000000001 296.5 153.8000000000001 263.9zM236.7 195.5L217 179.4C215.1 177.8 214.8 175 216.4 173.1L225.3 162.2C226.3 161 229.1 159.5 231.6 161.6L251.2 177.6L256.7000000000001 170.8C261.6 164.8 270.5000000000001 172.1999999999999 265.7000000000001 178.1C202.1000000000001 256.4 224.2000000000001 229.2 210.4 246.2C205.7000000000001 252.2 196.5 244.8 201.4 238.9C203.3000000000001 236.6 219.8000000000001 216.3 221.2000000000001 214.5999999999999L211.6000000000001 206.6999999999999C207.0000000000001 202.8999999999999 214.2000000000001 193.3999999999999 219.0000000000001 197.2999999999999L228.7000000000001 205.2999999999999L236.7000000000001 195.4999999999999zM355.1 169.8C338.2000000000001 193.5 312.5 216.5 281.7000000000001 230.2C273.8000000000001 233.7 266.7000000000001 236.3 258.8000000000001 238.8C256.8000000000001 236.6 254.7000000000001 234.5 252.4000000000001 232.6L284.3000000000001 193.4C294.7000000000001 180.7000000000001 292.8000000000001 161.9 280.1000000000001 151.5000000000001C278.8000000000001 150.4 267.0000000000001 140.8000000000001 251.1000000000001 146.6000000000001C248.2000000000001 144.3000000000001 241.0000000000001 136.7000000000001 228.9000000000001 136.7000000000001C220.3000000000001 136.7000000000001 212.3000000000001 140.5000000000001 206.8000000000001 147.2000000000001L197.9000000000001 158.1000000000001C191.6000000000001 165.9000000000001 190.0000000000001 176.0000000000001 192.9000000000001 184.9000000000001C184.7000000000001 194.8000000000001 184.6000000000001 206.2000000000001 188.3000000000001 214.9000000000001C181.1000000000001 216.2000000000001 161.6000000000001 221.1000000000001 145.6000000000001 236.3000000000001C89.8000000000001 215.6000000000001 57.6000000000001 171.9000000000001 44.3000000000001 145.1000000000001C29.4000000000001 114.9000000000001 25.5000000000001 84.2000000000001 24.4000000000001 54.9000000000001C32.6000000000001 63.6000000000001 20.5000000000001 50.8000000000001 138.4000000000001 175.8000000000001L108.5000000000001 82.2000000000001C166.3000000000001 113.3000000000001 232.5000000000001 118.2000000000001 305.9000000000001 96.6C329.5000000000001 89.7000000000001 351.0000000000001 95 361.9000000000001 110.5C373.0000000000001 126.1 370.4000000000001 148.2 355.1000000000001 169.8zM110.6 340.7L126.2 339.7L127.2 355.3L111.6 356.3L110.6 340.7z" glyph-name="keybase" horiz-adv-x="412.3" unicode=""/><glyph d="M63.8 38.7L124.3 97.7C156.4 54.9 195.4 31.7 250.9 30.3C281.4 29.6 311.2 37.3 337.3 52.6999999999999C342.4 47.3999999999999 355.8 33.1999999999999 358.2 30.6999999999999C326 9.9999999999999 288.5999999999999 -0.4000000000001 250.1 0.4999999999999C206.8 1.6 165.5 17.1999999999999 132.3999999999999 44.8999999999999C132.6999999999999 45.4999999999999 94.1999999999999 7.3999999999999 93.7999999999999 6.9999999999999C103.2999999999999 -22.8000000000001 80.6999999999999 -55.4 47.4999999999999 -55.4C20.7 -55.3 0 -33.7 0 -6.9C0 27.4 33.1 49.7 63.8 38.7zM418.7 291.1C437.8 259.8 448.3 223.7 447.4 187.1C446.3 142.3 428.4 99.6 398.8 66.1C399.1 65.8 422.6 40.9 422.9 40.6C432.5 41.9 442.1 38.6 448.8 31.5C460.1 19.5 459.6999999999999 0.6 447.7 -10.9C435.7 -22.2 416.8 -21.8 405.3 -9.8C398.6 -2.8 395.9 7.0000000000001 397.7 16.5000000000001C372.8 43.1000000000001 353.3 63.7000000000001 353.3 63.7000000000001C396 97.8000000000001 416.6 143.3000000000001 417.7 187.9C418.3999999999999 216.8000000000001 410.5 245.1 396.5999999999999 270.1L418.7 291.1zM104 394.9C110.7 387.9 113.4 378.1 111.6 368.6L157.5 320.5C152.8 316.7 144.2 310.1 134.7 299.2C109.3 270.7 95.1 234.4 94 196.3C93.3 167.4 100.1 139.1 114 113.9L92 92.4C72.7 124 63.1 160.1 64.2 197.1C65.2 241.7 82.5 284.7 111.7 318.2L86.4 344.6C76.8 343.3 67.2 346.6 60.5 353.7C49.2 365.7 49.6 384.6 61.6 396.1C73.5 407.3 92.2 407 104 394.9zM464.9 440C490.9 440 512 417.6 512 391.7S490.9 344 464.9 344C458.6 343.9 450.9 345.1 449 345.8L386.1 286.1C353.4000000000001 329.7 309.4000000000001 352 259.2000000000001 353.3C228.7000000000001 354 198.9 346.5 173.0000000000001 330.9L151.9000000000001 352.9C184.1 373.7 221.5 384 260 383.1C303.3 382 344.6 366.4 377.7 338.5L418.8 377.1C417.3 381.8 416.6 386.7 416.6 391.6C416.5 418.3 438.9 440 464.9 440zM256.7 334.6C262.2 334.6 267.6 334.2 273.1 333.5C351.2 323.7 406.5 252.4 396.9 174.4C387.1 96.3 315.8 41 237.8 50.6C159.7 60.4 104.4 131.6999999999999 114 209.8C123.3 282.2 184.1 334.4 256.7 334.6zM197.7 215.2C198.3 192.5 209.9 173.4 230.1 163L219.1 111.3H292.8L281.8 163C301.9000000000001 173.9 313.9000000000001 192 314.2 215.2C313.8 248 288.4 272.7 255.9 273.5C223.8 272.7 198.6 248.7 197.7 215.2zM256 288" glyph-name="keycdn" horiz-adv-x="512" unicode=""/><glyph d="M147.3 333.6C147.3 389.8 114.8 416 73.9 416C26.2 416 0 379.8 0 334.6V51.6C0 4.3 25.3 -31.8 74.9 -31.8C114.7 -31.8 147.3 -6.1999999999999 147.3 51.6V128.1L259.4 -10.2C282.1 -37.4 331.5 -40.9 362.6 -10.2C389.6 17.4 389.9 57.2000000000001 370 82L279.2 196.8L354.0999999999999 304.2000000000001C371.4999999999999 328.9000000000001 371.5999999999999 367.3 343.7 394C313.3999999999999 423 261.3 425.6 230.1 381.2000000000001L147.3 263V333.6z" glyph-name="kickstarter-k" horiz-adv-x="384" unicode=""/><glyph d="M400 -32H48C21.6 -32 0 -10.4 0 16V368C0 394.4 21.6 416 48 416H400C426.4 416 448 394.4 448 368V16C448 -10.4 426.4 -32 400 -32zM199.6 269.5C199.6 300.2 182 314.6 159.9 314.6C134.1 314.6 119.9 294.8 119.9 270.1V115.3C119.9 89.4999999999999 133.6 69.6999999999999 160.4 69.6999999999999C181.9 69.6999999999999 199.6 83.6999999999999 199.6 115.3V157.1L260.2 81.4C272.5 66.5 299.2 64.6 316 81.4C330.6 96.5 330.8 118.2 320 131.8L270.9 194.6L311.4 253.3C320.8 266.8 320.9 287.8 305.8 302.4C289.4 318.3 261.2 319.7 244.4 295.4L199.6 230.7V269.5z" glyph-name="kickstarter" horiz-adv-x="448" unicode=""/><glyph d="M386.5 414H59.5C26.8 414 0 387.2 0 354.5V27.4C0 -5.2 26.8 -32 59.5 -32H386.6C419.6 -32 446.1 -5.2 446.1 27.5V354.5C446 387.2 419.2 414 386.5 414zM87.1 327.2H183.1V211.2L244.9 327.2H355.8L274.6 195.2H87.1V327.2zM248.9 55.1L183.2 168.6999999999999V55.0999999999999H87.2V185.9H278.7L367.3 55.1H248.9z" glyph-name="korvue" horiz-adv-x="446" unicode=""/><glyph d="M637.5 206.4C633.3 211.2 574.7 284.5 564.4 296.9C554.1 309.3 549 307.1 542.6999999999999 306.2000000000001C536.3 305.3 462.1999999999999 292.8 453.5999999999999 291.4C444.9999999999999 289.9 439.5999999999999 286.5 444.8999999999999 279.1C449.5999999999999 272.5 498.2999999999999 203.4 509.0999999999999 188.2L315.3999999999999 141.8L161.2 399.3C155.1 408.4 153.8 411.6 139.8 410.9C125.8 410.3 18.9 401.4 11.3 400.7C3.7 400.1 -4.7 396.7 2.9 378.7S131.9 99.1 135.3 91.5C138.7 83.9 147.5 71.5 168.1 76.5C189.2 81.6 262.4 100.7 302.4 111.2C323.5 72.9 366.6 -4.7 374.6 -15.8C385.2 -30.7 392.6 -28.2 408.9 -23.2C421.7 -19.3 608.5 47.9 616.9 51.3C625.3 54.8 630.5 57.2 624.8 65.7C620.5999999999999 71.9 571.3 137.9 545.5 172.5C563.2 177.2 626.1 193.9 632.8 195.8C640.6999999999999 197.8 641.8 201.6 637.5 206.4zM285.3 134.4C283 133.9 174.5 107.9 168.7 106.6C162.9 105.3 162.9 105.9 162.2 107.9C161.5 109.9 33.2 374.6 31.4 377.9C29.6 381.2 29.7 383.8 31.4 383.8S133.9 392.8 137.4 393C141 393.2 140.6 392.4 141.9 390.2C141.9 390.2 284.1 144.8 286.5 140.5C289.1 136.2 287.6 134.9 285.3 134.4zM591.3 77C593 74.3 594.8 72.5 589.3 70.6C583.9 68.6 405.6 8.5 402.2 7C398.7 5.5 396 5 391.5999999999999 11.5S329.2 118.3 329.2 118.3L518 167.4C522.7 168.9 524.2 169.9 527.2 165.2C530.1 160.4 589.6 79.7 591.3000000000001 77zM603.4 211.1C599.1999999999999 210.2 529.8 193 529.8 193L473.1 270.8C471.4999999999999 273.1 470.2 275.3 474.2 275.8S542.6 288 545.5 288.6C548.4 289.3 550.9 290.1 554.5 285.2000000000001C558.1 280.3 607.1 218.2 609 215.8C610.8 213.5 607.6 212.1 603.4 211.1z" glyph-name="laravel" horiz-adv-x="640" unicode=""/><glyph d="M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM307.8 103.1C244.4 103.1 222.4 131.7000000000001 210.7 167.2000000000001C194.4 218.2000000000001 189.2 251.5000000000001 147.7 251.5000000000001C125.3 251.5000000000001 102.6 235.4000000000001 102.6 190.3000000000001C102.6 155.1000000000001 120.6 133.1000000000001 145.9 133.1000000000001C174.5 133.1000000000001 193.5 154.4000000000001 193.5 154.4000000000001L205.2 122.5000000000001S185.4 103.1000000000001 144 103.1000000000001C92.7 103.1000000000001 64.1 133.2000000000002 64.1 188.9000000000002C64.1 246.8000000000002 92.7 280.9000000000002 146.6 280.9000000000002C220.1 280.9000000000002 227.4 239.5000000000002 247.4 179.0000000000001C256.2 152.2000000000001 271.6 132.8000000000001 308.6 132.8000000000001C333.5 132.8000000000001 346.7 138.3000000000001 346.7 151.9000000000002C346.7 171.8000000000001 324.9 173.9000000000002 296.8 180.5000000000002C266.4000000000001 187.8000000000002 254.3 203.6000000000002 254.3 228.5000000000002C254.3 268.5000000000002 286.6 280.9000000000002 319.5 280.9000000000002C356.9 280.9000000000002 379.6 267.3000000000002 382.5 234.3000000000002L345.8 229.9000000000002C344.3 245.7000000000002 334.8 252.3000000000002 317.2 252.3000000000002C301.1 252.3000000000002 291.2 245.0000000000002 291.2 232.5000000000002C291.2 221.5000000000002 296 214.9000000000002 312.1 211.2000000000002C344.8 204.1000000000002 383.9 199.2000000000002 383.9 153.7000000000002C384 117.0000000000002 353.2 103.1000000000001 307.8 103.1000000000001z" glyph-name="lastfm-square" horiz-adv-x="448" unicode=""/><glyph d="M225.8 80.9L207 131.9S176.5 97.9 130.8 97.9C90.3 97.9 61.6 133.1 61.6 189.4C61.6 261.5 98 287.3 133.7 287.3C200.2 287.3 208.5 234 234.6 152.4C253.4 95.5 288.6 49.8 390 49.8C462.7 49.8 512 72.1 512 130.6999999999999C512 203.5999999999999 449.3 211.2999999999999 397 222.7999999999999C371.2 228.7 363.6 239.2 363.6 256.8C363.6 276.7 379.4000000000001 288.4999999999999 405.2000000000001 288.4999999999999C433.4000000000001 288.4999999999999 448.6 277.8999999999999 450.9 252.7L509.5000000000001 259.7C504.8000000000001 312.5 468.4 334.2 408.6 334.2C355.8 334.2 304.2000000000001 314.3 304.2000000000001 250.3C304.2000000000001 210.3999999999999 323.6 185.1999999999999 372.2000000000001 173.5C417.1 162.8999999999999 452.0000000000001 159.6999999999999 452.0000000000001 127.8C452.0000000000001 106.1 430.9000000000001 97.3 391.0000000000001 97.3C331.8000000000001 97.3 307.1 128.4 293.1 171.1999999999999C261.1 268 249.5000000000001 334.2 131.8 334.2C45.7 334.2 0 279.7 0 187C0 97.9 45.7 49.8 127.9 49.8C194.1 49.8 225.8 80.9 225.8 80.9z" glyph-name="lastfm" horiz-adv-x="512" unicode=""/><glyph d="M386.539 336.515L401.635 87.56L390.656 87.835C354.424 88.659 319.016 79.052 287.999 59.838C256.983 79.052 221.575 87.835 185.3420000000001 87.835C139.7780000000001 87.835 103.2720000000001 77.13 61.826 60.112L93.117 318.4C121.663 330.203 154.601 336.515 185.343 336.515C226.516 336.515 259.1790000000001 323.3400000000001 288 293.971C315.723 322.242 347.013 335.692 386.539 336.515zM569.07 0C543.5440000000001 0 521.585 5.215 498.528 15.645C464.218 31.29 428.5350000000001 40.623 390.6570000000001 40.623C351.6800000000001 40.623 315.7230000000001 27.722 288.0000000000001 0C260.2770000000001 27.723 224.3200000000001 40.623 185.3430000000001 40.623C147.4650000000001 40.623 111.7820000000001 31.29 77.4720000000001 15.645C55.239 5.764 32.731 0 8.303 0H6.93L49.475 349.141C88.726 371.374 136.486 384 181.775 384C218.83 384 256.984 376.315 288 354.905C319.016 376.315 357.17 384 394.225 384C439.514 384 487.274 371.374 526.5250000000001 349.141L569.07 0zM525.702 44.741L491.666 324.987C460.924 338.986 424.418 346.397 390.657 346.397C352.229 346.397 316.272 334.32 288 307.695C259.728 334.32 223.772 346.397 185.343 346.397C151.582 346.397 115.076 338.986 84.334 324.987L50.298 44.741C97.509 64.228 133.192 78.227 185.343 78.227C222.947 78.227 256.16 68.621 288 48.583C319.84 68.621 353.052 78.227 390.657 78.227C442.808 78.227 478.491 64.228 525.702 44.741z" glyph-name="leanpub" horiz-adv-x="576" unicode=""/><glyph d="M612.7 229C612.7 249.5 615.9000000000001 261.6 615.9000000000001 283.6C615.9000000000001 317.8 603.3000000000001 328.8 575.4000000000001 328.8H554.9000000000001V304.6H561.2C575.4000000000001 304.6 578.5 299.9 578.5 282.5C578.5 266.2 576.9 249.9 576.9 231C576.9 206.8 584.8 197.4 600.5 193.7V192.1C584.7 188.4 576.9 179 576.9 154.8C576.9 135.9 578.5 120.6 578.5 103.3C578.5 85.4 574.8 80.7 561.2 80.7V80.2H554.9000000000001V55H575.4000000000001C603.2 55 615.9000000000001 66 615.9000000000001 100.2C615.9000000000001 122.8 612.7 134.4 612.7 154.8C612.7 165.8 619.5 177.4 640 178.4V205.7000000000001C619.5 206.4 612.7 218.0000000000001 612.7 229.0000000000001zM507.1 197C491.3 203.3 476.6 207 476.6 217.5C476.6 225.4 482.9 230.1 494.5 230.1S516.6 225.4 528.1 217L549.1 244.8C536 254.8 518.1 265.3 493.9 265.3C458.2 265.3 434.0000000000001 244.8 434.0000000000001 215.9C434.0000000000001 190.2 456.6000000000001 177 475.5000000000001 169.7C491.8000000000001 163.4 507.6000000000001 158.1 507.6000000000001 147.6C507.6000000000001 139.7 501.3000000000001 134.5 487.1000000000001 134.5C474.0000000000001 134.5 460.8000000000001 139.8 446.6000000000001 150.8L425.6000000000001 120.3C441.4000000000001 107.1999999999999 465.5000000000001 98.1999999999999 485.5000000000001 98.1999999999999C527.5 98.1999999999999 550.1 120.3 550.1 149.1999999999999S527.6 190.1999999999999 507.1 197zM148.2000000000001 137.6C144.5000000000001 137.6 139.8000000000001 140.8 139.8000000000001 150.7000000000001V328.9H65.2C36.8 328.9 24.2 317.9 24.2 283.7C24.2 261.1 27.4 248.5 27.4 229.1C27.4 218.1 20.6 206.5 0.1 205.5V178.2C20.6 177.7 27.4 166.1 27.4 155.1C27.4 135.7 24.2 124.1 24.2 101.4999999999999C24.2 67.3 36.8 56.3 64.7 56.3H85.2V80.4999999999999H78.9C65.8 80.4999999999999 61.6 85.8 61.6 103.1S63.2 135.2 63.2 154.6C63.2 178.8 55.3 188.2 39.6 191.9V193.5C55.4 197.2 63.2 206.6 63.2 230.8C63.2 249.7 61.6 265 61.6 282.3S65.3 304.4 78.9 304.4H93V153.5999999999999C93 121.4999999999999 104 100.4999999999999 136.1 100.4999999999999C146.1 100.4999999999999 154 102.0999999999999 159.7 104.1999999999999L154.4 138.3999999999999C151.3 137.5999999999999 149.8 137.5999999999999 148.2 137.5999999999999zM379.9 197C363.6 203.3 348.9 207 348.9 217.5C348.9 225.4 355.2 230.1 366.8 230.1C378.4 230.1 388.9 225.4 400.4 217L421.4 244.8C408.3 254.8 390.4 265.3 366.2 265.3C330.5 265.3 306.3 244.8 306.3 215.9C306.3 190.2 328.9000000000001 177 347.8 169.7C364.1 163.4 379.9000000000001 158.1 379.9000000000001 147.6C379.9000000000001 139.7 373.6 134.5 359.4000000000001 134.5C346.3 134.5 333.1 139.8 318.9000000000001 150.8L298.4000000000001 120.3C314.2000000000001 107.1999999999999 338.3 98.1999999999999 358.3 98.1999999999999C400.3 98.1999999999999 422.9 120.3 422.9 149.1999999999999C423 178.0999999999999 400.4 190.1999999999999 379.9 197zM224.9 265.8C186.5 265.8 149.8 233.7 150.8 183.3C150.8 131.3 185 100.8 230.1 100.8C249 100.8 270 107.6 286.3 118.7L270.5 146.5C258.8999999999999 139.7 247.9 136.5 236.3 136.5C215.3 136.5 199 146.5 194.8 170.7H290C290.5 174.4 291.6 181.7 291.6 190.1C292.2000000000001 232.7 269 265.8 224.9 265.8zM194.9 199.6C198.1 220.6 210.7 230.6 225.4 230.6C244.3 230.6 251.7 217.5 251.7 199.6H194.9z" glyph-name="less" horiz-adv-x="640" unicode=""/><glyph d="M272.1 243.8V172.7000000000001C272.1 170.9 270.7000000000001 169.5000000000001 268.9000000000001 169.5000000000001H257.5000000000001C256.4000000000001 169.5000000000001 255.4000000000001 170.1000000000001 254.9000000000001 170.8000000000001L222.3000000000001 214.8000000000001V172.6000000000001C222.3000000000001 170.8000000000001 220.9000000000001 169.4000000000001 219.1000000000001 169.4000000000001H207.7000000000001C205.9000000000001 169.4000000000001 204.5000000000001 170.8000000000001 204.5000000000001 172.6000000000001V243.7000000000001C204.5000000000001 245.5000000000001 205.9000000000001 246.9000000000001 207.7000000000001 246.9000000000001H219C220 246.9000000000001 221.1 246.4000000000001 221.6 245.5000000000001L254.2 201.5000000000001V243.7000000000001C254.2 245.5000000000001 255.6 246.9000000000001 257.4 246.9000000000001H268.8C270.6 247.0000000000001 272.1 245.5000000000001 272.1 243.8000000000001zM190.1 247H178.7C176.9 247 175.5 245.6 175.5 243.8V172.7000000000001C175.5 170.9 176.9 169.5000000000001 178.7 169.5000000000001H190.1C191.9 169.5000000000001 193.3 170.9 193.3 172.7000000000001V243.8000000000001C193.3 245.5000000000001 191.9 247.0000000000001 190.1 247.0000000000001zM162.6 187.4H131.5V243.8C131.5 245.6 130.1 247 128.3000000000001 247H116.9C115.1 247 113.7 245.6 113.7 243.8V172.7C113.7 171.8 114 171.1 114.6 170.5C115.2 170 115.9 169.6 116.8000000000001 169.6H162.5000000000001C164.3000000000001 169.6 165.7000000000001 171 165.7000000000001 172.8V184.2C165.7000000000001 185.9 164.3000000000001 187.4 162.6000000000001 187.4zM332.1 247H286.4000000000001C284.7000000000001 247 283.2000000000001 245.6 283.2000000000001 243.8V172.7000000000001C283.2000000000001 171.0000000000001 284.6 169.5000000000001 286.4000000000001 169.5000000000001H332.1C333.9000000000001 169.5000000000001 335.3 170.9 335.3 172.7000000000001V184.1C335.3 185.9 333.9000000000001 187.3 332.1 187.3H301V199.3H332.1C333.9000000000001 199.3 335.3 200.7 335.3 202.5V214C335.3 215.8 333.9000000000001 217.2 332.1 217.2H301V229.2H332.1C333.9000000000001 229.2 335.3 230.6 335.3 232.4V243.8C335.2 245.5 333.8 247 332.1 247zM448 334.3V49C447.9 4.2 411.2 -32.1 366.3 -32H81C36.2 -31.9 -0.1 4.9 0 49.7V335C0.1 379.8 36.9 416.1 81.7 416H367C411.8 415.9 448.1 379.2 448 334.3zM386.4 211.7C386.4 284.7 313.2 344.1 223.3 344.1C133.4 344.1 60.2 284.7 60.2 211.7C60.2 146.3 118.2 91.5 196.6 81.1C215.7 77 213.5 70 209.2 44.3C208.5 40.2 205.9 28.2 223.3 35.5C240.7 42.8 317.2 90.8 351.5 130.2C375.1 156.2 386.4 182.5 386.4 211.7z" glyph-name="line" horiz-adv-x="448" unicode=""/><glyph d="M100.3 0H7.4V299.1H100.3V0zM53.8 339.9C24.1 339.9 0 364.5 0 394.2S24.1 448 53.8 448S107.6 423.9 107.6 394.2S83.5 339.9 53.8 339.9zM448 0H355.3V145.6C355.3 180.3 354.6 224.8 307 224.8C258.7 224.8 251.3 187.1 251.3 148.1V0H158.5V299.1H247.6V258.3H248.9C261.3 281.8 291.6 306.6 336.8 306.6C430.8 306.6 448.1 244.7 448.1 164.3V0H448z" glyph-name="linkedin-in" horiz-adv-x="448.1" unicode=""/><glyph d="M416 416H31.9C14.3 416 0 401.5 0 383.7V0.3C0 -17.5 14.3 -32 31.9 -32H416C433.6 -32 448 -17.5 448 0.3V383.7C448 401.5 433.6 416 416 416zM135.4 32H69V245.8H135.5V32zM102.2 275C80.9 275 63.7 292.3 63.7 313.5S80.9 352 102.2 352C123.4 352 140.7 334.7 140.7 313.5C140.7 292.2 123.5 275 102.2 275zM384.3 32H317.9V136C317.9 160.8 317.4 192.7 283.4 192.7C248.8 192.7 243.5 165.7 243.5 137.8V32H177.1V245.8H240.8V216.6H241.7C250.6 233.4000000000001 272.3 251.1 304.6 251.1C371.8 251.1 384.3 206.8 384.3 149.2000000000001V32z" glyph-name="linkedin" horiz-adv-x="448" unicode=""/><glyph d="M437.4 221.7C437.1 222.6 436.5 223.1 436 223.7L366 262.3C365.1 262.9 364 262.9 362.9 262.3L304 226.3C303.1 225.7 302.6 224.6 302.6 223.7L301.7000000000001 192.3L277.7000000000001 208.3C276.8000000000001 208.9 275.4000000000001 208.9 274.6 208.3L240 187.1L238.6 222.2C238.6 223.1 238 224.2 237.2 224.5L201.2 248.8000000000001L234.9 266.2000000000001C236 266.8000000000001 236.6 267.9000000000001 236.6 269.1L230.9 401.4000000000001C230.9 402.3000000000001 230 403.4000000000001 229.2 404.0000000000001L138.6 447.7C137.7 448 136.9 448 136.3 448L12.6 409.4C11.2 408.8 10.3 407.4 10.6 405.7L38 272.6C38.9 269.2 72 245.2 76.6 241.7L49.7 228.8C48.3 227.9 47.7 226.5 48 225.4L68.6 125.1C69.2 122.2 92.3 101.9999999999999 95.7 98.8L78.3 88.1999999999999C77.4 87.5999999999999 76.6 86.1999999999999 76.9 85.0999999999999C78.3 77.9999999999999 92.3 7.3999999999999 93.8 5.9999999999999L158.9 -63.1000000000001C159.5 -63.7000000000002 160.3 -63.7000000000002 161.2 -64.0000000000001C161.8 -64.0000000000001 162.3 -63.7000000000001 162.9 -63.4000000000001L246.6 3.4999999999999C247.5 4.0999999999999 247.7 4.8999999999999 247.7 5.7999999999999L245.7 51.7999999999999L273.7 28.0999999999999C274.8 27.1999999999999 276.5999999999999 27.1999999999999 277.7 28.0999999999999L344.5999999999999 81.4999999999999C345.4999999999999 82.0999999999999 345.7 82.8999999999999 345.7 83.7999999999999L348 117.1999999999999L368.3 103.1999999999999C369.4 102.2999999999999 370.9 102.2999999999999 372 103.1999999999999L426.6 146.8999999999999C427.2 147.1999999999999 427.7 147.9999999999999 427.7 148.8999999999999C428.6 155.3999999999999 438 219.6999999999999 437.4 221.6999999999999zM232.6 216.9L236.6 124.3L146 63.1L132 159.6999999999999L232.6 216.8999999999999zM224.9 396.9L230.3 270.9L123.7 215.5L104 350.3L224.9 396.9zM44 274.9L18 400L97.7 350.6L117.1 217.7L44 274.9zM74.6 127.1L55.7 218L125.7 159.7L139.4 66.3L74.6 127.1zM98.9 9.4L85.2 76.5L146.9 15.6L156.6 -51.8L98.9 9.4zM163.4 -55.1L152.8 15.8000000000001L238.5 77.2000000000001L241.6 7.2L163.4 -55.1zM245.4 60C245.4 63.4 246.3 82.9 243.4 85.1L219.1 105.1L241.4 120C243.7 121.7 242.5 125.7 242.5 128L271.9 105.4L272.5 37.1L245.4 59.9999999999999zM339.7 85.4L278.8 36.8L278.2 105.4L343.9 152.3L339.7 85.4zM367.4 111.1L348.3 124.5L350.3 158.5C350.6 159.3999999999999 350 160.5 349.2 161.1L308 188.3L308.6 218.3L373.2000000000001 177.7L367.4000000000001 111.1zM422 150.9L373.7 112.6L379.4 177.6999999999999L430.5 214.2999999999999L422 150.8999999999999z" glyph-name="linode" horiz-adv-x="448" unicode=""/><glyph d="M196.1 324.4C195.9 325.8 198 326.7 199.3 327.3C201 328 203.2 328.3 204.8 327.4C205.2 327.2 205.6 326.7 205.4 326.3C205 325.1 203 325.3 201.9 324.7000000000001C200.9 324.2000000000001 200.1 323 198.9 323C197.9 322.9000000000001 196.2 323.4000000000001 196.1 324.4000000000001zM220.8 324.7C221.8 324.2 222.6 323 223.8 323C224.9 323 226.6 323.4 226.7 324.5C226.9 325.9 224.8 326.8 223.5 327.4C221.8 328.1 219.6 328.4 218 327.5C217.6 327.3 217.2 326.8 217.4 326.4C217.7 325.1 219.7 325.3 220.8 324.7zM435.5 14.5C435 6.3 429 0.7 421.6 -3.8C406.7000000000001 -12.8 384.3 -19.6 370.7000000000001 -36L368.1 -33.8L370.7000000000001 -36C356.5000000000001 -52.9 339.0000000000001 -62.6 322.4000000000001 -63.9C305.9000000000001 -65.1999999999999 290.4000000000001 -57.6 282.1 -40.9V-40.8C281 -38.6999999999999 280.2000000000001 -36.4 279.6 -34.1C258.1 -35.3 239.4000000000001 -28.8 224.5 -29.9999999999999C202.5 -31.1999999999999 188.7000000000001 -36.4999999999999 176.2000000000001 -36.6C171.4 -47.2 161.9 -54.2 150.3000000000001 -56.7999999999999C134.3000000000001 -60.4999999999999 114.2000000000001 -56.7999999999999 94.4 -46.4L96 -43.4L94.4 -46.4C75.9 -36.6 52.4 -37.5 35.1 -33.9C26.4 -32.1 18.8 -28.9 15 -21.6C11.3 -14.3 12 -4.3 17.2 10.1C18.9 15.2 17.6 22.8 16.4 30.9C15.8 34.8 15.2 38.8 15.2 42.7C15.2 47.0000000000001 15.9 51.2 18 55.1C22.5 63.6 29.8 67.2000000000001 36.5 69.6C43.2 72 49.3 73.6 53.5 77.9C58.7 83.4 63.6 92.3 70.1 98.1C67.5 115.3 70.3 133.5 76.3 151.4C88.9 189.3 115.5000000000001 225.6 134.4 248.1C150.5 271 155.2000000000001 289.4000000000001 156.9 312.8C158 344.6 132.4 448.2 234.8 448C315.7000000000001 447.9 311.1 362.6 310.6 316.7C310.3 286.6 326.9000000000001 266.2 344 244.7C359.2 226.7 379.1 200.4 390.5 170.3C399.8 145.6999999999999 403.4 118.5 394.2 91.1999999999999C395.6 90.6999999999999 397 89.9999999999999 398.3 89.1999999999999C399.7 88.3999999999999 401 87.3999999999999 402.3 86.3C408.9000000000001 80.6999999999999 411 71.9999999999999 412.8 63.9C414.7 55.8 416.4000000000001 48.2 420 44.2C431.1 31.8 435.9 22.7 435.5 14.5zM220.8 338.9C224.4 338 229.7 336.5 233.8 334.5C231.7 346.7 238.3 358 245.6 357.5C254.5000000000001 357.2 259.5 342 254.7 330.2C253.9 328.3 251.9 326.8 250.8 325.6C257.5 323.3 261.8 321.5 263.4000000000001 320.7C271.3 330.2 274.2000000000001 346.9 267.7000000000001 361.1C257.9000000000001 382.5 233.5000000000001 382.9 223.7000000000001 360.7C220.5000000000001 353.5 219.8000000000001 345.8 220.8000000000001 338.9zM174.6 320.1C182.4 325.8 181.5 324.8 180.5 325.6C172.5 332.5 173.9 353 182.3000000000001 353.7000000000001C188.6000000000001 354.2000000000001 193.1000000000001 343 191.9 334.1C195 336.2000000000001 198.6 337.7000000000001 202.1 338.7000000000001C203.8 358 193.1 372.2000000000001 183 372.2000000000001C164.1 372.2000000000001 159 334.7000000000001 174.6 320.1zM165.2 299.2000000000001C166.7 294.3 171.3 288.7000000000001 179.9 283.9C187.7 279.3 191.9 272.4 199.9 268.9C202.5 267.8 205.6 267 209.5 266.8C227.9 265.7000000000001 236.6 278.1 247.7 281.7000000000001C259.4 285.4 267.8 292.7000000000001 270.4 299.8C273.6 308.3 268.3 314.5 259.9 318C248.6 322.9 243.6 323.2 237.3 327.3C227 333.9 218.5 336.2 211.4 336.2C197 336.2 188.2 326.4 183.5 322C183 321.5 175.6 316.1 169.4 311.5C165.2 308.2 163.8 304.1 165.2 299.2zM131.7 46.4L112.1 82C105.3 91.2 98.3 96.8 90.2 98C82.5 99.2 77.6 96.6 72.5 91.1C67.7 86 63.7 78.8 58.2 73.1C50.4 66.6 48.9 66.9 38.6 63.2000000000001C32.3 61.0000000000001 27.3 58.6 23.8 51.9C21.1 46.9 21.7 39.7 22.9 31.9C24.1 24.0000000000001 25.9 15.6 23.5 8.0000000000001V7.8000000000001C18.5 -5.8999999999999 18.5 -13.8999999999999 20.9 -18.5999999999999C28.8 -33.9999999999999 67.5 -24.6999999999999 97.4 -40.4999999999999C128.8 -56.8999999999999 170 -57.5999999999999 172.7 -22.4999999999999C174.8 -1.9999999999999 141.2 26.5000000000001 131.7 46.4000000000001zM285.6 10.6C288.8 21.6 291.9000000000001 31.9 292.4000000000001 39.6C293.2000000000001 54.8 294.0000000000001 68.3 296.8 79.4999999999999C299.9000000000001 92.1 306.1 102.6 318.2 106.8C320.5 127.9 336.9 127.9 356.5 119.3C375.4 110.8 382.5 103.3 379.3 93.1999999999999C380.3 93.1999999999999 381.3 93.3 383.5 93.1999999999999C388.7 110.0999999999999 369.2 121.1999999999999 352.8 128C355.7 140 355.2 152.1 352.4000000000001 163.6999999999999C346.4000000000001 189 329.8 211.5 317.2000000000001 222.6999999999999C314.9000000000001 222.7999999999999 315.1 220.7999999999999 319.8000000000001 216.1999999999999C331.4000000000001 205.5 356.9000000000001 167 343.1000000000001 131.3C339.2000000000001 132.3 335.5000000000001 132.8 332.2000000000001 132.6999999999999C326.9000000000001 161.8 314.7000000000001 185.8999999999999 308.6000000000001 197.2999999999999C297.1000000000001 218.6999999999999 279.1000000000001 262.5999999999999 271.4000000000001 293C266.9000000000001 286.5999999999999 259.0000000000001 281.0999999999999 249.1000000000001 278C244.4000000000001 276.5 239.4000000000001 272.5 233.2000000000001 269C219.3000000000001 261 203.2000000000001 260.2 190.8000000000001 270.2C186.3000000000001 273.8 182.8000000000001 277.8 178.2000000000001 280.5C176.6000000000001 281.4 173.1000000000001 283.8 172.0000000000001 284.5999999999999C170.0000000000001 246.8 144.7000000000001 199.3 132.7000000000001 171.8999999999999C124.4000000000001 152.1999999999999 119.5000000000001 131.0999999999999 118.9000000000001 110.3999999999999C97.1000000000001 139.5 113.0000000000001 176.6999999999999 121.5000000000001 192.7999999999999C131.0000000000001 210.3999999999999 132.5000000000001 215.2999999999999 130.2000000000001 213.5999999999999C121.6000000000001 199.5999999999999 108.2000000000001 177.3 103.0000000000001 154.3999999999999C100.3000000000001 142.5 99.8000000000001 130.3999999999999 103.3000000000001 119.1999999999999C106.8000000000001 107.9999999999999 114.4000000000001 97.6999999999999 127.9000000000001 89.3C127.9000000000001 89.3 152.7000000000001 74.9999999999999 166.2000000000001 56.8C173.6000000000001 46.8 175.9000000000001 38.1 173.6000000000001 31.9C171.1000000000001 25.2 164.0000000000001 23 156.9000000000001 23C161.7000000000001 17 167.2000000000001 10 171.3000000000001 3.4C208.9000000000001 -22.3 253.5000000000001 -12.3 285.6000000000002 10.6zM415 39.5C405 50.8 407.8 72.6 397.9 81.1C391 87.1 384.3 86.5 375.3 86.2000000000001C367.6 77.4 349.5 66.6 336.9 69.9C325.4 72.8 318.9 86.2000000000001 318.1 99.4C317.8 99.2000000000001 317.4 99.1 317.1 98.9C310 95.0000000000001 306 88.1 303.4 77.8C300.9 67.6 300 54.3 299.2 39.1C298.5 27.3 293 12.7 289.3 -1.5C285.8 -14.7 283.5 -26.7 288.2 -37.8C295.4 -52.3 307.7 -58.2 321.9 -57.1C336.1 -56 352.3 -47.3 365.5 -31.6C387.5 -5 427.8 -1.9 428.7 14.9C429 20 425.6 27.9 415 39.5zM173.3 299.3C175.3 297.4 178 294.8 181.3 292.2000000000001C187.9 287 197.1 281.6 208.6 281.6C220.2 281.6 231.1 287.5 240.4000000000001 292.4000000000001C245.3000000000001 295 251.3000000000001 299.4000000000001 255.2000000000001 302.8000000000001C259.1 306.2000000000001 261.1 309.1 258.3000000000001 309.4000000000001C255.5000000000001 309.7000000000001 255.7000000000001 306.8000000000001 252.3000000000001 304.3000000000001C247.9000000000001 301.1 242.6000000000001 296.9000000000001 238.4000000000001 294.5C231.0000000000001 290.3000000000001 218.9000000000001 284.3000000000001 208.5000000000001 284.3000000000001C198.1000000000001 284.3000000000001 189.8000000000001 289.1 183.6000000000001 294C180.5000000000001 296.5 177.9000000000001 299 175.9000000000001 300.9000000000001C174.4000000000001 302.3000000000001 174.0000000000001 305.5 171.6000000000001 305.8000000000001C170.2000000000001 305.9000000000001 169.8000000000001 302.1 173.3000000000001 299.3000000000001z" glyph-name="linux" horiz-adv-x="448" unicode=""/><glyph d="M0 366.9H77.8V158.2000000000001C77.8 125.1 92.8 105.4 105 97.2000000000001C92.3 86.1 53.8 76.3000000000001 24.8 100.0000000000001C7.8 114 0 137.3 0 159V366.9zM485.9 193.4V215.4H509.7V292.2H483.6C473.4999999999999 338.5 432.4 372.9 383.3 372.9C326.7 372.9 280.6 326.9 280.6 270.2V91C296.6 88.7 316 91.3 332.3 105C349.4 119 357.1 142.2 357.1 164V170.7H395.9V247.5H357.1V270.8C357.1 305.4 409.3 305.4 409.3 270.8V193.7C409.3 137.1 455.3 91 511.9999999999999 91V167.5C497.4999999999999 167.5 485.8999999999999 179.2 485.8999999999999 193.4zM191.6 292.4V179.4C191.6 164 167.8 164 167.8 179.4V292.4H91V159.7C91 135.9 99 105.7 136 95.8C173 86 194.2 106.4 194.2 106.4C192.1 93.0000000000001 179.7 83.1 159.3 81.1C143.8 79.5 124.1 84.7000000000001 114.3 88.9V18.6C139.4 11.1 165.8 8.8 191.9 13.9C239 23.0000000000001 268.7 62.3 268.7 114.7000000000001V292.9H191.6V292.4z" glyph-name="lyft" horiz-adv-x="512" unicode=""/><glyph d="M445.7 320.1V64L382.3 27.5V283.3L223.8 374.9L65.2 283.3L65.6 27.4L2.3 64V319.9L224.2 448L445.7 320.1zM255.6 27.5L224 9.1L192.2 27.3V283.3L128.9 246.7L129 -9.2L223.9 -64.1L319 -9.2V246.8L255.6 283.4V27.4999999999999z" glyph-name="magento" horiz-adv-x="448" unicode=""/><glyph d="M426.56 124.28C423.4700000000001 130.87 417.59 135.41 410.21 137.16C407.74 148.43 404.33 153.96 404.02 154.79C405.32 156.27 406.58 157.76 406.86 158.11C417.28 171.04 410.48 189.97 392.67 194.44C382.65 204.0799999999999 373.58 208.6099999999999 366.13 212.34C358.99 215.91 361.8399999999999 214.5099999999999 355.14 217.53C353.36 226.24 352.7699999999999 246.5 349.94 260.7199999999999C347.3999999999999 273.51 342.2799999999999 282.78 334.38 288.87C331.2199999999999 295.7099999999999 326.79 302.61 321.45 307.68C346.2899999999999 345.76 352.83 383.37 334.64 403.07C326.5399999999999 411.8399999999999 314.51 416 300.12 416C279.86 416 254.94 407.74 229.78 392.4599999999999C229.78 392.4599999999999 213.4 405.64 213.05 405.92C142.97 461.11 -55.23 217.22 14.73 163.92L32.79 150.12C21.45 118.5799999999999 37.22 80.98 70.08 68.91C77.34 66.24 85.22 64.9399999999999 93.39 65.4C93.39 65.4 146.48 -31.96 258.49 -31.99C388.07 -32.03 421.04 94.73 421.39 95.87C421.39 95.86 431.89 111.38 426.56 124.28zM20.12 180.05C5.92 204.01 30.63 253.24 48.21 281.2200000000001C91.66 350.37 163.98 404.94 196.82 397.15L205.85 400.61C205.88 400.58 230.52 379.76 230.55 379.74C247.52 389.93 269.13 400.31 289.35 402.38C277.05 399.61 262.06 393.23 244.3 382.37C243.87 382.12 202.28 354.05 176.87 328.85C163.02 315.12 107.42 248.44 107.4699999999999 248.5C117.63 267.73 124.33 277.17 140.41 297.4C149.5099999999999 308.8400000000001 159.22 319.9700000000001 169.15 330.24C173.76 335.01 178.43 339.6 183.0999999999999 343.9500000000001C186.31 346.94 189.5399999999999 349.8200000000001 192.75 352.5700000000001C194.2299999999999 353.8400000000001 195.71 355.0700000000001 197.18 356.2800000000001L197.19 356.29L164.6 383.2L166.32 371.14L190.01 350.27S169.05 336.16 158.62 327.26C116.83 291.6 75.82 236.86 60.56 183.57L61.29 183.6C53.69 179.41 46.15 172.69 39.56 163.55C39.4 163.59 22.52 175.98 20.12 180.05zM89.23 79.96C64.2 79.96 43.9 101.33 43.9 127.6800000000001C43.9 154.0400000000001 64.19 175.4000000000001 89.23 175.4000000000001C95.72 175.4000000000001 101.89 173.9600000000001 107.47 171.3800000000001C107.47 171.3800000000001 117.1 166.5200000000001 119.81 143.5700000000001C122.63 150.7400000000001 124.05 156.6300000000001 124.05 156.6300000000001C127.28 146.7500000000001 128.93 136.3700000000001 128.28 125.8700000000001C130.96 129.4300000000001 133.83 136.1400000000001 133.83 136.1400000000001C138.83 106.8100000000001 117.43 79.9600000000001 89.23 79.9600000000001zM145.03 248.4900000000001S164.52 285.5500000000001 207.36 310.0600000000001C204.17 310.5700000000001 196.37 309.5800000000001 195 309.4200000000001C202.78 316.11 217.24 320.5800000000001 227.23 322.61C224.31 324.4700000000001 217.34 324.9400000000001 213.89 325.0300000000001C212.87 325.0600000000001 212.88 325.0500000000001 211.67 325.0000000000001C221.07 330.2500000000001 238.49 333.3400000000001 254.32 330.5500000000001C252.33 333.1900000000001 247.82 335.12 244.65 336.0600000000001C244.37 336.1400000000001 243.13 336.4500000000001 243.13 336.4500000000001L244.32 336.73C253.86 338.5700000000001 265.01 336.5800000000001 273.82 333.0400000000001C272.82 335.36 270.37 338.0700000000001 268.53 339.7800000000001C268.34 339.9600000000001 267.24 340.7500000000001 267.24 340.7500000000001C276.46 338.8400000000001 285.3 334.8100000000001 291.95 330.2500000000001C291.05 332.0000000000001 288.81 334.9400000000001 287.26 336.5400000000001C296.07 334.0200000000001 305.9699999999999 327.73 310.2099999999999 318.7200000000001C310.31 318.5200000000001 310.58 317.7800000000001 310.6099999999999 317.6900000000001C293.9099999999999 330.5300000000001 245.1699999999999 326.8900000000001 196.3699999999999 295.2700000000001C174.0399999999999 280.7900000000001 157.6599999999999 264.9500000000001 145.0299999999999 248.4900000000001zM408.35 102.15C407.7600000000001 101.0000000000001 401.62 67.7500000000001 366.49 40.14C322.12 5.28 263.8300000000001 8.8100000000001 241.82 28.34C230.06 39.34 224.97 55.0700000000001 224.97 55.0700000000001S223.64 46.2 223.41 42.72C214.54 57.81 215.29 76.24 215.29 76.24S210.56 67.41 208.39 62.47C201.86 79.09 205.23 96.25 205.23 96.25L200.07 88.55S197.65 107.36 203.59 123.02C209.95 139.76 222.27 151.92 224.7 153.44C215.35 156.41 204.58 164.93 204.56 164.95C204.56 164.95 208.84 164.67 211.82 165.35C211.82 165.35 192.92 178.89 189.6 199.61C192.34 196.23 198.09 192.4 198.09 192.4C196.23 197.8199999999999 195.1 209.89 196.84 221.7599999999999L196.85 221.7699999999999C200.43 244.45 219.12 259.2199999999999 240.29 259.04C262.83 258.8399999999999 277.94 254.11 296.84 271.54C300.84 275.2299999999999 304.03 278.41 309.65 279.6499999999999C310.24 279.7799999999999 311.71 280.3999999999999 314.72 280.3999999999999C317.77 280.3999999999999 320.7 279.7099999999999 323.39 278.1099999999999C333.64 272.01 335.85 256.0999999999999 336.95 244.4299999999999C341.02 201.1499999999999 339.38 208.8599999999999 356.89 199.9399999999999C365.25 195.6899999999999 374.63 191.6499999999999 385.32 180.2199999999999C385.35 180.19 385.4 180.13 385.4 180.13H385.53C394.54 179.9099999999999 399.18 172.8199999999999 395.03 167.6599999999999C364.8 131.5599999999999 322.57 114.2699999999999 275.52 112.8199999999999C273.58 112.7699999999999 269.2 112.67 269.18 112.67C250.17 112.09 243.99 87.5099999999999 255.91 72.72C263.45 63.37 277.94 60.3 289.88 60.26L290.05 60.32C341.5 59.28 393.19 95.69 402.12 115.76C402.18 115.91 402.73 117.18 402.73 117.18C400.6600000000001 114.75 350.55 67.57 289.6500000000001 69.28C289.6500000000001 69.28 282.99 69.42 276.7200000000001 70.8800000000001C268.4500000000001 72.8000000000001 262.17 76.4400000000001 259.7700000000001 84.6800000000001C264.8200000000001 83.6700000000001 271.2200000000001 83.02 278.6400000000001 83.02C322.6 83.02 354.2700000000001 103.0000000000001 350.9700000000001 103.27C350.8400000000001 103.27 350.7100000000001 103.2400000000001 350.49 103.1900000000001C345.36 102.0000000000001 292.52 81.53 259.12 92.03C259.2 93.05 259.36 94.04 259.6 94.93C262.5700000000001 104.88 267.85 103.49 276.3900000000001 103.86C306.8700000000001 104.87 331.4600000000001 112.54 349.8900000000001 121.29C369.54 130.62 384.5200000000001 142.6400000000001 389.9200000000001 148.71C396.9200000000001 136.92 396.8800000000001 121.79 396.8800000000001 121.79S399.6200000000001 122.75 403.2600000000001 122.75C414.6400000000001 122.74 416.9900000000001 112.52 408.35 102.15zM259.0600000000001 88.4500000000001C259.0600000000001 88.5000000000001 259.0500000000001 88.5500000000001 259.0500000000001 88.6C259.0600000000001 88.55 259.0600000000001 88.5 259.0600000000001 88.4500000000001zM259.0500000000001 88.66C259.0400000000001 88.79 259.0400000000001 88.92 259.0300000000001 89.05C259.0100000000001 89.7 259.0000000000001 90.38 259.0300000000001 91.07C259.0100000000001 90.33 259.0100000000001 89.65 259.0300000000001 89.05C259.0400000000001 88.92 259.0400000000001 88.78 259.0500000000001 88.66zM259.1700000000001 87.2000000000001C259.1700000000001 87.1800000000001 259.1700000000001 87.16 259.1800000000001 87.14C259.1800000000001 87.16 259.1800000000001 87.1800000000001 259.1700000000001 87.2000000000001zM259.1900000000001 87.08C259.3900000000001 85.5000000000001 259.7000000000001 84.77 259.7400000000001 84.6800000000001C259.5100000000001 85.1700000000001 259.3200000000001 86.02 259.1900000000001 87.08zM193.96 388.32L196.83 397.15L201.71 379.43L195.68 381.38L193.96 388.32zM216.34 370.6L212.72 383.19L222.69 374.83C220.45 373.39 218.33 371.9700000000001 216.34 370.6zM259.05 88.66C259.04 88.79 259.04 88.92 259.0300000000001 89.05C259.04 88.92 259.04 88.78 259.05 88.66zM259.04 89.05C259.0200000000001 89.6999999999999 259.0100000000001 90.3799999999999 259.04 91.0699999999999C259.0100000000001 90.3199999999999 259.0100000000001 89.6499999999999 259.04 89.05zM259.06 88.4499999999999C259.06 88.4999999999999 259.05 88.55 259.05 88.5999999999999M259.18 87.1399999999999C259.18 87.1599999999999 259.18 87.18 259.17 87.1999999999999M259.19 87.0799999999999C259.39 85.4999999999999 259.7 84.7699999999999 259.74 84.68C259.51 85.17 259.32 86.0199999999999 259.19 87.0799999999999zM311.29 225.69C311.2200000000001 229.05 311.7600000000001 234.61 314.92 235.64H314.93C320.3400000000001 237.5199999999999 327.51 223.66 327.8400000000001 211.3599999999999C323.5600000000001 213.4999999999999 318.54 214.41 313.37 213.9599999999999C312.07 217.9299999999999 311.45 221.6599999999999 311.29 225.6899999999999zM205.38 362.73L191.79 374.11L212.36 367.83C209.71 365.95 207.36 364.23 205.38 362.73zM233.08 195.79C229.67 194.49 227.25 193.48 226.08 193.65C224.19 193.93 226.02 197.4 230.16 200.7600000000001C238.49 207.4 249.92 209.46 259.69 205.8300000000001C263.97 204.2600000000001 268.77 201.1100000000001 271.29 197.4400000000001C272.24 196.0500000000001 272.5 195.0000000000001 272.11 194.5600000000001C271.3400000000001 193.6600000000001 268.6 194.8700000000001 264.56 196.4500000000001C254.21 200.3100000000001 246.58 200.9 233.08 195.7900000000001zM247.63 181.2600000000001C245.32 180.3200000000001 243.82 179.6 243.21 180.09C242.59 180.5700000000001 243.2 182.5100000000001 245.36 184.6C247.24 186.41 249.1900000000001 187.43 251.43 188.37C251.78 188.52 252.15 188.65 252.53 188.75C253.57 189.03 254.62 189.38 255.76 189.55C264.88 191.1 271.56 186.04 270.69 184.57C270.3 183.88 268.61 184.04 266.09 184.21C260.86 184.57 255.38 184.48 247.63 181.26zM60.86 124.88zM85.16 150.66C83.31 150.27 84.35 150.49 82.52 149.98A7 7 0 0 1 81.75 149.73C81.17 149.46 80.64 149.28 80.13 149C79.7 148.7599999999999 76.06 147.1399999999999 73.1 143.5199999999999C69.11 138.5699999999999 67.66 132.0899999999999 67.91 125.8499999999999C68.15 119.7899999999999 69.93 116.4399999999999 70.26 115.6199999999999C71.64 112.6599999999999 68.41 112.0499999999999 65.47 115.2299999999999L65.46 115.2399999999999C63.11 117.7299999999999 61.6 121.5299999999999 60.86 124.8999999999999C57.88 138.8499999999999 64.1 152.8699999999999 78.47 158.4699999999999C79.27 158.7899999999999 80.21 158.9799999999999 80.97 159.1999999999999H80.96C82.43 159.6399999999999 87.68 160.6999999999999 93.03 159.87C98.9 158.9599999999999 104.07 156.0199999999999 107.36 152.1999999999999L107.37 152.19C109.9 149.3199999999999 111.8 145.2699999999999 111.46 141.66V141.65C111.33 140.15 110.67 138 109.32 137.44C108.82 137.23 108.31 137.34 107.96 137.69C106.98 138.65 107.74 140.62 105.36 143.99C102.19 148.46 95.05 152.75 85.16 150.66zM115.44 119.49C117.32 108.67 109.44 98.99 99.92 98.79C93.25 98.64 89.61 102.81 90.26 103.72C90.56 104.15 91.58 103.96 93.14 103.73C101.64 102.41 106.8 107.59 108.04 113.02C108.06 113.11 108.39 114.56 108.38 115.56C108.45 116.44 108.35 117.32 108.22 118.12C107.22 123.74 100.77 124.8 96.62 129.27C92.9 133.31 93.63 138.49 95.97 140.98C98.78 143.75 102.8 142.74 102.75 141.7599999999999C102.75 141.24 101.78 140.8499999999999 100.58 140.0199999999999C99.02 138.9199999999999 98.81 137.8599999999999 99.21 136.0399999999999C99.47 135.0399999999999 99.92 134.3899999999999 100.89 133.6199999999999C104.37 130.8599999999999 113.74 128.9199999999999 115.44 119.4899999999999zM328.31 200.96C330.89 200.56 332.5300000000001 197.37 331.98 193.83C331.43 190.29 328.8900000000001 187.75 326.31 188.16C323.73 188.56 322.09 191.75 322.64 195.29C323.2 198.82 325.73 201.36 328.31 200.96zM299.98 190.65C301.4000000000001 193.24 305.42 193.76 308.9700000000001 191.81C312.5200000000001 189.87 314.24 186.19 312.8300000000001 183.61C311.4100000000001 181.0200000000001 307.3900000000001 180.5 303.8400000000001 182.45C300.29 184.39 298.5600000000001 188.06 299.98 190.65z" glyph-name="mailchimp" horiz-adv-x="428.07" unicode=""/><glyph d="M203.28 -63.89C202.3 -60.63 201.59 -48.06 201.89 -39.31C202.44 -23.42 202.87 -14.59 203.29 -10.55C203.93 -4.35 206.16 10.17 206.57 10.83C207.17 11.79 206.97 38.7 206.33 43.96C206.02 46.54 205.7 55.86 205.64 64.69C205.51 81.16 205.11 84.81 202.91 89.45C201.81 91.77 201.68 93.29 201.92 100.88C202.08 105.69 201.92 111.41 201.58 113.59C199.53 126.56 198.12 141.29 198.33 147.49C198.54 153.61 198.76 154.6399999999999 200.39 157.16C203.44 161.87 206.9 171.2 209.01 180.43C211.27 190.29 212.89 197.61 213.6 201.17C214.49 205.59 216.03 210.89 217.96 216.22C220.2300000000001 222.47 220.4500000000001 231.61 218.3300000000001 231.61C218.03 231.61 216.9500000000001 230.39 215.9200000000001 228.9C214.8900000000001 227.41 211.1600000000001 224.0999999999999 207.6300000000001 221.5399999999999C199.2600000000001 215.4599999999999 195.9300000000001 212.1499999999999 194.9700000000001 208.9599999999999C194.0400000000001 205.8499999999999 193.9500000000001 201.7299999999999 194.8100000000001 201.1999999999999C195.1500000000001 200.9899999999999 196.1000000000001 198.7999999999999 196.9200000000001 196.3199999999999C198.5400000000001 191.44 198.7900000000001 186.1999999999999 197.6400000000001 180.9599999999999C197.2500000000001 179.19 196.5900000000001 175.4899999999999 196.1800000000001 172.7299999999999C195.7700000000001 169.9699999999999 195.2000000000001 166.2699999999999 194.9300000000001 164.5099999999999C194.6500000000001 162.7499999999999 193.9600000000001 160.8299999999999 193.3800000000001 160.2499999999999C192.4200000000001 159.2899999999999 192.2400000000001 159.3399999999999 191.3300000000001 160.7799999999999C190.78 161.6499999999999 190.1300000000001 163.7899999999999 189.8900000000001 165.5299999999999C189.6400000000001 167.2699999999999 188.2600000000001 172.6399999999999 186.81 177.4599999999999C183.53 188.3599999999999 183.29 193.6099999999999 185.85 198.4199999999999C186.77 200.1499999999999 187.52 202.2299999999999 187.52 203.0299999999999C187.52 205.4199999999999 185.32 208.3499999999999 180.11 212.9199999999999C173.06 219.0999999999999 171.48 220.8399999999999 169.88 224.2199999999999C168.17 227.8199999999999 166.82 228.2799999999999 165.34 225.7599999999999C163.56 222.7499999999999 162.7400000000001 216.6499999999999 162.37 203.7399999999999L162.0200000000001 191.6099999999999L163.97 189.3599999999999C167.18 185.6599999999999 176.04 172.9099999999999 177.75 169.5299999999999C181.16 162.7899999999999 182.09 157.8399999999999 182.16 145.9699999999999C182.23 134.13 183.11 123.2199999999999 184.16 121.2599999999999C184.5200000000001 120.5999999999999 184.67 119.9099999999999 184.5 119.74C184.3300000000001 119.5699999999999 184.91 117.65 185.79 115.47C186.67 113.29 187.6 109.2499999999999 187.85 106.49C188.1 103.73 188.87 99.06 189.56 96.12C191.79 86.56 192.3300000000001 82.04 191.95 75.98C191.75 72.71 191.42 64.91 191.22 58.66C189.91 16.9 189.37 0.68 189.18 -2.55C189.06 -4.57 188.7900000000001 -14.06 188.5800000000001 -23.62C188.22 -39.92 187.28 -50.99 186.1600000000001 -52.27C185.5200000000001 -53 178.0900000000001 -47.36 173.6400000000001 -42.78C169.8900000000001 -38.91 169.62 -37.9899999999999 170.81 -32.83C171.51 -29.82 173.07 -14.54 174.1400000000001 -0.21C174.5000000000001 4.57 174.9500000000001 10.29 175.15 12.5C175.9800000000001 21.87 176.81 32.85 177.7600000000001 47.28C178.3200000000001 55.74 179.0900000000001 63.72 179.4800000000001 65.01C179.8600000000001 66.3 180.37 74.9 180.6100000000001 84.12L181.0400000000001 100.89L178.7800000000001 105.19C177.0600000000001 108.47 173.9100000000001 112.13 165.5600000000001 120.53C159.5300000000001 126.6 153.7200000000001 132.83 152.6500000000001 134.38L150.7000000000001 137.19L151.4500000000001 148.09C152.5400000000001 163.8 152.5500000000001 196.66 151.4700000000001 207.15L150.5800000000001 215.85L147.3000000000001 220.37C141.4400000000001 228.45 141.5000000000001 228.12 141.0800000000001 253.64C140.9800000000001 259.71 140.7000000000001 265.14 140.4500000000001 265.7C139.6200000000001 267.57 137.4000000000001 268.36 131.9100000000001 268.75C123.0500000000001 269.37 120.9500000000001 270.65 108.0600000000001 283.3C101.9100000000001 289.3400000000001 95.7200000000001 295.27 94.3100000000001 296.49C91.5000000000001 298.91 91.5200000000001 298.48 93.7500000000001 306.12L95.1000000000001 310.77L93.4100000000001 313.81C92.4800000000001 315.48 91.3200000000001 317.32 90.8200000000001 317.88C89.4900000000001 319.39 85.3200000000001 328.77 84.8300000000001 331.37C84.5200000000001 333.03 84.7400000000001 334.04 85.7000000000001 335.27C87.9300000000001 338.13 89.1000000000001 340.95 90.1500000000001 346C92.4800000000001 357.19 97.8900000000001 372.0900000000001 100.7500000000001 375.2200000000001C103.9300000000001 378.69 108.4500000000001 376.27 110.1600000000001 370.19C111.5000000000001 365.4 111.5300000000001 360.4 110.2600000000001 351.64C109.7300000000001 347.96 109.2800000000001 342.9600000000001 109.2700000000001 340.53C109.2500000000001 336.52 109.4600000000001 335.8400000000001 111.5200000000001 333.14C114.8500000000001 328.77 119.2500000000001 325.73 126.7200000000001 322.62C128.4200000000001 321.9100000000001 130.5400000000001 320.63 131.4400000000001 319.77C142.6100000000001 309.05 150.0600000000001 303.5900000000001 154.3900000000001 302.92C159.5700000000001 302.12 162.3700000000001 298.38 164.4300000000001 289.5300000000001C165.7400000000001 283.88 168.4300000000001 278.3900000000001 169.8900000000001 278.3900000000001C170.4800000000001 278.3900000000001 171.9800000000001 279.0200000000001 173.2200000000001 279.7800000000001C175.2000000000001 281 175.4700000000001 281.51 175.4700000000001 283.9600000000001C175.4600000000001 287.6700000000001 174.3000000000001 298.0400000000001 173.4700000000001 301.8000000000001C173.1000000000001 303.4600000000001 172.6900000000001 305.86 172.5400000000001 307.1500000000001C172.4000000000001 308.4400000000001 171.9300000000001 311 171.5100000000001 312.8400000000001C168.9600000000001 324 167.8600000000001 328.3000000000001 167.4100000000001 328.8900000000001C165.8600000000001 330.9100000000001 163.3300000000001 339.0900000000001 162.4800000000001 344.8100000000001C160.8400000000001 355.92 158.5200000000001 359.04 149.5700000000001 362.2000000000001C144.9300000000001 363.8400000000001 140.6800000000001 366.3200000000001 136.2500000000001 369.98C135.1000000000001 370.9300000000001 132.2400000000001 373.2000000000001 129.9000000000001 375.04C127.5500000000001 376.87 125.4900000000001 378.5700000000001 125.3000000000001 378.8000000000001C125.1200000000001 379.0300000000001 123.9100000000001 379.9400000000001 122.6100000000001 380.8200000000001C116.3700000000001 385.04 113.7700000000001 387.8000000000001 111.3500000000001 392.7800000000001L108.9100000000001 397.8000000000001L108.6900000000001 410.7800000000001L108.4700000000001 423.7600000000001L115.3800000000001 430.3100000000001C119.3300000000001 434.0600000000001 123.8600000000001 437.6600000000001 125.9700000000001 438.7400000000001C129.2800000000001 440.4300000000001 130.4200000000001 440.6300000000001 137.3400000000001 440.79C145.8700000000001 440.98 147.4600000000001 440.7700000000001 149.0000000000001 439.23C150.5300000000001 437.7000000000001 150.3600000000001 432.8300000000001 148.7100000000001 430.73C147.9700000000001 429.79 147.3700000000001 428.7500000000001 147.3700000000001 428.4100000000001C147.3700000000001 427.8300000000001 144.7600000000001 423.5000000000001 141.9500000000001 419.4200000000001C141.2700000000001 418.4300000000001 139.8200000000001 414.0700000000001 139.5800000000001 412.6C160.0200000000001 399.2100000000001 161.1300000000002 408.8300000000001 153.6500000000001 383.6200000000001L165.0500000000001 381.0800000000001C168.1600000000002 389.74 171.5200000000001 398.3400000000001 173.6600000000002 407.3000000000001C173.9500000000001 414.9300000000001 161.6800000000002 411.49 158.2600000000001 415.98C155.9300000000001 421.9100000000001 161.3900000000001 430.1600000000001 164.3200000000001 435.1800000000001C165.9200000000001 437.5200000000001 170.9400000000002 439.8800000000001 173.1400000000001 439.3300000000001C174.0200000000001 439.11 177.3000000000001 439.6800000000001 180.5100000000001 440.61C183.6900000000002 441.5300000000001 187.0900000000002 442.29 188.0600000000002 442.29C189.0300000000002 442.29 191.7200000000002 442.8700000000001 194.0400000000001 443.5800000000001C197.6900000000002 444.6900000000001 198.5400000000001 444.7500000000001 200.3900000000001 443.98C201.5600000000001 443.5000000000001 204.1800000000001 442.8900000000001 206.2100000000001 442.6200000000001C208.2300000000001 442.36 210.9300000000001 441.5000000000001 212.2100000000001 440.7100000000001C213.4900000000001 439.92 215.7400000000001 438.9400000000001 217.2300000000001 438.54C219.7400000000001 437.86 220.2300000000001 437.9700000000001 224.2800000000002 440.2100000000001L228.6300000000002 442.61L239.3300000000002 443.0200000000001C249.7700000000001 443.42 250.1400000000002 443.4900000000001 254.5900000000001 445.7000000000001L259.1700000000002 448.0000000000001L261.6300000000001 446.5700000000001C263.3900000000001 445.55 264.7700000000001 443.8400000000001 266.4800000000002 440.5900000000001C268.8400000000002 436.0800000000001 268.8600000000002 436.0100000000001 267.8500000000002 433.2200000000001C266.9700000000002 430.7800000000001 266.9600000000002 429.92 267.7500000000001 426.8300000000001C268.2500000000001 424.8700000000001 269.2000000000001 422.2100000000001 269.8500000000002 420.92C270.5000000000001 419.6300000000001 271.0900000000002 417.8300000000001 271.1600000000002 416.9100000000001C271.4700000000002 412.5800000000001 271.1300000000002 411.61 268.7500000000001 409.99C266.5800000000001 408.5200000000001 261.7700000000001 402.0800000000001 261.7700000000001 400.6500000000001C261.7700000000001 400.3300000000001 261.2900000000001 398.9600000000001 260.7000000000001 397.62C255.6600000000001 386.11 253.9400000000001 384.0600000000001 246.4400000000001 380.6400000000001C237.2400000000001 376.4400000000001 234.1400000000001 375.4500000000001 230.2300000000001 375.4500000000001C227.1300000000001 375.4500000000001 226.2300000000001 375.2000000000001 225.6900000000001 374.1900000000001C225.3200000000001 373.5 223.4800000000001 371.8200000000001 221.6000000000001 370.48C219.5600000000001 369.0100000000001 217.8000000000001 367.1 217.2200000000001 365.7000000000001C216.6800000000001 364.42 215.5600000000001 363.11 214.7300000000001 362.79C213.9000000000001 362.4700000000001 212.7900000000001 361.7100000000001 212.2800000000001 361.0800000000001C211.7600000000001 360.4600000000001 208.6200000000001 358.04 205.2800000000001 355.7000000000001C201.9500000000001 353.36 198.4100000000001 350.6800000000001 197.4100000000001 349.7400000000001C196.4100000000001 348.8000000000001 195.3400000000001 348.0300000000001 195.0200000000001 348.0300000000001S193.7400000000001 347.2900000000001 192.8900000000001 346.3800000000001C191.5800000000001 344.9900000000001 191.4000000000001 344.2700000000001 191.7500000000002 341.7800000000001C191.9700000000002 340.1500000000001 192.6100000000002 337.5100000000001 193.1700000000001 335.9000000000001C194.4900000000001 332.1000000000001 194.4800000000001 328.0400000000001 193.1200000000001 325.3300000000001C191.6900000000001 322.4700000000001 192.2300000000001 318.6800000000001 194.4700000000001 315.7400000000001C196.4800000000001 313.1100000000001 196.6300000000001 311.1800000000001 195.1800000000001 306.9000000000001C194.5700000000001 305.1 194.1300000000001 301.4500000000001 194.1200000000001 297.9900000000001C194.1000000000001 293.1100000000001 194.3400000000001 291.7100000000001 195.5800000000001 289.6100000000001C196.7800000000001 287.5700000000001 197.4000000000001 287.1300000000001 198.8200000000001 287.2900000000001C200.8000000000001 287.5200000000001 201.1200000000002 288.3400000000001 203.5300000000002 299.4100000000001C205.7100000000002 309.4400000000001 207.2400000000002 311.3300000000001 217.2900000000001 316.4900000000001C220.2300000000001 318.0000000000001 224.7500000000002 320.4500000000001 227.3200000000002 321.9300000000001C229.9000000000002 323.4100000000001 234.1100000000002 325.6200000000001 236.6900000000002 326.8400000000001C243.3600000000002 330.0000000000001 247.7400000000002 333.3600000000001 251.9100000000002 338.5100000000001C259.0200000000002 347.3000000000001 261.8900000000002 354.7300000000001 264.7600000000002 371.8100000000001C265.3100000000002 375.0900000000001 266.1900000000002 377.4600000000001 267.6200000000002 379.5400000000001C268.9100000000002 381.4100000000001 269.9900000000002 384.1600000000001 270.5100000000002 386.8500000000001C271.5300000000002 392.1500000000001 273.3600000000002 395.9300000000001 276.0900000000002 398.3600000000001C280.7900000000002 402.5400000000001 282.0900000000002 399.4500000000001 280.6800000000001 387.4900000000001C280.2200000000002 383.6300000000001 279.5800000000001 377.1600000000001 279.2400000000001 373.1100000000001L278.6300000000001 365.7500000000001L283.0800000000001 361.6600000000001L287.5300000000001 357.5700000000001L287.6400000000001 349.1500000000001C287.7000000000001 344.5200000000001 288.1100000000002 339.6200000000001 288.5600000000001 338.2600000000001L289.3800000000001 335.7900000000001L282.9500000000001 329.5100000000001C274.4100000000001 321.1800000000001 270.0700000000001 315.5800000000001 266.1900000000001 307.9000000000001C264.4200000000002 304.4100000000001 262.4500000000001 300.7900000000001 261.8100000000001 299.8700000000001C259.6300000000001 296.7600000000001 255.3500000000001 286.8600000000001 253.0500000000002 279.6100000000001L250.7600000000002 272.3900000000001L243.7900000000002 265.9000000000001C239.9600000000001 262.3300000000001 235.8300000000002 258.6500000000001 234.6200000000002 257.7300000000001C231.5700000000002 255.4100000000001 230.3600000000002 252.5800000000001 230.3600000000002 247.7400000000001C230.3600000000002 244.7600000000001 230.7900000000002 242.7800000000001 231.9500000000002 240.4800000000001C232.8200000000002 238.7400000000001 233.7600000000002 236.5700000000001 234.0400000000002 235.6500000000001C234.3200000000002 234.7300000000001 235.0200000000002 233.4300000000001 235.6100000000002 232.7600000000001C237.0100000000002 231.1700000000001 237.5300000000002 216.6400000000001 236.4400000000002 209.5400000000001C235.7600000000002 205.0600000000001 232.8100000000002 197.5200000000001 231.7400000000002 197.5200000000001C229.9500000000002 197.5200000000001 227.6800000000002 188.2500000000001 226.6700000000002 176.7800000000001C226.4900000000002 174.7600000000001 226.0500000000002 170.8400000000001 225.6900000000002 168.0800000000001C225.3300000000002 165.3200000000001 224.7300000000002 158.1000000000001 224.3400000000002 152.0300000000001C223.5700000000002 139.8100000000001 224.1500000000002 133.2600000000001 226.3900000000002 128.8800000000001C229.8000000000002 122.1900000000001 226.9100000000002 116.1900000000001 215.3600000000002 106.0400000000001L211.3900000000002 102.5500000000001L211.4600000000002 97.3600000000001C211.5000000000002 94.5000000000001 212.0100000000002 90.5100000000001 212.6000000000002 88.4900000000001C217.2100000000002 72.5100000000001 217.3300000000002 71.5700000000001 216.9800000000002 51.3600000000001C216.5200000000002 24.9600000000002 216.7200000000002 11.0900000000001 217.6100000000002 7.2100000000002C218.0300000000002 5.3700000000002 218.5200000000002 2.2100000000002 218.6900000000002 0.1900000000002C218.8600000000002 -1.8299999999998 219.3500000000002 -5.1399999999998 219.7700000000002 -7.1699999999998C220.2400000000002 -9.4299999999998 220.5500000000002 -18.1899999999998 220.5600000000002 -29.9099999999999L220.5800000000002 -48.9699999999999L218.7700000000002 -51.5999999999998C216.0600000000002 -55.5099999999999 203.6600000000002 -65.1399999999999 203.2800000000002 -63.8899999999999zM232.81 -18.78C232.63 -18.48 232.48 -11.91 232.48 -4.19C232.48 9.87 231.59 23.35 230.22 30.26C229.82 32.28 229.41 39.96 229.32 47.32C229.17 59.25 227.92 71.69 226.68 73.7C226.02 74.77 223.66 91.36 223.65 95C223.64 99.23 224.67 101 228.93 104.13C233.07 107.17 233.79 107.27 234.41 104.85C234.69 103.75 235.86 99.23 237.01 94.8200000000001C240.94 79.7000000000001 241.15 78.5500000000001 241.06 73.08C240.96 67.3000000000001 240.93 66.9500000000001 239.32 55.35C238.34 48.28 238.15 42.96 238.28 26.92C238.45 7.52 237.64 -8.81 236.24 -14.35C235.53 -17.1299999999999 233.44 -19.83 232.81 -18.78zM161.82 18.8C161.58 19.18 160.81 24.04 160.09 29.59C159.37 35.15 158.6 40.0000000000001 158.36 40.3800000000001C158.13 40.7600000000001 157.68 43.6800000000001 157.37 46.8700000000001C157.06 50.0600000000001 156.46 54.33 156.04 56.3500000000001C155.05 61.1400000000001 152.69 75.7000000000001 152.62 77.4200000000001C152.59 78.1600000000001 152.28 81.4700000000001 151.92 84.7800000000001C151.25 90.9900000000001 151.08 112.4500000000001 151.7 113.0700000000001C152.66 114.0300000000001 158.33 110.3100000000001 163.03 105.6400000000001L168.31 100.3900000000001L167.8600000000001 93.9200000000001C167.6100000000001 90.3600000000001 167.2600000000001 83.6900000000001 167.0800000000001 79.0900000000001C166.9 74.4900000000001 166.59 69.2200000000001 166.4100000000001 67.3800000000001C166.2300000000001 65.5400000000001 165.8000000000001 58.0200000000001 165.4700000000001 50.6600000000001C164.6800000000001 33.2500000000001 163.5300000000001 19.3700000000001 162.8200000000001 18.6600000000001C162.5000000000001 18.3600000000001 162.0600000000001 18.4200000000001 161.8200000000001 18.8000000000001zM74.63 285.39C95.7 272.6 92.47 271.24 103.12 267.73C116.13 263.44 121.99 260.6 126.27 250.86C82.61 214.72 57.26 192.96 49.56 180.04C18.54 128.03 43.57 78.4499999999999 112.31 92.83C98.13 63.6 34.34 64.2 13.63 97.73C-11.05 137.68 -8.46 216.03 74.63 285.39zM285.42 106.37C342.08 99.49 367.74 144.11 331.96 195.6C331.96 195.6 305.09 224.94 267.68 263.56C270.66 279.01 277.17 295.68 298.25 317.38C387.45 253.87 390.25 175.77 390.7099999999999 168.02C394.9799999999999 97.44 312.05 76.9 285.4199999999999 106.37z" glyph-name="mandalorian" horiz-adv-x="390.88" unicode=""/><glyph d="M593.85 -4.92H46.15C20.7 -4.92 0 15.78 0 41.23V342.77C0 368.2200000000001 20.7 388.92 46.15 388.92H593.84C619.2900000000001 388.92 639.99 368.2200000000001 639.99 342.77V41.23C640 15.78 619.3 -4.92 593.85 -4.92zM153.85 87.38V207.38L215.39 130.46L276.93 207.38V87.38H338.4700000000001V296.62H276.93L215.39 219.7L153.85 296.62H92.31V87.39H153.85zM566.15 192H504.61V296.62H443.07V192H381.5299999999999L473.8399999999999 84.31L566.15 192z" glyph-name="markdown" horiz-adv-x="640" unicode=""/><glyph d="M417.8 268.9C417.8 366.1 354.1 394.6 354.1 394.6C291.6 423.3 125.6 423 63.7000000000001 394.6C63.7000000000001 394.6 0 366.1 0 268.9C0 153.2 -6.6 9.5 105.6 -20.2C146.1 -30.9 180.9 -33.2 208.9 -31.6C259.7000000000001 -28.8 288.2000000000001 -13.5 288.2000000000001 -13.5L286.5000000000001 23.4S250.2000000000001 12 209.4000000000001 13.3C169.0000000000001 14.6999999999999 126.4000000000001 17.6999999999999 119.8000000000001 67.3C119.2000000000001 71.6999999999999 118.9000000000001 76.3 118.9000000000001 81.1999999999999C204.5000000000001 60.3 277.5000000000001 72.0999999999999 297.6 74.4999999999999C353.7000000000001 81.1999999999999 402.6 115.8 408.8 147.4C418.6 197.2 417.8 268.9 417.8 268.9zM342.7000000000001 143.7H296.1V257.9C296.1 307.6 232.1 309.5 232.1 251V188.5H185.8V251C185.8 309.5 121.8 307.6 121.8 257.9V143.7H75.1C75.1 265.8 69.9 291.6 93.5 318.7C119.4 347.6 173.3 349.5 197.3 312.6L208.9 293.1L220.5 312.6C244.6 349.7 298.6 347.4 324.3 318.7C348 291.4 342.7 265.7 342.7 143.7z" glyph-name="mastodon" horiz-adv-x="417.8" unicode=""/><glyph d="M461.1 5.3H363.7000000000001L415.6 248C417.9000000000001 258.2 416.5 267.5 411.2000000000001 273.7C406.2000000000001 279.8 397.5000000000001 283.3 387.0000000000001 283.3H337.7000000000001L278.2000000000001 5.3H180.8000000000001L240.3000000000001 283.3H156.9L97.4 5.3H0L59.5 283.3L14.9 378.7H387C426.4 378.7 462.3 362.4 485.3 333.8C508.6 305.2 517.1 266.4 508.9 227.9L461.1 5.3z" glyph-name="maxcdn" horiz-adv-x="512" unicode=""/><glyph d="M118.3 209.6C121.8 222.1 125.2 243.2 131.5 243.2C139.8 241.4 141.1 219.8 150.1 206.6C154.7 230.1 155.4 291.7 164.2 293.3C173.2 294 183.9 226.8 186.2 215.8C196.1 211.7 235.1 209.2 235.1 209.2C237 201.9 211.1 201.6 195.1 201.4C190.5 186.6 189.7 173.7 183.7 173.4C179 173.2 175.5 202.2 166.2 223L156.8 157.5C152.4 144.5 141.3 180 134.9 196.8C131.6 196.9 72.5 198.4 87.3 204.6L118.3 209.6zM228 0C249.2 0 249.2 32 228 32H92C70.8 32 70.8 0 92 0H228zM204 -64C225.2 -64 225.2 -32 204 -32H116C94.8 -32 94.8 -64 116 -64H204zM238.2 77.5C241.4 96.4 243.4 113.9 250.1 126.3C258 141 266.2 154.4 274.1 167.3C298.7000000000001 207.7 320 242.5 320 292.8C320 378.4 248.2 448 160 448S0 378.4 0 292.8C0 242.6 21.3 207.7 45.9 167.3C53.8 154.4 61.9 141 69.9 126.3C76.6 113.8 78.6 96.5 81.8 77.4C85.3 56.4 117.9 61.7000000000001 114.4 82.5000000000001C110.8 104.2000000000001 108.8 123.2000000000001 99.1 141.1000000000001C66.5 201.5 33 236.7 33 292.8C33 360.7 90 416 160 416S287 360.7 287 292.8C287 236.7 253.5 201.5 220.9 141.2000000000001C211.2 123.2000000000001 209.2 103.8000000000001 205.6 82.6C202.2 62 234.6 56.2 238.2 77.5z" glyph-name="medapps" horiz-adv-x="320" unicode=""/><glyph d="M71.5 305.7C72.1 311.6 69.8 317.5 65.4 321.5L20.3 375.9V384H160.5L268.9 146.3L364.2 384H497.9V375.9L459.3 338.9C455.9999999999999 336.4 454.3 332.2 454.9999999999999 328.1V56.1C454.3 52 455.9999999999999 47.8 459.3 45.3L496.9999999999999 8.3V0.2H307.3V8.3L346.4000000000001 46.2C350.2000000000001 50 350.2000000000001 51.2 350.2000000000001 57V276.8L241.5 0.9H226.8L100.4 276.8V91.9C99.3 84.1 101.9 76.3 107.4 70.7L158.2 9.1V0.9999999999999H14.2V8.9999999999999L65 70.7C70.4 76.3 72.9 84.2 71.5 91.9V305.7z" glyph-name="medium-m" horiz-adv-x="512" unicode=""/><glyph d="M0 416V-32H448V416H0zM372.2 309.9L348.2 286.9C346.1 285.3 345.1 282.7000000000001 345.5 280.2000000000001V110.9C345.1 108.3 346.1 105.7 348.2 104.2L371.7 81.2V76.1H253.7V81L278 104.6C280.4 107 280.4 107.7000000000001 280.4 111.3V248.2L212.8 76.6H203.7L125 248.2V133.2C124.3 128.4 126 123.5 129.4 120L161 81.7V76.6H71.2V81.7L102.8 120C106.2 123.5 107.7 128.4 106.9 133.2V266.2C107.3 269.9 105.9 273.5 103.1 276L75 309.9V315H162.3L229.7 167L289 314.9H372.2V309.9z" glyph-name="medium" horiz-adv-x="448" unicode=""/><glyph d="M113.7 192C113.7 70.2 197.6 -30.8 307.2 -49.1C288.5 -53.6 269 -56 249 -56C111.4 -56 0 55 0 192S111.4 440 248.9 440C269 440 288.5 437.6 307.1 433.1C197.5 414.8 113.7 313.8 113.7 192M411.1 91.7C333.4 36.3 231.5 44.2 170.7 106.3C176.2 92.2 183.4 78.6 192.4 65.8C254 -22.4 374.8 -43.5 462.0999999999999 18.8C549.3999999999999 81.1 570.1999999999999 203.1 508.5999999999999 291.4000000000001C499.5999999999999 304.3000000000001 489.2999999999999 315.7000000000001 478.0999999999999 325.6C515.4999999999999 246.8000000000001 488.7999999999999 147.1 411.0999999999999 91.7000000000001M192.2999999999999 335.7000000000001C190.8999999999999 334.7000000000001 189.5999999999999 333.6 188.2999999999999 332.6C252.5999999999999 350.4000000000001 324.2 328.6 367.2 272.1C402.8999999999999 225.1000000000001 410.0999999999999 165.5000000000001 391.5999999999999 114.1C448.2999999999999 170.3 459.1999999999999 256.2000000000001 413.8999999999999 315.9000000000001C363.8999999999999 381.4000000000001 264.8 390.3000000000001 192.2999999999999 335.7000000000001M296 224C291.6 224 288 227.6 288 232V272C288 276.4 284.4 280 280 280H232C227.6 280 224 276.4 224 272V232C224 227.6 220.4 224 216 224H176C171.6 224 168 220.4 168 216V168C168 163.6 171.6 160 176 160H216C220.4 160 224 156.4 224 152V112C224 107.6 227.6 104 232 104H280C284.4 104 288 107.6 288 112V152C288 156.4 291.6 160 296 160H336C340.4 160 344 163.6 344 168V216C344 220.4 340.4 224 336 224H296z" glyph-name="medrt" horiz-adv-x="544" unicode=""/><glyph d="M99 33.7C100.1 28 96.7 22.6 91 21.4C85.6 20.3 80.1 23.7 79 29.4C77.9 34.8 81.3 40.5 86.7 41.7C92.1 42.9 97.8 39.4 99 33.7zM242.1 -37.7C235.8 -42.3000000000001 234.1 -51.1 238.4 -57.7C243 -64.3000000000001 251.8 -66 258.4 -61.4C264.7 -56.8 266.4 -48.0000000000001 261.8 -41.4C257.6 -34.9 248.7 -33.1 242.1 -37.7zM156.1 424.6C162.4 426 166.4 432.3 165 438.6C163.9 445.2 157.6 449.2 151.3 447.7C145 446.3 141 440 142.2 433.7C143.6 427.1 149.8 423.1 156.1 424.6zM34.4 221.7C24.4 228.6 10.7 226 3.8 215.7C-3.1 205.7 -0.5 191.7 9.5 184.8C19.5 177.7 33.2 180.2 40.1 190.5C47 200.9 44.4 214.6 34.4 221.7zM306.4 392.6C317 398.9 320.1 412.6 314.1 422.9C307.8 433.5 294.4 436.9 284.1 430.6S270.4 410.6 276.7 400C282.7 389.7 296.1 386.3 306.4 392.6zM115.3 334.6C123 340 124.7 350.6 119.6 358.3S103.9 367.7 96.5 362.6C88.8 357.2 87.1 346.6 92.2 338.9C97.3 331.1 107.8 329.4 115.3 334.6zM487.6 178.6C480.2 176.9 475.3 169.5 477 161.7000000000001C478.4 154.3000000000001 485.9 149.4 493.3 151.1C500.7 152.5 505.6 160 503.9 167.7000000000001C502.4 175.1 495.0000000000001 180.0000000000001 487.6 178.6zM527.3000000000001 235.4000000000001C526.2 241.1 520.7 244.5000000000001 515.3000000000001 243.4000000000001C509.6000000000001 242.3000000000001 506.2 236.5000000000001 507.3000000000001 230.8000000000001C508.4000000000001 225.4000000000001 513.9000000000001 221.7000000000001 519.6 222.8000000000001C525 224.3000000000001 528.7 229.7000000000001 527.3000000000001 235.4000000000001zM447 309.1C438.4 303.1 436.4 291.4 442.1 282.8C447.8 274.2 459.5 272.2 468.1 277.9C476.4 283.9 478.4 295.6 472.7 304.2C467.0000000000001 312.9 455.3000000000001 315.1 447.0000000000001 309.1zM440.7 169.7C467 126.6 455.8 69.7 414.4 40.6C397 28.3 377.3 22.9 357.5 23.5C345.5 -23.6 288.1 -41.1 252.4 -9.1C251.3 -10 249.8 -10.8 248.7 -12C209.6 -39.1 156.4 -29.4 129.3 10.3C119.6 24.6 114.7 40.9 114.2 57.2C48.8 68.1 24.2 151.2 73.1 196.9C44.8 243.8 73.7 304.3 126.5 311.8C151.6 378 234.1 409.4 290.1 366C357.5 388.3 426.4000000000001 336.6 421 264.9C462.1 252.3 473.8 198 440.7 169.7zM370.7 95.4C367.6 116 329.8 100 327.6 122.5C324.5 154.5 371.3 223.6 367.6 250.5C364.2 274.5 348.2 279.6 334.2 279.9C320.8 280.2000000000001 317.3 277.9 312.8 275.3C309.9000000000001 273.6 306.2 270.4 301.1 275.6C294.8 281.6 290 287.3 281.7000000000001 288.5C269.4000000000001 290.5 264.0000000000001 286.5 255.1000000000001 278.8000000000001C251.7000000000001 275.9000000000001 243.1000000000001 265.9000000000001 235.1000000000001 269.7000000000001C231.7000000000001 271.4000000000001 219.7000000000001 277.4000000000001 211.1000000000001 281.1C194.8000000000001 288.2000000000001 171.1000000000001 276.5000000000001 162.5000000000001 261.1C149.6000000000001 238.2000000000001 124.5000000000001 148.0000000000001 120.8000000000001 136.0000000000001C112.2000000000001 109.4 131.7000000000001 87.4 157.7000000000001 88.9C168.8000000000001 89.5000000000001 176.0000000000001 93.5000000000001 183.1000000000001 106.3C187.1000000000001 113.7 224.8000000000001 214 227.7000000000001 218.9C229.7000000000001 222.3 236.6000000000001 226.9 242.3000000000001 224C248.0000000000001 220.9 249.2000000000001 214.6 248.3000000000001 208.9C247.2000000000001 199.2 220.3000000000001 138 219.4 131.2C216 108.3 246.3000000000001 104.6 258.0000000000001 127.2C261.7000000000001 134.3 303.7000000000001 219.8 307.4000000000001 225.5C311.7000000000001 231.8 314.8 233.8 319.1 233.5C322.2000000000001 233.5 327.4000000000001 232.6 326.2000000000001 222.6C324.8000000000001 213.2 291.1 150.3 287.3000000000001 134.9C282.7000000000001 114.3 293.9000000000001 93.5 312.2000000000001 84.3C323.6 78.6 374.7000000000001 68.6 370.7000000000001 95.4zM376.4 3.1C366.1 -4.3 363.5 -18.9 370.7 -29.5000000000001C377.8 -40.1000000000001 392.1 -42.6000000000001 402.7 -35.5000000000001C413.3 -28.1000000000001 415.8 -13.5000000000001 408.7 -2.9C401.3 7.7 387 10.6 376.4 3.1z" glyph-name="meetup" horiz-adv-x="512" unicode=""/><glyph d="M248 440C111.04 440 0 328.96 0 192C0 55.03 111.04 -56 248 -56C384.9600000000001 -56 496 55.03 496 192C496 328.96 384.96 440 248 440zM333.46 172.33L393.12 112.66V25.61L367.05 6.3799999999999L341 25.61V91.07L307.56 124.51L274.12 91.07V25.61L248 6.38L221.88 25.61V91.07L188.44 124.51L155 91.08V25.62L128.93 6.39L102.87 25.62V112.67L162.34 172.14V260L221.84 319.5V395.12L247.9 414.35L273.96 395.12V319.48L333.46 259.98M247.9 271.84L281.34 238.4V172L248 138.67L214.46 172.21V238.4100000000001L247.9 271.8400000000001z" glyph-name="megaport" horiz-adv-x="496" unicode=""/><glyph d="M320.1 267.5H320.7000000000001C355.4000000000001 267.5 383.5000000000001 239.4 383.5000000000001 204.7C383.5000000000001 179.7 364.3000000000001 141.9 320.7000000000001 141.9H320.1C276.7000000000001 141.9 257.3 179.4 257.3 204.7C257.3 239.4 285.5 267.5 320.1 267.5M54.2 14.9C101.3 9 135.8 57.8 115.4 102.7C68.1 206.4 301.3 208.8 261.9 110.9C261.8 110.8 261.7 110.7 261.6 110.5C234.8 67.7 268.4 13.1 320.4 15.3C372.5 13.2 405.8 67.9 379.2 110.5C379.1 110.7 379 110.8 378.9 110.9C339.5 208.8 572.7 206.4 525.4 102.7C520.8 92.7 518.6999999999999 81.4 519.6999999999999 69.7C524.5999999999999 16.3 588.4 -4.4 624.5999999999999 34.5C642.3999999999999 49.3 647.6999999999999 100.1 624.5999999999999 122.8C612.3 135.2 594.8999999999999 142 576.1999999999999 140C532.9 141 526.4999999999999 174.9 538.6999999999999 238.8C561.4999999999999 296.3 523.8 370.3 451.3 369.6C373.9 368.9000000000001 369.6 287.6 320.4 287.6C272.3 287.6 266.4 368.9000000000001 189.5 369.6C116.6 370.4000000000001 79.4 296.3 102.1 238.8C114.3 174.9 107.9 141 64.6 140C43.4 142.3 27.6 133.5 11.6 117.5C-8.3 97.8 -7.7 22.7 54.2 14.9" glyph-name="mendeley" horiz-adv-x="640" unicode=""/><glyph d="M0 416H214.6V201.4H0V416zM233.4 416H448V201.4H233.4V416zM0 182.6H214.6V-32H0V182.6zM233.4 182.6H448V-32H233.4V182.6z" glyph-name="microsoft" horiz-adv-x="448" unicode=""/><glyph d="M0 384V35.1C0 -21.1 88 -23 88 35.1V273.7C95.9 326.6 176 324.1 176 267.2V91.9C176 34 272 33.9 272 91.9V208C277.3 262.7 360 260.5 360 203.7V179.9C360 120 448 123.3 448 179.9V384H0z" glyph-name="mix" horiz-adv-x="448" unicode=""/><glyph d="M424.43 228.271C416.124 313.273 344.135 380 256.919 380C184.653 380 120.695 333.4840000000001 97.714 265.926C43.169 257.897 1.084 211.104 1.084 154.344C1.084 92.046 51.752 41.378 114.327 41.378H403.9409999999999C456.2699999999999 41.378 498.9099999999999 83.74 498.9099999999999 136.071C498.9099999999999 181.202 466.7919999999999 219.134 424.4299999999999 228.271zM403.9410000000001 83.741H114.327C75.287 83.741 43.446 115.305 43.446 154.345S75.287 224.949 114.327 224.949C133.154 224.949 150.875 217.474 164.165 204.183C184.128 184.22 214.298 214.41 194.345 234.363C179.67 248.761 161.673 258.728 142.292 263.712C162.227 308.012 207.082 337.638 256.92 337.638C326.416 337.638 382.899 281.155 382.899 211.936C382.899 198.368 380.6840000000001 185.079 376.53 172.342C367.587 144.825 408.663 133.403 416.677 159.052C419.446 167.358 421.661 175.941 423.046 184.524C442.4269999999999 177.048 456.5479999999999 158.221 456.5479999999999 136.0709999999999C456.5479999999999 107.2759999999999 433.0129999999999 83.7409999999999 403.9409999999999 83.7409999999999zM639.01 136.071C639.01 92.047 626.273 49.6849999999999 601.908 13.414C597.755 7.322 591.11 4 584.188 4C567.871 4 557.061 22.826 566.745 36.949C586.126 66.298 596.648 100.631 596.648 136.071S586.1270000000001 205.844 566.745 234.9160000000001C551.09 257.747 586.106 282.1560000000001 601.908 258.4500000000001C626.274 222.457 639.01 180.0940000000001 639.01 136.071zM568.13 136.071C568.13 104.506 558.9929999999999 74.05 541.273 47.746C537.12 41.655 530.475 38.61 523.553 38.61C506.352 38.61 496.531 57.5889999999999 506.11 71.5579999999999C519.123 90.6619999999999 525.768 112.8129999999999 525.768 136.0709999999999C525.768 159.0519999999999 519.123 181.4789999999999 506.11 200.5829999999999C490.349 223.5689999999999 525.118 247.6779999999999 541.273 224.1179999999999C558.9920000000001 198.0919999999999 568.13 167.6349999999999 568.13 136.0709999999999z" glyph-name="mixcloud" horiz-adv-x="640" unicode=""/><glyph d="M248 440C111 440 0 328.9 0 192C0 55 111 -56 248 -56S496 55 496 192C496 328.9 385 440 248 440zM168 88.1C136.6 77.5 109.2 60.8 88 39.9V312C88 334.1 105.9 352 128 352S168 334.1 168 312V88.1zM288 98C275.1 100 261.8 101.1 248.2 101.1C234.4 101.1 221 100 208 98V312C208 334.1 225.9 352 248 352S288 334.1 288 312V98zM408 40.3C386.8 61.1 359.4 77.7 328 88.3V312C328 334.1 345.9 352 368 352S408 334.1 408 312V40.3z" glyph-name="mizuni" horiz-adv-x="496" unicode=""/><glyph d="M356 206.2L392.7 182.5V-32L259.7 51.8L356 206.2zM440 373H226.3L203.3 335.2L356.8 238.7L440 373zM351 230.2L55.2 416V201.5L101.2 172.5L351 230.2zM97 153.8L8 11H221.7L346.7 211.5L97 153.8z" glyph-name="modx" horiz-adv-x="448" unicode=""/><glyph d="M352 64H460.4C417 -7.9 338.1 -56 248 -56S79 -7.9 35.6 64H144V191.8L248 87L352 192V64zM88 112V320L247.4 160.6L408 320V112H482.8C491.3 137.1 496 164 496 192C496 329 385 440 248 440S0 329 0 192C0 164 4.6 137.1 13.2 112H88z" glyph-name="monero" horiz-adv-x="496" unicode=""/><glyph d="M298.3 74.4C284.1 60.8 267 50.3 247.9 43.9C228.9 50.3 211.7 60.8 197.6 74.4H298.3zM342.3 274C362.3 290.9 385.9000000000001 303.2 411.9 310.2V149C411.9 -70.4 83.9 -68.6 83.9 148.7V310.3C109.8 303.4 133.5 290.7000000000001 153.4 273.9C210.2 313.9 285.9 313.8 342.3 274zM133.5 332.5C197.9 392.5 297.8 392.6 362.4 332.7C355.3 329.2 348.5 325.4 341.8 321.2C283.1 351.7 212.6 351.6 153.9 321.1C147.5999999999999 325.1 140 329.3 133.5 332.5zM43.8 354.8V285.5C-14.6 249 -14.6 164.4 43.9 127.2C70.3 -117.9 425.6 -113.1 451.5 125.7L451.8 127.4C510.5 163.7 510.7 249.1 452 285.6V354.8C434.7 354.3 418 351.8 401.9 347.4C319.9 438.9 176.4 438.9 94.4 347.3C78.1 351.7 61.3 354.3 43.8 354.8zM259.2 96S295.2 96.3 320.5 97.5C330.7 98 341.6 101.5 346 104C372.3 119.1 371.4 143.2 372.2 151.4C292.7 152 272.3 155.3 259.2 96zM123.7 151.3C124.5 143.1 123.6 119 149.9 103.9C154.3 101.4 165.1 97.9 175.4 97.4C200.7 96.3 236.7 95.9 236.7 95.9C223.5 155.3 203 152.0000000000001 123.7 151.3zM292.8 27.9C289.6 33.2 285.9 35.2 285.9 35.2C261.1 27.9 233.7 28.3 210 35.2C210 35.2 207.1 33.7 203.6 28.6C200.8 24.4999999999999 199.9 18.9999999999999 199.9 18.9999999999999C229 1.3999999999999 267 1.3999999999999 296.1 18.9999999999999C296 19.1 295.8 22.9999999999999 292.8 27.8999999999999z" glyph-name="napster" horiz-adv-x="496" unicode=""/><glyph d="M387.44 -64H292.33L184.12 90.54V-0.5599999999999L97.69 -64H0V418.18L40.47 448H148.52L272.26 271.87V384.55L358.69 448H456.38V-13.5L387.44 -64zM10.77 412.73V-47.99L82.78 4.89V254.05L298.27 -53.64H383.06L435.4100000000001 -15.47H357.1400000000001L40.96 435.02L10.77 412.73zM93.31 -53.88L173.35 4.9V105.94L93.55 220.3V-0.64L20.97 -53.89H93.31zM52.63 437.23L363.23 -5.34H445.6V437.23H365.85V119.67L142.91 437.23H52.63zM283.0300000000001 256.35L355.04 153.54V432.07L283.0300000000001 379.11V256.35z" glyph-name="neos" horiz-adv-x="456.38" unicode=""/><glyph d="M232.6 148.71C248.17 148.71 259.75 137.25 259.75 121.75C259.75 106.2 248.13 94.79 232.6 94.79C216.9 94.79 205.45 106.36 205.45 121.75C205.45 137.26 217.03 148.71 232.6 148.71zM99.01 121.75C99.01 137.36 110.69 148.71 126.16 148.71C141.73 148.71 153.31 137.25 153.31 121.75C153.31 106.34 141.84 94.79 126.16 94.79C110.72 94.79 99.01 106.1 99.01 121.75M177.76 289.05C143 289.05 75.45 269.23 45.25 221L0 448V112.52C0 14.87 79.61 -64 177.76 -64C276 -64 355.52 14.95 355.52 112.52C355.52 209.98 276.13 289.05 177.76 289.05zM177.76 -19.07C104.49 -19.07 45.25 39.83 45.25 112.52C45.25 185.2 104.49 244.11 177.76 244.11C251.03 244.11 310.27 185.2 310.27 112.52S251.02 -19.07 177.76 -19.07z" glyph-name="nimblr" horiz-adv-x="355.52" unicode=""/><glyph d="M95.9 414.5C51.3 406.5 15.4 373.5 4.1 330.1C0 314.4 -0.3 305.2 0.2 183.6C0.4 72 0.5 69.4 2.4 60.7C12.7 14.2 45.7 -18.9 92.7 -29.8C98.8 -31.2 106.6 -31.5 156.8 -31.7C208.7 -32.1 214.1 -32 215.5 -30.6C216.9 -29.2 217 -11.3 217 191.6C217 342.1 216.7 412.9000000000001 216.1 414.2000000000001C215.2 415.9000000000001 213.6 416 159.2 415.9000000000001C115 415.8 101.7 415.5 95.9 414.5zM179.8 191.9V4L142 4.5C107.2 4.9 103.5 5.1 96.5 6.8C66.6 14.5 44.5 37.5 38.2 67.5C36.2 76.9 36.2 307.6 38.1 316.8C43.7 342.9 61.8 364.5 86.1 374.2000000000001C98.3 379.1 104 379.7000000000001 143.7 379.8L179.6 379.9V191.9zM103.9 323.1C98.1 322 89.2 317.5 84.4 313.4C74.7 305 69.8 293 70.6 278.9C71 271.6 71.4 269.6 74.4 263.7C78.8 254.7 85.3 248.1 94.3 243.7C100.5 240.6 102.1 240.3 110.2 240C117.5 239.7 120.1 240 125 241.7C145.1 248.5 157.3 268 153.8 288.1C149.9 311.8 127.2 327.8 103.9 323.1zM262.1 415.4C261.7000000000001 415.1 261.5 314.6 261.5 191.9C261.5 -10.4 261.6 -30.9 263 -31.5C265.5 -32.4 337.5 -32.1 346.4 -31.1C384.1 -26.8 417.4 -3.9 435.4 30.1C437.7 34.4999999999999 440.8 41.8 442.4 46.3C448.2 63.6999999999999 448.1 59.1 448.1 192.4C448.1 298.8 447.9 314.7 446.6 321.4C437.4 369.7 400.5 406.2 352.1 414.5C345.6 415.6 335.6 415.8999999999999 303.3 415.8999999999999C280.9 416 262.4 415.7 262.1 415.3999999999999zM361.2000000000001 213.3C375.7000000000001 209.5 387.5000000000001 198.5 392.4000000000001 184.4C395.5000000000001 175.7 395.4000000000001 162.9 392.3 154.9C386.6 140.2 375.5 129.9 361.2 126.1C338 120.1 313.3 134.1 306.6 157.1C304.6 164.1 304.7 176 307 183.3C313.8999999999999 206 338 219.4 361.2 213.3z" glyph-name="nintendo-switch" horiz-adv-x="448" unicode=""/><glyph d="M224 -60C217.3 -60 210.5 -58.2 204.6 -54.8L142.9 -18.3C133.7 -13.1 138.2 -11.3 141.2 -10.3C153.5 -6 156 -5.1 169.1 2.4C170.5 3.2 172.3 2.9 173.7 2L221.1 -26.1C222.8 -27.1 225.2 -27.1 226.8 -26.1L411.5 80.5C413.2 81.5 414.3 83.5 414.3 85.5V298.7C414.3 300.8 413.2 302.7 411.4000000000001 303.8L226.8 410.3C225.1 411.3 222.8 411.3 221.1 410.3L36.6 303.7C34.8 302.7 33.7 300.7 33.7 298.6V85.5C33.7 83.5 34.8 81.5 36.6 80.6L87.2 51.4C114.7 37.7 131.5 53.8 131.5 70.1V280.5C131.5 283.5 133.9 285.8 136.9 285.8H160.3C163.2 285.8 165.7 283.5 165.7 280.5V70C165.7 33.4 145.7 12.4 111 12.4C100.3 12.4 91.9 12.4 68.5 24L20.1 51.9C8.1 58.8 0.7 71.7 0.7 85.6V298.7C0.7 312.5 8.1 325.5 20.1 332.4L204.6 439C216.3 445.6 231.8 445.6 243.4 439L428.1 332.3C440.1 325.4 447.5 312.5 447.5 298.6V85.5C447.5 71.7 440.1 58.8 428.1 51.8L243.4 -54.8C237.5 -58.2 230.8 -60 224 -60zM373.1 150.1C373.1 190 346.1 200.6 289.4000000000001 208.1C232.0000000000001 215.7 226.2000000000001 219.6 226.2000000000001 233.0000000000001C226.2000000000001 244.1 231.1000000000001 258.9000000000001 273.6 258.9000000000001C311.5 258.9000000000001 325.5 250.7000000000001 331.3 225.1C331.8 222.7 334 220.9 336.5 220.9H360.5C362 220.9 363.4 221.5 364.4 222.6S365.9 225.2 365.8 226.7C362.1 270.8 332.8 291.3 273.6 291.3C220.9 291.3 189.5 269.1 189.5 231.8C189.5 191.4 220.8 180.2 271.3 175.2C331.8 169.3 336.5 160.4 336.5 148.5C336.5 127.9 319.8999999999999 119.1 281 119.1C232.1 119.1 221.4 131.4 217.8 155.7000000000001C217.4 158.3000000000001 215.2 160.2000000000001 212.5 160.2000000000001H188.5999999999999C185.5999999999999 160.2000000000001 183.2999999999999 157.8000000000001 183.2999999999999 154.9C183.2999999999999 123.8 200.1999999999999 86.7000000000001 281.0999999999999 86.7000000000001C339.4999999999999 86.8000000000001 373.0999999999999 109.9 373.0999999999999 150.1z" glyph-name="node-js" horiz-adv-x="448" unicode=""/><glyph d="M316.3 -4C314.2 -4 312.1 -3.4 310.2 -2.4L291 9C288.1 10.6 289.5 11.2 290.5 11.5C294.3 12.8 295.1 13.1 299.2 15.5C299.6 15.7 300.2 15.6 300.6 15.4L315.4 6.6C315.9 6.3 316.7 6.3 317.2 6.6L375 40C375.5 40.3 375.9 40.9 375.9 41.6V108.3C375.9 109 375.6 109.6 375 109.9L317.2 143.2000000000001C316.7 143.5000000000001 316 143.5000000000001 315.4 143.2000000000001L257.6 109.9C257 109.6 256.7 108.9 256.7 108.3V41.6C256.7 41 257.1 40.4 257.6 40.1L273.4 31C282 26.7 287.3 31.8 287.3 36.8V102.7000000000001C287.3 103.6 288 104.4 289 104.4H296.3C297.2 104.4 298 103.7000000000001 298 102.7000000000001V36.8000000000001C298 25.3000000000001 291.8 18.8000000000001 280.8999999999999 18.8000000000001C277.5999999999999 18.8000000000001 274.8999999999999 18.8000000000001 267.5999999999999 22.4000000000001L252.3999999999999 31.1000000000001C248.7 33.3000000000001 246.3 37.3000000000001 246.3 41.6000000000001V108.3000000000001C246.3 112.6000000000001 248.6 116.7000000000001 252.3999999999999 118.8000000000001L310.2 152.2000000000001C313.8999999999999 154.3000000000001 318.7 154.3000000000001 322.3 152.2000000000001L380.1 118.8000000000001C383.8 116.6000000000001 386.2 112.6000000000001 386.2 108.3000000000001V41.6000000000001C386.2 37.3000000000001 383.9 33.2000000000001 380.1 31.1000000000001L322.3 -2.2999999999999C320.6 -3.3999999999999 318.5 -3.9999999999999 316.3 -3.9999999999999zM363 61.8C363 74.3 354.6 77.6 336.8 80C318.8 82.4 317 83.6 317 87.8C317 91.3 318.5 95.9 331.8 95.9C343.7 95.9 348.1 93.3 349.9000000000001 85.3C350.1 84.5 350.7000000000001 84 351.5000000000001 84H359.0000000000001C359.5000000000001 84 359.9000000000001 84.2 360.2000000000001 84.5C360.5000000000001 84.9 360.7000000000001 85.3 360.6 85.8C359.4000000000001 99.6 350.3 106 331.8 106C315.3 106 305.5 99 305.5 87.4C305.5 74.7 315.3 71.3 331.1 69.7C350 67.8 351.5 65.1 351.5 61.4C351.5 54.9 346.3 52.2 334.1 52.2C318.8 52.2 315.4000000000001 56 314.3 63.6C314.2 64.4 313.5 64.9999999999999 312.6 64.9999999999999H305.1C304.2000000000001 64.9999999999999 303.4000000000001 64.3 303.4000000000001 63.3C303.4000000000001 53.6 308.7000000000001 41.9999999999999 334.0000000000001 41.9999999999999C352.5000000000001 41.9999999999999 363.0000000000001 49.1999999999999 363.0000000000001 61.8zM417.5 111.9C417.5 105.8 412.5 100.8 406.4 100.8S395.3 105.8 395.3 111.9C395.3 118.2000000000001 400.5 123.0000000000001 406.4 123.0000000000001C412.4 123.1000000000001 417.5 118.2000000000001 417.5 111.9zM415.7 111.9C415.7 117.1 411.5 121.2000000000001 406.3 121.2000000000001C401.2 121.2000000000001 397 117.1 397 111.9C397 106.7000000000001 401.2 102.5000000000001 406.3 102.5000000000001C411.5 102.6000000000001 415.7 106.8000000000001 415.7 111.9zM411.2 105.7000000000001H408.6C408.5 106.3000000000001 408.1 109.5000000000001 408.1 109.6C407.9 110.3 407.7 110.7000000000001 406.8 110.7000000000001H404.6V105.7000000000001H402.2V118.2000000000001H406.5C408 118.2000000000001 410.9 118.2000000000001 410.9 114.9C410.9 112.6 409.4 112.1 408.5 111.8C410.2 111.7 410.3 110.6 410.6 109C410.7000000000001 108 410.9000000000001 106.3 411.2000000000001 105.7zM408.4 114.5000000000001C408.4 116.2000000000001 407.2 116.2000000000001 406.6 116.2000000000001H404.6V112.7000000000001H406.5C408.1 112.7000000000001 408.3999999999999 113.8000000000001 408.3999999999999 114.5000000000001zM137.3 257C137.3 259.7 135.9 262.1 133.6 263.4L72.3 298.7C71.3 299.3 70.1 299.6 68.9 299.7H68.3C67.1 299.7 66 299.3 64.9 298.7L3.7 263.4C1.4 262.1 0 259.6 0 257L0.1 162C0.1 160.7 0.8 159.5 1.9 158.8C3 158.1 4.4 158.1 5.6 158.8L42 179.7C44.3 181.1 45.7 183.5 45.7 186.1V230.5C45.7 233.1 47.1 235.6 49.4 236.9L64.9 245.8C66.1 246.5 67.3 246.8 68.6 246.8C69.9 246.8 71.2 246.5 72.3 245.8L87.8 236.9C90.1 235.6 91.5 233.1 91.5 230.5V186.1C91.5 183.5 92.9 181 95.2 179.7L131.6 158.8C132.7 158.1 134.2 158.1 135.3 158.8C136.4 159.4 137.1 160.7 137.1 162L137.3 257zM472.5 360.7V184.3C472.5 181.7 471.1 179.2 468.8 177.9L407.5 142.5000000000001C405.2 141.2000000000001 402.4 141.2000000000001 400.1 142.5000000000001L338.8 177.9C336.5 179.2000000000001 335.1 181.7000000000001 335.1 184.3V255.1C335.1 257.7000000000001 336.5 260.2000000000001 338.8 261.5L400.1 296.9000000000001C402.4000000000001 298.2000000000001 405.2000000000001 298.2000000000001 407.5 296.9000000000001L422.8 288.1C424.5 287.1 426.7 288.4000000000001 426.7 290.3V384.3C426.7 387.1 429.7 388.9000000000001 432.2 387.5L468.7 367.1C471 365.9000000000001 472.5 363.4000000000001 472.5 360.7000000000001zM426.5 231.8C426.5 232.5 426.1 233.1 425.6 233.4L404.6 245.6C404 245.9 403.3 245.9 402.7000000000001 245.6L381.7000000000001 233.4C381.1 233.1 380.8000000000001 232.5 380.8000000000001 231.8V207.5C380.8000000000001 206.8 381.2000000000001 206.2 381.7000000000001 205.9L402.7000000000001 193.8C403.3000000000001 193.5 404.0000000000001 193.5 404.5000000000001 193.8L425.5000000000001 205.9C426.1000000000001 206.2 426.4000000000001 206.8 426.4000000000001 207.5V231.8zM636.3 232.5C638.5999999999999 233.8 640 236.3 640 238.9V256C640 258.6 638.6 261.1 636.3 262.4L575.4 297.8C573.1 299.1 570.3 299.1 568 297.8L506.7 262.4C504.4 261.1 503 258.6 503 256V185.2C503 182.5 504.4 180.1 506.7 178.8L567.6 144.1C569.8000000000001 142.8 572.6 142.8 574.9 144.1L611.6999999999999 164.6C614.1999999999999 166 614.1999999999999 169.6 611.6999999999999 171L550 206.4C548.8 207.1 548.1 208.3 548.1 209.6V231.8C548.1 233.1 548.8000000000001 234.3 550 235L569.2 246.1C570.3000000000001 246.8 571.8000000000001 246.8 572.9000000000001 246.1L592.1000000000001 235C593.2000000000002 234.3 594.0000000000001 233.1 594.0000000000001 231.8V214.4C594.0000000000001 211.6 597.1000000000001 209.8 599.6000000000001 211.2L636.3000000000002 232.5zM559 229C558.6 228.7 558.3 228.3 558.3 227.8V214.2C558.3 213.7 558.5999999999999 213.2 559 213L570.8 206.2C571.1999999999999 205.9 571.8 205.9 572.1999999999999 206.2L584 213C584.4 213.3 584.7 213.7 584.7 214.2V227.8C584.7 228.3 584.4000000000001 228.8 584 229L572.2 235.8C571.8000000000001 236.1 571.2 236.1 570.8000000000001 235.8L559 229zM304.8 185.5V255.9C304.8 258.5 303.2 261 300.9000000000001 262.3L239.8000000000001 297.5C237.7000000000001 298.7 234.8000000000001 298.9 232.4000000000001 297.5L171.3000000000001 262.3C169 261 167.4 258.6 167.4 255.9V185.5C167.4 182.7 169.3000000000001 180.3 171.4 179.1L232.6 143.9C235.0000000000001 142.5000000000001 237.8 142.6 240.0000000000001 143.9L301 179.1C302.8 180.1 304.1 181.8 304.6 183.8C304.7000000000001 184.3 304.8 184.9 304.8 185.5zM230.5 310.4L229.7 309.9H230.8L230.5 310.4zM306.7 180.2000000000001L306.3 180.9V180.0000000000001L306.7 180.2000000000001z" glyph-name="node" horiz-adv-x="640" unicode=""/><glyph d="M288 160H256V224H288V160zM576 288V96H288V64H160V96H0V288H576zM160 256H32V128H96V224H128V128H160V256zM320 256H192V96H256V128H320V256zM544 256H352V128H416V224H448V128H480V224H512V128H544V256z" glyph-name="npm" horiz-adv-x="576" unicode=""/><glyph d="M187.1 288.1L152.9 174.4L98.4 288.1H49L0 128H44.9L76 234.5L126.6 128H183.5L232 288.1H187.1zM639.6 289C636.7 307 615.7 317.1 597.5 320.3C552.9 328.1 495.6 304 509 261.5V261.4C465.2 252.7 434.7 234.6 414.8 213.2C411.8 223 401.2 229.8 380.8 229.8H293.2000000000001C283.9000000000001 229.8 280.3000000000001 232.1 281.7000000000001 237.2C283.3000000000001 242.7 283.6 244 285.4000000000001 249.4C287.5000000000001 255.8 293.2000000000001 256.5 298.7000000000001 256.5H432.2000000000001L441.9000000000001 288C302.2000000000001 288 297.4000000000001 288.5 281.8000000000001 286.8C269.5000000000001 285.5 258.3000000000001 282 251.2000000000001 271.8C244.4000000000001 261.9 236.8000000000001 236.2 233.6000000000001 224.7C228.2000000000001 205.3 233.0000000000001 196.1 266.4000000000001 196.1H353.7000000000001C361.5000000000001 196.1 362.5000000000001 193.4 361.4000000000001 189.5C360.3000000000001 185.1 358.6000000000001 179.5 356.9000000000001 174.9C355.3000000000001 170.7 352.2000000000001 167.5 343.1000000000001 167.5H216.3L204.7 128C344.6 128 350 128.6 365.6 130.3C372.2000000000001 131 378.6 132.4 384.1 135.2C384.3 131.5 384.6 127.9 385.3 124.4C390.7 93.9 412.7 72.1 442.1 64.9C490.7 53 550.8000000000001 81.7 577.2 132.9C595.9000000000001 169.1 591.3000000000001 209.1 573.8000000000001 238.4H573.9000000000001C603.5000000000001 244.3 644.2 260.4 639.6000000000001 289zM530.7 184.3C524.8000000000001 154.8 494.1 136.5 469.1 140.4C438.2000000000001 145.2000000000001 430.6 179.9 455 205.2000000000001C471.2 222.0000000000001 500.2 229.2000000000001 523.5 232.1000000000001C530.2 218.0000000000001 533.8 200.1000000000001 530.7 184.3000000000001zM552.5 267.4C548.3 273.4 542.7 285.9 550 293.7000000000001C556.7 300.9 570.9 303.8 581.8 301.4C597.0999999999999 298 601.5 285.5 586.6999999999999 277C575.9999999999999 270.9 563.0999999999999 268.9 552.4999999999999 267.4z" glyph-name="ns8" horiz-adv-x="640" unicode=""/><glyph d="M88 439.9S221.4 448.1 209 335.5C209 335.5 228.1 410.4 312 376.1C312 376.1 294.3 302.1 224 320.1C224 320.1 238.6 374.7 290.1 376.7C290.1 376.7 250.2 387 208 327.9C208 327.9 188.2 422.4 114.4 427.6C114.4 427.6 189.6 408.2 192 320.1C192 320 85.6 313.1 88 439.9zM400 124.3C400 75.8 390.3 28.9999999999999 368 -8.0000000000001C325.8 -38.9 263 -56.0000000000001 200 -56.0000000000001C137.1 -56.0000000000001 74.2 -38.9 32 -8.0000000000001C9.7 29 0 75.8 0 124.3C0 172.7 17.7 219 40 256C82.2 286.9 137.1 304.6 200 304.6C263 304.6 317.8 287 360 256C382.3 219 400 172.7 400 124.3zM120 20C120 35.5 107.5 48 92 48S64 35.5 64 20S76.5 -8 92 -8S120 4.5 120 20zM120 86.2C120 101.7 107.5 114.2 92 114.2S64 101.7 64 86.2S76.5 58.2 92 58.2S120 70.7 120 86.2zM120 152.4C120 167.9 107.5 180.4 92 180.4S64 167.9 64 152.4S76.5 124.4 92 124.4S120 136.9 120 152.4zM192 20C192 35.5 179.5 48 164 48S136 35.5 136 20S148.5 -8 164 -8S192 4.5 192 20zM192 86.2C192 101.7 179.5 114.2 164 114.2S136 101.7 136 86.2S148.5 58.2 164 58.2S192 70.7 192 86.2zM192 152.4C192 167.9 179.5 180.4 164 180.4S136 167.9 136 152.4S148.5 124.4 164 124.4S192 136.9 192 152.4zM264 20C264 35.5 251.5 48 236 48S208 35.5 208 20S220.5 -8 236 -8S264 4.5 264 20zM264 86.2C264 101.7 251.5 114.2 236 114.2S208 101.7 208 86.2S220.5 58.2 236 58.2S264 70.7 264 86.2zM264 152.4C264 167.9 251.5 180.4 236 180.4S208 167.9 208 152.4S220.5 124.4 236 124.4S264 136.9 264 152.4zM336 20C336 35.5 323.5 48 308 48S280 35.5 280 20S292.5 -8 308 -8S336 4.5 336 20zM336 86.2C336 101.7 323.5 114.2 308 114.2S280 101.7 280 86.2S292.5 58.2 308 58.2S336 70.7 336 86.2zM336 152.4C336 167.9 323.5 180.4 308 180.4S280 167.9 280 152.4S292.5 124.4 308 124.4S336 136.9 336 152.4zM360 192C355.2 214.3 352.6 228.9 344 248C305.2 267.9 253.5 280 200 280S94.8 267.9 56 248C47.2 228.5 44.8 214.1 40 192C82.2 199.9 138.7 206.8 200 206.8S317.8 199.9 360 192z" glyph-name="nutritionix" horiz-adv-x="400" unicode=""/><glyph d="M184.2 270.9C184.2 293 202.1 310.9 224 310.9S263.8 293 263.8 270.9C263.8 248.9 245.9 231.1 224 231.1S184.2 249.0000000000001 184.2 270.9000000000001zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM142.9 270.9C142.9 226.3 179.3 190 224 190S305.1 226.2 305.1 270.9C305.1 315.7 268.7 352 224 352S142.9 315.8 142.9 270.9zM317.4 180.2C312.8 189.3 300.1 197 283.3 183.8C283.3 183.8 260.6 165.8 224 165.8S164.6999999999999 183.8 164.6999999999999 183.8C147.8999999999999 197 135.1999999999999 189.3 130.5999999999999 180.2C122.6999999999999 164.1 131.6999999999999 156.5 152 143.2C169.3 132.1 193.1999999999999 128 208.5999999999999 126.4L195.6999999999999 113.5C177.5 95.5 160.1999999999999 78 148 65.8C130.4 48.2 158.6999999999999 20 176.4 37.2L224.1 85.1C242.3 66.9 259.8 49.4 271.8 37.2C289.4 20 317.8 47.9 300.4 65.8L252.7 113.5L239.7 126.4C255.2 128 278.8 132.3 295.9 143.2C316.3 156.5 325.2 164.2 317.4 180.2z" glyph-name="odnoklassniki-square" horiz-adv-x="448" unicode=""/><glyph d="M275.1 114C247.7 96.6 210 89.7 185.1 87.1L206 66.5L282.3 -9.8C310.2 -38.4 264.8 -83.1 236.6 -55.5C217.5 -36.1 189.5 -8.1 160.3 21.1L84 -55.4C55.8 -82.9 10.4 -37.8 38.6 -9.7C58 9.7 85.7 37.7 114.9 66.6L135.5 87.2000000000001C110.9 89.8000000000001 72.6 96.3000000000001 44.9 114.1C12.3 135.1 -2 147.4 10.6 173.1C18 187.7000000000001 38.3 200 65.2 178.8C65.2 178.8 101.5 149.9 160.1 149.9S255.0000000000001 178.8 255.0000000000001 178.8C281.9000000000001 199.9 302.1 187.7 309.6 173.1C322 147.4 307.7000000000001 135.1 275.1 114zM30.3 318.3C30.3 390 88.6 448 160 448S289.7 390 289.7 318.3C289.7 246.9 231.4 188.9 160 188.9S30.3 246.9 30.3 318.3zM96.3 318.3C96.3 283.2000000000001 124.9 254.6 160 254.6S223.7 283.2000000000001 223.7 318.3C223.7 353.7000000000001 195.1 382.3 160 382.3S96.3 353.7000000000001 96.3 318.3z" glyph-name="odnoklassniki" horiz-adv-x="320" unicode=""/><glyph d="M235.76 437.77C243.26 438.08 250.76 438.05 258.26 437.86C261.87 437.7200000000001 265.46 437.46 269.05 437.13C273.9700000000001 436.86 278.8400000000001 436.1 283.7200000000001 435.51C286.6500000000001 435.08 289.55 434.53 292.4700000000001 434.05C300.37 432.72 308.1400000000001 430.77 315.86 428.65C328.1 425.18 340.05 420.73 351.62 415.44C378.18 403.2 402.56 386.23 423.25 365.56C443.28 345.4700000000001 459.97 322.01 472.14 296.37C473.27 293.78 474.58 291.27 475.61 288.63C478.42 282.2 481 275.66 483.19 269C487.33 256.67 490.53 244.01 492.61 231.17C493.18 228.0300000000001 493.65 224.87 494.01 221.7C494.56 217.87 494.95 214.01 495.19 210.14C496.02 201.8 496.03 193.41 495.96 185.04C495.89 180.07 495.7 175.1 495.21 170.15C494.97 166.7700000000001 494.7 163.3900000000001 494.23 160.03C493.84 157.31 493.6 154.5700000000001 493.1199999999999 151.86C492.22 146.71 491.42 141.55 490.2499999999999 136.45C486.1499999999999 117.95 479.9499999999999 99.9 471.74 82.82C455.97 49.99 432.91 20.65 404.62 -2.3A246.503 246.503 0 0 0 347.7099999999999 -37.16C341.5 -39.84 335.25 -42.41 328.8399999999999 -44.57C325.33 -45.7300000000001 321.83 -46.95 318.2699999999999 -47.96C311.6499999999999 -49.84 304.9799999999999 -51.6 298.2299999999999 -52.96C293.5699999999999 -53.8700000000001 288.89 -54.6900000000001 284.2 -55.4400000000001C278.95 -56.1000000000001 273.7 -56.88 268.4099999999999 -57.1800000000001C261.7199999999999 -57.8400000000001 254.9999999999999 -58.02 248.2899999999999 -57.9900000000001C241.4699999999999 -58.02 234.6399999999999 -57.8700000000001 227.8399999999999 -57.2C224.5499999999999 -56.97 221.2699999999999 -56.7 218.0099999999999 -56.2500000000001C215.2899999999999 -55.8600000000001 212.5499999999999 -55.6200000000001 209.8399999999999 -55.14C205.7199999999999 -54.42 201.5899999999999 -53.77 197.4899999999999 -52.92C193.2399999999999 -51.98 188.9999999999999 -51.03 184.7999999999999 -49.9C176.1699999999999 -47.73 167.7199999999999 -44.89 159.3899999999999 -41.77C148.8999999999999 -37.65 138.5999999999999 -33.02 128.75 -27.52C126.61 -26.3700000000001 124.47 -25.23 122.4 -23.95C111.18 -17.3700000000001 100.54 -9.85 90.48 -1.6100000000001C55.8 26.8 29.07 64.8199999999999 14.13 107.0899999999999C11.04 115.8299999999999 8.42 124.7399999999999 6.33 133.7699999999999C4.85 139.93 3.81 146.19 2.75 152.43C2.35 154.78 2.14 157.16 1.8 159.5199999999999C1.2 163.4799999999999 1.05 167.4799999999999 0.63 171.4599999999999C-0.17 180.93 -0.08 190.4499999999999 0.12 199.9499999999999C0.26 203.4599999999999 0.46 206.9599999999999 0.82 210.4599999999999C1.13 213.6299999999999 1.28 216.8299999999999 1.74 219.9799999999999C2.15 222.7899999999999 2.39 225.63 2.9 228.42C3.6 232.36 4.2 236.32 5.02 240.2399999999999C8.45 256.76 13.49 272.9699999999999 20.28 288.42C21.43 291.3399999999999 22.87 294.14 24.14 297.01C32.19 313.7199999999999 42.04 329.57 53.63 344.07C73.63 369.45 98.73 390.75 126.9 406.54C134.4 410.69 142.06 414.5899999999999 149.97 417.9099999999999C165.7899999999999 424.7899999999999 182.38 429.86 199.28 433.2899999999999C202.7899999999999 433.9599999999999 206.3199999999999 434.5299999999999 209.84 435.14C212.46 435.61 215.12 435.8399999999999 217.75 436.2199999999999C221.28 436.75 224.8499999999999 436.8999999999999 228.4 437.26C230.86 437.5 233.31 437.62 235.76 437.7699999999999M244.4 413.36C235.17 413.26 225.97 412.37 216.83 411.13C209.53 410.05 202.3 408.5299999999999 195.12 406.83C181.21 403.33 167.64 398.49 154.66 392.41C144.2 387.42 134.07 381.7099999999999 124.48 375.19C120.3 372.2699999999999 116.08 369.39 112.14 366.16C107.06 362.19 102.16 357.99 97.46 353.57C94.95 351.33 92.65 348.87 90.24 346.51C62.02 317.7199999999999 41.8 281.12 32.74 241.82C30.7 233.38 29.2 224.7999999999999 28.3 216.1699999999999C27.2 207.2799999999999 26.86 198.3199999999999 26.89 189.37C27 182.23 27.27 175.09 28.11 168C28.73 160.88 29.98 153.8399999999999 31.31 146.8199999999999C32.3799999999999 142.17 33.3399999999999 137.5 34.64 132.9099999999999C40.93 109.5299999999999 51.14 87.2099999999999 64.71 67.1599999999999C73.35 54.1799999999999 83.49 42.2299999999999 94.69 31.3899999999999C110.97 15.5699999999999 129.74 2.3499999999999 150.03 -7.83C157.31 -11.35 164.69 -14.7 172.3 -17.46C177.34 -19.22 182.36 -21.03 187.52 -22.4400000000001C198.78 -25.6700000000001 210.29 -28.0400000000001 221.91 -29.5000000000001C224.82 -29.7900000000001 227.72 -30.1100000000001 230.63 -30.4C244.45 -31.48 258.37 -31.4 272.17 -29.97C276.62 -29.37 281.09 -28.98 285.52 -28.1900000000001C289.15 -27.52 292.8 -26.9400000000001 296.39 -26.09C300.52 -25.11 304.67 -24.18 308.75 -23.02C335.25 -15.6800000000001 360.33 -3.3100000000001 382.33 13.18C398.11 24.9999999999999 412.29 38.9399999999999 424.45 54.4599999999999C427.71 58.4799999999999 430.62 62.7699999999999 433.58 67.0099999999999C436.97 72.0699999999999 440.16 77.2599999999999 443.18 82.55C445.58 86.99 447.92 91.46 450.13 95.9999999999999C455.82 108.05 460.41 120.62 463.88 133.49C466.47 143.5 468.63 153.65 469.78 163.94C471.55 177.41 471.72 191.04 471.07 204.59C470.78 208.4799999999999 470.4 212.36 470.07 216.25C467.84 235.33 463.28 254.16 456.25 272.05C450.3 287.18 442.7200000000001 301.68 433.64 315.18C420.95 333.98 405.4 350.86 387.67 365.01C362.62 385.01 333.2 399.56 302.02 407.0899999999999C294.24 409.0199999999999 286.33 410.43 278.39 411.54C274.48 412.13 270.54 412.36 266.62 412.78C259.23 413.35 251.81 413.5 244.4 413.36zM139.26 364.4700000000001C152.56 373.36 167.34 379.85 182.56 384.65C179.39 382.88 176.12 381.27 173.03 379.36C161.82 372.68 151.51 364.46 142.65 354.87C135.85 347.44 129.89 339.14 125.64 329.98C122.35 323.12 120 315.79 118.78 308.27C117.85 303.42 117.48 298.4600000000001 117.61 293.52C117.74 279.86 122.05 266.44 128.9 254.7C134.82 244.48 142.53 235.37 151.26 227.4400000000001C156.11 223.08 161.5 219.35 166.21 214.84C168.47 212.65 170.7 210.4200000000001 172.64 207.93C175.26 204.62 177.53 200.94 178.63 196.8300000000001C179.53 193.81 179.29 190.6300000000001 179.32 187.5200000000001C179.34 183.42 179.28 179.3200000000001 179.35 175.22C179.49 171.68 179.33 168.1300000000001 179.46 164.59C179.54 162.21 179.48 159.8300000000001 179.51 157.4500000000001C179.67 151.6800000000001 179.57 145.9200000000001 179.66 140.15C179.7700000000001 137.24 179.68 134.3300000000001 179.79 131.41C179.82 129.78 179.92 128.1300000000001 179.76 126.5C178.85 126.38 177.94 126.32 177.03 126.34C166.04 126.34 155.15 128.97 145.0800000000001 133.27C139.0800000000001 135.97 133.2700000000001 139.16 127.9900000000001 143.1C122.2400000000001 147.29 116.9 152.06 112.2000000000001 157.41C105.6700000000001 164.65 100.22 172.8 95.58 181.36C94.5100000000001 183.3899999999999 93.3400000000001 185.38 92.4 187.48C91.24 190.12 89.78 192.62 88.73 195.3C84.68 204.98 82.16 215.24 80.65 225.61C80.16 230.05 79.56 234.49 79.45 238.96C78.75 254.69 80.29 270.51 84.12 285.78C86.24 293.93 88.89 301.9599999999999 92.43 309.61C98.75 323.81 107.77 336.79 118.73 347.8C125.01 354 131.8600000000001 359.64 139.2600000000001 364.47zM314.63 384.5900000000001C317.37 383.85 320.04 382.85 322.72 381.91C329.08 379.58 335.4 377.07 341.43 373.95C354.54 367.51 366.74 359.14 377.25 348.98C387.45 339.03 395.99 327.38 402.39 314.64C403.6699999999999 311.89 405.0299999999999 309.18 406.2 306.38C412.51 291.28 416.2 275.12 417.43 258.81C417.84 254.27 417.87 249.72 417.88 245.17C417.95 233.5300000000001 416.39 221.92 413.58 210.64C411.6099999999999 203.37 409.2299999999999 196.15 405.7199999999999 189.46C402.5399999999999 182.8200000000001 399.0399999999999 176.3 394.88 170.22C387.94 159.75 379.2799999999999 150.35 369.06 143C358.58 135.36 346.42 129.98 333.66 127.62C330.15 126.93 326.58 126.54 323 126.41C321.1499999999999 126.35 319.2799999999999 126.25 317.44 126.5100000000001C317.16 128.66 317.44 130.8200000000001 317.43 132.97C317.4 136.7000000000001 317.57 140.42 317.53 144.1400000000001C317.72 151.16 317.55 158.1900000000001 317.74 165.21C317.7699999999999 167.59 317.71 169.97 317.7699999999999 172.35C317.94 177.42 317.7299999999999 182.49 317.9099999999999 187.56C318.01 190.55 317.6699999999999 193.6 318.4199999999999 196.52C319.08 199.02 320.1999999999999 201.38 321.5099999999999 203.6C325.9699999999999 210.91 332.5699999999999 216.56 339.1899999999999 221.86C344.5699999999999 226.04 349.6599999999999 230.63 354.2099999999999 235.7C361.8899999999999 244.07 368.3799999999999 253.58 372.9899999999999 263.9700000000001C375.4899999999999 269.9000000000001 377.5099999999999 276.0700000000001 378.5399999999999 282.4300000000001C379.3999999999999 286.8000000000001 379.5999999999999 291.2600000000001 379.5499999999999 295.7000000000001C379.5299999999999 303.5500000000001 378.1499999999999 311.35 375.9099999999999 318.8700000000001C374.1599999999999 324.6000000000001 371.64 330.0500000000001 368.82 335.3200000000001C364.95 342.2500000000001 360.17 348.6300000000001 354.86 354.5200000000001C344.92 365.3700000000001 333.11 374.4600000000001 320.26 381.6200000000001C318.4099999999999 382.6400000000001 316.42 383.4400000000001 314.63 384.5900000000001zM213.83 326.14C214.81 327.32 215.82 328.4700000000001 216.95 329.52C216.34 328.59 215.68 327.71 215 326.84C211.9 322.96 209.46 318.53 207.97 313.78C207.1 310.51 206.29 307.18 206.24 303.78C206.17 301.26 206.16 298.7100000000001 206.56 296.2100000000001C207.69 288.5800000000001 210.89 281.36 215.33 275.0900000000001C217.33 272.39 219.58 269.82 222.25 267.76C223.87 266.49 225.78 265.67 227.59 264.71C230.7 263.03 233.91 261.48 236.66 259.23C239.33 257.14 241.21 253.9 241.06 250.44C241.05 176.77 241.06 103.1 241.05 29.42C241.05 28.0699999999999 240.97 26.72 241.09 25.3799999999999C241.22 23.8999999999999 241.91 22.55 242.56 21.23C243.42 19.5699999999999 244.34 17.89 245.74 16.61C246.59 15.84 247.71 15.21 248.89 15.3699999999999C250.39 15.5699999999999 251.55 16.72 252.34 17.9399999999999C253.3 19.4499999999999 254.02 21.1 254.62 22.79C255.38 24.92 255.06 27.21 255.16 29.42C255.3 33.4499999999999 255.14 37.48 255.3 41.5099999999999C255.33 47.3999999999999 255.33 53.2799999999999 255.36 59.17C255.5 62.79 255.39 66.41 255.47 70.03C255.62 74.06 255.45 78.09 255.61 82.12C255.64 88.11 255.64 94.1 255.68 100.0899999999999C255.82 103.7099999999999 255.7 107.3299999999999 255.79 110.9499999999999C255.93 114.88 255.77 118.81 255.93 122.7299999999999C255.96 128.7199999999999 255.96 134.7099999999999 255.99 140.6999999999999C256.15 144.6399999999999 255.98 148.5799999999999 256.18 152.5199999999999C256.4700000000001 151.0799999999999 256.31 149.5999999999999 256.4000000000001 148.1399999999999C256.5900000000001 144.5299999999999 256.8200000000001 140.9099999999999 257.1600000000001 137.3C257.48 133.86 257.6 130.41 258.0200000000001 126.98C258.3900000000001 123.88 258.5300000000001 120.7599999999999 258.9700000000001 117.67C259.54 113.58 259.8400000000001 109.46 260.5100000000001 105.3799999999999C261.9700000000001 96.3399999999999 263.3400000000001 87.2699999999999 265.6 78.3899999999999C266.73 73.5699999999999 268 68.7799999999999 269.6 64.0899999999999C272.1400000000001 56.1899999999999 275.3200000000001 48.4199999999999 279.9100000000001 41.4699999999999C281.6400000000001 38.8299999999999 283.7800000000001 36.4899999999999 286.0100000000001 34.2599999999999C286.2800000000001 34.0099999999999 286.5600000000001 33.7499999999999 286.8900000000001 33.55C287.4900000000001 33.3 288.2000000000001 33.62 288.5900000000001 34.12C289.3 34.9999999999999 289.7600000000001 36.0599999999999 290.29 37.05C294.3400000000001 44.85 298.4700000000001 52.61 302.63 60.36C303.33 61.67 304.07 62.98 305.19 63.97C306.94 65.54 309.03 66.66 311.17 67.6C314.05 68.82 317.07 69.79 320.2 70.02C326.78 70.64 333.31 69.27 339.76 68.17C343.45 67.59 347.16 66.9999999999999 350.89 66.7599999999999C354.63 66.6599999999999 358.37 66.7099999999999 362.1 67.0399999999999C370.65 67.9599999999999 379.09 69.9999999999999 387.04 73.2899999999999C392.34 75.5299999999999 397.5 78.1199999999999 402.35 81.2199999999999C413.81 88.4299999999999 423.81 97.7899999999999 432.39 108.2299999999999C433.56 109.6499999999999 434.64 111.1299999999999 435.85 112.5099999999999C434.65 109.2699999999999 433.18 106.1399999999999 431.69 103.0299999999999C430.44 100.1299999999999 428.85 97.4199999999999 427.42 94.6099999999998C422.26 84.9799999999999 416.4 75.6999999999998 409.67 67.0899999999999C405.64 61.8799999999999 401.14 57.0399999999999 396.34 52.5199999999999C389.7 46.4699999999999 382.27 41.1499999999999 373.91 37.7599999999999C365.7 34.3899999999999 356.6 33.1299999999999 347.82 34.4699999999999C344.26 35.0499999999998 340.81 36.1599999999999 337.41 37.3499999999999C334.62 38.3199999999999 332.02 39.7299999999999 329.38 41.0399999999999C325.95 42.7499999999998 322.74 44.8499999999999 319.67 47.1199999999998C322.38 44.0599999999998 325.36 41.2599999999998 328.37 38.5099999999998C332.64 34.7499999999998 337.11 31.1999999999998 342 28.2799999999998C345.98 25.8299999999998 350.29 23.8799999999998 354.84 22.7699999999998C356.3 22.3999999999998 357.8 22.3099999999998 359.29 22.1699999999998C358.04 21.0699999999998 356.66 20.1299999999998 355.3 19.1899999999998C345.69 12.6499999999998 335.29 7.3299999999998 324.61 2.7599999999998C303.75 -5.9400000000002 281.44 -11.2100000000003 258.87 -12.5800000000002C254.21 -12.8200000000002 249.55 -12.9400000000002 244.89 -12.9400000000002C239.91 -12.8300000000002 234.92 -12.8100000000002 229.97 -12.2900000000002C218.77 -11.5300000000003 207.68 -9.5600000000002 196.8 -6.8600000000002C186.45 -4.1500000000003 176.25 -0.7400000000002 166.5 3.6899999999998C157.7899999999999 7.5499999999998 149.38 12.1099999999998 141.5099999999999 17.4799999999998C139.6799999999999 18.7899999999998 137.7699999999999 20.0099999999998 136.1399999999999 21.5599999999998C142.7399999999999 22.7499999999998 149.1699999999999 24.9499999999998 155.13 28.0399999999998C160.87 30.8999999999998 166.12 34.6999999999998 170.7599999999999 39.1099999999998C173 41.2999999999998 175.0499999999999 43.6999999999998 176.9499999999999 46.1999999999998C173.5199999999999 44.0699999999998 170.0199999999999 42.0499999999998 166.3299999999999 40.4199999999998C161.9199999999999 38.2599999999998 157.2599999999999 36.6499999999998 152.5199999999999 35.3999999999998C146.7899999999999 33.8799999999998 140.7799999999999 33.6699999999998 134.9099999999999 34.2599999999998C126.7799999999999 35.2099999999998 119.0499999999999 38.5299999999998 112.3999999999999 43.2399999999998C108.0799999999999 46.1799999999998 104.1799999999999 49.6699999999998 100.4399999999999 53.2999999999998C90.5099999999999 63.4599999999999 82.2399999999999 75.1099999999998 74.7799999999999 87.1599999999999C70.8399999999999 93.4299999999998 67.2499999999999 99.9099999999999 63.6599999999999 106.3799999999999C62.6099999999999 108.4199999999999 61.5099999999999 110.4299999999999 60.4799999999999 112.4799999999999C63.3299999999999 109.5599999999999 66.0499999999999 106.5099999999999 68.9099999999999 103.5999999999999C77.8999999999999 94.6299999999999 87.4699999999999 86.1599999999999 98.0699999999999 79.1199999999999C105.6199999999999 74.2199999999999 113.7399999999999 69.8899999999999 122.6299999999999 68.0899999999999C125.7399999999999 67.3599999999999 128.9499999999999 67.6199999999999 132.0999999999999 67.2799999999999C134.8699999999999 66.9999999999999 137.6599999999999 67.0799999999999 140.4399999999999 66.9799999999999C145.4899999999999 66.9199999999999 150.5499999999999 66.9399999999999 155.5999999999999 67.1399999999999C159.2499999999999 67.3 162.8699999999999 67.8 166.4899999999999 68.2299999999999C168.5599999999999 68.4799999999999 170.5999999999999 68.9399999999999 172.6299999999999 69.4299999999999C176.5099999999999 70.3799999999999 180.7399999999999 70.3899999999999 184.4599999999999 68.8199999999999C189.2199999999999 66.9699999999999 192.8999999999999 63.1799999999999 195.8399999999999 59.1099999999999C197.9999999999999 56.0899999999999 199.8999999999999 52.8899999999999 201.4999999999999 49.5299999999999C202.6599999999999 47.0999999999999 203.9599999999999 44.7399999999999 205.0499999999999 42.2699999999999C206.0499999999999 40.0299999999999 207.1999999999999 37.8499999999999 208.4699999999999 35.7499999999999C209.1399999999999 34.73 209.8699999999999 33.6 211.0899999999999 33.1999999999999C212.1499999999999 33.9499999999999 212.7999999999999 35.11 213.3699999999999 36.2299999999999C215.4699999999999 40.3899999999999 216.7899999999999 44.8799999999999 218.2599999999999 49.2799999999999C220.2799999999999 55.8699999999999 222.0399999999999 62.5499999999999 223.4499999999999 69.2999999999999C225.6599999999999 78.5499999999999 226.6999999999999 88.0199999999999 227.9899999999999 97.4299999999999C228.5499999999999 101.4099999999999 228.8199999999999 105.4199999999999 229.2999999999999 109.3999999999999C230.1699999999999 120.0399999999999 231.1999999999999 130.6699999999999 231.5399999999999 141.3399999999999C231.6199999999999 143.1999999999999 231.7799999999999 145.0499999999999 231.7899999999999 146.9099999999999C231.7999999999999 151.2599999999999 232.0399999999999 155.5999999999999 232.0099999999999 159.9399999999999C231.9999999999999 162.3199999999999 231.9999999999999 164.6999999999999 232.0099999999999 167.0699999999999C232.0599999999999 172.1399999999999 231.8099999999999 177.2099999999999 231.7899999999999 182.2799999999999C231.5899999999999 188.8899999999999 231.0799999999999 195.4799999999999 230.4999999999999 202.0599999999999C229.7699999999999 207.9399999999999 228.9499999999999 213.8399999999999 227.3799999999999 219.5699999999999C225.3299999999999 227.3199999999999 221.7899999999999 234.5999999999999 217.5799999999999 241.3899999999999C214.4199999999999 246.4599999999999 210.7899999999999 251.2699999999999 206.4899999999999 255.4199999999999C202.6099999999999 259.2799999999999 197.9099999999999 262.4999999999999 192.5499999999999 263.8699999999999C191.0499999999999 264.2799999999999 189.4899999999999 264.3199999999998 187.9599999999999 264.5099999999998C188.0299999999999 267.4999999999999 188.6599999999999 270.4399999999999 189.2199999999999 273.3599999999998C190.8099999999999 281.0699999999998 193.0199999999999 288.6599999999999 195.9799999999999 295.9599999999998C197.4999999999999 299.9899999999998 199.3899999999999 303.8599999999998 201.3699999999998 307.6799999999999C204.8199999999998 314.2399999999998 208.9899999999999 320.4699999999998 213.8299999999999 326.1399999999998zM245.1 324.44C245.45 324.5 245.81 324.56 246.17 324.63C246.36 322.84 246.26 321.05 246.27 319.26V281.13C246.26 279.39 246.4 277.64 246.12 275.91C245.76 275.94 245.41 275.9600000000001 245.06 275.9600000000001C244.11 279.7100000000001 243.34 283.51 242.44 287.27C242.06 288.8 241.86 290.36 241.37 291.86C239.67 292.1 237.94 292.03 236.22 292.06C231.16 292.07 226.09 292.06 221.03 292.07C219.37 292.08 217.71 291.98 216.05 292.1C216.02 292.49 215.79 293.01 216.21 293.28C217.49 293.93 218.93 294.16 220.27 294.63C223.7 295.77 227.15 296.79 230.58 297.94C231.97 298.42 233.48 298.66 234.74 299.48C234.78 300.04 234.76 300.61 234.69 301.16C233.46 301.7100000000001 232.16 302.03 230.88 302.44C227.75 303.4700000000001 224.59 304.4 221.47 305.4600000000001C219.68 306.0800000000001 217.8 306.4600000000001 216.06 307.25C216.03 307.62 215.99 307.98 215.95 308.3400000000001C221.04 308.53 226.15 308.28 231.25 308.4600000000001C234.61 308.5900000000001 237.98 308.38 241.34 308.53C241.46 308.92 241.6 309.3 241.71 309.69C242.79 314.63 244.04 319.52 245.1 324.44zM251.07 324.64C251.43 324.5900000000001 251.79 324.52 252.15 324.44C253.13 320.5900000000001 253.88 316.68 254.86 312.83C255.2200000000001 311.41 255.42 309.95 255.89 308.56C258.42 308.38 260.9600000000001 308.57 263.5 308.51C268.6600000000001 308.39 273.83 308.39 278.99 308.44C279.75 308.45 280.51 308.41 281.27 308.36C281.23 308 281.2 307.64 281.17 307.28C279.35 306.45 277.39 306.03 275.5 305.39C271.7699999999999 304.16 268.0199999999999 303 264.2799999999999 301.82C263.7099999999999 301.65 263.1599999999999 301.4 262.6099999999999 301.18C262.4599999999999 300.63 262.4299999999999 300.06 262.4899999999999 299.49C263.3599999999999 299.01 264.3099999999999 298.68 265.2599999999999 298.4C270.1399999999999 296.88 274.9899999999999 295.26 279.8899999999999 293.8C280.2699999999999 293.67 280.6699999999999 293.53 281.0199999999999 293.31C281.4199999999999 293.04 281.2499999999999 292.52 281.1699999999999 292.13C279.5099999999998 292 277.8599999999999 292.1 276.1999999999998 292.09C271.0299999999998 292.08 265.8699999999999 292.1 260.6999999999998 292.08C259.0899999999998 292.05 257.4799999999998 292.1 255.8799999999998 291.87C255.3599999999998 290.2 255.1599999999999 288.45 254.7099999999999 286.76C253.7699999999999 283.19 253.1899999999999 279.52 252.1699999999999 275.98C251.8099999999999 275.97 251.4599999999999 275.9599999999999 251.1099999999999 275.92C250.8199999999999 277.65 250.9599999999999 279.4 250.9599999999999 281.14V319.27C250.9799999999999 321.05 250.8799999999998 322.85 251.0699999999999 324.64zM65.05 279.67C66.17 281.82 67.13 284.07 68.42 286.13C66.6 278.57 65.51 270.86 64.8 263.13C64 255.42 63.95 247.64 64.26 239.9C65.31 219.96 69.8 200.07 78.49 182.02C81.48 176.03 84.84 170.19 88.99 164.91C95.11 157.44 101.52 150.15 108.83 143.82C113.63 139.72 118.82 136.04 124.37 133.02C127.64 131.37 130.88 129.63 134.31 128.34C139.32 126.31 144.5 124.73 149.73 123.4C153.56 122.44 157.51 121.99 161.25 120.69C166.25 119.12 170.72 116.08 174.28 112.26C179.21 107.03 182.37 100.39 184.48 93.59C185.47 90.69 186.07 87.68 186.65 84.67C186.8 83.92 186.87 83.15 186.81 82.3799999999999C180.31 79.6 173.55 77.3199999999999 166.55 76.1999999999999C162.44 75.42 158.26 75.2099999999999 154.09 75.12C143.84 74.8799999999999 133.62 76.8799999999999 123.97 80.24C120.23 81.66 116.48 83.09 112.94 84.96C104.88 88.8 97.3 93.66 90.48 99.42C87.56 101.97 84.65 104.55 82.08 107.4499999999999C72.92 117.2799999999999 65.78 128.86 60.29 141.0999999999999C57.9 146.6499999999999 55.68 152.2799999999999 53.92 158.0599999999999C52.75 161.9999999999999 51.56 165.9499999999999 50.66 169.9699999999999C49.91 172.9099999999999 49.44 175.9199999999999 48.79 178.8899999999999C48.33 181.0299999999999 48.1 183.2099999999999 47.76 185.37C46.91 190.8 46.48 196.3 46.43 201.8C46.54 207.98 46.68 214.17 47.5 220.3C47.9 223.16 48.17 226.04 48.65 228.9C49.63 234.6 50.79 240.27 52.36 245.83C55.45 257.48 59.84 268.78 65.05 279.67zM428.7800000000001 286.11C429.8800000000001 284.45 430.6900000000001 282.63 431.56 280.85C433.6600000000001 276.4 435.8 271.95 437.58 267.36C445.19 248.6 449.88 228.57 450.62 208.31C450.64 206.55 450.69 204.79 450.73 203.02C450.86 193.45 449.4600000000001 183.93 447.55 174.57C446.82 170.98 446.01 167.4 444.9700000000001 163.88C440.93 149.16 434.9700000000001 134.88 426.56 122.1C418.35 109.53 407.55 98.55 394.7200000000001 90.69C388.99 87.1 382.93 84.05 376.67 81.5C370.8900000000001 79.31 364.9600000000001 77.47 358.87 76.39C352.4700000000001 75.34 345.96 74.87 339.4700000000001 75.16C331.55 75.64 323.6900000000001 77.23 316.2600000000001 80.01C314.3200000000001 80.81 312.3200000000001 81.47 310.4200000000001 82.34C310.2100000000001 83.85 310.6700000000001 85.33 310.9500000000001 86.8C312.1100000000001 92.54 313.98 98.16 316.6500000000001 103.3799999999999C319.0200000000001 107.8899999999999 322.17 112.0299999999999 326.11 115.2799999999999C328.54 117.3299999999999 331.35 118.8899999999999 334.2700000000001 120.1099999999999C337.85 121.6099999999999 341.7400000000001 122.0799999999999 345.5100000000001 122.9399999999999C352.7400000000001 124.6499999999999 359.8800000000001 126.8699999999999 366.6600000000001 129.9399999999999C377.0100000000001 134.5899999999999 386.37 141.3199999999999 394.31 149.3999999999999C395.9 151.0099999999999 397.54 152.5799999999999 399.05 154.2699999999999C402.42 158.0299999999999 405.76 161.8399999999999 408.9000000000001 165.7999999999999C416.3800000000001 175.8699999999998 421.7200000000001 187.3899999999998 425.61 199.2799999999998C427.19 204.5799999999999 428.82 209.8799999999998 429.82 215.3299999999999C430.45 218.1999999999999 430.86 221.1099999999999 431.34 224.0099999999999C432.21 230.0999999999999 432.93 236.2299999999999 433.02 242.3899999999999C433.14 249.0399999999999 433.16 255.7099999999999 432.49 262.3299999999998C431.76 270.3199999999998 430.62 278.2899999999999 428.7800000000001 286.1099999999999z" glyph-name="old-republic" horiz-adv-x="496" unicode=""/><glyph d="M423.3 7.3C423.3 -18 403 -38.3 377.7 -38.3S331.9 -18 331.9 7.3S352.5 53.1 377.7 53.1C403.1 53.1 423.3 32.6 423.3 7.3zM169.4 53.1C144.1 53.1 123.8 32.5 123.8 7.3S144.1 -38.3 169.4 -38.3S215.2 -18 215.2 7.3S194.7 53.1 169.4 53.1zM461.1 323.1C158.9 323.1 81.9 335.9 0 422.3C34.4 370.6 53.3 273.4 373.1 278.1C706.4000000000001 283.1 503.1 192 443.9000000000001 89.2000000000001C630.6 255.9000000000001 763.3 323.1 461.1 323.1z" glyph-name="opencart" horiz-adv-x="640" unicode=""/><glyph d="M271.5 16L203.5 -16C88.5 -5.7 0 55.5 0 129.8C0 201.3 82.5 260.8 191.7 274.1V231.1C120.2 218.6 67.7 178.1 67.7 129.8C67.7 78.8 126.2 36.5 203.4 26.8V366.8L271.4 400V16zM448 157L316.7 185.5L353.5 206.2C334 217.7 310 226.2 283.5 231V274C329.7 268.5 371.2 254.5 403.8 234.7L438.8 254.5L448 157z" glyph-name="openid" horiz-adv-x="448" unicode=""/><glyph d="M313.9 415.3C143.7 415.3 61.3 191.5 166.4 60.2C202.9 14.8 255 -15.4 313.9 -15.4C350.2 -15.4 384.2 -4.3 413.3 15C369.5 -24.2 311.4 -48 248 -48C244.1 -48 240 -48 236.1 -47.7C104.6 -41.6 0 66.9 0 200C0 337 111 448 248 448H248.8C311.9000000000001 447.7 369.5 423.9 413.2000000000001 384.9C384.2000000000001 404.3 350.1 415.3 313.9000000000001 415.3zM415.7 17.6C374.8 -7.1 325 -6 283.7 23.4C339.9 43.9 381.4 115 381.4 200C381.4 284.7000000000001 340.2 355.8000000000001 284 376.6C325.8 405.8 375.2 406.9000000000001 416.9 381.6C522.8 282.9000000000001 522.4 115.9 415.7 17.6z" glyph-name="opera" horiz-adv-x="496" unicode=""/><glyph d="M550.671 -2.303C550.671 -13.923 534.998 -21.76 518.513 -17.166C506.353 -13.923 487.167 0.399 482.302 10.128C476.628 21.748 486.356 42.826 501.218 40.934C516.892 39.313 550.671 15.533 550.671 -2.3030000000001zM372.86 372.777C369.077 444.928 272.064 452.495 246.932 396.2870000000001C291.5200000000001 420.608 337.189 411.9600000000001 372.86 372.777zM74.795 40.934C59.122 39.313 25.343 15.533 25.343 -2.303C25.343 -13.923 41.016 -21.76 57.5 -17.166C69.66 -13.923 88.576 0.399 93.44 10.128C99.386 21.748 89.658 42.826 74.795 40.934zM572.56 26.612C573.641 23.099 574.452 19.586 574.452 15.803C575.262 -15.813 530.135 -48.242 500.949 -49.322C483.654 -50.132 466.359 -40.945 458.253 -25.812C344.7560000000001 -29.865 231.2590000000001 -30.676 118.033 -25.812C109.656 -40.945 92.361 -49.862 75.066 -49.322C46.151 -48.241 1.023 -15.813 1.563 15.803C1.833 19.586 2.374 23.099 3.455 26.612C-2.111 36.075 -1.39 41.894 8.86 38.232C12.103 43.366 15.886 47.6900000000001 19.94 52.014C17.37 62.931 21.21 66.108 31.019 61.202C35.613 64.445 41.017 67.687 46.963 70.39C46.963 86.147 58.802 81.521 64.258 76.065C76.725 77.845 84.387 75.356 91.011 70.39V90.116C78.024 90.116 50.37 101.491 45.071 126.328C40.097 147.053 47.678 164.403 70.203 173.888C71.013 179.833 78.31 187.94 85.065 189.832C92.632 191.724 97.496 185.238 99.117 179.563C106.542 179.563 116.874 178.098 120.195 171.456C125.6 171.997 131.274 172.808 136.679 173.348C134.2470000000001 175.24 131.545 176.861 128.572 177.942C123.438 186.859 114.79 189.021 103.981 189.562C103.981 190.372 103.981 191.183 104.251 192.264C84.524 192.805 60.203 197.939 49.394 210.099C28.073 233.737 33.459 293.6760000000001 61.554 313.5970000000001C69.931 319.2720000000001 83.172 314.408 84.253 303.8690000000001C86.678 283.271 84.652 277.0360000000001 110.465 277.927C118.572 285.7630000000001 127.22 292.519 136.948 297.9240000000001C122.086 299.2760000000001 108.034 296.303 93.17 294.1410000000001C105.922 306.6210000000001 117.123 319.5830000000001 149.918 336.5680000000001C173.429 348.4580000000001 199.911 357.3760000000001 226.123 359.807C207.477 367.6440000000001 186.13 371.6980000000001 166.402 376.2910000000001C242.877 392.5050000000001 340.971 398.4500000000001 410.691 338.7290000000001C428.796 323.326 443.118 302.5180000000001 453.3869999999999 278.7370000000001C493.1859999999999 273.884 489.857 284.3180000000001 492.03 303.8690000000001C493.111 314.1380000000001 506.352 319.2720000000001 514.7289999999999 313.3270000000001C529.5909999999999 302.7880000000001 536.8879999999999 282.5210000000001 539.319 265.2260000000001C541.481 247.3910000000001 539.5889999999999 223.8810000000001 526.889 210.0990000000001C516.08 197.9390000000001 492.569 192.5340000000001 473.113 191.994V189.2910000000001C462.033 189.0210000000001 452.845 186.859 447.44 177.6710000000001C444.468 176.59 441.766 174.9680000000001 439.063 173.0770000000001C444.738 172.537 450.413 171.7260000000001 455.818 171.186C457.687 176.8050000000001 468.353 179.5630000000001 476.895 179.5630000000001C478.516 184.968 483.651 191.453 490.947 189.8320000000001S504.999 179.8340000000001 505.81 173.888C516.619 169.564 527.969 161.728 530.941 148.216C532.8330000000001 140.109 532.562 133.083 531.211 126.328C525.485 101.066 497.85 90.116 485.272 90.116C485.272 83.36 485.272 76.8750000000001 485.002 70.39C493.012 76.3960000000001 501.369 77.5480000000001 511.754 76.0650000000001C517.673 81.984 529.3190000000001 85.4750000000001 529.3190000000001 70.39C534.994 67.6870000000001 540.6680000000001 64.4450000000001 545.263 61.2020000000001C555.363 66.253 558.932 61.741 556.072 52.0140000000001C560.125 47.6910000000001 564.179 43.0970000000001 567.151 38.2320000000001C577.2869999999999 41.8520000000001 578.1719999999999 36.1540000000001 572.56 26.6120000000001zM498.7869999999999 280.6280000000001C516.0819999999999 273.872 524.9989999999999 258.4690000000001 529.0519999999999 244.9580000000001C530.1329999999999 255.497 526.3499999999999 284.4110000000001 515.2699999999999 296.0310000000001C507.9739999999999 303.327 501.2179999999998 301.165 501.2179999999998 295.221C501.2189999999998 289.005 499.8679999999998 283.601 498.7869999999999 280.6280000000001zM480.1409999999999 268.198C493.1119999999999 252.525 497.1649999999999 226.583 492.8409999999999 205.235C503.6499999999999 207.397 513.3779999999999 211.45 519.0529999999999 217.395C520.9449999999999 219.557 522.8359999999999 222.259 523.9169999999999 224.961C522.8359999999999 246.3090000000001 513.6479999999999 267.658 494.1919999999999 273.8730000000001C490.9499999999999 270.63 485.0049999999999 269.009 480.1409999999999 268.198zM458.2519999999999 267.387C465.8189999999999 246.85 470.6829999999999 224.691 472.5739999999999 202.802C476.0869999999999 202.802 480.1409999999999 203.072 484.1939999999999 203.613C490.1389999999999 227.9340000000001 483.9239999999999 255.2270000000001 470.1419999999999 267.117C466.3589999999999 267.117 462.0349999999999 267.117 458.2519999999999 267.3870000000001zM77.768 280.628C76.687 283.601 75.336 289.005 75.336 295.221C75.336 301.166 68.31 303.328 61.284 296.031C49.934 284.411 46.421 255.497 47.502 244.958C51.555 258.47 60.473 273.873 77.768 280.628zM83.443 205.234C79.119 226.582 83.173 252.525 96.144 268.197C91.279 269.008 85.335 270.629 82.092 273.872C62.635 267.657 53.717 246.309 52.366 224.96C53.717 222.258 55.338 219.556 57.23 217.394C62.905 211.179 72.633 207.396 83.443 205.234zM124.788 266.307C119.654 265.226 114.79 263.334 109.926 261.442L97.766 256.308V256.578C90.47 242.526 87.767 222.259 92.361 203.613C96.955 203.072 101.008 202.802 105.061 202.802C107.493 224.961 114.249 246.58 124.788 266.307zM212.883 289.546C212.883 247.391 247.202 213.341 289.088 213.341S365.293 247.391 365.293 289.546C365.293 331.432 330.974 365.481 289.088 365.481S212.883 331.432 212.883 289.546zM365.293 192.263C375.262 141.655 368.592 127.571 381.777 134.164C397.721 142.271 404.476 173.347 404.747 191.183C391.776 191.993 378.534 191.993 365.293 192.263zM293.682 192.804V193.074C293.4120000000001 187.94 293.952 154.971 298.0060000000001 151.999C309.0850000000001 146.594 337.4590000000001 147.405 349.079 150.918C354.484 152.5389999999999 351.511 187.94 350.7 192.804C331.784 193.074 312.598 193.074 293.682 192.804zM279.629 192.804V193.074C260.173 192.804 240.987 192.804 221.8 192.263C219.908 183.076 217.206 143.352 223.692 140.649C236.663 134.974 265.308 135.515 278.278 139.028C282.8730000000001 141.46 280.711 184.427 279.629 192.804zM193.967 135.244C199.372 132.812 202.614 132.812 203.695 139.568C205.587 148.215 206.127 176.32 208.56 191.723C196.4 191.453 183.969 190.912 171.808 190.102C166.403 170.375 172.078 144.973 193.967 135.244zM128.301 146.324C172.079 99.304 220.99 60.661 284.2240000000001 39.8539999999999C351.7820000000001 59.0399999999999 399.8830000000001 99.8449999999999 447.4430000000001 146.8649999999999C436.348 151.1799999999999 439.7280000000001 157.2279999999999 440.1470000000001 158.4849999999999C431.2290000000001 159.2949999999999 422.3120000000001 160.3769999999999 413.6640000000001 161.1869999999999C404.206 128.2189999999999 377.7240000000001 108.2219999999999 366.9140000000001 129.5709999999999C364.2120000000001 134.7049999999999 363.4010000000001 141.1909999999999 362.3200000000001 146.3249999999999C358.5370000000001 137.9479999999999 349.0780000000001 138.218 337.7290000000001 137.4069999999999C324.4880000000001 136.3259999999999 306.112 136.0559999999999 293.6810000000001 140.3789999999999C290.7090000000001 127.4079999999999 282.6020000000001 127.4079999999999 266.9290000000001 126.0569999999999C252.8770000000001 124.7049999999999 218.287 122.0029999999999 212.072 136.8659999999999C210.9910000000001 108.2219999999999 176.942 126.868 166.9430000000001 143.892C163.7000000000001 149.567 161.5380000000001 155.242 159.917 161.4569999999999C152.0800000000001 160.6469999999999 144.244 159.836 136.406 158.755C138.8490000000001 155.0919999999999 137.9550000000001 149.7029999999999 128.3010000000001 146.324zM115.6 -5.545C109.926 17.694 96.954 44.177 82.092 48.501C59.663 55.257 13.183 24.991 15.885 -6.085C28.586 -25.542 55.879 -41.755 75.066 -42.566C92.901 -43.376 111.006 -31.486 114.79 -13.652C115.329 -11.22 115.6 -8.518 115.6 -5.5450000000001zM122.896 0.399C156.405 19.856 192.075 36.07 228.827 47.419C190.184 67.956 160.729 95.25 131.544 124.435C129.382 123.083 126.41 122.003 123.708 120.922C122.071 116.012 132.426 115.5920000000001 129.113 108.491C126.951 104.4370000000001 120.465 100.924 113.98 99.3030000000001C111.819 96.6010000000001 108.846 94.4390000000001 106.144 92.818H105.874C105.604 79.307 105.604 65.794 106.144 52.283C115.083 36.319 121.57 18.969 122.896 0.399zM443.6600000000001 -12.301C406.908 9.047 369.6160000000001 29.044 328.0010000000001 40.664C314.2190000000001 34.449 300.168 29.315 285.846 25.261C283.6840000000001 24.45 283.6840000000001 24.45 281.522 25.261C269.632 29.044 258.283 33.3679999999999 246.663 38.502C206.398 26.8819999999999 169.377 9.317 134.247 -12.301H133.977V-12.571C134.247 -12.571 134.247 -12.571 134.247 -12.301C237.474 -16.355 340.702 -15.814 443.66 -12.301zM470.683 51.744L470.4130000000001 51.474C470.9540000000001 65.256 471.224 79.037 471.224 92.8190000000001C468.251 94.4400000000001 465.549 96.8730000000001 463.1170000000001 99.5750000000001C456.6320000000001 100.9260000000001 450.1460000000001 104.7090000000001 447.9840000000001 108.4930000000001C446.0920000000001 112.5460000000001 449.3350000000001 116.059 453.9290000000001 118.7620000000001C453.6590000000001 119.3030000000001 453.3880000000001 120.3830000000001 453.3880000000001 121.1940000000001C450.4160000000001 122.0050000000001 447.9830000000001 123.0860000000001 445.8210000000001 124.4370000000001C414.2050000000001 94.9820000000001 380.4250000000001 67.6880000000001 342.3230000000001 47.6910000000001C381.2370000000001 36.0710000000001 418.2580000000001 19.5870000000001 454.1980000000001 0.1300000000001C455.2480000000001 14.8220000000001 461.4290000000001 35.8790000000001 470.6830000000001 51.7440000000001zM493.9230000000001 48.5C479.33 44.177 466.0890000000001 17.694 460.414 -5.546C460.414 -29.372 481.6920000000001 -43.443 500.948 -42.568C520.134 -41.757 547.428 -25.544 560.129 -6.087C563.102 24.99 516.6220000000001 55.257 493.923 48.5zM290.709 313.867C290.754 313.867 290.798 313.8640000000001 290.843 313.8640000000001C290.889 313.8640000000001 290.933 313.867 290.9790000000001 313.867H290.7090000000001zM290.709 217.124C319.354 217.124 342.593 238.742 342.593 265.495C342.593 301.587 302.086 323.574 270.442 309.813C279.9000000000001 306.841 286.926 298.193 286.926 288.195C286.926 264.938 253.635 256.24 240.446 276.8450000000001C233.149 242.778 259.814 217.124 290.709 217.124zM68.039 -26.083C68.579 -32.569 80.199 -38.784 89.657 -35.5410000000001C96.413 -32.8380000000001 104.25 -25.0020000000001 106.952 -19.3270000000001C109.925 -12.301 105.871 0.67 97.224 -0.9520000000001C88.307 -2.573 67.499 -17.7060000000001 68.039 -26.0830000000001zM478.789 -0.952C470.412 0.669 466.358 -12.301 469.331 -19.327C471.763 -25.002 479.6 -32.838 486.626 -35.541C495.813 -38.784 507.704 -32.569 507.974 -26.083C508.785 -17.706 487.707 -2.573 478.789 -0.952z" glyph-name="optin-monster" horiz-adv-x="576" unicode=""/><glyph d="M0 188.8C2.3 324.6 97.4 421.2 213.8 436.9C352.6 455.5 469.4 361.1 491.8 235.8C513.1 117 447.8 5.8 340.2000000000001 -38.2C330.9000000000001 -42 325.8000000000001 -39.9 322.2000000000001 -30.5C304.4000000000001 15.8 286.6 62.2 268.8000000000001 108.5C265.7000000000001 116.6 267.8000000000001 121.7 275.8000000000001 125.3C300.0000000000001 136.3 315.1000000000001 154.7 319.1000000000001 181.1C325.5000000000001 223.5 294.6000000000001 259.8 254.6000000000001 263.3C215.6000000000001 266.7000000000001 182.8000000000001 239.6 177.1000000000001 203.6C171.9000000000001 170.6 188.2000000000001 139.9 219.0000000000001 125.9C228.6000000000001 121.5000000000001 230.5000000000001 117.3 226.8000000000001 107.5000000000001C208.9000000000001 60.9 191.0000000000001 14.3000000000001 173.1000000000001 -32.4C170.5000000000001 -39.3 164.8000000000001 -41.7 157.6000000000001 -38.9C105.0000000000001 -18.6 56.2000000000001 22.1 26.8000000000001 80.1C1.9 129.3 1.6 167.8 0 188.8zM20.9 190.7C21.3 184.1 21.5 176.4 22.2 168.6C28.5 96.6999999999999 71.8 25.1 153.2 -14.5C156.4 -16 157.6 -15.3 158.8 -12.2C173.7 26.9 188.7 66 203.8 105.1C205.1 108.4 204.4 109.9 201.4 111.8C169.8 131.7 154.1 160.3 155.8 197.8C156.8 219.4 165.1 238.3 179.6 254.1C209.6 286.8 256.6 293.9000000000001 295.1 271.7000000000001C327 253.3 344.6 217.9 340.3 181.3C336.7 150.7 321 127.4 294.6 111.5C291.9000000000001 109.9 291.1 108.6 292.3 105.5C307.5 66.3 322.5 27.1 337.5 -12.2C338.7 -15.3 339.9 -16 343.1 -14.5C378.6 2.1 408.3 25.8 431.2000000000001 57.5C466.0000000000001 105.7 480.3000000000001 159.4 473.5000000000001 218.5C459.8 336 354.1 433.3 218 416.5C111.9 403.5 22.7 314 20.9 190.7z" glyph-name="osi" horiz-adv-x="495.8" unicode=""/><glyph d="M248 -56C111 -56 0 55 0 192S111 440 248 440C268.9 440 289.3 437.4 308.7 432.5L42.3 56H248V-56zM248 87.6V301.2L98.6 87.6H248zM344 56V-36.7C389.7 -17.5 428.5 15 455.4 56H344zM401.4 194.2L380.2 185.8L401.4 177.5V194.2zM381.1 139.7C374.4 139.7 373.1 133.4 373.1 126.8V119.1H389.3V129.1C389.3 135 387 139.7000000000001 381.1 139.7000000000001zM496 192C496 154.7 487.8 119.3 473 87.6H344V420.7C433.3 383.2 496 294.9 496 192zM360.4 304.4H428.6V352H414.7V319.4H400.8V349H386.9000000000001V319.4H374.2000000000001V352H360.3000000000001V304.4zM428.5 119.1H402V130.1C402 145.5 396.4 155.3 381.1 155.3C365.7000000000001 155.3 360.4000000000001 144.7 360.4000000000001 129.4V104.1H428.6V119.1zM428.5 222.1L360.3 192.4V180L428.5 150.5V167.1L414.1 172.8V199.3L428.5 205.2V222.1zM423.7 290.6H388.1V264H402V276.2H413C421.6 260.4 414.3 240.9 394.4 240.9C371.9 240.9 366.1 266.2 378.9 278.6L367.3 289.2C351.1 271.7 355.1 225.3 394.4 225.3C428.4 225.3 439.1 261.2 423.7 290.6z" glyph-name="page4" horiz-adv-x="496" unicode=""/><glyph d="M384 135.3C328.9 -1.4 196.9 81.3 196.9 81.3C156.4 -0.5 89.5 -53.1 12.3 -53.4C-3.8 -53.4 -4.3 -29 12.3 -29C76.7 -28.7 132.8 13.7 169.5 81.1C128.4 65.2000000000001 50.9 53.2 7.9 163.3C116.9 208.2 167 152.1 186.2 117.8C196.1 142.2 203.2 168.7 207.8 197.5C207.8 197.5 68.1 175.6 58.3 295.6C177.4 343.5 210.9 218.9 210.9 218.9C212.5 235.6 214.2 271.5 214.2 272.3C214.2 272.3 107.9 346 176.1 437.5C300.7000000000001 394.5 237.5000000000001 275.1 237.5000000000001 275.1C238.0000000000001 273.5 238.0000000000001 251.3 237.5000000000001 241.7C237.5000000000001 241.7 282.7000000000001 330.7 373.9000000000001 299.2C369.7000000000001 165.1999999999999 232.0000000000001 192.8 232.0000000000001 192.8C227.6 165.4 220.8000000000001 139.4 212 115.3C212 115.3 295 207.1 384 135.3z" glyph-name="pagelines" horiz-adv-x="384" unicode=""/><glyph d="M384.9 254.1C384.9 301.5 329.7 298.3 289.5 283.9C288.2 244.5 287 203.2 286.5 164.1C287.2 161.3 289.1 157.9 301.6 157.9C338.4000000000001 157.9 385 200.7000000000001 384.9000000000001 254.1zM190.4 181.9C190.6 181.9 196.9 184.6 201.6 184.6C228.2 184.6 222.3 140.5 187.2 140.5C165.7 140.5 150.1 158.6 150.1 183.5C150.1 225.5 193 279.0999999999999 250.8 310C251.8 322.4 253.8 332 261.3 338.2C272.5 347.2 287.9 341.7 290.8 327.1C363 349.3 426 326.1 426 255.1C426 177.1999999999999 346.7 102.5 285.9 116.9C285.8 77.5 286.8 42.5 288.6 16.9V16.7C288.8 13.3 289.2 4.2 283.3 -2.4C273.7 -13.0000000000001 249.9 -12.4 246.9 19.9C242.8 64.3 247.1 226 248.3 262.4C226.8 247.4 189.8 212.1 189.8 186.5C190 184 190.2 182.5 190.4 181.9zM8 266.9S7.9 229.5 46.4 229.5H76.4L98.8 12.3S98.8 -32 143.5 -32H432.4S477.1 -31.6 477.1 12.3L499.4999999999999 229.5H529.5S567.9 228.3 567.9 266.9C567.9 266.9 568 304.3 529.5 304.3H499.4C492.1 329.9 469.2 378.6 380 378.6H352V397.7S349.3 416.1 330.9 416.1H245.1S224 416.1 224 397.7V378.6H195.9S90.9 374.4 75.4 304.3H46.4S8 305.5 8 266.9z" glyph-name="palfed" horiz-adv-x="576" unicode=""/><glyph d="M512 253.2C512 151.9 429.6 69.4 328.2 69.4C226.5 69.4 143.8 151.8 143.8 253.2C143.8 354.8 226.5 437.5 328.2 437.5C429.6 437.5 512 354.8 512 253.2zM0 -53.5H90V437.5H0V-53.5z" glyph-name="patreon" horiz-adv-x="512" unicode=""/><glyph d="M111.4 152.1C107.9 132.9 94 43.4 89.9 18.1C89.6 16.3 88.9 15.6 86.9 15.6H12.3C4.7 15.6 -0.8 22.2 0.2 29.5L58.8 401.4C60.3 411 68.9 418.3 78.8 418.3C231.1 418.3 243.9 422 282.8 406.9C342.9000000000001 383.6 348.4 327.4 326.8 266.6C305.3 204 254.3 177.1 186.7 176.3C143.3 175.6 117.2 183.3 111.4 152.1zM357.1 296C355.3 297.3 354.6 297.8 354.1 294.7C352.1 283.3 349 272.2 345.3 261.1C305.4000000000001 147.3 194.8 157.2 140.8 157.2C134.7 157.2 130.7 153.9 129.9 147.8C107.3 7.4 102.8 -21.9 102.8 -21.9C101.8 -29 106.3 -34.8 113.4 -34.8H176.9C185.5 -34.8 192.6 -28.4999999999999 194.3 -19.9C195 -14.5 193.2 -26 208.7 71.4C213.3 93.4 223 91.1 238.0000000000001 91.1C309 91.1 364.4000000000001 119.9 380.9000000000001 203.4C387.4000000000001 238.2000000000001 385.5000000000001 274.8000000000001 357.1 296z" glyph-name="paypal" horiz-adv-x="384" unicode=""/><glyph d="M421.9100000000001 283.73C417.42 264.28 420.5100000000001 277.67 406.81 218.44L446.54 229.05C424.2000000000001 278.6600000000001 429.25 267.4600000000001 421.9100000000001 283.73zM215.82 232.62C195.63 227.22 204.51 229.59 176.19 222.04L180.65 175.85C208.8200000000001 183.44 201.2700000000001 181.42 215.47 185.19C257.7700000000001 194.98 248.32 241.61 215.82 232.62zM541.98 258.81L496.51 358.01C490.82 370.38 477.05 376.85 463.89 373.3400000000001C393.62 354.5900000000001 425.17 363.02 328.3 337.11A27.618 27.618 0 0 1 309.41 319.7000000000001C144.26 334.73 0 294.25 0 221.33C0 187.8300000000001 30.67 154.22 80.9 125.96L82.64 108.08A27.891 27.891 0 0 1 64.87 79.41L69.17 34.93C70.56 20.62 82.6 9.72 96.97 9.73C102.15 9.74 93.96 7.95 219.5 41.49C232.07 44.86 240.62 56.51 240.08 69.51C456.67 24.01 642.0699999999999 75.49 639.97 154.34C639.98 182.49 617.78 220.9 541.98 258.81zM255.14 149.7L233.23 143.82L184.79 130.91L187.25 107.36L207.78 112.87L212.29 68.36L96.98 37.5799999999999L92.68 82.0999999999999L112.7 87.4499999999999L101.59 202.0899999999999L81.47 196.6999999999999L77.12 241.2C255.27 288.7399999999999 247.3 287.62 263.34 287.8499999999999C320 288.9799999999999 327.49 216.0099999999999 305.89 183.42A86.7 86.7 0 0 0 255.14 149.6999999999999zM454.32 133.08L450.43 172.57L465.33 176.55L458.72 191.23L400.96 175.81L396.86 158.27L416.06 163.39L420.11 123.85L307.26 93.78L302.8 138.21L323.79 143.8L356.87 270.27L339.7200000000001 265.7099999999999L335.5200000000001 310.19C428.8800000000001 335.18 400.5300000000001 327.5999999999999 471.11 346.43L537.78 200.96L558.5699999999999 206.52L562.8699999999999 162.04L454.3199999999999 133.08z" glyph-name="penny-arcade" horiz-adv-x="640" unicode=""/><glyph d="M370 384.4C331.4 425.4 280.5 448 226.6 448C111.9 448 18.5 351.8 18.5 233.6C18.5 158.5 76.3 73.8 101.2 40.9C137.8 -7.5 192.6 -64 226.6 -64C268.2 -64 339.5 30.2 347.5 41C372.1 74.1 429.5 159.3 429.5 233.6C429.5 290.1 408.4 343.7 370 384.4zM226.6 -45.9C184.1 -45.9 36.6 121.4 36.6 233.5C36.6 340.9 120.5 429.8 226.6 429.8C327.4 429.8 411.3 340.8 411.3 233.5C411.4 121.4 263.9 -45.9 226.6 -45.9zM338 241.2C338 182.1 286.9 131.5 227.2 131.5C126.6 131.5 76.5 239.7 134.3 313.3V312.9C134.3 288.4 154.4 268.5 179.1 268.5C203.8 268.5 223.9 288.4 223.9 312.9C223.9 331.1 212.8 346.7 197 353.6C273.6 372.8 338 314.3 338 241.2z" glyph-name="periscope" horiz-adv-x="448" unicode=""/><glyph d="M323 185.9L322.9 198.9S344.6 218.7 344 220.1L334.5 240.1C333.9 241.5 305 240.6 305 240.6L295.6 249.9S295.8 278.4 294.4000000000001 279L274.3 288.2C272.9000000000001 288.8 253.6 267.2 253.6 267.2L240.5000000000001 267.4S220 288.8 218.6 288.2L198.6 279.9C197.2 279.4 198.8 251 198.8 251L189.7 241.9S160.5 242.8 160 241.5L151.9 221.6999999999999C151.3000000000001 220.2999999999999 172.9 200.6999999999999 172.9 200.6999999999999L173 187.8S151.3000000000001 168 151.9 166.6L161.4 146.6C162 145.2 190.9 146.1 190.9 146.1L200.3000000000001 136.8S200.1000000000001 104.9999999999999 201.5 104.4999999999999L221.6 96.1999999999999C223 95.5999999999999 242.3 119.6999999999999 242.3 119.6999999999999L255.4 119.5S275.9 95.6999999999999 277.2 96.1999999999999L297.2 103.6999999999999C298.6 104.3 297 135.8 297 135.8L306.1 144.9S335.3 144 335.8 145.4L343.9000000000001 165.2C344.6 166.3 323.0000000000001 185.9 323.0000000000001 185.9zM278.1 194.6C278.8 177.5 265.3 163 248.0000000000001 162.2C230.7 161.4 215.9 174.7 215.2000000000001 191.8C214.5000000000001 208.9 228.0000000000001 223.4 245.3000000000001 224.1C262.6 224.9 277.4000000000001 211.6 278.1 194.6zM479.3 232.5L382.3 329.5L382.2 329.4C307.1 402.7 186.8 402.2 112.4 327.8C61.5 276.8 84.6 299.9 16.7 232.5C-5.6 210.2 -5.6 173.8 16.7 151.5C86.6 82.1 63.1 105.5 114.1 54.5L114.2 54.6C189.3 -18.7 309.6 -18.3 384 56.2C435 107.1 411.9 84.1 479.3 151.5000000000001C501.6 173.8000000000001 501.6 210.2000000000001 479.3 232.5000000000001zM140.4 84.2C80.8 143.7 80.8 240.2 140.4 299.7C199.9 359.3 296.4 359.2 356 299.7C415.5 240.2 415.6 143.7 356 84.1C296.4 24.6 200 24.7 140.4 84.2000000000001z" glyph-name="phabricator" horiz-adv-x="496" unicode=""/><glyph d="M212.9 103.7C216.7 103.8 235.7 105.1 238.5 105.9C236.1 108.5 194.9 106.9 170.5 155.5C166.2 164.1 163 173.1 164.1 183.1C167 208.6 197 213.1 216.1 201.6C252.1 180 279.4 110.3 329.8 104.1C366.8 99.6 414.4 121.1 438 149.5C437.4 149.6 437.2 149.7 437 149.6C436.6 149.5 436.2 149.4 435.9 149.3C402.6 137.2 341.6 139.6 301.2 164.1C263.6 186.9 248.1 222.8 249.4 238.7C251.2 260 272.3 261.9 285.3 258.3C299.7 254.4 309.7 240.7 324.2 230.9C339.8 220.5 357.0999999999999 217.2 375.5 220.6C390.3999999999999 223.3 409.8999999999999 232.9 412 235.1C410.8999999999999 235.2 410.2 235.2 409.5 235.3C403.3 235.9 397.1 236.1 391 237C279.8 253.5 262.1 400.6 138.5 410.1C94.2 413.5 39.1 402 2.2 375.1C1.4 374.5 0.7 373.9 0 373.3C0.1 373.1 0.1 373 0.2 372.8C1 372.8 1.8 372.9 2.6 373C8.9 374 15.1 373.8 21.3 372.7C45.1 368.4 69 349.6 77.2 296.2C82.5 261.9 76.5 245.4 85.2 210.1C104.2 133 176.2 102.5 212.9 103.7zM75.3 383.1C74.4 384.1 74.4 384.3 74 385.1C86.1 387.7 98.2 389.2 110.6 389.9C109.5 375.2 88.4 368.6 75.3 383.1zM272.2 32.6C229.4 31.4 180.2 59.3 148.7 94C144.1 99 131.9 114.2 130.1 117.4L130.5 117.8C137.1 113.6999999999999 156.2 99.1999999999999 185.3 90.8C209.5 83.8 233.4 84.4999999999999 256.9 94.1C279.6 103.4 297.9 94.6 300 91.2C281.5 87.4 279.9 86.8 276 83.3C270.9 78.9 271.4 71.6 283 66.1C309.2 53.7 346 68.9 380.2 40.7C382.6 38.7 388.3 32.9 390.3 30.0000000000001C390.2 29.8000000000001 390 29.7 389.9000000000001 29.5000000000001C385.1 31.0000000000001 373.5000000000001 37.0000000000001 349.7000000000001 38.8000000000001C325.0000000000001 40.8000000000001 303.4000000000001 33.5000000000001 272.2000000000001 32.6000000000001zM447 284.6C463.4 289.8 488.3 298 513.5 287.9000000000001C529.6 281.4000000000001 539.7 269.2000000000001 545.6 253.3000000000001C549.1 243.9000000000001 550.7 233.6000000000001 550.7 224.6000000000001C550.5 224.6000000000001 550.3000000000001 224.6000000000001 550.1 224.5000000000001C549.9 224.9000000000001 549.7 225.4000000000001 549.6 225.8000000000001C544.6 247.8000000000001 519.7 269.6000000000001 482 255.7000000000001C431.8 237.1000000000001 351.6 246.0000000000001 305.1 303.7000000000001C304.4000000000001 304.6000000000001 302.7000000000001 305.4000000000001 303.8 306.9000000000001C303.9000000000001 307.1 305.9000000000001 306.3000000000001 306.8 305.6C324.9000000000001 292.2000000000001 345.1 283.7000000000001 367.1 279.4000000000001C397.6 273.3000000000001 421.7000000000001 276.5000000000001 447 284.6zM549.7 167.1C517.3000000000001 166.9 515.9000000000001 117 446.1 102.7000000000001C427.9000000000001 99.0000000000001 407.4000000000001 98.1 401.2000000000001 98.5000000000001V98.9C404.0000000000001 100.4 415.9000000000001 101.5000000000001 430.9000000000001 115.5000000000001C438.8 122.8000000000001 446.2000000000001 130.6000000000001 453.7 138.4C473.2 158.6 495.1 180.6 535.6 177.4C558.7 175.6 564.9 169.2000000000001 571.7 164.7000000000001C572 164.5000000000001 572.1 164.2000000000001 572.4000000000001 163.8000000000001C571.9000000000001 163.8000000000001 571.7 163.7000000000001 571.5000000000001 163.8000000000001C564.5000000000001 166.5000000000001 557.2000000000002 167.1000000000001 549.7000000000002 167.1000000000001zM537.4000000000001 191.2000000000001C537.3000000000001 191.0000000000001 537.3000000000001 190.8000000000001 537.2 190.6C508.3000000000001 195 489.2 198.5 468.7 186.6C451.7 176.7000000000001 437.3000000000001 166.1 406.7000000000001 162.2000000000001C379.6 158.8000000000001 361.6 159.8000000000001 340.6 170.2000000000001C340.3 170.4 340 170.6 339.6 170.8000000000001C339.6 171.0000000000001 339.7000000000001 171.1000000000001 339.7000000000001 171.3000000000001C364.6 167.5000000000001 376.1 166.2000000000001 395.2000000000001 177.1000000000001C417.5000000000001 190.0000000000001 435.3000000000001 203.7000000000001 466.5000000000001 208.1000000000001C496.1000000000001 212.2000000000001 517.8000000000001 205.6000000000001 537.4000000000001 191.2000000000001zM268.6 350.7C268 351.3 267.5 351.9 266.5 353C274.1 353 296.2 354.2 319.9 344.6C339.6 336.6 352.1 323.6 370.1 311.7C381.2 304.4 393.5 302.4 406.5 303.6C410.8 304 415 304.8 419.3 305.3C419.7 305.4 420.2 305.3 420.8 305C420.2 304.6 419.6 304.1 419 303.8C410.8999999999999 299.8 402.3 297.5 393.3999999999999 296.7C367.2999999999999 294.1 343.0999999999999 300.4 319.9999999999999 312.1C300.6999999999999 322 283.5999999999999 335 268.5999999999999 350.7zM640 112.3C636.5 109.2 617.3 100.7 597.3 107C585 110.9 577.8 121.9 565.6999999999999 131.1C555.6999999999999 138.7000000000001 544.8 139 537.5999999999999 139.5C538.1999999999999 140.3 538.4999999999999 140.7 538.8 140.9C553.5999999999999 150.1 569.3 153.1 586.0999999999999 147.4C598.5999999999999 143.2 605.3 133.9 616.4999999999999 123.2C627.2999999999998 112.8 637.4999999999999 113.3 639.5999999999999 112.7C639.6999999999999 112.8 639.8 112.7 639.9999999999999 112.3zM427.5 -24.7C429.7 -25.9 429.1 -26.2 429 -26.7C410.5 -25.3 395.1 -19.1 382.2 -4.5C360.4 20.2 340.5 23.4 333.6 25.2C334.1 25.4 334.4 25.6 334.7 25.6C347.8 25.4999999999999 360.8 24.9 373.6 21.7C398.9 15.3 408.6 -3.7 415.2 -13.6C418.4 -18.4 422.5 -21.9 427.5 -24.7z" glyph-name="phoenix-framework" horiz-adv-x="640" unicode=""/><glyph d="M96.24 385.19C142.91 421.43 202.15 441.43 261.28 439.92C290.95 440.3 320.57 434.54 348.45 424.55C324.25 429.19 299.27 430.9 274.85 427C231.85 421.65 191.59 399.77 162.69 367.65C168.38 368.64 173.5 371.3300000000001 178.76 373.53C196.95 381.42 216.36 386.82 236.1600000000001 388.4C255.9600000000001 390.54 275.9100000000001 388.83 295.61 386.4700000000001C281.1500000000001 383.68 266.4100000000001 381.89 252.5 376.86C217.97 365.75 187.04 343.6 165.95 314.04C152.11 294.27 142.25 271.05 141.21 246.71C140.86 230.17 146.44 211.8 161.1 202.54C172.23 195.88 185.95 193.15 198.73 195.78C214.22 198.25 228.89 204.45 242.46 212.16C254.01 219 265.19 226.75 274.51 236.48C278.31 239.71 277.05 244.96 277.14 249.31C275.01 249.65 272.74 250.42 270.82 249.01A203.975 203.975 0 0 0 234.89 233.59C214.8199999999999 227.4 192.6099999999999 225.11 172.6099999999999 232.81C185.44 231.08 198.75 232.5 210.4599999999999 238.27C230.7499999999999 248.02 247.38 263.54 265.06 277.15C292.8999999999999 298.44 322.7 317.26 354.23 332.62C380.01 344.63 407.32 355.47 436.04 356.82C420.36 343.06 403.79 330.22 389.12 315.31C374.57 301.27 361.58 285.73 348.89 270C345.36 265.39 339.9099999999999 263.04 335.2699999999999 259.81C313.0299999999999 244.78 294.6699999999999 223.85 283.2299999999999 199.53C273.8699999999999 179.79 268.6799999999999 157.56 271.4199999999999 135.69C273.3699999999999 121.9599999999999 280.1599999999999 108.0199999999999 292.3799999999999 100.68C305.3199999999999 92.6899999999999 321.5199999999999 92.59 335.9899999999999 95.5699999999999C368.8899999999999 103.04 397.5999999999999 124.54 417.2699999999999 151.5699999999999C437.7699999999999 179.17 447.8799999999999 213.9499999999999 446.5199999999999 248.2099999999999C445.9999999999999 255.73 444.9399999999999 263.2099999999999 444.8499999999999 270.76C452.8699999999998 251.22 459.7199999999999 230.93 461.5499999999998 209.75C463.5599999999998 195.43 462.2999999999998 180.91 459.9299999999998 166.73C458.0099999999998 155.71 454.2399999999998 145.15 452.1199999999998 134.1999999999999C472.4799999999998 156.93 486.2899999999998 185.44 491.5799999999998 215.5099999999999C497.2999999999998 250.88 492.1599999999998 287.87 477.3299999999998 320.4599999999999C498.1699999999998 288.3399999999999 509.7599999999998 250.67 513.1399999999999 212.66C513.6399999999999 199.8899999999999 513.6399999999999 187.0799999999999 513.1399999999999 174.3199999999999C510.2299999999998 140.06 500.1699999999998 106.37 483.3799999999999 76.3199999999999C457.1799999999999 28.8399999999999 415.1799999999999 -9.57 365.8399999999999 -32.0000000000001C287.3199999999999 -68.34 190.6399999999999 -63.4100000000001 117.1199999999999 -17.28C78.2799999999999 6.5 46.0599999999999 41.04 25.4399999999999 81.68C10.72 110.57 2.04 142.5 0 174.87V206.3C3.94 276.27 40.99 342.62 96.24 385.19M318.89 304.62C324.4 305.42 329.71 307.19 334.91 309.12C339.9 310.89 344.18 315.07 345.26 320.37C336.35 315.37 327.31 310.42 318.89 304.62z" glyph-name="phoenix-squadron" horiz-adv-x="513.52" unicode=""/><glyph d="M320 343.5C491.4 343.5 623.2 271.3 623.2 192S491.3 40.5 320 40.5C148.6 40.5 16.8 112.7 16.8 192S148.7 343.5 320 343.5M320 360.3C143.3 360.3 0 285 0 192S143.3 23.7 320 23.7S640 99 640 192S496.7 360.3 320 360.3zM218.2 205.5C210.3 165 182.4 169.2 148.1 169.2L161.8 239.8C199.8 239.8 225.6 243.9 218.2 205.5zM97.4 97.7H134.1L142.8 142.5C183.9 142.5 209.4 139.5 233 161.6C259.1 185.6 265.9 228.3 247.3 249.7C237.6 260.9 222 266.4 200.8 266.4H130.1L97.4 97.7zM283.1 311.3H319.6L310.9000000000001 266.5C342.4000000000001 266.5 371.6 268.8 385.7000000000001 255.8C400.5000000000001 242.2 393.4000000000001 224.8 377.4000000000001 142.7000000000001H340.4000000000001C355.8 222.1000000000001 358.7000000000001 228.7000000000001 353.1 234.7000000000001C347.7000000000001 240.5000000000001 335.4000000000001 239.3000000000001 305.7000000000001 239.3000000000001L286.9000000000001 142.7000000000001H250.4000000000001L283.1 311.3000000000001zM505 205.5C497 164.4 468.3 169.2 434.9 169.2L448.6 239.8C486.8 239.8 512.4 243.9 504.9999999999999 205.5zM384.2 97.7H421L429.7 142.5C472.9 142.5 496.8 140 519.9 161.6C546 185.6 552.8 228.3 534.1999999999999 249.7C524.4999999999999 260.9 508.8999999999999 266.4 487.6999999999999 266.4H417L384.2 97.7000000000001z" glyph-name="php" horiz-adv-x="640" unicode=""/><glyph d="M242 261C248.3 272.8 255.2 278 267.9 282.8C295.2 293.1 308.1 313.3 326.8 333.9C338.7 325.5 338.8 309.3 358.4 310.9V289.1L364.7 288.8C402.1 303.2 439.4 319 471.3 343.4C519.5999999999999 380.2 524.1999999999999 393.4 552.5999999999999 443.4L554.5999999999999 446C553.9999999999999 431.9 548.3 418.7 542.1999999999999 406.1C511.6999999999999 342.3 463.4999999999999 305.8 395.3999999999999 289.4C383 286.5 369 286.2 357.7999999999999 280.5C359.1999999999999 270.7 370.9999999999999 262.4 370.9999999999999 257.5C370.9999999999999 254.1 365.4999999999999 250.3 363.4999999999999 248.9C352.2999999999999 261.8 347.3999999999999 268.2 340.7999999999999 271C333.1999999999999 274.5 276.8999999999999 277.4 241.9999999999999 261zM379.9 4.1C360.9 4.1 315.8 -5.4 300 -15.7L306.9 -60.8C342.6 -66.9 377 -64.4 412.9 -51C408.1 -41 389.4 4.1 379.9 4.1zM244 202C240.8 204 237.7 204.9 233.9 204.9C227.3 204.9 221.3 201.7 214.6 201.2L216.3 196.3L244 202zM231.4 170.2L255.5 109L276.5 122.8L245.2 173.7L231.4 170.2zM555.5 448L554.9 446.9L554.6 446L555.2 446.6L555.5 448zM496.3 65.9C462.4 122.8 421 184.3 346.3 181.4L346 187.4C344.9 200.9 378.8 184.2 381.1 218.4L366.7000000000001 211.2C346.9000000000001 256.9 358.1 265.5 301.2000000000001 265.5C286.5000000000001 265.5 274.5000000000001 263.8 259.8000000000001 260.9C262.7000000000001 242.3 262.0000000000001 224.2 248.9000000000001 210.6L268.4000000000001 205.1C266.7000000000001 201.9 265.5000000000001 198.8 265.5000000000001 195.3C265.5000000000001 174.3 308.3000000000002 192.4 308.3000000000002 161.7C308.3000000000002 143.3 271.5000000000001 101.6 253.4000000000001 101.6C245.4000000000001 101.6 199.7000000000001 151.6 200.0000000000001 161.7L200.3000000000001 166.3L252.6000000000002 177.8C265.6000000000002 180.4 264.9000000000002 200.5 249.7000000000002 200.5C246.0000000000002 200.5 206.6000000000001 191.3 200.3000000000001 189.9C198.3000000000001 195.1 192.8000000000001 204 186.5000000000001 204C183.3000000000001 204 180.2000000000001 200.8 177.0000000000001 200C167.8000000000001 197.4 146.0000000000001 197.1 155.5000000000001 179.9L15.9 149.5C10.4 148.4 7 143.2 7 137.7C7 131.7 12.5 126.8 18.5 126.8C26.5 126.8 149.8 155.2 165.9 159C168.5 155.8 170.5 152.7 173.7 150.4C193.8 136 233.5 64.5 250.1 64.5C274.2000000000001 64.5 308.1 86.9 321.4000000000001 106.4C324.6 110.7 328.3 113.9 333.8 113.3C334.4000000000001 99.4999999999999 302.2 79.1 300.8 69.6C299.4000000000001 59.4 299.8 34.4 300.5 28.4999999999999C327.2 20.3999999999999 352.5 32.1 378.4 31.3999999999999C382.7 52.3999999999999 389 73.2999999999999 388.2 94.8999999999999L387.9 104.3999999999999C386.5 138.5999999999999 377 142.8999999999999 353.1 163C352 164.1 350.5 165.6 349.4 167C351.6 168.3999999999999 350.5 168 354 168.6999999999999C442.5 168.6999999999999 410.3 -14.9000000000001 465.5 -61.2C498.6 -46.2 538 -33.3000000000001 569 -14.0000000000001C540 11.6 516.4 31.6999999999999 496.3 65.9zM300.1 19.9V-7.4L311.9000000000001 -4.0000000000001L309.0000000000001 19.8H300.1000000000001zM376.2000000000001 17C376.2000000000001 18.4 375.6 20.2 375.3000000000001 21.6C348.5000000000001 21.6 338.4000000000001 17.8 315.8000000000001 15.3L317.8000000000001 2.9C326.8000000000001 4.4 376.2000000000001 9.5000000000001 376.2000000000001 17.0000000000001z" glyph-name="pied-piper-alt" horiz-adv-x="576" unicode=""/><glyph d="M640 423.1C559.2 369.5 550.6 330.6 543.6 318.7C536.9 306.5 531.9 258.4 520.3000000000001 235.1C508.6000000000001 211.5 466.1000000000001 192.9 454.2 185.1C442.5000000000001 177.3 425.9000000000001 147 412.3000000000001 120.9C304.2000000000001 125.3 244.9000000000001 82.1 153.1000000000001 27.3000000000001C182.5000000000001 37.0000000000001 196.4000000000001 44.0000000000001 196.4000000000001 44.0000000000001C290.6000000000001 80.0000000000001 335.7000000000001 112.3000000000001 477.5000000000001 93.2000000000001C478.6000000000001 93.2000000000001 479.4000000000001 92.6 480.3000000000001 92.4C484.2000000000001 90.2000000000001 485.6000000000001 85.5000000000001 483.4000000000001 81.6L429.5000000000002 -14.2C427.0000000000002 -18.9 421.7000000000002 -21.4 416.4000000000002 -20.3C289.6000000000002 3.5 189.5000000000002 -37.6 97.5000000000002 -38.9C24.1 -40 0 -5.4 0 -3.8C0 -2.7 0.6 -2.1 1.7 -2.1C1.7 -2.1 40 -2.1 104.8 13.2C178.4 153.5 244 202.6 315.4 202.6C315.4 202.6 387.1 202.6 406 140.7C428.8 180.4 434.3 189.9 434.3 189.9C439.6 199.3 469.3 267.1 520.7 331.3C572.2 395.3 611.1 411.2 640 423.1z" glyph-name="pied-piper-hat" horiz-adv-x="640" unicode=""/><glyph d="M205.3 273.4C205.3 252.3 191.1 235.3 173.6 235.3C166.5 235.3 160.8 236.5 156.4 239V307C160.8000000000001 309.7 166.5 311.2 173.6 311.2C191.1 311.2 205.3 294.3 205.3 273.4zM257.9000000000001 206.4C250.8000000000001 206.4 245.1 204.9 240.7000000000001 202.2V134.2000000000001C245.1000000000001 131.7000000000001 250.8000000000001 130.5000000000001 257.9000000000001 130.5000000000001C275.3 130.5000000000001 289.6 147.4 289.6 168.3000000000001C289.6 189.4000000000001 275.3 206.4000000000001 257.9000000000001 206.4000000000001zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM185 192.9C226 192.9 259.2 228.5 259.2 272.5C259.2 316.5 226 352.1 185 352.1C173 352.1 160.9 348.9 150.4 343.3H104.7V137L156.5 147.1V197.7C165.1 194.6 174.6 192.9 185 192.9zM343.4 167.6C343.4 211.6 310.2 247.2 269.5 247.2C266.3 247.2 263.1 247.0000000000001 259.9 246.5000000000001C256.2 234.0000000000001 249.8 222.7 240.7 213.1C226.9 198.1 208.5 189.3 188.9 188.3V32L240.7 42.1V92.7000000000001C249.3 89.5000000000001 258.9 88.0000000000001 269.4 88.0000000000001C310.2 88.0000000000001 343.4 123.6000000000001 343.4 167.6z" glyph-name="pied-piper-pp" horiz-adv-x="448" unicode=""/><glyph d="M32 29L0 -31.2L0.8 296.8C0.8 362.7 54 416 120 416H447.2C354.2 387.1 257.3 321.8 193.3 247.4C122.7 166 82.6 110 32 29M448 416S305.2 349.2 261.6 248.9C238.4000000000001 195.3 232.7 130.8 190.6 90.3C161.7 62.5 120.8 52.1 85.3 34C62.1 22 18.9 -6.5 0.4 -32H328.8C394.8 -32 448.1 21.3 448.1 87.2C448 87.2 448 416 448 416z" glyph-name="pied-piper" horiz-adv-x="448" unicode=""/><glyph d="M204 441.5C101.4 441.5 0 373.1 0 262.4C0 192 39.6 152 63.6 152C73.5 152 79.2 179.6 79.2 187.4C79.2 196.7 55.5 216.5 55.5 255.2C55.5 335.6 116.7 392.6 195.9 392.6C264 392.6 314.4 353.9 314.4 282.8C314.4 229.7 293.1 130.1 224.1 130.1C199.2 130.1 177.9 148.1 177.9 173.9C177.9 211.7000000000001 204.3 248.3000000000001 204.3 287.3000000000001C204.3 353.5000000000001 110.4 341.5000000000001 110.4 261.5C110.4 244.7 112.5 226.1 120 210.8C106.2 151.4 78 62.9 78 1.7C78 -17.1999999999999 80.7 -35.8 82.5 -54.6999999999999C85.9 -58.4999999999999 84.2 -58.0999999999999 89.4 -56.1999999999999C139.8 12.8000000000001 138 26.3000000000001 160.8 116.6000000000001C173.1 93.2000000000001 204.9 80.6000000000001 230.1 80.6000000000001C336.3 80.6000000000001 384 184.1000000000001 384 277.4000000000001C384 376.7 298.2 441.5 204 441.5z" glyph-name="pinterest-p" horiz-adv-x="384" unicode=""/><glyph d="M448 368V16C448 -10.5 426.5 -32 400 -32H154.4C164.2 -15.6 176.8 8 181.8 27.3C184.8 38.8 197.1 85.7 197.1 85.7C205.1 70.4 228.5000000000001 57.5 253.4000000000001 57.5C327.5 57.5 380.8000000000001 125.6 380.8000000000001 210.2C380.8000000000001 291.3 314.6000000000001 352 229.4000000000001 352C123.4000000000001 352 67.2000000000001 280.9 67.2000000000001 203.4C67.2000000000001 167.4 86.4000000000001 122.6 117.0000000000001 108.3C121.7000000000001 106.1 124.1000000000001 107.1 125.2000000000001 111.6C126.0000000000001 115 130.2000000000001 131.7000000000001 132.0000000000001 139.4C132.6000000000001 141.9 132.3000000000001 144.0000000000001 130.3000000000001 146.4C120.2000000000001 158.7000000000001 112.0000000000001 181.3 112.0000000000001 202.4C112.0000000000001 256.6 153.0000000000001 309 222.9000000000001 309C283.2000000000001 309 325.5000000000001 267.9000000000001 325.5000000000001 209.1C325.5000000000001 142.7000000000001 292.0000000000001 96.7000000000001 248.3000000000002 96.7000000000001C224.2000000000001 96.7000000000001 206.2000000000001 116.6 211.9000000000001 141.1C218.8000000000001 170.3 232.2000000000002 201.8 232.2000000000002 222.9C232.2000000000002 275.9000000000001 156.7000000000001 268.6 156.7000000000001 197.9C156.7000000000001 176.2000000000001 164.0000000000002 161.4 164.0000000000002 161.4C132.6000000000001 28.6 127.9000000000002 26.9 134.4000000000002 -31.1999999999999L136.6000000000001 -31.9999999999999H48C21.5 -31.9999999999999 0 -10.4999999999999 0 16.0000000000001V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368z" glyph-name="pinterest-square" horiz-adv-x="448" unicode=""/><glyph d="M496 192C496 55 385 -56 248 -56C222.4 -56 197.8 -52.1 174.6 -44.9C184.7 -28.4 199.8 -1.4 205.4 20.1C208.4 31.7 220.8 79.1 220.8 79.1C228.9 63.7000000000001 252.5 50.6 277.6 50.6C352.4000000000001 50.6 406.3 119.4 406.3 204.9C406.3 286.8000000000001 339.4 348.1 253.4 348.1C146.4 348.1 89.5 276.3 89.5 198C89.5 161.6 108.9 116.3 139.8 101.9C144.5 99.7000000000001 147 100.7000000000001 148.1 105.2000000000001C148.9 108.6 153.1 125.5000000000001 155 133.3000000000001C155.6 135.8000000000001 155.3000000000001 138.0000000000001 153.3000000000001 140.4000000000001C143.2000000000001 152.9000000000001 135 175.7000000000001 135 197.0000000000001C135 251.7000000000001 176.4 304.6000000000001 247.0000000000001 304.6000000000001C307.9000000000001 304.6000000000001 350.6 263.1000000000001 350.6 203.7000000000001C350.6 136.6000000000001 316.7000000000001 90.1000000000001 272.6 90.1000000000001C248.3 90.1000000000001 230.0000000000001 110.2000000000001 235.9000000000001 134.9000000000001C242.9000000000001 164.4000000000001 256.4000000000001 196.2000000000001 256.4000000000001 217.5000000000001C256.4000000000001 236.5000000000001 246.2000000000001 252.4000000000001 225 252.4000000000001C200.1 252.4000000000001 180.1 226.7000000000001 180.1 192.2000000000001C180.1 170.2000000000001 187.5 155.4000000000001 187.5 155.4000000000001S163 51.6000000000001 158.5 32.2000000000001C153.5 10.8000000000001 155.5 -19.3999999999999 157.6 -38.9999999999999C65.4 -2.9 0 86.9 0 192C0 329 111 440 248 440S496 329 496 192z" glyph-name="pinterest" horiz-adv-x="496" unicode=""/><glyph d="M570.9 75.7C559.6 61.5 532.1 51.4 532.1 51.4L327 -22.2V32.1L477.9 85.9C495 92.0000000000001 497.7 100.7000000000001 483.7 105.3C469.8 109.9 444.6 108.6 427.5 102.4L327 66.9V123.3C350.2 131.1 374.1 136.9 402.7 140.1C443.6 144.6 493.6 139.5 532.9 124.6C577.1 110.6 582.1 89.9 570.9 75.7zM346.5 168.2V307.2C346.5 323.5 343.5 338.5 328.2 342.8C316.5 346.6 309.2 335.7 309.2 319.4V-28.5L215.4 1.3V416C255.3 408.6 313.4 391.1 344.6 380.6C424.1 353.3 451 319.3 451 242.8C451 168.3 405 140 346.5 168.2000000000001zM43.2 37.8C-2.2 50.6 -9.8 77.3 10.9 92.6C30 106.8 62.6 117.5 62.6 117.5L197.1 165.3V110.8L100.3 76.2C83.2 70.1 80.6 61.4 94.5 56.8C108.4 52.2 133.6 53.5 150.7000000000001 59.7L197.1000000000001 76.6V27.8C145.5000000000001 18.4999999999999 95.7000000000001 20.4999999999999 43.2 37.8z" glyph-name="playstation" horiz-adv-x="576" unicode=""/><glyph d="M326.3 229.2C326.3 208.7 309.6 192 289.1 192H218.8V266.4H289.1C309.6 266.4 326.3 249.7 326.3 229.2zM504 192C504 55 393 -56 256 -56S8 55 8 192S119 440 256 440S504 329 504 192zM375.9 229.2C375.9 277.1 337 316 289.1 316H169.2V68H218.8V142.4H289.1C337 142.4 375.9 181.3 375.9 229.2z" glyph-name="product-hunt" horiz-adv-x="512" unicode=""/><glyph d="M407 336.1L308.5 345.1L322.5 378.5C332.9 402 311.7 418.9 293.8 415.5L22.5 371.1C7.4 368.4 -3.5 352.8 1.1 334.5L106.2 -13.8C112.7 -35.1 142.9 -38 153.9 -20.8L189.2 60L424.4 291.3C440.8 308.1 428.7 334.2000000000001 407 336.1zM297.6 394.4C302.7000000000001 395.1 305.1 391.9 302.8 387L286 347.1L108.6 363.4L297.6 394.4zM22.7 340.1C19.6 345.2 23.7 350.1 28.8 349.2L277.5 326.5L180.6 95.8L22.7 340.1zM136 -8.4C133.4 -12.4 128.1 -11.5 126.6 -7.2L43.5 268.3L171.2 70.7000000000001C164.2 55.7 136 -8.4 136 -8.4zM408.8 306.1L210.1 110.7L299.8 324.4L406.2000000000001 314.7C410.2000000000001 313.6 411.9000000000001 309.4 408.8000000000001 306.1z" glyph-name="pushed" horiz-adv-x="432" unicode=""/><glyph d="M167.8 411.6C122.6 403.6 114.4 386.9 114.4 356V315.3H221.3V301.7000000000001H74.3C43.2 301.7000000000001 16 283 7.5 247.5C-2.3 206.8 -2.7 181.4 7.5 138.9C15.1 107.3 33.2 84.7 64.3 84.7H101V133.5C101 168.8 131.5 199.9 167.8 199.9H274.6C304.3 199.9 328 224.4 328 254.2V356.1C328 385.1 303.6 406.8 274.6 411.7C238.8 417.6 199.9 417.3 167.8 411.6zM161.1 383.2C172.1 383.2 181.2 374 181.2 362.8S172.2 342.5 161.1 342.5C150 342.5 141 351.6 141 362.8C141.1 374.1 150 383.2000000000001 161.1 383.2000000000001zM346.3 301.8V254.3C346.3 217.5 315.1 186.5 279.5 186.5H172.7C143.5 186.5 119.3 161.5 119.3 132.2V30.4C119.3 1.4 144.5 -15.6 172.7 -23.9C206.5 -33.8 239 -35.6 279.5 -23.9C306.4 -16.1 332.9 -0.4 332.9 30.4V71.1H226.2V84.7H386.4C417.5 84.7 429 106.4 439.8 138.9C450.9999999999999 172.4 450.4999999999999 204.6 439.8 247.5C432.1 278.4 417.5 301.7 386.4 301.7H346.3zM286.2 44C297.3 44 306.3 34.9 306.3 23.7C306.3 12.4 297.3 3.3 286.2 3.3C275.2 3.3 266.1 12.5 266.1 23.7C266.2 35 275.2 44 286.2 44z" glyph-name="python" horiz-adv-x="448" unicode=""/><glyph d="M433.754 27.555C422.228 26.162 388.894 80.296 388.894 80.296C388.894 48.951 372.758 8.049 337.843 -21.49C354.685 -26.682 392.6860000000001 -40.657 383.646 -55.911C376.3300000000001 -68.254 258.136 -63.792 224.014 -59.948C189.892 -63.792 71.698 -68.254 64.382 -55.911C55.337 -40.661 93.3 -26.697 110.165 -21.496C75.245 8.043 59.106 48.949 59.106 80.2960000000001C59.106 80.2960000000001 25.772 26.162 14.247 27.5550000000001C8.877 28.205 1.823 57.1990000000001 23.594 127.2590000000001C33.855 160.2830000000001 45.589 187.7370000000001 63.738 233.0380000000001C60.683 349.937 108.982 447.9940000000001 224 448C337.737 447.9940000000001 387.156 351.867 384.264 233.037C402.382 187.814 414.176 160.187 424.408 127.259C446.1760000000001 57.199 439.124 28.206 433.754 27.555z" glyph-name="qq" horiz-adv-x="448" unicode=""/><glyph d="M301.9 -26.6H300.6C213.3 -26.6 142.5 44.2 142.5 131.5S213.3 289.6 300.6 289.6C395.5 289.6 468.8 206.5 457.6 113C461.6 107.9 465.8 103.4 468.8 97.7C482.1999999999999 128 489.1 160.1 489.1 195.4C489.1 330.5 379.6 440 244.5 440C109.5 440 0 330.5 0 195.4S109.5 -49.2 244.5 -49.2C269.3 -49.2 292.3 -46 314.9 -39.1C309.7 -35.6 305.9 -30.9 301.5 -26.4999999999999L301.9 -26.6zM280.7 43.2C280.7 98 325.1 142.4 379.9 142.4C434.7 142.4 479.1 98 479.1 43.2C479.1 -11.6 434.7 -56 379.9 -56C325.1 -56 280.7 -11.6 280.7 43.2" glyph-name="quinscape" horiz-adv-x="489.1" unicode=""/><glyph d="M440.5 61.3H411.2C409.7 47.8 400.7 30.5 378.2 30.5C357.7 30.5 342.9 44.7 328.7 66.3C372.9 100.5 403.4 153.8 403.4 219.3C403.5 336.8 306.8 416 205 416C105.3 416 7.3 336.3 7.3 219.3C7.3 85.2000000000001 138.6 -2.3 256.3 30.3C276 -3.3 302 -32 351.5 -32C433.3 -32 442.3 43.3 440.5 61.3zM297 118.8C277.5 148 253.3 171 205.5 171C175 171 151.2 161 136.5 148.2L148.7 123.9C154.9 126.9 161.7 127.9 168.5 127.9C204 127.9 222.2 97.1 237.7 66.6C227.7 63.6 217 62.4 205 62.4C130 62.4 97.5 115.4 97.5 219.1C97.5 323.5 130 377 205 377C281.2 377 313.7 323.5 313.7 219.3C313.8 177.5 308.3 143.7000000000001 297 118.8z" glyph-name="quora" horiz-adv-x="448" unicode=""/><glyph d="M581 221.4C581 328.9 450.9 416 290.5 416S0 328.9 0 221.4C0 125.6 103.3 46 239.4 29.9V-32H338.5V29.5C362.8 32.2 386.1 36.9 407.9 43.4L448 -32H560L492.6 81.7C547.1 117.1 581 166.6 581 221.4zM114.2 206.9C114.2 280.4 213.1 339.9 335 339.9S546.9 299.2 546.9 206.9C546.9 156.8 520.4 121.9 476.6 100.5C474.2 102.1 471.9 103.4 470.2 104.2C460 109.4 442.4 114.7 442.4 114.7S529 121.1 529 207.4S438.4 295.3 438.4 295.3H239.4V87C165.3 108.5 114.2 154.1 114.2 206.9zM339.3 168.6V224.2C397.1 224.2 427.1 231.0000000000001 427.1 196.9C427.1 160.4 388.9 168.6 339.3 168.6zM338.4 96.1H365C375.8 96.1 383.9 84.4 389 76.9C372.9 75.0000000000001 356 74.1 338.4 74.0000000000001V96.1000000000001z" glyph-name="r-project" horiz-adv-x="581" unicode=""/><glyph d="M372 215.5L368.3 222C368.4000000000001 268.4 346.9000000000001 287.3 321.8 301.7C329.4000000000001 303.7 337.2 305.3 339.4000000000001 314.9C352.5000000000001 318.2 355.2000000000001 324.3 356.5000000000001 330.7C359.9000000000001 333 371.3000000000001 339.4 370.1000000000001 350.4C376.5000000000001 354.8 380.1000000000001 360.5 378.2000000000001 368.5C385.1000000000001 376 386.9000000000001 382.2 384.0000000000001 387.9C392.3000000000002 398.2 388.6000000000002 403.5 385.1000000000002 408.8C391.3000000000002 420 385.8000000000002 432 368.5000000000001 430C361.6000000000002 440.1 346.6000000000002 437.8 344.3000000000002 437.8C341.7000000000001 441 338.3000000000002 443.8 327.8000000000002 442.5C321.0000000000001 448.6 313.4000000000002 447.5 305.5000000000001 444.6C296.2000000000001 451.9 290.0000000000001 446 282.9000000000001 443.8C271.6 447.4 269 442.5 263.5 440.4C251.2 443 247.4 437.4 241.5 431.5L234.6 431.6C216 420.8 206.8 398.8 203.5 387.5C200.2 398.8 191 420.8 172.4 431.6L165.5 431.5C159.6 437.4 155.8 443 143.5 440.4C137.9 442.4 135.4 447.4 124.1 443.8C119.5 445.2 115.2 448.2 110.2 448.1C107.6 448 104.7 447.1 101.5 444.6C93.6 447.6 86 448.6 79.2 442.5C68.7 443.8 65.2 441.1 62.7 437.8C60.4 437.8 45.4 440.1 38.5 430C21.2 432 15.8 420 22 408.8C18.5 403.4 14.8 398.1 23.1 387.9C20.2 382.2 22 376 28.9 368.5C27.1 360.5 30.7 354.8 37 350.4C35.8 339.4 47.2 333 50.6 330.7C51.9 324.3 54.6 318.3 67.7 314.9C69.9 305.4 77.7 303.7000000000001 85.3 301.7000000000001C60.2 287.3 38.7 268.4000000000001 38.8 222L35.1 215.5C6.3 198.3 -19.6 142.8 20.9 97.8C23.5 83.7 28 73.6 31.9 62.4C37.8 17.2 76.4 -3.9 86.5 -6.4C101.4 -17.6 117.3 -28.2 138.7 -35.6C159 -56.2 181 -64 203 -64H204C226.1 -64 248 -56.2 268.2 -35.6C289.7 -28.2 305.5 -17.6 320.4 -6.4C330.6 -3.9 369.1 17.2 375 62.4C378.9 73.6 383.4 83.7 386 97.8C426.6 142.9 400.7 198.3 372 215.5zM349.8 223.5C348.3 204.8 250.9 288.6 267.7000000000001 291.4C313.4000000000001 298.9 351.3000000000001 272.2000000000001 349.8000000000001 223.5zM306.8 130.4C282.3 114.6 247 124.8 228 153.2S213.4 217.4 237.9 233.2C262.4 249 297.7 238.8 316.7 210.4S331.3 146.2 306.8 130.4zM238.9 418.7C239.7 414.5 240.7 411.9 241.8 411.1C247.2 416.9 251.6 422.8 258.6 428.4C258.6 425.1 256.9000000000001 421.6 261.1 419C264.8 424 269.9000000000001 428.5 276.6 432.3C273.4000000000001 426.7 276 425 277.8 422.7C282.9000000000001 427.1 287.8 431.5 297.2 435C294.6 431.9 291 428.8 294.8 425.2C300.1 428.5 305.4000000000001 431.8 317.9000000000001 434.1C315.1 431 309.2000000000001 427.8 312.8 424.7C319.4000000000001 427.2 326.8 429.1 334.9000000000001 430.1C331.0000000000001 426.9 327.8 423.8 331.0000000000001 421.3C338.1000000000001 423.5 347.9000000000001 426.4 357.4000000000001 423.9L351.4000000000001 417.8C350.7000000000001 417 365.5000000000001 417.2 375.3 417C371.7 412 368.1 407.3 366 398.8C367 397.8 371.8 398.4 376.4 398.8C371.7 388.9 363.6 386.5 361.7 382.2C364.6 380 368.5 380.6 372.9 382.1C369.5 375.2 362.5 370.4 356.9 364.8C358.3 363.8 360.8 363.2000000000001 366.6 363.9C361.4 358.4 355.2 353.4 347.8 348.9C349.1 347.4 353.6 347.4 357.8 347.3C351.1 340.8 342.5 337.4 334.4 333.1C338.4 330.4 341.3 331 344.4 331C338.7 326.3 329 323.9000000000001 320 321C321.7 318.3 323.4 317.6 327.1 316.9C317.6 311.6 303.9000000000001 314 300.1 311.3C301 308.6 303.7000000000001 306.9 306.8 305.5C291.4000000000001 304.6 249.5 306.1 241.4 337.8C257.1 355.1 285.8 375.3 335.1 400.4C296.7000000000001 387.6 262.1 370.4 233.1 346.9C198.8 362.8 222.3 402.8 238.9000000000001 418.7zM204.5 304.1C228.7 304.4 258.6 286.3 258.5 269.4C258.4 254.4 237.5 242.3 204.7 242.5C172.6 242.9 151 257.7 151.1 272.3C151.1 284.2 177.3 304.8 204.5 304.1zM81.5 316.9C85.2 317.6 86.9 318.4 88.6 321C79.6 323.8 69.9 326.3 64.2 331C67.3 331 70.2 330.3 74.2 333.1C66.1 337.4 57.5 340.8 50.8 347.3C55 347.4 59.5 347.3 60.8 348.9C53.4 353.4 47.2 358.4 42 363.9C47.8 363.2 50.3 363.8 51.7 364.8C46.1 370.4 39 375.2 35.7 382.1C40 380.6 44 380.1 46.9 382.2C45 386.4 36.9 388.9 32.2 398.8C36.8 398.4 41.6 397.8 42.6 398.8C40.5 407.3 36.8 412.1 33.3 417C43.1 417.1 57.9 417 57.2 417.8L51.2 423.9C60.7 426.4 70.5 423.5 77.6 421.3C80.8 423.8 77.5 426.9 73.7 430.1C81.8 429 89.1 427.2 95.8 424.7C99.3 427.8 93.5 431 90.7 434.1C103.2 431.8 108.5 428.5 113.8 425.2C117.6 428.8 114 431.9 111.4 435C120.8 431.6 125.7 427.1 130.8 422.7C132.5 425 135.2 426.7 132 432.3C138.7 428.5 143.8 424 147.5 419C151.6 421.6 150 425.2 150 428.4C157 422.8 161.4 416.9 166.8 411.1C167.9 411.9 168.8 414.5 169.7 418.7C186.3 402.8 209.8 362.8 175.7 346.9C146.7 370.4 112.1 387.6 73.7 400.4C123 375.4 151.7 355.1 167.4 337.8C159.4 306 117.4 304.6 102 305.5C105.1 306.9 107.8 308.7 108.7 311.3C104.7 314.1 91.1 311.7000000000001 81.5 316.9zM141.6 292.8C158.4 290 61 206.3 59.5 224.9C58 273.6 96 300.4 141.6 292.8zM38.2 106C14.5 124.8 6.9 179.7 50.8 204.3C77.3 211.3 59.8 96.5 38.2 106zM129.2 7.8C115.9 -0.1 83.4 3.1 60.4 35.7C44.9 63.1 46.9 90.9 57.8 99.1C74.1 108.9 99.3 95.7 118.7 73.4999999999999C135.6 53.4999999999999 143.3 18.1999999999999 129.2 7.8zM102.8 127.5C78.3 143.3 73.9 179.1 92.9 207.5S147.2 246.1 171.7 230.3S200.6 178.7 181.6 150.3C162.5 121.9 127.2 111.7 102.8 127.5zM205 -48C175.6 -49.2 146.8 -24.3 147.2 -15.7C146.8 -3 183 6.9 206.5 6.3C230.2 7.3 262.1 -1.2 262.2 -12.6C262.7 -23.6 233.4 -48.4999999999999 205 -47.9999999999999zM263.9 76.9C264.1 47.2 237.7 23.1 205.1 22.9C172.5 22.7 145.9 46.7 145.7 76.3V76.9C145.5 106.6 171.9 130.7 204.5 130.9C237.1 131.1 263.7 107.1 263.8999999999999 77.5V76.9zM346.1 34.2C320.8 -0.4 286.5 -1.7 273.8 7.9C260.5 20.3 270.6 58.8 288.9 79.9C309.8 103.2 332.2 118.4 347.8 106.5C358.3 96.2 364.5 57.4 346.1 34.2zM369 107.4C347.5 98 330 212.7 356.3999999999999 205.7C400.2999999999999 181 392.7 126.1 369 107.4z" glyph-name="raspberry-pi" horiz-adv-x="407" unicode=""/><glyph d="M407.4 386.5C331.6 425.9 257.8 417 182.9 382C171.6 376.8 167.4 371.4 163 363C152.7 343.8 146.8 325.6 143.1 310.3C121.9 284.7000000000001 106.7 254.2 99.8 220.4C89.2 202.4 78.9 179 76.7 149C76.7 149 76 141.4 76.2 141.1C40.9 145.7000000000001 0 168.1 0 168.1C9.1 153.6 61.3 135.8 76.3 130.2000000000001C76.3 130.2000000000001 78 32.2 140.8 -0.9999999999999C129.5 16.2 127.5 19.2 127.5 19.2S94.8 79 100.4 123.3C101.1 123.3 101.9 123.1 102.6 123.1C126.5 35.7 205.8 -28.3 299.5 -28.3C305.7 -28.3 311.6 -28.1 317.5 -27.6C331.5 -29.1 345.1 -28.1 357.6 -23.7C364.5 -21.5 371.4000000000001 -17.3 377.8 -12.9C448 26.2 478.7 69.1 500.9 134.8C506.3 150.8 509 170.3 510.7 187C519.4 269.3 480.1 348.6 407.4 386.5zM138.8 284.8S137.6 272.5 138.1 265.1C134.7 262.6 128 257 119.9 248.4000000000001C125.1 261.2000000000001 131.2 273.5 138.8 284.8000000000001zM107.6 162.9C112 180.1 120.9 202 137.4 218C137.4 218 139.1 170 153.2 127.9L111.8 134.8C109.6 144 108.3 153.3 107.6 162.9zM115.5 120.1C130.3 116.9 149.5 112.4999999999999 158.6 110.9999999999999C185.9 34.1999999999999 266.9000000000001 -13.3000000000001 266.9000000000001 -13.3000000000001C267.9000000000001 -13.8000000000001 268.6 -14.0000000000001 269.6 -14.3000000000001C196.5 -2.7 136.9 50.3999999999999 115.5 120.0999999999999zM386 3.9C371.5 -0.8 349.8 -4.5 321.3 0.2C321.3 0.2 230.2 23.3 193.8 108C232 107.3 246.2 108.2 271.8 111.9C311.2 117.6 350.8 128.1 386.8 144.9C398.6 150.3 397.9000000000001 164.3 396.4000000000001 174.7C394.4000000000001 187.5 385.3 186.8 375.0000000000001 179.4C375.0000000000001 179.4 293.0000000000001 120.8 185.2000000000001 125.7C166.5000000000001 157.7 158.4 236.5 158.4 236.5C199.8000000000001 271.7 241.6 296.1 326.8000000000001 288.9C327.0000000000001 295.3 329.8000000000001 316 306.4000000000001 317C306.4000000000001 317 212.9000000000001 328.1 160.4000000000001 283.5C162.9000000000001 300 166.3000000000001 312.8 171.5000000000001 322.9C205.7000000000001 353.7 250.5000000000001 372.4 299.8000000000001 372.4C406.2000000000001 372.4 492.8000000000001 285.3 492.8000000000001 177.9C492.6000000000001 101.9 449.0000000000001 35.9 386.0000000000001 3.9z" glyph-name="ravelry" horiz-adv-x="512" unicode=""/><glyph d="M418.2 270.8C412.8 272.6 407.4 274.3 402 275.9C402.9 279.6 403.7 283.3 404.5 287C416.8 346.6 408.7 394.5 381.4 410.3C355.1 425.4 312.2 409.7 268.8 371.9C264.5 368.2 260.3 364.3 256.3 360.4C253.6 363 250.8 365.6 248 368.1C202.5 408.5 156.9 425.5 129.5999999999999 409.6C103.3999999999999 394.4 95.5999999999999 349.3 106.5999999999999 292.9C107.6999999999999 287.3 108.8999999999999 281.8 110.2999999999999 276.2000000000001C103.8999999999999 274.4 97.5999999999999 272.4 91.6999999999999 270.3C38.3 251.8 0 222.6 0 192.4C0 161.2 40.8 129.9 96.3 110.9C100.8 109.4 105.3 107.9 109.9 106.6C108.4 100.6 107.1 94.7 105.9 88.6C95.4 33.1 103.6 -10.9 129.8 -26C156.8 -41.6 202.2 -25.6 246.4 13.1C249.9 16.2 253.4 19.4 256.9 22.8C261.3 18.5 265.9 14.4 270.5 10.4C313.3 -26.4 355.6 -41.3 381.7 -26.2C408.7 -10.6 417.5 36.7 406.1 94.3C405.2 98.7 404.2 103.2 403.1 107.8C406.3 108.7 409.4 109.7 412.5 110.7C470.1999999999999 129.8 511.9999999999999 160.7 511.9999999999999 192.4C511.9999999999999 222.7 472.6 252.1 418.2 270.8zM282.9 355.7C320.1 388.1 354.8 400.8 370.6 391.7C387.5 382 394 342.8 383.4 291.3C382.7 287.9 382 284.6 381.1 281.3C358.9 286.3 336.4 289.9 313.8 291.9C300.8 310.5 286.6 328.3 271.2 345C275.0999999999999 348.7 278.8999999999999 352.2 282.8999999999999 355.7zM152.9 166.6C157.5 157.8 162.2 149.1 167.2 140.5C172.3 131.8 177.5 123.1 183 114.6C167.4 116.3 151.9 118.8 136.6 122.1C141 136.5 146.5 151.4 152.9 166.6zM152.9 217.2C146.6 232.1 141.3 246.7 136.9 260.8C151.3 264 166.6 266.6 182.5 268.6C177.2 260.3 172 251.8 167.1 243.2C162.2 234.7 157.4 226.0000000000001 152.9 217.2zM164.3 191.9C170.9 205.7000000000001 178.1 219.2000000000001 185.7 232.5000000000001C193.3 245.8000000000001 201.5 258.7000000000001 210.1 271.4000000000001C225.1 272.5 240.4 273.1 256 273.1C271.6 273.1 287 272.5 301.9 271.4000000000001C310.4 258.8000000000001 318.5 245.9000000000001 326.2 232.7000000000001C333.9 219.5000000000001 341.1 206.0000000000001 347.9 192.3000000000001C341.2 178.5000000000001 334 164.9 326.3 151.5000000000001C318.7 138.2000000000001 310.6 125.3000000000001 302.1 112.5000000000001C287.2 111.4 271.7 110.9 256 110.9C240.3 110.9 225.1 111.4 210.4 112.3C201.7 125 193.5 138 185.8 151.3C178.1 164.6 171 178.1 164.3 191.9zM344.9 140.7000000000001C350 149.5000000000001 354.8 158.4 359.5 167.4C365.9 152.9 371.5 138.2000000000001 376.4 123.1C360.9 119.6 345.2 116.9 329.4 115.1C334.8 123.5 339.9 132.1 344.9 140.7000000000001zM359.3 217.2000000000001C354.6 226.0000000000001 349.8 234.8000000000001 344.8 243.4000000000001C339.9 251.9000000000001 334.8 260.3000000000001 329.5 268.6C345.6 266.6 361 263.9000000000001 375.3999999999999 260.6C370.7999999999999 245.8 365.3999999999999 231.4000000000001 359.2999999999999 217.2zM256.2 329.7C266.7 318.3 276.6 306.3 285.8 293.9C266 294.8 246.1 294.8 226.3 293.9C236.1 306.8 246.2 318.8 256.2 329.7zM140.2 391C157 400.8 194.3 386.8 233.6 352C236.1 349.8 238.6 347.4 241.2 345C225.7 328.3 211.4 310.5 198.3 291.9C175.7 289.9 153.3 286.4 131.1 281.5C129.8 286.6 128.7 291.8 127.6 297C118.2 345.4 124.4 381.9 140.2 391zM115.7 127.4C111.5 128.6 107.4 129.9 103.3 131.3C82 138 57.8 148.6 40.3 162.5C30.2 169.5 23.4 180.3 21.5 192.4C21.5 210.7 53.1 234.1 98.7 250C104.4 252 110.2 253.8 116 255.5C122.8 233.8 131 212.5 140.5 191.8999999999999C130.9 171 122.6 149.3999999999999 115.7 127.3999999999999zM232.3 29.4C215.8 14.3 196.7 2.3 175.9 -5.9C164.8 -11.2 152 -11.7 140.6 -7.2C124.7 1.9999999999999 118.1 37.3 127.1 84.8C128.2 90.4 129.4 95.9999999999999 130.8 101.4999999999999C153.2 96.6999999999999 175.8 93.3999999999999 198.7 91.6999999999999C211.9 72.9999999999999 226.4 55.0999999999999 241.9 38.3C238.7 35.1999999999999 235.5 32.1999999999999 232.3 29.4zM256.8 53.7C246.6 64.7 236.4 76.9 226.5 90C236.1 89.6 246 89.4 256 89.4C266.3 89.4 276.3999999999999 89.6 286.3999999999999 90.1C277.2 77.4 267.2999999999999 65.3 256.7999999999999 53.7zM387.5 23.7C386.6 11.5 380.6 0.1 371 -7.6C355.1 -16.8 321.2 -4.8 284.5999999999999 26.6C280.3999999999999 30.2 276.2 34.1 271.8999999999999 38.1C287.2 54.9999999999999 301.2999999999999 72.9 314.0999999999999 91.7C336.9999999999999 93.6 359.7999999999999 97.1 382.2999999999999 102.2C383.2999999999999 98.1 384.1999999999999 94 384.9999999999999 90C389.8999999999999 68.4 390.6999999999999 45.9 387.4999999999999 23.7zM405.7 131.2C402.8999999999999 130.3 400.0999999999999 129.4 397.2 128.6C390.2 150.4 381.5999999999999 171.7 371.7 192.4C381.3 212.8 389.3999999999999 233.8 396.2 255.3C401.3999999999999 253.8 406.3999999999999 252.2 411.2 250.6C457.8 234.6 490.4999999999999 210.8 490.4999999999999 192.6C490.4999999999999 173 455.6 147.7 405.7 131.2zM256 237.8C281.3 237.8 301.8 217.3 301.8 192C301.8 166.7 281.3 146.2 256 146.2C230.7 146.2 210.2 166.7 210.2 192C210.2 217.3 230.7 237.8 256 237.8" glyph-name="react" horiz-adv-x="512" unicode=""/><glyph d="M552.5 173.9C532.7 138.8 472.4 118.7 446.8 111.4C443.2 123.3 439.1 135.5 434.4000000000001 147.8C429.5000000000001 147.8 425.7000000000001 150.4 423.7000000000001 153.5L423.6 153.3999999999999C422 151.8999999999999 420.2000000000001 150.6999999999999 418.2000000000001 149.7999999999999C423.9000000000001 135.4999999999999 428.8000000000001 121.3999999999999 432.9000000000001 107.5999999999999C432.2000000000001 107.3999999999999 401.1 99.0999999999999 360.9000000000001 94.5999999999999C364.4000000000001 99.8999999999999 378.1 120.7999999999999 393.1 148.7999999999999C390.9000000000001 149.5999999999999 388.9000000000001 150.6999999999999 387.1 151.9999999999999C386 150.7999999999999 383.5 147.7999999999999 376.2000000000001 147.7999999999999C370.0000000000001 136.5999999999999 358.8000000000001 116.8999999999999 342.3000000000001 92.5999999999999C297.2000000000001 88.6999999999999 258.0000000000001 89.4999999999999 229.9000000000001 91.5999999999999C222.0000000000001 102.7999999999999 208.4000000000001 122.6999999999999 193.1000000000001 149.3999999999999C192.1000000000001 149.7999999999999 191.1000000000001 150.2999999999999 190.1000000000001 150.8999999999999C188.2000000000001 149.2999999999999 186.2000000000001 147.6999999999999 177.5000000000001 147.6999999999999C183.8000000000001 136.5 195.0000000000001 117 211.3000000000001 93.0999999999999C171.1000000000001 96.9999999999999 142.7000000000001 103.9999999999999 139.1000000000001 104.7999999999999C143.0000000000001 118.7999999999999 147.7000000000001 133.0999999999999 153.2000000000001 147.6999999999999C150.0000000000001 147.6999999999999 147.8000000000001 147.4999999999999 144.8000000000001 148.6999999999999C141.6000000000001 147.4999999999999 138.9000000000001 147.6999999999999 137.9000000000001 147.6999999999999C133.0000000000001 134.2999999999999 128.8000000000001 121.1999999999999 125.2000000000001 108.2999999999999C-34.6999999999999 150.8999999999999 -15.1 231.8999999999999 123.7000000000001 272.2999999999999C127.3000000000001 260.3999999999999 131.4000000000001 248.1999999999999 136.1000000000001 235.8999999999999C146.5000000000001 235.8999999999999 149.0000000000001 232.4999999999999 150.5000000000001 230.5999999999999C151.2000000000001 231.3999999999999 151.9000000000001 232.1999999999999 152.8000000000001 232.7999999999999C147.0000000000001 247.4999999999999 141.9000000000001 261.9999999999999 137.6000000000001 276.0999999999999C144.6000000000001 277.8999999999999 170.0000000000001 284.4999999999999 209.6000000000001 289.0999999999999C193.7000000000001 264.7999999999999 182.9000000000001 245.1999999999999 176.8000000000001 233.7999999999999C179.8000000000001 231.9999999999999 182.1000000000001 229.2999999999999 183.2000000000001 225.7999999999999C186.9000000000001 231.3999999999999 192.1000000000001 233.5999999999999 193.4000000000001 234.1999999999999C199.9000000000001 245.8999999999999 211.3000000000001 266.0999999999999 228.2000000000001 291.0999999999999C256.1 293.6999999999998 295.7000000000001 295.1999999999998 340.6 292.0999999999999C372.1 247.4999999999999 369.5 243.9999999999999 383.1 227.5999999999999C384.3 229.1999999999999 387.4000000000001 232.8999999999999 393.5 234.9999999999999C387.1 246.3999999999999 375.9 265.9999999999999 359.2 290.4999999999999C399.6 286.3999999999999 424.2 280.4999999999999 431.4 278.7999999999999C427.4 264.3999999999999 422.5 249.5999999999999 416.8 234.5999999999999C419.4 233.5999999999999 421.7 232.0999999999999 423.6 230.2999999999999L423.7 230.1999999999999C426.4 234.3999999999999 430.6 235.4999999999999 432.6 235.7999999999999C437.5 249.1999999999999 441.8 262.3999999999999 445.4 275.2999999999999C450.7 273.8999999999999 464.6 270.0999999999999 479.9 264.2999999999999C586 224.3999999999998 553.9 176.3999999999999 552.5 173.8999999999999M437.7 -27.2C434.8 -32.3 425.9 -47.5 402.8 -47.5C366.1 -47.5 304.1 -8.1 239.5 78.7C286.6 76 323.6 78.8 333.4 79.6C319.8 60.4999999999999 305.6 42.9 291.2 27.2C294.6 23.7 298 20.3 301.4 17C318.8 36 335.9 57.6 352.1 81.2C399.4 85.9 432.4 94.7 436.5 95.8C459.2 11.4 441 -21.2 437.7 -27.2M132.9 411.1C135.8 416.2 144.8 431.4 167.8 431.4C204.6 431.4 266.6 391.8 331.1 305.2C312.3 306.2 279.9000000000001 307.5 237.2 304.3C250.8 323.4 265 341 279.4000000000001 356.7C276.0000000000001 360.2 272.6 363.6 269.2000000000001 366.9C251.8000000000001 347.9 234.7000000000001 326.2 218.5000000000001 302.7C175.7000000000001 298.4 146.5000000000001 291.2 134.1000000000001 288.1C133.9000000000001 289.5 109.8000000000001 370.3 132.9000000000001 411.1M484.1 276C466.4 282.7 450.4 286.8 448.5 287.3C468.1 365.3 460.1 422 426.2 441.2000000000001C391.7 460.6 340.3 436.9 288 386C291.4 382.7 294.8 379.3 298.2 375.8C380.7 455.8 417.8 429.3 419.1 428.6C441.5 415.9 455.1 372.8 434.6 290.8C401.3 298.6 371.3 302 350 303.8C278.1 404.3 209.4 445.9 167.8 445.9C137 445.9 124 424.9 120.2 418.2C102.1 386.2 106.9 334 120.3 284.4C49.8 264.1 -0.4 230.3 0 189.4C0.5 129.8 103.2 101.6 122.1 96.6C101.6 14.6999999999999 112 -39 144.4 -57.3000000000001C172.4 -73.1 219.5 -63.3000000000001 282.6 -2.1000000000001C279.2000000000001 1.1999999999999 275.8 4.5999999999999 272.4000000000001 8.0999999999999C189.9 -71.9000000000001 152.7000000000001 -45.4000000000001 151.5 -44.7000000000001C129.2 -32.1000000000001 115.5 10.8999999999999 136 93.1999999999999C148.4 90.3 177.8 83.6999999999999 220.6 80.1999999999999C292.5 -20.2 361.2000000000001 -61.8000000000001 402.7000000000001 -61.8000000000001C433.5000000000001 -61.8000000000001 446.5000000000001 -40.8000000000001 450.3000000000001 -34.1000000000001L449.4000000000001 -33.6000000000001L450.3000000000001 -34.1000000000001C468.3000000000001 -2.2000000000001 463.6000000000001 49.9999999999999 450.2000000000001 99.6999999999999C602.5 143.5 606.4000000000001 229.8999999999999 484.1 276M93.5 200.8C93.5 196 91 194.7 87.4 194.7H81.6V215.6H87.4C91 215.6 93.5 214.3 93.5 209.5V200.8000000000001zM81.6 185.2H87.2L94.6 161.7C95.3 159.5 96.7 158.5 98.9 158.5H102.2C105 158.5 106.2 160.3 105.4 162.9L97.3 186.8C101.9 188.8 104.6 192.8 104.6 199.2V211.1C104.6 221.2 97.9 225.2 87.8 225.2H74.4C71.9 225.2 70.6 223.9 70.6 221.4V162.3C70.6 159.8 71.9 158.5 74.4 158.5H77.8C80.3 158.5 81.6 159.8 81.6 162.3V185.1999999999999zM113.6 221.5V162.4C113.6 159.9 114.9 158.6 117.4 158.6H139.3C141.8 158.6 143.1 159.9 143.1 162.4V164.5C143.1 167 141.8 168.3 139.3 168.3H124.6V187.6H136C138.5 187.6 139.8 188.9 139.8 191.4V193.5C139.8 196 138.5 197.3000000000001 136 197.3000000000001H124.6V215.6000000000001H139C141.5 215.6000000000001 142.8 216.9000000000001 142.8 219.4000000000001V221.5000000000001C142.8 224.0000000000001 141.5 225.3000000000001 139 225.3000000000001H117.3C114.9 225.4000000000001 113.6 224.0000000000001 113.6 221.5000000000001M160.7 182.6000000000001L165.4 212.3000000000001L170.1 182.6000000000001H160.7zM157.9 221.9000000000001L146.9 162.7000000000001C146.4 160.0000000000001 147.8 158.6000000000001 150.3 158.6000000000001H153.3C155.6 158.6000000000001 157 159.7000000000001 157.4 162.1000000000001L159.2 173.4000000000001H171.4L173.2 162.1000000000001C173.6 159.7000000000001 175 158.6000000000001 177.3 158.6000000000001H180.8C183.4 158.6000000000001 184.7 160.0000000000001 184.2 162.7000000000001L173 221.9C172.6 224.2 171.1 225.3 168.8 225.3H161.9C159.8 225.4 158.3 224.2 157.9 221.9M223.8 212C223.8 221.9 217.1 226.1 207 226.1H206.8C196.7 226.1 190 221.9 190 212V171.9C190 161.5 196.7 157.8 206.8 157.8H207C217.1 157.8 223.8 161.6 223.8 171.9C223.8 181.8 224.9 185.7 220 185.7H216.6C211.8 185.7 212.8 181.7 212.8 173.6C212.8 168.9 210.5 167.5 207 167.5S201.2 168.8999999999999 201.2 173.6V210.2C201.2 214.9 203.5 216.3 207 216.3S212.8 214.9 212.8 210.2C212.8 203 212.1 199.7 216.6 199.7H220C224.7 199.8 223.8 203.6 223.8 212zM250.2 215.6H257.5C260 215.6 261.3 216.9 261.3 219.4V221.5C261.3 224 260 225.3 257.5 225.3H231.7C229.2 225.3 227.9 224 227.9 221.5V219.4C227.9 216.9 229.2 215.6 231.7 215.6H239V162.4C239 159.9 240.3 158.6 242.8 158.6H246.2C248.7 158.6 250.0000000000001 159.9 250.0000000000001 162.4V215.6zM292.7000000000001 163.3H273.3000000000001V190H289.4000000000001C290.6000000000001 190 291.4000000000001 190.8 291.4000000000001 192V192.8C291.4000000000001 194 290.6000000000001 194.8 289.4000000000001 194.8H273.3000000000001V220.6H292.4000000000001C293.6000000000001 220.6 294.4000000000001 221.4 294.4000000000001 222.6V223.4C294.4000000000001 224.7000000000001 293.6000000000001 225.3000000000001 292.4000000000001 225.3000000000001H270.2000000000001C269.0000000000001 225.3000000000001 268.2000000000001 224.6000000000001 268.2000000000001 223.4V160.4C268.2000000000001 159.2000000000001 269.0000000000001 158.5000000000001 270.2000000000001 158.5000000000001H292.7000000000001C294.0000000000001 158.5000000000001 294.7000000000001 159.2000000000001 294.7000000000001 160.4V161.2000000000001C294.7000000000001 162.6 294.0000000000001 163.3000000000001 292.7000000000001 163.3000000000001M332.4000000000001 225.4000000000001H331.2000000000001C330.0000000000001 225.4000000000001 329.3000000000002 224.7000000000001 329.3000000000002 223.5000000000001V173.7000000000001C329.3000000000002 165.8000000000001 326.7000000000001 162.6 319.2000000000001 162.6S309.1000000000001 165.7000000000001 309.1000000000001 173.7000000000001V223.5000000000001C309.1000000000001 224.8000000000001 308.4000000000001 225.4000000000001 307.2000000000001 225.4000000000001H306C304.8 225.4000000000001 304 224.7000000000001 304 223.5000000000001V172C304 162.4 309 157.9 319.1 157.9H319.5C329.6 157.9 334.6 162.5 334.6 172V223.5C334.4000000000001 224.7 333.7000000000001 225.4 332.4000000000001 225.4M362.2000000000001 192.1H352V220.6H362.2C369.7 220.6 372.7 217.5 372.7 209.5V203.1C372.7 195.3 369.7 192.1 362.2 192.1M376.2 158.6H377.7C379.1 158.6 379.7 159.6 379.2 160.9L368.6 188.2000000000001C374.7 189.8000000000001 377.8 194.3000000000001 377.8 201.5000000000001V211.2000000000001C377.8 220.6000000000001 372.6 225.3000000000001 362.5 225.3000000000001H348.8C347.6 225.3000000000001 346.8 224.6000000000001 346.8 223.4V160.4C346.8 159.2000000000001 347.6 158.5000000000001 348.8 158.5000000000001H350C351.2 158.5000000000001 351.8999999999999 159.2000000000001 351.8999999999999 160.4V187.3H363.5L373.8999999999999 160.1C374.3999999999999 159 375.2 158.6 376.2 158.6M404.5999999999999 162.6C397.0999999999999 162.6 394.0999999999999 165.7000000000001 394.0999999999999 173.7000000000001V210.3000000000001C394.0999999999999 218.2000000000001 397.0999999999999 221.4 404.5999999999999 221.4S415.0999999999999 218.2000000000001 415.0999999999999 210.3000000000001V173.7000000000001C414.9999999999999 165.7000000000001 412.0999999999999 162.6 404.5999999999999 162.6M420.2 212C420.2 221.4 415 226.1 404.8999999999999 226.1H404.0999999999999C393.9999999999999 226.1 388.7999999999999 221.4 388.7999999999999 212V171.9C388.7999999999999 162.6 393.9999999999999 157.8 404.0999999999999 157.8H404.8999999999999C415 157.8 420.2 162.6 420.2 171.9V212zM458.3 209.5V202.4C458.3 194.5 455.3 191.3 447.8 191.3H437.6V220.5H447.8C455.3 220.6 458.3 217.4 458.3 209.5M432.4 223.4V160.4C432.4 159.2 433.2 158.5 434.4 158.5H435.6C436.8 158.5 437.5 159.2 437.5 160.4V186.5H448.1C458.2 186.5 463.4 191.3 463.4 200.6V211.1C463.4 220.5 458.2 225.2 448.1 225.2H434.4C433.2 225.4 432.4 224.7 432.4 223.4M473.5 223.4V160.4C473.5 159.2 474.3 158.5 475.5 158.5H498C499.2 158.5 500 159.2 500 160.4V161.2C500 162.5 499.2 163.2 498 163.2H478.6V189.9H494.7C495.9 189.9 496.7 190.7 496.7 191.9V192.7C496.7 193.9 495.9 194.7 494.7 194.7H478.6V220.5H497.7C498.9 220.5 499.7 221.3 499.7 222.5V223.3C499.7 224.6 498.9 225.2 497.7 225.2H475.5000000000001C474.3000000000001 225.4 473.5000000000001 224.7 473.5000000000001 223.4M279.5000000000001 244.7L285.3000000000001 248.8L291.1000000000001 244.7L289.0000000000001 251.5000000000001L294.7000000000001 255.8000000000001L287.6 255.9000000000001L285.3 262.7000000000001L283 255.9000000000001L275.9 255.8000000000001L281.6 251.5000000000001L279.5 244.7zM287.6000000000001 132.5L285.3000000000001 139.3L283.0000000000001 132.5L275.9000000000001 132.4L281.6 128.1L279.5 121.3L285.3 125.4L291.1 121.3L289 128.1L294.7 132.4L287.6 132.5zM247.6000000000001 236.2L253.4000000000001 240.3L259.2000000000001 236.2L257.1000000000001 243L262.8000000000001 247.3L255.7000000000001 247.4L253.4000000000001 254.2L251.1000000000001 247.4L243.9000000000001 247.3L249.6000000000001 243L247.6000000000001 236.2zM311.3000000000001 236.2L317.1000000000001 240.3L322.9000000000001 236.2L320.8000000000001 243L326.5000000000001 247.3L319.3000000000001 247.4L317.0000000000001 254.2L314.7000000000001 247.4L307.5000000000001 247.3L313.2000000000001 243L311.3000000000001 236.2zM318.7000000000001 139.9L316.4000000000001 146.7L314.1 139.9L307 139.8L312.7 135.5L310.6 128.6999999999999L316.4 132.8L322.2 128.6999999999999L320.1 135.5L325.8 139.8L318.7 139.9zM256.5000000000001 139.9L254.2000000000001 146.7L251.9000000000001 139.9L244.8000000000001 139.8L250.5000000000001 135.5L248.4000000000001 128.6999999999999L254.2000000000001 132.8L260.0000000000001 128.6999999999999L257.9000000000001 135.5L263.6 139.8L256.5 139.9z" glyph-name="reacteurope" horiz-adv-x="570.6" unicode=""/><glyph d="M528.3 401.5H388.5C340.4 401.5 298.6 368.2 288.1 321.2C277.5 368.2 235.8 401.5 187.7 401.5H48C21.5 401.5 0 380 0 353.5V107.7C0 81.2 21.5 59.7 48 59.7H137.7C239.9 59.7 270.4 35.3 285 -15.3C285.7 -18.1 290.2 -18.1 291 -15.3C305.7 35.3 336.2 59.7 438.3 59.7H528C554.5 59.7 576 81.2 576 107.7V353.4C576 379.8 554.7 401.3 528.3 401.5zM242 136.1C242 134.2000000000001 240.5 132.6 238.5 132.6H78.2C76.3 132.6 74.7 134.1 74.7 136.1V159C74.7 160.9 76.2 162.5 78.2 162.5H238.6C240.5000000000001 162.5 242.1 161 242.1 159V136.1zM242 197C242 195.1 240.5 193.5 238.5 193.5H78.2C76.3 193.5 74.7 195 74.7 197V219.9C74.7 221.8000000000001 76.2 223.4 78.2 223.4H238.6C240.5000000000001 223.4 242.1 221.9 242.1 219.9V197zM242 257.9000000000001C242 256 240.5 254.4000000000001 238.5 254.4000000000001H78.2C76.3 254.4000000000001 74.7 255.9000000000001 74.7 257.9000000000001V280.8000000000001C74.7 282.7000000000001 76.2 284.3000000000001 78.2 284.3000000000001H238.6C240.5000000000001 284.3000000000001 242.1 282.8000000000001 242.1 280.8000000000001V257.9000000000001zM501.3 136.2000000000001C501.3 134.3000000000001 499.8 132.7000000000001 497.8 132.7000000000001H337.5C335.6 132.7000000000001 334 134.2000000000001 334 136.2000000000001V159.1C334 161 335.5 162.6 337.5 162.6H497.9C499.8 162.6 501.4 161.1 501.4 159.1V136.2000000000001zM501.3 197.1000000000001C501.3 195.2000000000001 499.8 193.6000000000001 497.8 193.6000000000001H337.5C335.6 193.6000000000001 334 195.1000000000001 334 197.1000000000001V220C334 221.9 335.5 223.5 337.5 223.5H497.9C499.8 223.5 501.4 222 501.4 220V197.1zM501.3 258.0000000000001C501.3 256.1 499.8 254.5000000000001 497.8 254.5000000000001H337.5C335.6 254.5000000000001 334 256.0000000000001 334 258.0000000000001V280.8000000000001C334 282.7000000000001 335.5 284.3000000000001 337.5 284.3000000000001H497.9C499.8 284.3000000000001 501.4 282.8000000000001 501.4 280.8000000000001V258z" glyph-name="readme" horiz-adv-x="576" unicode=""/><glyph d="M256.5 -56C117.2 -56 9 60.2 13.2 198.1C16 277.3 56.4 350.3 129.7 398.5C130 398.5 131.6 399.1 130.8 397.7C125 392.2 19.5 267.9 116.7 171.3C166.5 121.8 206.7 168.8 206.7 168.8C245.2 218.9 206.1 294.7000000000001 206.1 294.7000000000001C196.1 319.6 160.4 334.8 160.4 334.8L189.2 366.6C213.6 356.1 232.4 327.9 232.4 327.9C233.2 357.5 210.5 389.3 210.5 389.3L255.1 440L299.4 389.9C278.9 361.1 277.5 327.3 277.5 327.3C291.3 350.3 321 366.6 321 366.6L349.5 334.8C322.1 325.9 304.1 294.9 304.1 294.9C288.3 266.4 277 205.5 304.7000000000001 167.6C337.1 123 392.4000000000001 170.4 392.4000000000001 170.4C495.1 262.3000000000001 381.9000000000001 395.4000000000001 381.9000000000001 395.4000000000001C375.8 400.9000000000001 382.7000000000001 398.2000000000001 382.7000000000001 398.2000000000001C432.8000000000001 361.7000000000001 497.3000000000001 313.8 498.9 193.4C500.9 47.8 399 -56 256.5 -56z" glyph-name="rebel" horiz-adv-x="512" unicode=""/><glyph d="M353.2 416H94.8C42.4 416 0 373.6 0 321.2V62.8C0 10.4 42.4 -32 94.8 -32H353.2C405.6 -32 448 10.4 448 62.8V321.2C448 373.6 405.6 416 353.2 416zM144.9 247.1V190.8C144.9 163.8 123 141.9 96 141.9V296.1C96 309.3 106.7 320 119.9 320H274.1C274.1 293 252.2 271.1 225.2 271.1H168.9C156.6 271.7 144.3000000000001 259.5 144.9 247.1zM321.2000000000001 175.1H264.9000000000001C252.6 175.7000000000001 240.3000000000001 163.5 240.9000000000001 151.1V94.8C240.9000000000001 67.8 219 45.9 192 45.9V200.1C192 213.3 202.7 224 215.9 224H370.1C370.1 197 348.2000000000001 175.1 321.2000000000001 175.1z" glyph-name="red-river" horiz-adv-x="448" unicode=""/><glyph d="M440.3 244.5C425.3 244.5 412.1 238.3 402.4000000000001 228.6C366.7000000000001 253.3 318.6 269.2 265.3000000000001 270.9L293 395.7L381.2 375.9C381.2 354.3 398.8 336.7 420.4 336.7C442.4 336.7 460.1 354.8 460.1 376.4S442.5 416.1 420.4 416.1C405 416.1 391.7 406.8 385.1 394.1L287.7 415.7C282.8 417 278 413.5 276.7 408.6L246.3 271C193.4 268.8 145.8 252.9 110 228.2C100.3 238.3 86.6 244.5 71.6 244.5C16 244.5 -2.2 169.9 48.7 144.4C46.9 136.5 46.1 128.1 46.1 119.7C46.1 35.9 140.5 -32 256.4 -32C372.8 -32 467.2 35.9 467.2 119.7C467.2 128.1 466.3 136.9 464.1 144.8C514 170.4 495.6 244.5 440.3 244.5zM129.4 139.1C129.4 161.1 147 178.8 169.1 178.8C190.7 178.8 208.3 161.2 208.3 139.1C208.3 117.5 190.7 99.9 169.1 99.9C147.1 99.8 129.4 117.5000000000001 129.4 139.1zM343.7000000000001 45.6C307.3000000000001 9.2 204.6000000000001 9.2 168.2000000000001 45.6C164.2000000000001 49.1 164.2000000000001 55.3 168.2000000000001 59.3C171.7000000000001 62.8 177.9 62.8 181.4 59.3C209.2000000000001 30.8 301.4000000000001 30.3 330.4000000000001 59.3C333.9000000000001 62.8 340.1 62.8 343.6 59.3C347.7000000000001 55.3 347.7000000000001 49.1 343.7000000000001 45.6zM342.9000000000001 99.8C321.3 99.8 303.7000000000001 117.4 303.7000000000001 139C303.7000000000001 161 321.3000000000001 178.7 342.9000000000001 178.7C364.9000000000001 178.7 382.6 161.1 382.6 139C382.5 117.5 364.9000000000001 99.8 342.9000000000001 99.8z" glyph-name="reddit-alien" horiz-adv-x="512" unicode=""/><glyph d="M283.2 102.5C285.9 99.8 285.9 95.7 283.2 93.3C258.7 68.8 189.4 68.7 164.8 93.3C162.1 95.7 162.1 99.8 164.8 102.5C167.2 104.9 171.3 104.9 173.7 102.5C192.4 83.3 254.7 82.9 274.2 102.5C276.6 104.8 280.8 104.8 283.2 102.5zM191.9 156.3C191.9 171.2 180 183.1 165.4 183.1C150.5 183.1 138.6 171.2000000000001 138.6 156.3C138.6 141.7 150.5 129.8 165.4 129.8C180 129.8 191.9 141.7 191.9 156.3zM282.6 183.1C268 183.1 256.1 171.2000000000001 256.1 156.3C256.1 141.7 268 129.8 282.6 129.8C297.5 129.8 309.4 141.7 309.4 156.3C309.4 171.2 297.5 183.1 282.6 183.1zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM348.3 227.4C338.2 227.4 329.3 223.2 322.7 216.7C298.6 233.4 266.2 244.1 230.2 245.3L248.9 329.5L308.4 316.1C308.4 301.5 320.3 289.6 334.9 289.6C349.8 289.6 361.7 301.8 361.7 316.4000000000001C361.7 331 349.8 343.2000000000001 334.9 343.2000000000001C324.5 343.2000000000001 315.6 337 311.1 328.3L245.4 342.9000000000001C242.1 343.8 238.9 341.4000000000001 238 338.1L217.5 245.3C181.8 243.8 149.7 233.1 125.6 216.4C119.1 223.2 109.8 227.4 99.7 227.4C62.2 227.4 49.9 177 84.2 159.9C83 154.5 82.4 148.9 82.4 143.2C82.4 86.7 146.1 40.9 224.3 40.9C302.8 40.9 366.5 86.7 366.5 143.2C366.5 148.9 365.8999999999999 154.8 364.3999999999999 160.2C398 177.4 385.5999999999999 227.4 348.2999999999999 227.4z" glyph-name="reddit-square" horiz-adv-x="448" unicode=""/><glyph d="M201.5 142.5C187.7 142.5 176.6 153.6 176.6 167.1C176.6 180.9 187.7 192 201.5 192C215.1 192 226.1 180.9 226.1 167.1C226.1 153.5 215 142.5 201.5 142.5zM504 192C504 55 393 -56 256 -56S8 55 8 192S119 440 256 440S504 329 504 192zM371.7 233.2C362.3 233.2 354 229.3 347.9 223.2C325.5 238.7 295.3 248.7 261.8 249.8L279.2 328.1L334.5999999999999 315.6C334.5999999999999 302 345.7 291 359.2 291C373 291 384.0999999999999 302.3 384.0999999999999 315.9S372.9999999999999 340.8 359.2 340.8C349.5 340.8 341.2 335 337.0999999999999 327L275.8999999999999 340.6C272.8999999999999 341.4 269.7999999999999 339.2 269 336.2L249.9 249.8C216.6999999999999 248.4 186.8 238.5 164.4 223C158.3 229.4 149.7 233.2 140.3 233.2C105.4 233.2 94 186.3 125.9 170.3999999999999C124.8 165.3999999999999 124.2 160.1999999999999 124.2 154.8999999999999C124.2 102.2999999999999 183.4 59.6999999999999 256.2 59.6999999999999C329.3 59.6999999999999 388.5 102.3 388.5 154.8999999999999C388.5 160.1999999999999 387.8999999999999 165.6999999999999 386.6 170.6999999999999C417.9 186.6999999999999 406.4 233.2 371.7 233.2zM302.8 117C284.6 98.8 226.7 99.1 209.2 117C207 119.2 203.1 119.2 200.9 117C198.4 114.5 198.4 110.6 200.9 108.4C223.7 85.6 288.2 85.6 311.1 108.4C313.6 110.6 313.6 114.5 311.1 117C308.9000000000001 119.2 305 119.2 302.8 117zM310.5 192C296.9 192 285.9 180.9 285.9 167.1C285.9 153.5 297 142.5 310.5 142.5C324.3 142.5 335.4 153.6 335.4 167.1C335.4 180.9 324.4 192 310.5 192z" glyph-name="reddit" horiz-adv-x="512" unicode=""/><glyph d="M312.4 46.8C313.7 45.5 316 41.2 313.2 35.7C311.6 32.8 310 30.8 307 28.4C303.4 25.5 296.4 22.2 286.7 28.3C281.5 31.6 281.2 32.6999999999999 274 31.6999999999999C268.9 30.9999999999999 266.9 36.1999999999999 268.7 40.4999999999999C270.6 44.8 278.1 48.1999999999999 287.5 42.6999999999999C291.7 40.1999999999999 298.3 34.9999999999999 304.1 39.5999999999999C306.5 41.4999999999999 307.9000000000001 42.7999999999999 311.3 46.5999999999999C311.6 47.0999999999999 312.1 47.0999999999999 312.4000000000001 46.7999999999999M256 418.3C114.6 418.3 0 303.7 0 162.4C0 133.8 4.7 106.3 13.3 80.6H31.1C46.9 80.6 61.5 84.4 73.9 90.8C77 92.4 80.5 93.4 84.3 93.4C103.4 93.4 102.6 78.1 114.6 70.5C115.3 70.1 122.1 66.2 130.4 66.6C133.8 66.8 138.9 67.6 140.2 71.1C141.6 75.1 139.9 78.1 134.9 80.2000000000001C125.2 84.3000000000001 125.4 91.2000000000001 119.1 98.4C115.2 102.7000000000001 110.5 106.9 109.6 116.2000000000001C108.7 125.3000000000001 113.8 136.1 124.3 138.9C128.3 140.0000000000001 137.1 140.7000000000001 145.8 133.9C154.1 127.5000000000001 159.7 117.0000000000001 162.1 112.7000000000001C163.8 109.7000000000001 169.9 106.2000000000001 174.8 110.6C179.7 115.1 184.2 115.1 187.9 109.4C191 104.5000000000001 214.1 73.8 239 73.0000000000001C264.3 72.2000000000001 277.8 78.7000000000001 288.9 78.3000000000001C296.6 78.0000000000001 300.4 74.1000000000001 304.8 73.4000000000001C312.6 72.2000000000001 318.1 79.2000000000001 326.7 78.8000000000001C333.5999999999999 78.5000000000001 341.2 73.8000000000001 349 73.8000000000001C356.8 73.8000000000001 373.1 83.2000000000001 372.8999999999999 79.3000000000001C372.5 72.5000000000001 367.2 60.4000000000001 366 54.8000000000001C365.1 50.9000000000001 365.8999999999999 41.6000000000001 363.6 34.0000000000001C361.5 26.4 354.4 16.6000000000001 352.5 13.9C346.2 4.5000000000001 341.7 1.7 336.5 -8.2C330.8 -19.2 321.3999999999999 -29.4 318.8999999999999 -32.7C318.5 -33.2 318.5 -33.6 318.7999999999999 -33.9C320.7999999999999 -35.8 337.5999999999999 -31.7 344.0999999999999 -25.6C350.3999999999999 -19.7 361.3999999999999 -1.6 378.7999999999999 2.2C387.5999999999999 4.2 391.0999999999999 7.2 391.7999999999999 10.3000000000001C392.2999999999999 13.0000000000001 391.1999999999999 13.2 391.1999999999999 15.1000000000001C391.1999999999999 16.7000000000001 392.0999999999999 18.1000000000001 393.4999999999999 18.8000000000001C407.8999999999999 24.8000000000001 436.7999999999999 31.2 471.1999999999999 23.3000000000001C497.1999999999999 63.4000000000001 512.2999999999998 111.1000000000001 512.2999999999998 162.4000000000001C512 303.7 397.4 418.3 256 418.3zM464.2 167.5C451.9 100.1 341.7 77.5 234.5 109.9C132.3 140.8 42.6 202.4 52.9 238.5C58.9 259.5 92.3 268.5 136.7 263.7C130 250 130.5 233.8 159.9 215.9C195.9 195.5 256.6 178.1 273 179.8C279.1 180.4 284.6 183.5 279.1 187.1C254.3 203.7 286.1 223.5 223.4 235.5C140.5 251.3 143.8000000000001 274.7 146.2000000000001 288.2C146.2000000000001 288.2 153.6000000000001 321.3 156.6000000000001 332.9C159.7000000000001 344.5 167.6000000000001 371.2 220.9 359.2C251.7000000000001 352.3 268.4000000000001 360.9 276.8 363.1C299.9000000000001 369 325.4000000000001 364.9 339.5 350.4C354.1 335.4 374.2 289.1 383.8 254.5C388.7 236.9 387.4000000000001 228.5 384.9000000000001 222.5C383.1 218.5 382.1 215.9 376.0000000000001 205.6C374.9000000000001 203.8 375.8000000000001 201.8 378.2000000000001 203C394.2000000000001 211.2 397.8000000000001 222.1 400.3000000000001 230.6C444.0000000000001 220.7 469.7 198.1 464.2 167.5zM229.6 313C203.3 313 195.2 306 183.8 320.1C181.5 323 174.2 325.7 170.2 316.5C166.2 307.2 173.6 297.3 179.8 296C179.8 296 190.1 276.9 197.9 285.2C203.4 291.1 206.5 294.3 236.1 296.4C264 298.5 249.5000000000001 313 229.6 313zM290.7 353.2C280.9 352.2 272.4 349.8 266.6 346.8C265.9 346.5 265.9 345.3 267.1 345.3C301.3 350.7 316 337.2 285.4 330.2C284.2 329.9 284.2 328.3 285.4 328C289.7 326.8 294.7 326 300 325.9C316.4 325.6 329.9 331.5 330.1 339.1C330.3 345.5 317.7000000000001 356 290.7000000000001 353.2z" glyph-name="redhat" horiz-adv-x="512" unicode=""/><glyph d="M214 278.9C214 168.5 153 73.5 66.4 31.5C30 74.8 8 130.3 8 191.4C8 314.1 97.1 415.8 214 435.5V278.9zM255 -56C212.1 -56 171.7 -45 136.5 -25.6C193.7 10.5 239.9 65.1 255 129C270.5 65.1 316.7 10.5 373.8 -25.7C338.7 -45 298.3 -56 255 -56zM445.6 31.5C359 73.5 298 168.4 298 278.9V435.5C414.9 415.8 504 314.1 504 191.4C504 130.3 482 74.8 445.6 31.5z" glyph-name="renren" horiz-adv-x="512" unicode=""/><glyph d="M320 -32H128C57.6 -32 0 25.6 0 96V288C0 358.4 57.6 416 128 416H320C390.4 416 448 358.4 448 288V96C448 25.6 390.4 -32 320 -32zM193.4 174.8C187.3 176.8 181.8 177.9 177 177.9C169.8 177.9 163.5 176.0000000000001 158.1 172.3C152.7 168.6 148.5 163.3 145.3 156.5H144.2L140 174.8H112V35.9H148.1V125.6C149.6 131 152.5 135.4 156.8 138.8C161.1 142.1999999999999 166.6 143.9 173 143.9C177.6 143.9 182.8 142.9 188.6 140.8L193.4 174.8zM308.6 71.4C305.4000000000001 69 300.9000000000001 66.6 294.9000000000001 64.3C288.9000000000001 61.9999999999999 282.1 60.8 274.5000000000001 60.8C262.3000000000001 60.8 253.4000000000001 63.8 248.0000000000001 69.6999999999999C242.5000000000001 75.5999999999999 239.5000000000001 84.3999999999999 239.0000000000001 96.0999999999999H322.3000000000001C323.2000000000001 100.8999999999999 323.9000000000001 105.4999999999999 324.4000000000001 109.9999999999999C324.9000000000001 114.3999999999999 325.1000000000001 118.5999999999999 325.1000000000001 122.4999999999999C325.1000000000001 133.1999999999999 323.5000000000001 142.1999999999999 320.4000000000001 149.3999999999999C317.2000000000001 156.5999999999999 313.1000000000001 162.3999999999999 307.9000000000001 166.5999999999999C302.7000000000001 170.8999999999999 296.8000000000001 173.8999999999999 290.1000000000001 175.7999999999999C283.4000000000001 177.5999999999999 276.6000000000001 178.5999999999999 269.5000000000001 178.5999999999999C248.4000000000001 178.5999999999999 232.0000000000001 172.4999999999998 220.3000000000001 160.2999999999999S202.8000000000001 129.7999999999999 202.8000000000001 105.2999999999998C202.8000000000001 82.4999999999998 208.0000000000001 64.5999999999999 218.4000000000001 51.5999999999999C228.8000000000001 38.4999999999998 245.2000000000001 31.9999999999998 267.6000000000001 31.9999999999998C278.3000000000001 31.9999999999998 288.5000000000001 33.4999999999998 298.0000000000001 36.5999999999999C307.5000000000001 39.6999999999999 315.1000000000001 43.3999999999999 320.6000000000001 47.7999999999998L308.6000000000001 71.3999999999999zM286.8 141.7C290.6 136.3 292.1 128.6 291.4000000000001 118.6H239.7000000000001C240.6000000000001 128 243.4000000000001 135.6 247.9000000000001 141.2C252.4000000000001 146.8 259.4000000000001 149.7 268.9000000000001 149.7C277.1 149.8 283.0000000000001 147.1 286.8 141.7zM366.7000000000001 139.2C370.8000000000001 135.3 376.1 133.4 382.8000000000001 133.4C389.8000000000001 133.4 395.4000000000001 135.3 399.5000000000001 139.2S405.6000000000001 148.3 405.6000000000001 154.8S403.6000000000001 166.4 399.5000000000001 170.2C395.4000000000001 174 389.9000000000001 175.9 382.8000000000001 175.9C376.1000000000001 175.9 370.8000000000001 174 366.7000000000001 170.2C362.6 166.4 360.6 161.3 360.6 154.8S362.6 143.1 366.7000000000001 139.2zM366.7000000000001 38.7C370.8000000000001 34.8 376.1 32.9 382.8000000000001 32.9C389.8000000000001 32.9 395.4000000000001 34.8 399.5000000000001 38.7S405.6000000000001 47.8 405.6000000000001 54.3S403.6000000000001 65.9 399.5000000000001 69.7C395.4000000000001 73.5 389.9000000000001 75.4 382.8000000000001 75.4C376.1000000000001 75.4 370.8000000000001 73.5 366.7000000000001 69.7C362.6 65.9 360.6 60.8 360.6 54.3C360.6 47.7 362.6 42.6 366.7000000000001 38.7z" glyph-name="replyd" horiz-adv-x="448" unicode=""/><glyph d="M0 416V-32H448V416H0zM262.2 81.6C255.6 78.6 229 75.6 212.2 95.8C203 106.4 186.9 129.1 170 159.4C161.1 159.4 155.3 159.4 148.6 160.0000000000001V113.6000000000001C148.6 90.1000000000001 154.6 92.4000000000001 174.4 89.7000000000001V81.6000000000001C167.5 81.9000000000001 151.3 82.4000000000001 138.8 82.4000000000001C125.7 82.4000000000001 112.7 81.8000000000001 105.2 81.6000000000001V89.7000000000001C120.7 92.6000000000001 127.2 91.0000000000001 127.2 113.6000000000001V223C127.2 245.6 120.8 244 105.2 246.9V255C131 254 158.3 255.6 176.1 255.6C207.8 255.6 232.0000000000001 241.2 232.0000000000001 210C232.0000000000001 188.9 215.3000000000001 167.8 192.8 162.5C206.4 138.3 222.8 116.9 235 103.6C242.2 95.8 252.2 88.9 262.2 88.9V81.6zM285.1 216.6C261.8 216.6 252.9 232.3 252.9 248.8V281C252.9 293.2 261.7 311.4 286.9 311.4S317.3 293.5 317.3 293.5L306.6 286.3S301.1 298.8 286.9 298.8C279 298.8 267.2 291.5 267.2 279.1V252.3C267.2 238.9 273.8 229 285.1 229C299.2 229 306.6 239.9 306.6 255.8H288.7V266.5H319.1C319.1 246 323.8 216.6 285.1 216.6zM168.6 171.9C159.2 171.9 155 172.2000000000001 148.6 172.7000000000001V242.4000000000001C155 243.0000000000001 163.6 243.0000000000001 171.1 243.0000000000001C194.4 243.0000000000001 208.3 230.8000000000001 208.3 208.5C208.3 186.6 193.3 171.9 168.6 171.9z" glyph-name="researchgate" horiz-adv-x="448" unicode=""/><glyph d="M281.2 169.8C327.2 183.1 330.8 193.3 325.2 213.2L314 252.5C307.9 273.4 295.6 280.6 242.9 265.3L54.7 211.2L83.3 112.6L281.2000000000001 169.8zM248.5 440C131.4 440 33.2 359.3 7.2 250.5L229.1 314.4C263.9 324.6 283.3 326.1 308.4 322.6C344.7 316.5 361.1 297.6 369.8 267.4L380.5 229.6C388.7 201.5 381.5 179 357 156C337.6 138.6 325.8 131.5 295.6 122.8L203 96.2L423.4 69.1L433.1 34.9L385 21.6L98.1999999999999 58.9L121.1999999999999 -21.3C158 -43.3 201.5 -56 247.5 -56C384.5 -56 495.9999999999999 55.4 495.9999999999999 192.3C497 328.6 385.5 440 248.5 440zM38.3 59.4L0 191.2C0 142.7 14.3 97.8 38.3 59.4z" glyph-name="resolving" horiz-adv-x="496" unicode=""/><glyph d="M270.67 173.11C270.67 136.9500000000001 241.26 107.54 205.11 107.54S139.54 136.9500000000001 139.54 173.11S168.95 238.67 205.11 238.67S270.67 209.27 270.67 173.11zM410.2200000000001 178.16H410.0900000000001C408.6 239.7100000000001 379.99 294.51 335.7700000000001 331.14L290.3900000000001 304.9400000000001C333.5600000000001 276.9100000000001 362.2000000000001 228.3100000000001 362.2000000000001 173.12C362.2000000000001 86.5 291.73 16.03 205.1100000000001 16.03S48.02 86.5 48.02 173.12C48.02 254.98 110.98 322.39 191.01 329.55V290.43L299.7700000000001 353.2200000000001L191.01 416V377.68C84.31 370.43 0 281.64 0 173.11C0 61.52 89.12 -29.1799999999999 200.06 -31.87V-32H410.2200000000001V178.16z" glyph-name="rev" horiz-adv-x="410.22" unicode=""/><glyph d="M491.9 342.1C414.1 393.5 310.7 405.2 224.8 389.7C128.7 482.4 21 439.8 0 427.5C0 427.5 73.9 364.7 61.9 309.7C-25.6 220.5 16 121.2 61.9 74.3C73.9 19.3 0 -43.5 0 -43.5C20.8 -55.8 128.2 -98.2999999999999 224.8 -6.1C310.5 -21.5 413.9 -9.9 491.9 41.6C612.5 118.6 612.9000000000001 264.7 491.9 342.1zM297.5 42.1C267.4 42 237.5 45.9 208.4 53.6L188.4 34.3C177.3 23.5 164.8 14.2 151.4 6.6C135.1 -1.6 117.3 -6.7 99.1 -8.3C100.1 -6.4999999999999 101 -4.6999999999999 101.9 -2.9999999999999C121.9 34.1000000000001 127.3 67.3000000000001 118.1 96.8000000000001C85.2 122.7000000000001 65.5 155.8000000000001 65.5 192.0000000000001C65.5 274.9000000000001 169.4 342.1 297.5 342.1S529.5 274.9000000000001 529.5 192.0000000000001C529.5 109.1 425.6 42.1 297.5 42.1zM186.2 156.3C167.1 156 151.3 171.3 151 190.4C150.3 236.3000000000001 219.6 237.3000000000001 220.3 191.5000000000001V191.0000000000001C220.5 171.7000000000001 204.8 156.3000000000001 186.2 156.3000000000001zM260.8 190.4C260 236.3000000000001 329.3 237.4000000000001 330.1 191.6V191C330.5 145.4 261.6 144.9 260.8 190.4zM405.8 156.3C386.7 156 370.9 171.3 370.6 190.4C369.9 236.3000000000001 439.2 237.3000000000001 439.9 191.5000000000001V191.0000000000001C440.1 172.0000000000001 424.9 156.4 405.8 156.3000000000001z" glyph-name="rocketchat" horiz-adv-x="582.5" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM405.4 20.5H315.4L203.4 151.8C185.5 172.2 199.5 207.9 230 207.9H305.3L220.7 307.2L136.4 208.3H46.4L193.5 380.8C207.9 399.2 234.8 398.1 248 380.8L405.7 195.7C424.7 172.9 407.7 138.5 378.1 139.6C377.5 139.6 303.9 139.4 303.9 139.4L405.4 20.5z" glyph-name="rockrms" horiz-adv-x="496" unicode=""/><glyph d="M236.9 191.2C236.9 200.3 243.5 208.9 253.2 208.9C262.1 208.9 270.6 202.5 270.6 192.8C270.6 183.7 264.2000000000001 175.1 254.5000000000001 175.1C245.5000000000001 175.1 236.9000000000001 181.8 236.9000000000001 191.2zM504 192C504 55 393 -56 256 -56S8 55 8 192S119 440 256 440S504 329 504 192zM477.4 192C477.4 314.3 378.3 413.4 256 413.4S34.6 314.3 34.6 192S133.7 -29.4 256 -29.4S477.4 69.7 477.4 192zM404.9 95.4C404.9 91.8 417.9 85.2 421.2 83.2C393.8 41.7 351.4 11.8 303.3 -0.1L298.9 18.4C298.6 20.9 297 21.2 294.7 21.2C292.8 21.2 291.7 18.4 291.9 17L296.3 -1.8C283 -4.6 269.5 -6 255.9 -6C219.6 -6 183.9 4.2 152.9 23.1C154.5999999999999 25.9 165.0999999999999 41.1 165.0999999999999 43.3C165.0999999999999 45.2 163.4 46.9 161.5 46.9C157.5999999999999 46.9 149.3 30.3 146.8 27.0000000000001C105 54.7 74.8 97.6 63.2 146.6L82.3 150.8C84.5 151.4 85.1 153 85.1 155C85.1 156.9 82.3 158 80.7 157.8L62 153.5C59.5 166.2 58.1 179 58.1 192C58.1 229.1 68.6 265.6 88.3 296.9C91.1 295.2000000000001 104.4 286.1 106.6 286.1C108.5 286.1 110.2 287.5 110.2 289.4C110.2 293.3 95.5 300.7000000000001 92.2 303C120.4 344.2 163.3 373.9 212 384.9L216.2 366.4C216.8 364.2 218.4 363.6 220.4 363.6S223.4 366.4 223.2 368L219 386.3C231.2 388.5 243.6 389.9 256.1 389.9C293.2000000000001 389.9 329.4000000000001 379.4 361 359.7C359.1 356.9 350.2 343.9 350.2 341.7C350.2 339.8 351.6 338.1 353.5 338.1C357.4 338.1 364.8 352.5 366.8 355.8C407.8 328.1 437.1 285.8 448.5 237.6L433 234.3C430.5 233.7 430.2 232.1 430.2 229.9C430.2 228 433 226.9 434.4 227.1L450.2 230.7C452.7 218 454.1 205 454.1 192C454.1 155.7 444.1 120 425.3 89.3C422.5 90.7 410.9 99 408.7 99C406.5999999999999 99 404.8999999999999 97.3 404.8999999999999 95.4zM371.7 337.6C358.7 325.4 237.5 213.9 234.1 208.1L137.5 47.6C150.2 59.4999999999999 271.7 171.6 274.8 176.9L371.7000000000001 337.6z" glyph-name="safari" horiz-adv-x="512" unicode=""/><glyph d="M551.1 156.1C528.7 156 509.3 150.6 493.1 142.6C487.2 154.5 481.1 164.9 480.1 172.7000000000001C478.9 181.8000000000001 477.6 187.2000000000001 479 198.0000000000001S486.7 224.1000000000001 486.6 225.2000000000001C486.5 226.3000000000001 485.2 231.8000000000001 472.3 231.9000000000001C459.4 232.0000000000001 448.3 229.4000000000001 447 226.0000000000001C445.7 222.6 443.2 214.9 441.7 206.9C439.4 195.2000000000001 415.9 153.4 402.6 131.6C398.2 140.1 394.5 147.6 393.7 153.6C392.5 162.7000000000001 391.2 168.1 392.6 178.9S400.3 205 400.2 206.1C400.1 207.2 398.8 212.7 385.9 212.8C373 212.9 361.9 210.3 360.6 206.9C359.3 203.5 357.9 195.5 355.3 187.8C352.7 180.1 321.4 110.5 313.2 92.4C309 83.2 305.3999999999999 75.8 302.8 70.8S302.6 70.4999999999999 302.4 69.9C300.2 65.6 298.9 63.2 298.9 63.2V63.1C297.2 59.9 295.3 56.9999999999999 294.4 56.9999999999999C293.8 56.9999999999999 292.5 65.3999999999999 294.7 76.8999999999999C299.4 101.0999999999999 310.5 138.6999999999999 310.4 140C310.3 140.6999999999999 312.5 147.1999999999999 303.1 150.6999999999999C294 154 290.7 148.5 289.9 148.5C289.1 148.5 288.5 146.5 288.5 146.5S298.6 188.8999999999999 269.1 188.8999999999999C250.7 188.8999999999999 225.1 168.6999999999999 212.5 150.3999999999999C204.6 146.0999999999999 187.5 136.7999999999999 169.5 126.8999999999999C162.6 123.0999999999999 155.5 119.1999999999999 148.8000000000001 115.5C148.3000000000001 116 147.9 116.5 147.4 117C111.6 155.1999999999999 45.5 182.1999999999999 48.3 233.5C49.3 252.2 55.8 301.3 175.4 360.9C273.4000000000001 409.7 351.8000000000001 396.3 365.3000000000001 366.5C384.7000000000001 324 323.4000000000001 244.9 221.6000000000001 233.5C182.8000000000001 229.2 162.4000000000001 244.2 157.3000000000001 249.8C152.0000000000001 255.7 151.2000000000001 256 149.2000000000001 254.9C145.9000000000001 253.1 148.0000000000001 247.9 149.2000000000001 244.8C152.2000000000001 236.9 164.7000000000001 222.9 186.0000000000001 215.9C204.7000000000001 209.8 250.2000000000001 206.4 305.2000000000001 227.7C367 251.5 415.1 317.8 401 373.3C386.6 429.7 293.1 448.2 204.6 416.8C151.9 398.1 94.9 368.7 53.9 330.4C5.2 284.8 -2.6 245.1 0.6 228.5C12 169.6 93.2 131.2 125.7 102.8C124.1 101.9 122.6 101.1 121.2 100.3C104.9 92.2 43 59.8 27.5 25.6C10 -13.2 30.4 -41 43.8 -44.8C85.6 -56.4 128.4 -35.4999999999999 151.4 -1.1999999999999S171.6 77.9000000000001 161 98.3000000000001C160.9 98.6000000000001 160.7 98.8000000000001 160.6 99.1000000000001C164.8 101.6000000000001 169.1 104.1000000000001 173.4 106.6000000000001C181.7 111.5000000000001 189.8 116.0000000000001 196.9 119.9000000000001C192.9 109.1000000000001 190 96.1000000000001 188.5 77.3000000000001C186.7 55.3000000000001 195.8 26.8000000000001 207.6 15.6000000000001C212.8 10.7000000000001 219.1 10.6000000000001 223 10.6000000000001C236.8 10.6000000000001 243 22.0000000000001 249.9 35.6000000000001C258.4 52.2000000000001 265.9 71.5000000000001 265.9 71.5000000000001S256.5 19.3000000000001 282.2 19.3000000000001C291.6 19.3000000000001 301 31.4000000000001 305.2 37.6000000000001V37.5000000000001S305.4 37.9 305.9 38.7C306.9 40.2 307.4 41.1 307.4 41.1V41.4C311.2 47.9 319.5 62.8 332 87.4C348.2 119.2000000000001 363.7 158.9 363.7 158.9S365.1 149.2000000000001 369.9 133.1C372.7 123.6 378.6 113.2000000000001 383.3 103.1C379.5 97.9 377.2 94.9 377.2 94.9S377.2 94.8 377.3 94.7000000000001C374.3 90.7000000000001 370.9 86.4 367.4 82.2000000000001C354.6 67.0000000000001 339.4 49.6 337.4 44.6C335 38.7 335.6 34.3 340.2 30.9C343.6 28.3 349.6 27.9 355.9 28.4C367.4 29.2 375.5 32.0000000000001 379.4 33.8C385.6 36 392.8 39.5 399.6 44.4C412.1 53.6 419.7 66.8 419 84.2000000000001C418.6 93.8000000000001 415.5 103.4 411.7 112.4C412.8 114.0000000000001 414 115.7000000000001 415.0999999999999 117.4C434.8999999999999 146.3 450.2 178.0000000000001 450.2 178.0000000000001S451.5999999999999 168.3000000000001 456.3999999999999 152.2000000000001C458.7999999999999 144.1 463.4999999999999 135.2000000000001 467.7999999999999 126.5000000000001C449.1999999999999 111.4 437.6999999999999 93.9 433.6999999999999 82.4C426.2999999999999 61.1 432.0999999999999 51.5000000000001 442.9999999999999 49.3C447.8999999999999 48.3 454.8999999999999 50.6 460.0999999999999 52.8C466.5999999999999 55 474.3999999999999 58.5 481.6999999999999 63.9C494.1999999999999 73.1 506.3 86.0000000000001 505.4999999999999 103.5000000000001C505.1999999999999 111.4 502.9999999999999 119.3000000000001 500.1 126.9C515.8 133.5000000000001 536.1999999999999 137.1 562.1999999999999 134.1C617.9 127.6 628.8 92.8 626.6999999999999 78.3C624.5999999999999 63.7 612.9 55.7 608.9999999999999 53.3C605.0999999999999 50.9 603.8999999999999 50 604.1999999999999 48.2C604.6999999999999 45.6 606.4999999999999 45.7 609.8 46.3C614.4 47.1 639 58.1 640.0999999999999 85C641.6999999999999 119 608.9999999999999 156.4 551.0999999999999 156.1zM121.8 11.4C103.4 -8.7 77.6 -16.3 66.5 -9.9C54.6 -3 59.3 26.6 82 48C95.8 61 113.6 73 125.4 80.4C128.1 82 132 84.4 136.8 87.3C137.6 87.8 138 87.9999999999999 138 87.9999999999999C138.9 88.6 139.9 89.1 140.9 89.6999999999999C149.2 59.3 141.2 32.4999999999999 121.8 11.3999999999999zM256.2 102.8C249.8 87.1 236.3 47.1 228.1 49.1999999999999C221.1 50.9999999999999 216.8 81.4999999999999 226.7 111.4999999999999C231.7 126.6 242.3 144.6 248.6 151.6C258.7 162.9 269.8 166.5 272.4 162C275.9 156.1 260.2 112.6 256.2 102.8zM367.2 49.8C364.5 48.4 362 47.4999999999999 360.8 48.1999999999999C359.9000000000001 48.6999999999999 361.9000000000001 50.5999999999999 361.9000000000001 50.5999999999999S375.8 65.4999999999999 381.3 72.2999999999999C384.5 76.2999999999999 388.2 80.9999999999999 392.2 86.1999999999999C392.2 85.6999999999999 392.3 85.1999999999999 392.3 84.5999999999999C392.2 66.6999999999999 375 54.5999999999999 367.2 49.7999999999998zM452.8 69.3C450.8 70.6999999999999 451.1 75.4 457.8 89.9999999999999C460.4 95.6999999999999 466.4 105.3 476.8 114.5C477.9999999999999 110.6999999999999 478.6999999999999 107.1 478.6999999999999 103.6999999999999C478.5999999999999 81.1999999999999 462.4999999999999 72.8 452.8 69.3z" glyph-name="sass" horiz-adv-x="640.4" unicode=""/><glyph d="M350.5 290.3L296.3 336.4L369.7000000000001 375.4L448.0000000000001 331.2L350.5000000000001 290.3zM192 325.9L237.7 354.1L272.4 319.5L217 290.5L192 325.9zM126.9 319.3L158.8 341.4L176 313L139.3 290.5L126.9 319.3zM103.6 231.1L94.8 265.9000000000001L124.4 284.2000000000001L137.5 248.9000000000001L103.6 231.1zM82.4 314.8L106.3 332.9L115.2 308.9L88.5 290.6L82.4 314.8zM59 241.5L55.4 269.9L77.7 285.4L83.8 256.7000000000001L59 241.5zM28.4 224.9L49.2 237.7L52.5 204.3L29.6 192.3L28.4 224.9zM1.4 180L20.6 190.2L21 152L0 143.2L1.4 180zM60.5 120.7L32.2 112.4L30.6 159.2L55.7 169.9L60.5 120.7zM99 184.8L67.9 171.8L62.7 212.6L90.1 227L99 184.8zM123.2 71L81.6 65.1L73.5 128.6L108.7 139.4L123.2 71zM151.7 210.9L172.9 153.8L126.7 140.2L113 194.3L151.7 210.9zM237.4 -19.6L166.5 -16.3L142.2 79.5L197.4 88.1L237.4 -19.6zM152.5 260.1L194.7 282.5L222.7 236.6L171.9 215.3L152.5 260.1zM193.5 165.1999999999999L254.8 183.8999999999999L307.6 97.3L227.8 85.9999999999999L193.5 165.1999999999999zM244.9 250.8L312.2 279.5999999999999L377.7 214.1999999999999L289.1 188L244.9000000000001 250.8z" glyph-name="schlix" horiz-adv-x="448" unicode=""/><glyph d="M42.3 195.3C26.2 214.3 17.6 241.2 17.5 275.2000000000001C17.5 375.6 92.7 428.3 184.7 428.3C283.3 429.9000000000001 341.5 379.3 369 357.7000000000001L318.5 285.6L281.2 310.2000000000001L308.1 348.8C271.6 372.8 228.7 385.3 185.1 384.6C134.4 385.4 73.4 357.4 73.4 308.4C73.4 289.7000000000001 84.6 287.7000000000001 102 292.8C125.3 298.1 143.9 292.2000000000001 157.8 278.8C184.2 254.5 181 211.2 157.1 186.9C127.9 157.4 71.9 159.6 42.3 195.3zM360 189.4C344.5 208.2000000000001 321.1 218.8000000000001 296.8 218C258.7 220 225.7 190 226.3 150.8C225.6 134 232.3 117.8 244.7 106.5C258.8 92.6 277.7000000000001 86.8 301 92.1C318.4 97.2000000000001 329.6 95.2000000000001 329.6 76.5C329.6 72.2 329.1 68 328.2000000000001 63.8C311.5000000000001 22.9 268.7000000000001 -0.6 206.8000000000001 -0.6C154.9 -0.8 104.4 15.8 62.7000000000001 46.7L96.4000000000001 86.1L60.8000000000001 113.5L0 41.7L15.4 27.9C67.9 -18.9 135.8 -44.6 206.1 -44.3C257.5 -44.3 300.5 -33.8 339.7 -0.2C396.8 51.2 393.9 149 360 189.4z" glyph-name="scribd" horiz-adv-x="384" unicode=""/><glyph d="M220.6 317.7L153.4 289.5V404.8L98.7 214.5L153.4 238.7V108.4L220.6 317.7zM137.4 414.4L136.1 409.7L120.9 356.8C80.6 341.3 52 302.2 52 256.5C52 204.2 86.3 160.6 135.4 151V97.4C57.5 107.9 0 175.6 0 256.4C0 336.9 59.8 403.6 137.4 414.4zM448.8 -32.8C437.6 -44 425.7 -45.1 420.2 -43.3C414.8 -41.5 393.0999999999999 -23.4 359.8 1.1C326.5 25.7 326.2 36.8 316.8 57.8C307.4 78.6999999999999 286.4 100.4 259.3 110.1999999999999L249.6 124.8999999999999C224.9 107.9999999999999 196.6 97.9999999999999 168.3 96.1999999999999L170.4 102.8L186.3 152.3C232.8 164.1999999999999 267.2 206.3 267.2 256.5C267.2 311 228.8 358.5999999999999 171.1999999999999 363.5999999999999V415.7C254.4 410.6 320 341.2 320 256.4C320 222.8 308.8 191.7 291 166L305.6 156.4C315.4000000000001 129.3 337.1 108.4 358 99S390.2 89.3 414.8 56C439.4000000000001 22.8 457.5 1.1 459.3 -4.3S460 -21.6 448.8 -32.8zM438.9 -14.9C438.9 -10.5000000000001 435.3 -6.9 430.9 -6.9S422.9 -10.5000000000001 422.9 -14.9S426.5 -22.9 430.9 -22.9S438.9 -19.3 438.9 -14.9z" glyph-name="searchengin" horiz-adv-x="460" unicode=""/><glyph d="M353.4 416H94.7C42.6 416 0 373.4 0 321.4V62.7000000000001C0 10.6 42.6 -32 94.7 -32H353.4C405.5 -32 448.1 10.6 448.1 62.6V321.4C448.1 373.4 405.5 416 353.4 416zM303.4 99.6C275.5 51.4 213.5 34.7 165.2 62.4C142.3 22.6 110.3 53.8 122.9 75.6L138.6 102.8C144.5 113.1 157.8 116.7 168.1 110.7C186.7 99.9 168 110.8 186.6 100C214.2 84.1 250 93.7 266 121.3C281.9 148.9 272.3 184.7 244.7 200.7C226.9 210.9 244.1 201.1 226.1 211.3C201.5 225.5 222.7 263.2000000000001 247.7 248.8C266.3 238 247.6 248.9 266.2 238.1C314.6 210.1 331.3 147.8 303.4 99.6zM325.2 308.4000000000001C308.2 278.9000000000001 308.9 279.6 306.2 276.9000000000001C299.7 270.4000000000001 289.9 268.2000000000001 279.7 273.3000000000001C261.1 284.1 279.8 273.2000000000001 261.2 284C233.6 299.9000000000001 197.8 290.3000000000001 181.8 262.7000000000001S175.5 199.3 203.1 183.3C203.1 183.3 221.6 172.7 221.7 172.7C246.3 158.5 225.1 120.8 200.1 135.2C181.5 146 200.2 135.1 181.6 145.9C133.4 173.7 116.7 236 144.5 284.3C172.4 332.5 234.4 349.2 282.7 321.5L287.5 329.9C301.8 354.8 339.5 333.2 325.2 308.4z" glyph-name="sellcast" horiz-adv-x="448" unicode=""/><glyph d="M539.71 210.692C542.774 222.949 544 235.513 544 248.076C544 340.618 468.618 416 376.076 416C298.856 416 231.4420000000001 362.988 213.056 288.219C197.734 301.395 178.122 308.749 157.899 308.749C111.628 308.749 73.937 271.059 73.937 224.788C73.937 217.434 74.857 209.773 77.002 202.419C34.102 182.194 6.217 138.6810000000001 6.217 91.185C6.216 23.157 61.68 -32 129.401 -32H510.599C578.319 -32 633.783 23.157 633.783 91.184C633.784 147.568 594.867 197.209 539.71 210.692zM199.88 46.446C199.88 38.172 192.832 31.125 184.559 31.125H153.61C145.336 31.125 138.289 38.173 138.289 46.446V157.374C138.289 165.6470000000001 145.337 172.6950000000001 153.61 172.6950000000001H184.559C192.833 172.6950000000001 199.88 165.6470000000001 199.88 157.374V46.446zM289.357 46.446C289.357 38.172 282.309 31.125 274.035 31.125H243.086C234.812 31.125 227.765 38.173 227.765 46.446V177.904C227.765 186.178 234.813 193.225 243.086 193.225H274.035C282.309 193.225 289.357 186.177 289.357 177.904V46.446zM378.834 46.446C378.834 38.172 371.7869999999999 31.125 363.5129999999999 31.125H332.5639999999999C324.2899999999999 31.125 317.2419999999999 38.173 317.2419999999999 46.446V209.16C317.2419999999999 217.434 324.2899999999999 224.481 332.5639999999999 224.481H363.5129999999999C371.7869999999999 224.481 378.834 217.433 378.834 209.16V46.446zM465.8609999999999 46.446C465.8609999999999 38.172 458.8129999999999 31.125 450.5389999999999 31.125H422.0419999999999C413.7679999999999 31.125 406.7209999999999 38.173 406.7209999999999 46.446V271.059C406.7209999999999 279.6380000000001 413.7679999999999 286.687 422.0419999999999 286.687H450.5389999999999C458.8129999999999 286.687 465.8609999999999 279.639 465.8609999999999 271.0590000000001V46.446z" glyph-name="sellsy" horiz-adv-x="640" unicode=""/><glyph d="M88 232C169.7 221.8 361.7 129.7 392 0H0C99.5 8.1 184.5 137 88 232zM120 384C152.3 348.4 167.7 300.1 166.4 250.4C249.3 216.7 373.7 126.7 400 0H496C455.3 216.1 222.8 368.5 120 384z" glyph-name="servicestack" horiz-adv-x="496" unicode=""/><glyph d="M395.2080000000001 226.417H406V192.875H395.2080000000001V226.417zM395.2080000000001 236.042H406V269.584H395.2080000000001V236.042zM395.2080000000001 149.709H406V183.25H395.2080000000001V149.709zM358.75 312.75H325.208V302.25H358.75V312.75zM395.208 106.542H406V140.0840000000001H395.2080000000001V106.542zM311.5 312.75H277.958V302.25H311.5V312.75zM264.25 312.75H231V302.25H264.25V312.75zM217 312.75H183.75V302.25H217V312.75zM395.208 279.208H406V312.75H372.458V302.25H395.208V279.208zM139.416 20.208L170.041 6.791L174.416 16.708L143.791 30.1249999999999L139.416 20.208zM179.083 3L209.417 -10.708L213.791 -0.792L183.458 12.6249999999999L179.083 2.9999999999999zM395.208 63.375H406V96.917H395.2080000000001V63.375zM60.3749999999999 55.208L91 41.792L95.375 51.416L64.75 65.125L60.375 55.208zM100.0409999999999 37.709L130.666 24.292L135.041 34.209L104.4159999999999 47.625L100.0409999999999 37.709zM232.458 -0.792L236.833 -10.708L267.459 3L263.084 12.625L232.458 -0.792zM350.875 51.4160000000001L355.25 41.792L385.874 55.208L381.5 65.125L350.875 51.416zM311.5 34.209L315.875 24.292L346.5 37.709L342.126 47.625L311.5 34.209zM271.833 16.708L276.208 6.7910000000001L306.833 20.208L302.458 30.125L271.833 16.708zM311.5 401.4170000000001H277.958V390.9170000000001H311.5V401.4170000000001zM405.709 401.4170000000001H372.4580000000001V390.9170000000001H405.709V401.4170000000001zM217 401.4170000000001H183.75V390.9170000000001H217V401.4170000000001zM358.75 401.4170000000001H325.208V390.9170000000001H358.75V401.4170000000001zM264.25 401.4170000000001H231V390.9170000000001H264.25V401.4170000000001zM448 444.292V38.292L221.666 -60.292L0 38.292V444.292H448zM418.834 327.334H29.166V57.25L221.958 -28.5L418.833 57.25V327.334zM418.834 415.125H29.166V356.5H418.833V415.125zM75.542 401.4170000000001H42.291V390.9170000000001H75.542V401.4170000000001zM170.042 401.4170000000001H136.5V390.9170000000001H170.042V401.4170000000001zM122.791 401.4170000000001H89.25V390.9170000000001H122.792V401.4170000000001zM130.375 164.875C130.375 215.042 171.5 256.1670000000001 221.667 256.1670000000001C272.125 256.1670000000001 312.959 215.042 312.959 164.875C312.959 114.417 272.126 73.583 221.667 73.583C171.5 73.584 130.375 114.417 130.375 164.875zM251.125 146.791C251.125 133.666 227.208 132.5 218.459 132.5C206.209 132.5 188.709 135.125 182.584 147.375H181.709L172.666 129C187.542 119.667 201.833 116.75 219.916 116.75C239.458 116.75 270.958 122.583 270.958 147.959C270.958 196.084 192.5 164.292 192.5 185.875C192.5 199 213.208 200.75 222.25 200.75C233.041 200.75 251.416 197.542 257.833 187.626H258.708L267.459 204.542C252.292 210.667 240.042 216.501 223.125 216.501C203 216.501 173.542 210.084 173.542 184.709C173.542 140.375 251.125 172.75 251.125 146.791zM122.791 312.75H89.25V302.25H122.792V312.75zM52.792 302.25H75.542V312.75H42V279.208H52.792V302.25zM52.792 269.584H42V236.042H52.792V269.584zM170.042 312.75H136.5V302.25H170.042V312.75zM52.792 226.417H42V192.875H52.792V226.417zM52.792 140.083H42V106.5409999999999H52.792V140.083zM52.792 183.25H42V149.708H52.792V183.25zM52.792 96.917H42V63.375H52.792V96.917z" glyph-name="shirtsinbulk" horiz-adv-x="448" unicode=""/><glyph d="M395.5 -7.27C352.55 -39.06 301.55 -55.86 248.02 -55.86C110.81 -55.86 0 55.14 0 192.14C0 329.33 111.04 440.14 248.02 440.14C309.32 440.14 368.1600000000001 417.59 413.7000000000001 376.64C416.3200000000001 374.28 414.2800000000001 370 410.8400000000001 370.46C393.17 372.89 374.0900000000001 374.12 354.1300000000001 374.12C224.7700000000001 374.12 131.7300000000001 320.65 131.7300000000001 218.77C131.7300000000001 109.73 223.8600000000001 72.89 308.5600000000001 40.04C342.2000000000001 26.9999999999999 373.9600000000001 14.68 395.5200000000001 -1.5500000000001C397.42 -2.9900000000001 397.4100000000001 -5.8600000000001 395.5000000000001 -7.2700000000001zM494.96 215.05C494.88 215.99 494.41 216.88 493.69 217.49C441.93 260.4500000000001 400.07 277.9700000000001 349.2100000000001 277.9700000000001C265.0800000000001 277.9700000000001 268.9600000000001 225.8 268.9600000000001 224.34C268.9600000000001 181.74 321.0200000000001 162.33 381.3000000000001 139.85C412.3700000000001 128.2600000000001 444.4900000000001 116.28 473.9800000000001 99.92C475.8600000000001 98.87 478.2400000000001 99.73 479.0300000000001 101.74C497.9200000000001 150.13 496.9700000000001 191.97 494.9600000000001 215.05z" glyph-name="shopware" horiz-adv-x="495.99" unicode=""/><glyph d="M481.2 384H375.2C360.7 384 348.6 372.2 348.6 357.7V318.1H163.3V357.7C163.3 372.2 151.3 384 136.7 384H30.7C16.1 384 4.3 372.2 4.3 357.7V26.3C4.3 11.8 16.1 0 30.9 0H481.3C496.1 0 507.9 11.8 507.9 26.3V357.7C507.7 372.2 495.9 384 481.2 384zM149.8 92.2C113.2 92.2 83.4 121.9 83.4 158.6C83.4 195.5 113.1 225.2 149.8 225.2C186.7 225.2 216.4 195.5 216.4 158.6C216.4 121.9 186.7 92.2000000000001 149.8 92.2000000000001zM362.2000000000001 92.2C325.3000000000001 92.2 295.6 121.9 295.6 158.8C295.6 195.4 325.3 225.2 362.2000000000001 225.2C398.8000000000001 225.2 428.6 195.5 428.6 158.8C428.6 121.9 398.8 92.1999999999999 362.2000000000001 92.1999999999999z" glyph-name="simplybuilt" horiz-adv-x="512" unicode=""/><glyph d="M448 -1L301.2 147.8C321.2 175.7 333.1 210 333.1 247C333.1 340.1 258.4 415.9 166.6 415.9C74.7 416 0 340.2 0 247.1S74.7 78.2 166.5 78.2C206.3 78.2 242.8 92.4 271.5 116.1L417.5 -32L448 -1zM166.5 117.2C95.9 117.2 38.4 175.5 38.4 247.1S95.9 377 166.5 377S294.6 318.7 294.6 247.1S237.2 117.2 166.5 117.2z" glyph-name="sistrix" horiz-adv-x="448" unicode=""/><glyph d="M0 416L69.71 297.25L10.85 308.77L80.69 217.74A146.741 146.741 0 0 1 80.69 166.29L10.85 75.26L69.71 86.78L0 -32L118.75 37.71L107.23 -21.15L198.26 48.6899999999999C215.28 45.6499999999999 232.73 45.6499999999999 249.74 48.6899999999999L340.77 -21.1500000000001L329.25 37.7099999999999L448 -32L378.29 86.78L437.1500000000001 75.26L367.3100000000001 166.29C370.3400000000001 183.3 370.3500000000001 200.73 367.3100000000001 217.74L437.1500000000001 308.77L378.2900000000001 297.25L448 416L329.25 346.29L340.77 405.19L249.71 335.32C241.21 336.84 232.61 337.61 224 337.61S206.79 336.83 198.29 335.32L107.23 405.19L118.75 346.29L0 416zM224 316.2200000000001C255.8 316.2200000000001 287.6 304.1 311.85 279.85C360.35 231.35 360.3400000000001 152.64 311.85 104.15S184.65 55.69 136.15 104.18C87.65 152.68 87.66 231.39 136.15 279.88C160.3900000000001 304.13 192.2000000000001 316.2199999999999 224 316.2199999999999zM224 279.56C201.58 279.56 179.17 271.04 162.08 253.95C127.9 219.77 127.89 164.27 162.08 130.08S251.73 95.9 285.92 130.08C320.1 164.26 320.11 219.76 285.92 253.95C268.83 271.04 246.42 279.56 224 279.56z" glyph-name="sith" horiz-adv-x="448" unicode=""/><glyph d="M18.5 285.8L0 260.9H90.5L97.4 391.6L18.5 285.8zM387.3 402.3L258.7 416L394.4 268.8L387.3 402.3zM103.2 229.7L92 251.7H0.9L225.8 -10L103.2 229.7zM105.2 260.9H389.2L307.7 349.4L247.3 415L105.2 260.9zM402.5 251.8L268.6 -10L493.4 251.7H402.5zM406.4 379L397 391.6L397.9 374.3L404 260.9H494.3L406.4 379zM104.5 354.5L99.9 268.9L235.7 416L107.1 402.3L104.5 354.5zM392.2 251.8H102.2L144.6 168.9L247.3 -32L392.2000000000001 251.8z" glyph-name="sketch" horiz-adv-x="494.4" unicode=""/><glyph d="M640 118.7C640 52.8 587.5 4.3 522.5 4.3C356.6 4.3 325.9 254 162.8 254C15.9 254 15.7 41.8 168.4 41.8C210.9 41.8 259.3 59.6 293.7 84.3C299.3 88.4 310.6 100.6 316.5 100.6S327.4 95.6 327.4 89.7C327.4 81.9 314.3 70.6 308.7 65.6C267.8 29.9999999999999 208.4 4.4 154 4.4C70.6 4.3 0 63.4 0 149.3S67.5 298.4 152.8 298.4C338.1 298.4 375.3 52.4999999999999 514.7 52.4999999999999C614.6 52.4999999999999 609.5 192.1999999999999 518.1 192.1999999999999C500.6 192.1999999999999 483.1 180.5999999999999 471.2 180.5999999999999C462.8000000000001 180.5999999999999 455.3000000000001 187.7999999999999 455.3000000000001 196.1999999999999C455.3000000000001 207.7999999999999 460.6000000000001 219.8999999999999 460.6000000000001 232.4999999999999C460.6000000000001 299.0999999999999 409.7000000000001 347.1999999999999 343.7000000000001 347.1999999999999C290.6 347.1999999999999 263.7000000000001 310.2999999999999 254.9000000000001 310.2999999999999C248.7000000000001 310.2999999999999 243.7000000000001 315.2999999999999 243.7000000000001 321.4999999999999C243.7000000000001 327.0999999999999 247.8000000000001 331.7999999999999 251.5000000000001 335.8999999999999C276.8000000000001 364.7 316.2000000000001 379.5999999999999 354.3000000000001 379.5999999999999C433.7000000000001 379.5999999999999 493.4000000000001 321.2 493.4000000000001 241.7999999999999C493.4000000000001 234.8999999999999 493.1000000000001 228.0999999999999 492.2000000000001 221.1999999999999C504.1000000000001 224.2999999999999 516.3000000000001 225.8999999999999 528.1000000000001 225.8999999999999C588.8000000000002 225.8999999999999 640.0000000000001 180.5999999999999 640.0000000000001 118.6999999999999z" glyph-name="skyatlas" horiz-adv-x="640" unicode=""/><glyph d="M424.7 148.2C427.6 162.2 429.4 177.1 429.4 192C429.4 305.5 337.5 397.3 224.1 397.3C209.2 397.3 194.4 395.6 180.3 392.6C161.3 407.3 137.7 416 112 416C50.2 416 0 365.8 0 304C0 278.3 8.7 254.7 23.3 235.8C20.4 221.8 18.6 206.9 18.6 192C18.6 78.5 110.5 -13.3 223.9 -13.3C238.8 -13.3 253.6 -11.6 267.7 -8.6C286.7 -23.2 310.3 -31.9 335.9 -31.9C397.7 -31.9 447.9 18.3 447.9 80.1C448 105.7 439.3 129.3 424.7 148.1999999999999zM230.1 56.7C164.5 56.7 109.6 85.9 109.6 121.7C109.6 137.7 118.6 152.3 139.1 152.3C170.3 152.3 173.2 107.4 227.2 107.4C252.9 107.4 269.5 118.8 269.5 133.7000000000001C269.5 152.4 253.5 155.3000000000001 227.5 161.7000000000001C165 177.1 109.7 183.7000000000001 109.7 248.9000000000001C109.7 308.1 168.3 330 218.8 330C273.9000000000001 330 329.6 308.1 329.6 274.6C329.6 257.7000000000001 318.2000000000001 242.8 299.3 242.8C271 242.8 270.1 276.3 224.3 276.3C198.6 276.3 182.3 269.3 182.3 253.8C182.3 234 203.1 232 251.4 220.8C292.8 211.5 342.1 194 342.1 143.2000000000001C342.1 84.1 285 56.7000000000001 230.1 56.7000000000001z" glyph-name="skype" horiz-adv-x="448" unicode=""/><glyph d="M446.2 177.6C440 196.6 419.3 206.7 400.2 200.5L354.8 185.4L324.5 275.4000000000001L369.9 290.5C389 296.7000000000001 399 317.3000000000001 392.9 336.4000000000001C386.7 355.4000000000001 366 365.5 346.9 359.3000000000001L301.5 344.2000000000001L285.8 391.2000000000001C279.6 410.2000000000001 258.9000000000001 420.3000000000001 239.8 414.1C220.7 407.9000000000001 210.7 387.3000000000001 216.8 368.2000000000001L232.5 321.2000000000001L139.1 290.0000000000001L123.4 337.0000000000001C117.2 356.0000000000001 96.5 366.1 77.4 359.9000000000001C58.3 353.7000000000001 48.3 333.1000000000001 54.4 314.0000000000001L70.1 267.0000000000001L24.8 252.0000000000001C5.7 245.8000000000001 -4.3 225.2000000000001 1.8 206.1000000000001C6.8 191.6 20.9 182.1 35.4 181.5000000000001C42.2 180.5000000000001 47.4 183.1000000000001 93.1 198.3000000000001L123.4 108.3000000000001L78 93.2C59 87 48.9 66.3 55 47.3C60 32.8 74.1 23.3 88.6 22.7C95.4 21.7 100.6 24.3 146.3 39.5L162 -7.5C167.9 -24.4 186.7 -36.5 208 -30.4C227.1 -24.2 237.1 -3.6 231 15.5L215.3 62.5L308.9 93.8L324.6 46.8C330.5 29.9 349.3 17.8 370.6 23.9C389.7 30.1 399.7 50.7 393.6 69.8L377.9 116.8L423.3 131.9C442.3 137.9 452.4 158.6 446.2 177.6zM192.1 130.4L161.8 220.6L255.3 251.9000000000001L285.6 161.7000000000001L192.1 130.4z" glyph-name="slack-hash" horiz-adv-x="448" unicode=""/><glyph d="M244.2 230.5L263.5 172.8L203.7 152.8L184.4 210.5L244.2 230.5zM285.6 -13.2C131.6 -59.4 65 -23.6 18.8 130.4S8.4 351 162.4 397.2C316.4 443.4 383 407.6 429.2 253.6C475.4 99.6 439.6 33 285.6 -13.2zM366.2 183C362.3 195.2 349 201.6 336.8 197.7L307.8 188L288.5 245.7L317.5 255.4C329.7 259.3 336.1 272.6 332.2 284.8C328.3 297 315 303.4 302.8 299.5L273.8 289.8L263.8 319.9C259.9000000000001 332.1 246.6 338.5 234.4 334.6C222.2 330.7 215.8 317.4 219.7 305.2L229.7 275.1L169.9 255L159.9 285.1C156 297.3 142.7000000000001 303.7 130.5 299.8C118.3 295.9 111.9 282.6 115.8 270.4L125.8 240.3L96.8 230.6C84.6 226.7 78.2 213.4 82.1 201.2C85.3 191.9 94.3 185.8 103.6 185.4C107.9 184.8 111.3 186.4 140.5 196.1L159.8000000000001 138.4L130.8000000000001 128.7C118.6 124.8 112.2000000000001 111.5 116.1 99.3C119.3000000000001 90 128.3000000000001 83.9 137.6 83.5C141.9 82.9 145.3 84.5 174.5 94.2L184.5 64.1C188.2 53.3 200.3000000000001 45.4999999999999 213.9 49.4C226.1 53.3 232.5000000000001 66.6 228.6 78.8L218.6 108.9L278.4000000000001 129L288.4000000000001 98.9C292.1 88.1 304.2000000000001 80.3 317.8 84.2C330 88.1 336.4000000000001 101.4 332.5 113.6L322.5 143.7L351.5 153.4C363.7 157.6 370.1 170.9 366.2 183z" glyph-name="slack" horiz-adv-x="448" unicode=""/><glyph d="M249.429 236.564C249.429 204.848 221.714 178.847 187.712 178.847C153.711 178.847 125.996 204.848 125.996 236.564C125.996 268.565 153.711 294.28 187.712 294.28C221.713 294.28 249.429 268.565 249.429 236.564zM503.723 186.562C485.437 163.989 450.579 136.274 397.4340000000001 114.559C453.722 -77.163 260 -107.735 263.143 -9.446C263.143 -11.16 262.857 43.413 262.857 83.986C258.572 84.844 254.286 85.986 249.143 87.129C249.143 46.271 248.857 -11.16 248.857 -9.446C252 -107.735 58.278 -77.163 114.566 114.559C61.421 136.274 26.563 163.989 8.276 186.562C-0.867 200.276 9.134 214.849 24.277 204.277C26.277 202.849 28.562 201.42 30.562 199.992V398.284C30.563 425.713 51.135 448 76.565 448H435.722C461.151 448 481.724 425.713 481.724 398.284V199.991L487.724 204.276C502.867 214.849 512.867 200.276 503.723 186.562zM457.151 375.712C457.151 408.57 446.579 421.428 416.2920000000001 421.428H98.566C66.85 421.428 57.993 410.5700000000001 57.993 375.712V183.419C125.71 147.989 183.713 154.275 215.428 155.418C228.857 155.704 237.429 153.132 242.572 147.703C244.261 146.016 252.595 138.257 262.859 130.5600000000001C264.002 146.275 272.86 156.275 296.575 155.4180000000001C328.862 153.9900000000001 388.293 147.7030000000001 457.152 185.1340000000001V375.712zM331.146 294.28C297.144 294.28 269.43 268.565 269.43 236.564C269.43 204.848 297.145 178.847 331.146 178.847C365.433 178.847 392.862 204.848 392.862 236.564C392.862 268.565 365.4330000000001 294.28 331.146 294.28z" glyph-name="slideshare" horiz-adv-x="512" unicode=""/><glyph d="M510.846 55.327C505.635 43.17 483.607 34.238 443.486 28.009C441.422 25.223 439.711 13.323 436.979 4.053C435.354 -1.513 431.356 -4.816 424.851 -4.816L424.554 -4.811C415.159 -4.811 405.351 -0.4880000000001 385.702 -0.4880000000001C359.181 -0.4880000000001 350.04 -6.5310000000001 329.448 -21.0760000000001C307.616 -36.5140000000001 286.677 -49.8400000000001 255.421 -48.4750000000001C223.775 -50.8090000000001 197.396 -31.5670000000001 182.55 -21.0710000000001C161.836 -6.4280000000001 152.722 -0.4890000000001 126.309 -0.4890000000001C107.445 -0.4890000000001 95.573 -5.2090000000001 87.457 -5.2090000000001C79.384 -5.2090000000001 76.244 -0.2870000000001 75.035 3.8309999999999C72.332 13.0199999999999 70.631 25.0939999999999 68.512 27.9609999999999C47.833 31.1699999999999 1.202 39.3049999999999 0.014 60.1109999999999A10.627 10.627 0 0 0 8.891 71.1799999999999C78.474 82.6349999999999 109.815 154.0809999999999 111.118 157.1139999999999C111.192 157.2899999999999 111.273 157.4579999999999 111.355 157.6289999999999C115.068 165.1659999999999 115.899 171.4779999999999 113.818 176.3819999999999C108.768 188.2779999999999 86.946 192.5459999999999 77.765 196.1779999999999C54.05 205.5439999999999 50.75 216.3059999999999 52.153 223.6819999999999C54.59 236.5179999999999 73.878 244.4169999999999 85.155 239.1349999999999C94.074 234.9539999999999 101.998 232.8379999999999 108.702 232.8379999999999C113.724 232.8379999999999 116.914 234.0419999999999 118.662 235.0089999999999C116.619 270.9449999999999 111.561 322.2989999999999 124.349 350.9779999999999C158.122 426.6960000000001 229.705 432.58 250.826 432.58C251.77 432.58 259.967 432.669 260.936 432.669C313.084 432.669 363.19 405.889 387.659 351.026C400.436 322.376 395.408 271.234 393.354 235.017C394.936 234.145 397.711 233.075 401.953 232.878C408.35 233.164 415.768 235.267 424.022 239.135C430.107 241.981 438.428 241.596 444.502 239.077L444.531 239.067C454.007 235.682 459.97 228.852 460.12 221.197C460.304 211.45 451.598 203.032 434.242 196.179C432.124 195.344 429.548 194.524 426.808 193.654C417.011 190.548 402.208 185.849 398.192 176.383C396.113 171.479 396.9360000000001 165.172 400.652 157.635C400.739 157.467 400.818 157.293 400.891 157.12C402.192 154.09 433.506 82.66 503.121 71.186C509.548 70.128 514.284 63.309 510.846 55.3270000000001z" glyph-name="snapchat-ghost" horiz-adv-x="512" unicode=""/><glyph d="M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM393.5 101.1C390 93 375.4 87.1 348.7 82.9C347.3 81.0000000000001 346.2 73.1 344.4 67.0000000000001C343.3 63.3000000000001 340.7 61.1000000000001 336.3 61.1000000000001H336.1C329.9 61.1000000000001 323.3 64.0000000000001 310.3 64.0000000000001C292.7 64.0000000000001 286.6 60.0000000000001 272.9 50.3000000000001C258.4 40.0000000000001 244.5 31.2 223.7 32.1000000000001C202.7 30.5000000000001 185.1 43.3000000000001 175.2 50.3000000000001C161.4 60.0000000000001 155.4 64.0000000000001 137.8 64.0000000000001C125.3 64.0000000000001 117.4 60.9 112 60.9C106.6 60.9 104.5 64.2000000000001 103.7 66.9C101.9 73.0000000000001 100.8 81.0000000000001 99.4 82.9C85.6 85.0000000000001 54.6 90.4 53.9 104.3C53.7 107.9 56.2 111.1 59.8 111.7C106.1 119.3 126.9 166.8 127.8 168.8C127.8 168.9 127.9 169 128 169.1C130.5 174.1 131 178.3 129.6 181.6C126.2 189.5 111.7 192.3 105.6 194.8C89.8 201 87.6 208.2 88.6 213.1C90.2 221.6 103 226.9000000000001 110.5 223.4C116.4 220.6 121.7 219.2000000000001 126.2 219.2000000000001C129.5 219.2000000000001 131.7 220.0000000000001 132.8 220.6000000000001C131.4 244.5000000000001 128.1 278.6 136.6 297.7000000000001C159.1 348 206.7 352 220.7 352C221.3 352 226.8 352.1 227.4 352.1C262.1 352.1 295.4 334.3 311.7 297.8C320.2 278.7000000000001 316.9 244.7 315.5 220.7C316.6 220.1 318.4 219.4 321.2 219.3C325.5 219.5 330.4 220.9 335.9 223.5C339.9 225.4 345.5 225.1 349.5 223.5C355.8 221.2 359.8 216.7 359.9 211.6C360 205.1 354.2 199.5 342.7 195C341.3 194.4 339.6 193.9 337.8 193.3C331.3 191.2 321.4000000000001 188.1 318.8 181.8C317.4000000000001 178.5 318 174.3 320.4000000000001 169.3C320.5000000000001 169.2 320.5000000000001 169.1 320.6 169C321.5 167 342.3 119.5 388.6 111.9C392.6 110.9 395.7000000000001 106.4 393.5 101.1z" glyph-name="snapchat-square" horiz-adv-x="448" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM417.5 101.1C414 93 399.4 87.1 372.7 82.9C371.3 81.0000000000001 370.2 73.1 368.4 67.0000000000001C367.3 63.3000000000001 364.7 61.1000000000001 360.3 61.1000000000001H360.1C353.9 61.1000000000001 347.3 64.0000000000001 334.3 64.0000000000001C316.7 64.0000000000001 310.6 60.0000000000001 296.9 50.3000000000001C282.4 40.0000000000001 268.5 31.2 247.7 32.1000000000001C226.7 30.5000000000001 209.1 43.3000000000001 199.2 50.3000000000001C185.4 60.0000000000001 179.4 64.0000000000001 161.8 64.0000000000001C149.3 64.0000000000001 141.4 60.9 136 60.9C130.6 60.9 128.5 64.2000000000001 127.7 66.9C125.9 73.0000000000001 124.8 81.0000000000001 123.4 82.9C109.6 85.0000000000001 78.6 90.4 77.9 104.3C77.7 107.9 80.2 111.1 83.8 111.7C130.1 119.3 150.9 166.8 151.8 168.8C151.8 168.9 151.9 169 152 169.1C154.5 174.1 155 178.3 153.6 181.6C150.2 189.5 135.7 192.3 129.6 194.8C113.8 201 111.6 208.2 112.6 213.1C114.2 221.6 127 226.9000000000001 134.5 223.4C140.4 220.6 145.7 219.2000000000001 150.2 219.2000000000001C153.5 219.2000000000001 155.7 220.0000000000001 156.8 220.6000000000001C155.4 244.5000000000001 152.1 278.6 160.6 297.7000000000001C183.1 348 230.7 352 244.7 352C245.3 352 250.8 352.1 251.4 352.1C286.1 352.1 319.4 334.3 335.7 297.8C344.2 278.7000000000001 340.9 244.7 339.5 220.7C340.6 220.1 342.4 219.4 345.2 219.3C349.5 219.5 354.4 220.9 359.9 223.5C363.9 225.4 369.5 225.1 373.5 223.5C379.8 221.2 383.8 216.7 383.9 211.6C384 205.1 378.2 199.5 366.7 195C365.3 194.4 363.6 193.9 361.8 193.3C355.3 191.2 345.4000000000001 188.1 342.8 181.8C341.4000000000001 178.5 342 174.3 344.4000000000001 169.3C344.5000000000001 169.2 344.5000000000001 169.1 344.6 169C345.5 167 366.3 119.5 412.6 111.9C416.6 110.9 419.7000000000001 106.4 417.5 101.1z" glyph-name="snapchat" horiz-adv-x="496" unicode=""/><glyph d="M111.4 191.7L117.2 126.7L111.4 58.4C111.1 55.9 109.2 54 107 54S102.8 55.9 102.8 58.4L97.2 126.7L102.8 191.7C102.8 193.9 104.7 195.9 107 195.9C109.2 195.9 111.1 193.9 111.4 191.7zM132.8 237.3C130 237.3 128.1 235.1 127.8 232.3L122.8 126.7L127.8 58.4C128.1 55.6 130 53.4 132.8 53.4C135.3 53.4 137.5 55.6 137.5 58.4L143.3 126.7L137.5 232.3C137.5 235.1 135.3 237.3 132.8 237.3zM158.3 261.4C155.2 261.4 153 259.2 152.7 256.1L148.3 126.1L152.7 58.3C153 55.1999999999999 155.2 52.9999999999999 158.3 52.9999999999999C161.1 52.9999999999999 163.6 55.1999999999999 163.6 58.3L168.9 126.1L163.6 256.1C163.6 259.2 161.1 261.4 158.3 261.4zM7.2 164.8C5.8 164.8 5 163.7 4.7 162.3L0 126.7L4.7 91.7C5 90.3 5.8 89.2 7.2 89.2S9.4 90.3 9.7 91.7L15.3 126.7L9.7 162.3C9.4 163.7 8.6 164.8 7.2 164.8zM30.8 186.7C29.4 186.7 28.3 185.6 28.3 184.2L21.9 126.7L28.3 70.6C28.3 68.9 29.4 67.8 30.8 67.8S33.3 68.9 33.6 70.3L40.8 126.6999999999999L33.6 184.1999999999999C33.3 185.5999999999999 32.2 186.6999999999999 30.8 186.6999999999999zM56.1 198.1C54.4 198.1 53 196.7 52.8 194.8L47 126.7L52.8 60.9C53.1 59.2 54.5 57.8 56.1 57.8C57.8 57.8 59.2 59.1999999999999 59.2 60.9L66.1 126.7L59.2 194.8C59.2 196.7 57.8 198.1 56.1 198.1zM81.4 200.3C79.5 200.3 77.8 198.9 77.8 196.7L72 126.7L77.8 58.9C77.8 56.7 79.5 55.3 81.4 55.3S85 56.6999999999999 85.3 58.9L91.7 126.7L85.3 196.7C85 198.9 83.3 200.3 81.4 200.3zM322.8 311.2C321.7 312 320 312.6 318.6 312.6C316.4000000000001 312.6 314.4000000000001 311.8 313 310.7C311.1 309 309.9 306.5 309.7 304V303.2L306.4 126.5L308.1 94L309.8 62.3C310.1 57.6 314 53.7 318.7 53.7S327.3 57.6 327.3 62.3L331.2 126.5L327.3 304C326.9 307 325.3 309.8 322.8 311.2zM296.1 295.9C294.7000000000001 296.7 293.3 297.3 291.7000000000001 297.3S288.6 296.7 287.3000000000001 295.9C285.1000000000001 294.5 283.7000000000001 292 283.7000000000001 289.2L283.4000000000001 287.5L280.6 126.7S280.6 126.4 283.7000000000001 61.1V60.8C283.7000000000001 59.1 284.3000000000001 57.5 285.4000000000001 56.1C287.1 54.2 289.3 53 291.8 53C294 53 296 54.1 297.4000000000001 55.5C299.1 56.9 299.9000000000001 58.8 299.9000000000001 61.1L300.2000000000001 67.8L303.3000000000001 126.4L300.0000000000001 289.2000000000001C299.7000000000001 292.0000000000001 298.3000000000001 294.5000000000001 296.1000000000001 295.9000000000001zM184.7 273.4C181.6 273.4 178.9 270.6 178.9 267.3L174.5 126.7L178.9 59.5C179.2 56.2 181.7 53.7 184.7 53.7C188 53.7 190.5 56.2 190.8 59.5L195.8 126.7L190.8 267.3C190.6 270.6 188.1 273.4 184.7 273.4zM561.4 210.6C550.6 210.6 540.3 208.4 530.8 204.5C524.4 275.3 464.9999999999999 330.9 392.5 330.9C374.7 330.9 357.5 327.6 342.2 321.5C336.0999999999999 319.3 334.3999999999999 317.1 334.3999999999999 312.3V62.6C334.3999999999999 57.6 338.2999999999999 54 343 53.4H561.3C604.5999999999999 53.4 639.9 88.4 639.9 131.7000000000001C640 175.3000000000001 604.6999999999999 210.6000000000001 561.4 210.6000000000001zM264.7 270.9C260.5 270.9 257.2 267.6 256.9 263.1L253.6 126.4L256.9 60.8C257.2 56.6 260.5 53.3 264.7 53.3C268.9 53.3 272.2 56.6 272.2 60.8L276.1 126.4L272.2 263.1C271.9 267.6 268.9 270.9 264.7 270.9zM211.1 278.7C207.8 278.7 204.7 275.6 204.7 272L200.8 126.7L204.7 59.8C205 56.1999999999999 207.8 53.4 211.1 53.4C214.7 53.4 217.5 56.2 217.8 59.8L222.2 126.6999999999999L217.8 272C217.5 275.5999999999999 214.7 278.7 211.1 278.7zM237.8 275.3C233.9 275.3 230.9 272.2 230.9 268.4L227 126.7L230.9 60.3C231.2 56.4 234 53.4 237.8 53.4S244.7 56.5 244.7 60.3L248.9 126.6999999999999L244.7 268.3999999999999C244.7 272.3 241.7 275.3 237.8 275.3z" glyph-name="soundcloud" horiz-adv-x="640" unicode=""/><glyph d="M406.2 245C406.2 357.1 315.3 448 203.2 448C91.1 448.2 0.2 357.4 0 245.4C-0.1 157.2 56.6 79.1 140.5 52V-49.7C140.5 -57.6 146.9 -64 154.8 -64H251.2C259.1 -64 265.5 -57.6 265.5 -49.7V51.9C349.2 78.9 406.1 156.9 406.2 245zM134.6 245C134.6 335.8 271.9 335.8 271.9 245C271.8 155.1 134.6 154 134.6 245z" glyph-name="sourcetree" horiz-adv-x="406.2" unicode=""/><glyph d="M55.01 56.22C-24.4 144.41 -16.95 280.5800000000001 71.65 360.36S296.4500000000001 433.32 375.86 345.12S447.82 120.76 359.2200000000001 40.98C340.48 24.11 423.25 -2.11 401.24 -11.28C319.18 -45.4899999999999 147.33 -46.32 55.01 56.22zM268.32 267.8200000000001L306.82 308.68C297.21 317.57 274.8 335.51 230.65 336.28C178.32 337.19 134.79 307.98 133.88 256.32C133.68 244.99 134.17 219.6 163.3 201.49C197.76 180.07 249.82 179.98 249.2800000000001 149.23C248.9100000000001 127.9500000000001 222.86 123.42 210.69 123.63C207.71 123.68 180.46 124.09 163.0800000000001 148.25L123.1300000000001 105.64C151.2900000000001 78.63 182.12 73.02 206.62 72.59C216.85 72.41 303.04 72.26 304.4600000000001 153.59C304.74 169.4 302.3900000000001 193.31 275.6 210.18C241.24 231.82 190.6400000000001 229.63 191.17 259.93C191.58 283.18 222.13 285.3 228.7 285.19C229.13 285.19 255.32 284.93 268.32 267.82z" glyph-name="speakap" horiz-adv-x="430.87" unicode=""/><glyph d="M248 440C111.1 440 0 328.9 0 192S111.1 -56 248 -56S496 55.1 496 192S384.9 440 248 440zM348.7 75.1C344.5 75.1 341.9 76.4 338 78.7000000000001C275.6 116.3000000000001 203 117.9 131.3 103.2000000000001C127.4 102.2000000000001 122.3 100.6 119.4 100.6C109.7 100.6 103.6 108.3 103.6 116.4C103.6 126.7000000000001 109.7 131.6 117.2 133.2000000000001C199.1 151.3000000000001 282.8 149.7000000000001 354.2 107.0000000000001C360.3 103.1000000000001 363.9 99.6000000000001 363.9 90.5000000000001S356.8 75.1000000000001 348.7 75.1000000000001zM375.6 140.7000000000001C370.4 140.7000000000001 366.9 143.0000000000001 363.3 144.9C300.8 181.9 207.6 196.8000000000001 124.7 174.3C119.9 173 117.3 171.7 112.8 171.7C102.1 171.7 93.4 180.4 93.4 191.1S98.6 208.9 108.9 211.8C136.7 219.6 165.1 225.4 206.6999999999999 225.4C271.5999999999999 225.4 334.3 209.3 383.7 179.9C391.8 175.1 395 168.9 395 160.2C394.8999999999999 149.4 386.5 140.7 375.6 140.7zM406.6 216.9C401.4 216.9 398.2 218.2000000000001 393.7 220.8000000000001C322.5 263.3000000000001 195.2 273.5000000000001 112.8 250.5000000000001C109.2 249.5000000000001 104.7 247.9000000000001 99.9 247.9000000000001C86.7 247.9000000000001 76.6 258.2000000000001 76.6 271.5C76.6 285.1 85 292.8000000000001 94 295.4000000000001C129.2 305.7000000000001 168.6 310.6 211.5 310.6C284.5 310.6 361 295.4000000000001 416.9 262.8C424.7 258.3 429.8 252.1 429.8 240.2C429.8 226.6 418.8 216.9 406.6 216.9z" glyph-name="spotify" horiz-adv-x="496" unicode=""/><glyph d="M186.12 104.66C176.47 95.0100000000001 176.47 79.37 186.12 69.72C195.77 60.0700000000001 211.41 60.0700000000001 221.06 69.72L378.24 226.9C397.5300000000001 246.19 428.81 246.19 448.1 226.9S467.39 176.33 448.1 157.04L293.95 2.9C313.22 -16.39 344.48 -16.41 363.77 2.86L363.81 2.9L483.06 122.14C521.65 160.73 521.65 223.28 483.06 261.86C444.4700000000001 300.45 381.91 300.45 343.3400000000001 261.86L186.12 104.66zM430.65 209.46C421 219.1100000000001 405.36 219.1100000000001 395.72 209.46L238.52 52.28C219.25 32.99 187.99 32.97 168.7 52.23L168.65 52.28C159.01 61.92 143.38 61.93 133.73 52.29L133.72 52.28C124.07 42.64 124.06 27 133.7 17.35L133.72 17.33C172.3 -21.24 234.86 -21.24 273.44 17.33L430.64 174.53C440.2899999999999 184.18 440.2899999999999 199.82 430.6499999999999 209.46zM168.66 122.1300000000001L325.84 279.3100000000001C335.48 288.9600000000001 335.48 304.6 325.84 314.2500000000001C316.2 323.8900000000001 300.57 323.8900000000001 290.93 314.2500000000001L133.72 157.07C114.44 137.78 83.16 137.77 63.87 157.06L63.86 157.07C44.57 176.35 44.55 207.61 63.83 226.91L63.86 226.94L218.03 381.11C198.75 400.4 167.48 400.41 148.18 381.13L148.16 381.11L28.93 261.86C-9.65 223.27 -9.65 160.72 28.93 122.14C67.53 83.55 130.06 83.55 168.66 122.13zM81.33 174.53C90.97 164.8900000000001 106.6 164.8900000000001 116.24 174.53L273.45 331.7200000000001C292.73 351.01 324 351.0200000000001 343.29 331.74L343.31 331.7200000000001C352.9599999999999 322.0700000000001 368.6 322.0700000000001 378.24 331.7200000000001C387.89 341.37 387.89 357.01 378.24 366.6500000000001C339.65 405.24 277.11 405.24 238.52 366.6500000000001L81.33 209.46C71.68 199.82 71.68 184.18 81.32 174.53H81.33z" glyph-name="squarespace" horiz-adv-x="512" unicode=""/><glyph d="M17.7 115.7H430.4V93.7C430.4 56 401.1 25.7 365.1 25.7H346.1L259.3 -64V25.7H83C47 25.7 17.7 56 17.7 93.7V115.7zM17.7 139.3H430.4V224.3H17.7V139.3zM17.7 248.7H430.4V333.7000000000001H17.7V248.7zM365 448H83C47 448 17.7 417.7 17.7 380.3V358H430.4V380.3C430.3 417.7 401 448 365 448z" glyph-name="stack-exchange" horiz-adv-x="448" unicode=""/><glyph d="M293.7 148L112.5 232.5L129.2 269L310.5 184.3L293.7 148zM341.7 224L188.2 352.3L162.7 321.5L316.2 193.2L341.7 224zM381.3 255.7L262 416L230 392L349.3 231.7L381.3 255.7zM290.7 137L95 178.3L86.8 139L282.5 98L290.7 137zM322.3 8H42.7V128H2.7V-32H362.2V128H322.2V8zM282.5 88H82.5V48.3H282.5V88z" glyph-name="stack-overflow" horiz-adv-x="384" unicode=""/><glyph d="M201.6 320.6C205.7 323.8 211.9 323.6 215.4 320.1L385.4 152.8L382.7 155.5L427 114.1999999999999C430.7 110.6999999999999 430.3 105.1999999999999 426.3 101.9999999999999L228.3 -61.9000000000001C218.4 -69.5000000000001 211 -62.7000000000001 211 -62.7000000000001L2.3 133.4C-1.2 136.9 -0.7 142.4 3.5 145.6L49.3 180.5C53.5 183.6999999999999 59.7 183.5 63.2 180L215.1 32.4999999999999C218.8 28.9999999999999 225.1 28.8 229.3 32.1L322.5 106.1C326.6 109.3 327 114.8 323.4 118.3L239.4 199.6C235.8 203.1 229.5 203.3 225.4 200.1L225.3 200C221.2 196.8 214.9 197 211.3 200.5L143.2 264.8C139.7 268.3 140.1 273.8 144.3 277L201.6 320.5999999999999M216.4 63.3C220.1 59.8 226.5 59.6 230.7 62.9L280.9 101.7L280.6 102L288.3 108C292.5 111.2 292.9 116.7 289.2 120.2L232.1 174.6C228.5 178.1 222.0999999999999 178.3 217.9 175.1L217.8 175C213.6 171.8 207.3 171.8999999999999 203.6 175.3999999999999L109 267.2C105.4 270.7 105.9 276.1 110.1 279.4L202.3 350.9C206.4 354.1 212.6 353.9 216.2 350.4L376.6 191.4C380.3 187.9 386.6 187.7 390.7000000000001 190.9L436.5000000000001 226.7C440.6000000000001 229.9 440.9000000000001 235.4 437.2000000000001 238.9L226.7 445.5C225.2 446.7 218.7 451 210.4 444.4L3.6 282.3C-0.6 279.1 -1.2 273.6 2.4 270.1L44.7 228.4000000000001" glyph-name="staylinked" horiz-adv-x="440" unicode=""/><glyph d="M185.2 91.5C192.9 110 184.2 131.2 165.6 138.9L136.1 151.1C147.5 155.4 160.4 155.6 172.5 150.6C184.7 145.5 194.1 136 199.2 123.9C204.2 111.7 204.2 98.3 199.1 86.2C188.6 61.1 159.7 49.2 134.5 59.7C122.9 64.5 114.1 73.3 109.1 83.9L137.6 72.1C156.2 64.3 177.5 72.9999999999999 185.2 91.4999999999999zM400 416H48C21.5 416 0 394.5 0 368V207.3L116.6 159.2C128.6 167.4 142.8 171.3 157.3 170.5L212.7 250.7V251.8C212.7 300 252 339.3 300.3 339.3S387.9 300 387.9 251.8C387.9 202.6 347 163.1 298.3 164.3L219.3 107.9999999999999C220.9 69.4999999999999 190.2 39.1999999999999 153.6 39.1999999999999C121.8 39.1999999999999 95.1 61.8999999999999 89.1 91.8999999999999L0 128.8V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM300.3 193.5C268.1 193.5 241.9 219.6 241.9 251.8S268.1 310.1 300.3 310.1S358.7 283.9000000000001 358.7 251.8S332.5 193.5 300.3 193.5zM300.4000000000001 208.1C324.6 208.1 344.3 227.7 344.3 251.9C344.3 276.1 324.7 295.7 300.4000000000001 295.7C276.2000000000001 295.7 256.5000000000001 276.1 256.5000000000001 251.9C256.5000000000001 227.7 276.2000000000001 208.1 300.4000000000001 208.1z" glyph-name="steam-square" horiz-adv-x="448" unicode=""/><glyph d="M395.5 270.5C395.5 236.7 368 209.5 334.5 209.5C300.7 209.5 273.5 236.8 273.5 270.5S300.8 331.5 334.5 331.5C368 331.5 395.5 304.3 395.5 270.5zM448 270.3C448 207.3 397 156.5 334.3 156.5L225 76.7C221 33.7 184.5 -0.1 140.5 -0.1C100 -0.1 65.8 28.7 57.5 66.9L0 90V197.3L97.2 158C112.3 167.2 129.4 171.3 149.2 169.5L220.2 271.2C220.7 333.5 271.7 384 334.2 384C397 384 448 333 448 270.3zM203 85C203 119.7 175.2 147.5 140.5 147.5C136 147.5 131.5 147 127 146L153 135.5C178.5 125.3 191 96.5 180.7 71C170.5 45.5 141.5 33 116 43.5C105.8 47.5 95.5 51.8 85.3 55.7C95.8 36 116.5 22.5 140.5 22.5C175.2 22.5 203 50.3 203 85zM410.5 270.3C410.5 312.3 376.2 346.5 334.3 346.5C292 346.5 257.8 312.3 257.8 270.3C257.8 228.1 292.1 194.1 334.3 194.1C376.2 194 410.5 228.0000000000001 410.5 270.3z" glyph-name="steam-symbol" horiz-adv-x="448" unicode=""/><glyph d="M496 192C496 55 384.8 -56 247.6 -56C133.8 -56 38 20.3 8.6 124.4L103.8 85.1C110.2 52.9999999999999 138.7 28.7 172.7 28.7C211.9 28.7 244.6 61.1 242.9 102.2L327.4 162.4C379.5 161.1 423.2 203.3 423.2 255.9C423.2 307.5 381.2 349.4 329.5 349.4S235.8 307.4 235.8 255.9V254.7L176.6 169C161.1 169.9 145.9 165.6 133.1 156.9L0 211.9C10.2 339.6 117.1 440 247.6 440C384.8 440 496 329 496 192zM155.7 63.7L125.2 76.3A52.79 52.79 0 0 1 152.4 50.5C179.3 39.3 210.2 52.1 221.4 78.9C226.8 91.9 226.9 106.2 221.5 119.2C216.1 132.2 206 142.4 193 147.8C180.1 153.2 166.3 153 154.1 148.4L185.6 135.4C205.4 127.2000000000001 214.8 104.5000000000001 206.5 84.7000000000001C198.2 64.8000000000001 175.5 55.5000000000001 155.7 63.7000000000001zM329.5 193.6C295.1 193.6 267.1 221.6 267.1 255.9S295.1 318.2 329.5 318.2S391.9 290.2 391.9 255.9S364 193.6 329.5 193.6zM329.6 209.2C355.5 209.2 376.5 230.2 376.5 256C376.5 281.9 355.5 302.8 329.6 302.8S282.7000000000001 281.8 282.7000000000001 256C282.8000000000001 230.2 303.8000000000001 209.2 329.6 209.2z" glyph-name="steam" horiz-adv-x="496" unicode=""/><glyph d="M353.1 -61.8C347.2000000000001 -64.7 321 -65 316.6 -61.3C312.5 -58.3 314.4000000000001 -49.4 315.1 -46.3C317.3 -31.3 312.6 -38.4 305.3 -34.8C302.2 -33.3 301.2 -29.3 300.7 -24.8C300.2 -23.3 299.7 -22.3 299.2 -21.3C297.5 -10.6 306 12.3 307.4 22.1C312.3 45.8 306.7 59.3 308.9 68.9999999999999C312.6 85.1999999999999 313 72.4999999999999 313 98.8999999999999C311.6 124.7999999999999 316.3 135.7999999999999 313.5 137.7999999999999C298.7 137.7999999999999 249.2 127.0999999999999 201.3 135.7999999999999C155.2 144.6999999999999 141.9 164.7999999999999 135.9 166.6999999999999C125.6 171.1999999999999 112.7 166.1999999999999 108.6 159.6999999999999C108.5 159.5999999999999 73.6 89.0999999999999 69 71.8999999999999C62.8 51.3999999999999 68.5 24.4999999999999 73.1 5.0999999999999C73.1 4.9999999999998 77.6 -9.5000000000002 83.4 -14.4000000000001C85.5 -15.9000000000001 88.5 -16.9000000000001 90.6 -18.9000000000001C93.4 -21.6000000000001 100 -34.1000000000001 100.4 -34.9000000000001C103 -39.4000000000001 104 -42.9000000000001 98.9 -45.4000000000001C95.3 -47.4000000000001 89.6 -47.9000000000001 84.5 -47.9000000000001C81.9 -48.4000000000001 83 -51.4000000000001 81.4 -52.9000000000001C78.5 -55.7000000000002 60.7 -59.0000000000002 51.5 -55.4000000000001C48.9 -54.4000000000001 45.8 -52.4000000000001 45.3 -50.4000000000001C43.8 -46.4000000000001 47.4 -41.4000000000001 44.3 -37.9000000000001C39.8 -35.0000000000002 31.2 -35.9000000000001 27.3 -25.9000000000001C25.1 -20.5000000000002 24.7 -18.3000000000001 24.7 23.4999999999998C24.7 33.1999999999998 18.8 62.1999999999998 16.5 70.3999999999998C15 75.8999999999998 15 81.8999999999998 16.5 86.3999999999998C16.8 87.2999999999998 20.6 90.9999999999998 20.6 99.3999999999998C19.6 100.8999999999998 16 99.8999999999998 15.5 100.8999999999998C5.1 181.4999999999998 9.6 179.8999999999998 7.8 199.1999999999998C6.3 215.1999999999998 -3.1 243.0999999999998 1.1 263.4999999999999C1.6 265.8999999999999 4.5 284.4999999999999 25.3 302.3999999999999C56.3 329.0999999999999 73.7 340.6999999999998 184.3 313.8999999999999C185.4 313.4999999999999 250.6 292.7999999999999 295 322.8999999999999C310.5 334.1999999999998 323.8 334.1999999999998 330.5 338.8999999999999C330.6 338.9999999999999 392.2 390.9999999999999 417.5 404.1999999999998C464.7 433.5999999999999 487.4 420.8999999999998 492.6 422.1999999999998C497.3 423.1999999999998 506 447.9999999999999 509.6 447.9999999999999C515.1 447.9999999999999 511.2 427.7999999999999 513.2 422.0999999999999C513.7 420.0999999999999 516.8000000000001 417.0999999999999 519.4000000000001 417.0999999999999C521.7 417.0999999999999 521.1000000000001 417.8999999999999 529.7 422.0999999999999C538.1 427.4999999999999 544.6 439.6999999999998 550.3000000000001 439.0999999999999C562.0000000000001 437.4999999999999 531.3000000000001 397.4999999999999 531.3000000000001 392.1999999999998C531.3000000000001 390.1999999999998 531.5000000000001 391.3999999999999 535.9000000000001 382.6999999999998C538.5000000000001 377.1999999999998 540.5000000000001 369.1999999999998 542.1000000000001 362.6999999999998C550.4000000000001 332.9999999999999 547.8000000000002 348.0999999999999 555.5000000000001 325.7999999999999C575.7000000000002 275.6999999999998 576.1000000000001 280.5999999999999 576.1000000000001 272.8999999999999C576.1000000000001 265.3999999999999 572.0000000000001 261.8999999999999 568.9000000000001 256.3999999999999C567.4000000000001 253.3999999999999 564.3000000000001 248.8999999999999 561.7 248.3999999999999C559 247.6999999999999 568.7 249.8999999999999 548.3000000000001 245.8999999999999C541.1 244.8999999999999 534.9000000000001 250.3999999999999 533.4000000000001 255.3999999999999C531.8000000000001 260.0999999999998 536.2 265.4999999999999 521.6000000000001 278.2999999999999C511.3000000000001 288.2999999999999 500.5000000000001 289.5999999999999 489.7000000000002 295.2999999999999C479.9000000000001 300.9999999999999 477.8000000000002 294.2999999999999 471.7000000000002 287.2999999999999C453.7000000000002 264.3999999999999 437.7000000000002 240.3999999999999 419.7000000000002 217.4999999999998C407.9000000000002 202.4999999999998 395.5000000000002 187.0999999999999 386.2000000000002 170.0999999999999C382.3000000000002 163.2999999999999 376.7000000000002 141.9999999999998 375.9000000000002 140.1999999999999C369.7000000000002 122.4999999999999 370.4000000000002 114.3999999999999 359.4000000000002 71.8999999999999C356.3000000000002 61.8999999999999 353.7000000000002 50.4999999999999 350.7000000000002 39.4999999999999C348.5000000000002 32.6999999999999 343.3000000000002 -9.8000000000001 350.2000000000002 -19.9000000000001C352.3000000000002 -23.4000000000001 358.9000000000002 -24.4000000000001 361.5000000000002 -27.9000000000001C361.6000000000002 -28.0000000000001 371.1000000000002 -46.1000000000001 370.8000000000002 -47.9000000000001C370.8000000000002 -54.0000000000001 361.4000000000002 -53.5000000000001 359.5000000000002 -54.4000000000001C354.7000000000002 -57.3000000000001 355.7000000000002 -60.3000000000001 353.1000000000002 -61.8000000000001" glyph-name="sticker-mule" horiz-adv-x="576" unicode=""/><glyph d="M301.6 156L257.7000000000001 67.8L213.1000000000001 156H145.5000000000001L257.7000000000001 -64L369.2000000000001 156H301.6zM151.4 448L0 156H89.2L151.4 272.1L213.1 156H301.6L151.4 448z" glyph-name="strava" horiz-adv-x="369.2" unicode=""/><glyph d="M144.3 293.4C144.3 315.7000000000001 162.9 324.3 192.7 324.3C236.1 324.3 291.2000000000001 311 334.6 287.6V421.9C287.3 440.8 240.1 448 192.8 448C77.1 448 0 387.6 0 286.6C0 128.7 216.8 154.3 216.8 86.2C216.8 59.8 193.9 51.3 162.1 51.3C114.9 51.3 53.9 70.8 6 96.8V-31.7C59 -54.5 112.8 -64.1 162 -64.1C280.6 -64.1 362.3000000000001 -13.1 362.3000000000001 89.5C362.3000000000001 259.7 144.3000000000001 229.2 144.3000000000001 293.4" glyph-name="stripe-s" horiz-adv-x="362.3" unicode=""/><glyph d="M640 186.4C640 231.9 618 267.8 575.8 267.8S507.9 231.9 507.9 186.7C507.9 133.2 538.1999999999999 108.5 581.4 108.5C602.6 108.5 618.5 113.3 630.6 120V153.4C618.5 147.3 604.6 143.6 587 143.6C569.7 143.6 554.5 149.7 552.5 170.5H639.4C639.6 172.8 640 182.1 640 186.3999999999999M552.1 203.1999999999999C552.1 223.1999999999999 564.4 231.6 575.5 231.6C586.4 231.6 598 223.1999999999999 598 203.1999999999999H552.1zM439.2000000000001 267.8C421.8000000000001 267.8 410.6 259.5999999999999 404.4000000000001 253.8999999999999L402.1 264.8999999999999H363V60.0999999999999L407.4 69.4999999999999L407.5 119.6999999999999C413.9 114.9999999999999 423.4 108.4999999999999 438.9 108.4999999999999C470.7 108.4999999999999 499.7 131.6999999999999 499.7 188.0999999999999C499.8 239.6999999999999 470.4 267.7999999999999 439.2 267.7999999999999M428.6 145.2999999999999C418.2 145.2999999999999 412 149.0999999999999 407.7 153.6999999999999L407.4 219.6999999999999C412 224.7999999999999 418.4 228.4999999999999 428.6 228.4999999999999C444.8 228.4999999999999 455.9999999999999 210.2999999999999 455.9999999999999 187.0999999999999C456.1 163.1999999999999 445.1 145.2999999999999 428.6 145.2999999999999M346.4 324V287.8L301.8 278.3V314.5L346.4 324M301.9 264.8H346.5V111.6H301.9V264.8zM254.1 251.7C264.5 270.8 285.2 266.9 291.2 264.8V224C285.5 225.8 267.8 228.5 257.3 214.7V111.6H213V264.8H251.4L254.1 251.7M165.1 264.8H198.8V227H165.1V163.8C165.1 137.6 193.1 145.8 198.8 148.1V114.3C192.9 111.1 182.2 108.4 167.6 108.4C141.3 108.4 121.5 125.4 121.5 151.7000000000001L121.7 294.1L165 303.3000000000001L165.1 264.8000000000001zM44.9 219.7C44.9 199.7 112.8 209.2 112.8 156.3C112.8 124.3 87.4 108.5 50.5 108.5C35.2 108.5 18.5 111.5 2 118.6V158.6C16.9 150.5 35.9 144.4 50.6 144.4C60.5 144.4 67.6 147.1 67.6 155.3C67.6 176.5 0.1 168.5 0.1 217.7C0.1 249.1 24.1 267.9000000000001 60.1 267.9000000000001C74.8 267.9000000000001 89.5 265.6 104.2 259.8000000000001V218C90.7 225.3 73.5 229.4 60 229.4C50.7 229.3 44.9 226.6 44.9 219.7" glyph-name="stripe" horiz-adv-x="640" unicode=""/><glyph d="M480.3 260.3L484.5 232.3V204.3L459.4 160.2L419.6 81.8L363.5 14.3L284.4 -23.5000000000001L266.7 -48.0000000000001L259 -60.0000000000001L249.4 -64S266.7 -0.4 268.8 -0.4C270.9000000000001 -0.4 289.1 -1.1 289.1 -1.1L355.8 37.5000000000001L263.3 11.4L207.4 -25.4L184.6 -53.4L178 -54.8L198.8 18.8000000000001L205.7 24.3000000000001L226.4 11.4000000000001L314.7 56.6000000000001L371.5 108.1000000000001L386.3 176.5000000000001L260.9 153.2000000000001L276.1 171.4000000000001L102.7 224.7000000000001L184.6 235.2000000000001L18.6 358.1000000000002L133.5 340L32.2 448L285.1 321.4L253.6 359.4L378 285L234.7 384L253.4 345.6L203.8 363.7L158.3 448L352.9 326L310 381.8L418 285.4L430 294.3L409 310.7L413.2 348.5L451 358.9L480.2 334.2L491.7 330L484.7 323.8L493.2 311.8L480.1 304.4L469.8 284.2000000000001L480.3 260.3z" glyph-name="studiovinari" horiz-adv-x="512" unicode=""/><glyph d="M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM256 262.5C246.2 262.5 238.2 254.5 238.2 244.7V137.8C238.2 96.9 204.3 63.9 163.3 63.9C121.9 63.9 88.4 97.4 88.4 138.8V185.3H145.7V139.5C145.7 129.5 153.7 121.6999999999999 163.5 121.6999999999999S181.3 129.5999999999999 181.3 139.5V247.9C181.3 287.9 215.5 320 256 320C296.7 320 330.7 287.7 330.7 247.4V223.7L296.6 213.6L273.7 224.3V244.9C273.8 254.5 265.8 262.5 256 262.5zM423.6 138.9C423.6 97.5 390.1 64 348.7000000000001 64C307.5000000000001 64 273.8000000000001 97.2 273.8000000000001 138.2V185L296.7000000000001 174.3L330.8000000000001 184.4V137.3C330.8000000000001 127.5 338.8000000000001 119.7 348.6000000000001 119.7S366.4000000000001 127.6 366.4000000000001 137.3V185.3H423.7000000000001C423.6000000000001 139.4 423.6000000000001 138.9 423.6000000000001 138.9z" glyph-name="stumbleupon-circle" horiz-adv-x="496" unicode=""/><glyph d="M502.9 182V112.3C502.9 50.2 452.6 -0.1 390.5 -0.1C328.7 -0.1 278.1 49.7 278.1 111.2V181.4L312.4000000000001 165.4L363.5000000000001 180.6V110C363.5000000000001 95.3 375.5000000000001 83.5 390.2000000000001 83.5S417 95.3 417 110V182H502.9zM278.2 240.2L312.5 224.2L363.6 239.4V275C363.6 335.5 312.5 384 251.5000000000001 384C190.7000000000001 384 139.4 335.8 139.4 275.8V113.4C139.4 98.5 127.4 86.7 112.7 86.7S86 98.5 86 113.4V182H0V112.3C0 50.3 50.3 0 112.4 0C174 0 224.8 49.5 224.8 110.8V271.1C224.8 285.8 236.8 297.8 251.5 297.8S278.2 285.8 278.2 271.1V240.2z" glyph-name="stumbleupon" horiz-adv-x="512" unicode=""/><glyph d="M448 416C364.7 405 281.2 394 198 383C106 370.5 34.7 296.3 29 203C25.7 147.5 47 93.5 86.8 54.8L0 -32C83.3 -21 166.5 -10 249.8 1C341.6 13.5 413.1 87.8 418.5 180.8C422 236.3 400.5 290.3 360.8 329L448 416zM368.3 183.7C364.1 104.2 294.3 44.5 215.5 49.2C136 53.9 74.8 120.2 79.2 200.2C83.7 279.4 153.5 339.5 232.2 334.7C311.5 330 372.7 263.7 368.3 183.7z" glyph-name="superpowers" horiz-adv-x="448" unicode=""/><glyph d="M640 185.5C640 121.4 531 69.4 396.5 69.4C371.7 69.4 347.9 71.2 325.4 74.4C333.1 74 340.9 73.8 348.8 73.8C483.3 73.8 592.3 130.6999999999999 592.3 200.9C592.3 230.3 573.1999999999999 257.3 541.0999999999999 278.9C601.0999999999999 257.8 639.9999999999999 223.8 639.9999999999999 185.5zM47.7 220.1C47.6 290.3 156.5 347.4 291 347.7C298.9 347.7 306.6 347.5 314.3 347.2C291.8 350.4 268 352.1 243.3 352.1C108.8 351.7 -0.1 299.5 0 235.4C0.1 197.1 39.1 163.1 99.3 142.1C67 163.6 47.8 190.7000000000001 47.7 220.1zM107.9 180.2S118.4 167 137.2 167C155.1 167 165.6 178.5 165.6 192.1C165.6 220.1 125.4 217.2 125.4 231.8C125.4 237.2 130.7 240.9 137.9 240.9C143.6 240.9 149.2000000000001 238.3 149.2000000000001 234.3V230.4H163.4V238.3C163.4 250.4 148 255.1 138 255.1C121.5 255.1 109.5 244.9000000000001 109.5 231.0000000000001C109.5 204.4 149.7000000000001 205.6 149.7000000000001 191.1C149.7000000000001 184.5 143.9 181 137.4 181C125.5 181 116.7 191.1 116.7 191.1L107.9 180.2000000000001zM228.7 253.8V199.4C228.7 188.1 221.6 181.6 210.9 181.6C200.2 181.6 193.1 188.1 193.1 199.3V253.8H177.3V198.8C177.3 179.9 190.7 166.9 211 166.9C231.1 166.9 244.4 179.9 244.4 198.8V253.8H228.7zM263.1 168.4H278.9V197.9H294.4C310.4 197.9 321.6 209.4 321.6 226S310.4 253.8 294.4 253.8H255.3V240.4H263.1V168.4zM278.9 211.4V240.5H291.8C300.5 240.5 305.5 234.8 305.5 226.1C305.5 217.2 300.3999999999999 211.4 291.5 211.4H278.8999999999999zM335.9 168.4H351.7V197.9H367.2C383.2 197.9 394.4 209.4 394.4 226S383.2 253.8 367.2 253.8H328.1V240.4H335.9V168.4zM351.6 211.4V240.5H364.5C373.2 240.5 378.2 234.8 378.2 226.1C378.2 217.2 373.2 211.4 364.2 211.4H351.5999999999999zM408.7 176.6C408.7 170.8 411.1 168.4 416.9 168.4H454.5C460.3 168.4 462.7 170.8 462.7 176.6V189.6H448.4V184.4C448.4 182.7 447.4 181.8 445.8 181.8H427.2C425.5 181.8 424.5999999999999 182.8 424.5999999999999 184.4V245.6C424.5999999999999 251.3 422.2 253.8 416.3999999999999 253.8H401V240.4H406.2C407.9 240.4 408.8 239.4 408.8 237.8V176.6zM472.1 176.6C472.1 170.8 474.4999999999999 168.4 480.3 168.4H519C524.7 168.4 527.2 170.8 527.2 176.6V189.6H512.9000000000001V184.4C512.9000000000001 182.7 511.9000000000001 181.8 510.3000000000001 181.8H490.6000000000001C488.9000000000001 181.8 488.0000000000001 182.8 488.0000000000001 184.4V204.7H515.7V218.1H488V240.5H507.2C508.9 240.5 509.8 239.5 509.8 237.9V232.7H524V245.7C524 251.4 521.5 253.9 515.8 253.9H464.1999999999999V240.5H471.9999999999999V176.6zM531 252.6V246.7H532.6V252.6H535.3000000000001V253.8H528.3000000000001V252.6H531.0000000000001zM536.7 253.8V246.7H538.2V252.4L540.5 246.7H541.8L544.0999999999999 252.4V246.7H545.5999999999999V253.8H543.3L541.1999999999999 248.7L539.0999999999999 253.8H536.6999999999999z" glyph-name="supple" horiz-adv-x="640" unicode=""/><glyph d="M467.1 345.2S466.8 326.9 466.8 324.9C457.7 327.9 392.4 349 331.1 351.2C279.2000000000001 353 208.3 355.5 108.1 293.9C88.7 281.5 34.2 247.8 8.5 184.2C3 170.9 -4.1 140.9 3 112.8C6.1 100.5 11.8 88.2 19.5 77.1C36.9 52.1 66.1 35.5 97.6 32.7C142 28.8000000000001 175.7 48.7 187.6 86.0000000000001C195.8 111.8000000000001 187.6 149.6000000000001 156.1 168.9000000000001C130.5 184.6000000000001 102.8 181.0000000000001 86.9 170.5000000000001C73 161.3000000000001 65.1 147.0000000000001 65.3 131.3000000000001C65.6 103.5000000000001 89.6 88.7000000000001 106.8 88.7000000000001C111.8 88.7000000000001 116.9 89.5000000000001 122.6 91.4000000000001C129.1 93.2000000000001 135.9 97.9000000000001 135.9 106.3000000000001C135.9 118.4000000000001 124.3 121.1000000000001 119.1 120.2000000000001C116.2 119.7000000000001 114.6 118.2000000000001 107.3 117.8000000000001C105.3 118.0000000000001 95.3 120.9000000000001 95.3 131.8000000000001V131.9000000000001C95.5 144.2000000000001 108.5 149.9000000000001 120.8 148.8000000000001C153.1 146.0000000000001 168.5 108.1000000000001 149.3 83.1000000000001C131 59.4000000000001 72.7 59.9000000000001 49.6 103.5000000000001C23.6 152.7000000000001 62.3 214.7000000000001 136.6 201.9000000000001C169.8 196.2000000000001 220.2 166.4000000000001 239 97.6000000000001H284.9C279.2 115.2000000000001 276 165.9000000000001 327.6 165.9000000000001C384.3 165.9000000000001 391.5 126.0000000000001 407.4 97.6000000000001H456C443.2 115.9000000000001 434.3 136.3000000000001 437.1 153.4000000000001C442.7000000000001 187.2000000000001 476.8 171.8000000000001 519.5 170.8000000000001C586 170.4000000000001 621.6 197.8000000000001 622.6 198.8000000000001C626.3000000000001 201.9000000000001 629.1 214.6000000000001 629.6 216.5000000000001C630.9 221.6000000000001 626.4 218.9000000000001 626.4 218.9000000000001C617.6999999999999 213.7000000000001 595.9 203.7000000000001 575.5 203.3000000000001C550.2 202.8000000000001 499.3 228.7000000000001 493.9 231.5000000000001C493.6 231.9000000000001 494 230.3000000000001 482.9 257.0000000000001C571.3 198.7000000000001 601.1999999999999 216.5000000000001 628.0999999999999 235.3000000000001C628.8999999999999 235.9000000000001 632.3999999999999 238.2000000000001 631.6999999999999 241.0000000000001C617.9 289.1 609.3 303.7000000000001 597.1999999999999 310.6C560.1999999999999 332.2000000000001 472.1999999999999 345.3000000000001 467.9999999999999 345.9000000000001C468.1 346.0000000000001 467.1 346.2000000000001 467.1 345.2000000000001zM527.5 272.4C528.1 292.6 545 309.4 566.4 308.7C599.8 307.5 615.1999999999999 266.4 590.8 243.5C566.5999999999999 220.8 526.4 238.9 527.5 272.4zM566.1 297.7000000000001C551.3000000000001 298.2000000000001 539.4 286.5 539 272.4C538.5 257.9 549.8 245.7 564.3 245.2C579.0999999999999 244.7 591 256.3 591.5 270.5C592 285 580.6 297.1 566.1 297.7000000000001zM570.4 268.9C555 268.9 555 284.5 570.4 284.5S585.8 268.9 570.4 268.9z" glyph-name="suse" horiz-adv-x="631.8" unicode=""/><glyph d="M0.82 210.18C3.18 225.7 11.51 237.22 25.7 244.21C29.2 246.06 31.35 247.71 32.07 252.02C38.24 285.43 51.6 315.9600000000001 71.44 343.61C73.8 346.8 75.45 348.9600000000001 72.47 352.9600000000001C68.77 358.31 71.44 363.14 75.45 367.45C103.51 399.32 137.33 422.55 177.43 434.89C273.24 464.29 357.53 444.24 429.8 374.44C436.48 368.07 445.32 361.5900000000001 436.79 350.08C435.4500000000001 348.23 437.82 346.58 438.9500000000001 345.04C459.6100000000001 316.98 473.1800000000001 285.62 479.35 251.39C480.17 247.69 482.33 246.35 485.21 245.02C502.58 236.18 510.91 221.68 511.22 202.77C511.22 185.6 513.07 168.23 510.1900000000001 151.06C506.1800000000001 126.39 481.0000000000001 109.32 456.9400000000001 114.36C449.7400000000001 116 447.5900000000001 121.56 447.5900000000001 128.55C447.5900000000001 156.61 448.4100000000001 184.99 447.5900000000001 213.15C445.74 288.9100000000001 411.4100000000001 345.9600000000001 345.3100000000001 382.56C234.28 443.02 92.11 375.58 67.54 251.09C61.48 220.67 65.8 202.82 63.84 125.27C63.53 118.07 59.52 114.07 51.81 113.76C20.97 112.42 0 131.95 0 162.79V183.66M221.74 76.85C233.56 81.17 241.79 88.67 244.25 101.21C246.61 113.55 232.22 131.23 211.87 149.9400000000001C191 169.1600000000001 163.65 189.0000000000001 148.44 196.5100000000001C126.75 208.5400000000001 106.7 198.3600000000001 102.18 173.7900000000001C97.14 147.5800000000001 102.18 122.3900000000001 116.67 99.8800000000001C126.85 84.3600000000001 142.06 77.1600000000001 160.05 75.8300000000001C171.67 75.2100000000001 212.59 73.6700000000001 221.74 76.8500000000001M351.5700000000001 71.3000000000001C388.0700000000001 68.4900000000001 410.9000000000001 99.8500000000001 409.9600000000001 131.7500000000001C407.8200000000001 176.9200000000001 343.79 148.2300000000001 322.17 139.7700000000001C249.01 111.6300000000001 277.12 84.85 299.9700000000001 79.02M449.23 80.35C446.25 82.71 442.0300000000001 81.38 440.9000000000001 77.99C432.8800000000001 52.6 396.1800000000001 -34.47 268.8200000000001 -43.52C119.1500000000001 -54.01 349.1100000000001 -87.11 414.1800000000001 -37.15C436.9000000000001 -19.78 461.7800000000001 -2.1 460.7500000000001 48.28C460.4300000000001 58.35 455.9100000000001 75 449.2300000000001 80.35" glyph-name="teamspeak" horiz-adv-x="511.8" unicode=""/><glyph d="M446.7 349.4L379.1 30.6C374 8.1 360.7000000000001 2.5 341.8 13.1L238.8 89L189.1 41.2C183.6 35.7 179 31.1 168.4 31.1L175.8000000000001 136L366.7000000000001 308.5C375.0000000000001 315.9 364.9000000000001 320 353.8000000000001 312.6L117.8 164L16.2 195.8C-5.9 202.7 -6.3 217.9 20.8 228.5L418.2 381.6C436.6 388.5 452.7 377.5 446.7 349.4z" glyph-name="telegram-plane" horiz-adv-x="448" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM369.8 270.1L329.1 78.3C326.1 64.6999999999999 318 61.4 306.7000000000001 67.8L244.7000000000001 113.5L214.8000000000001 84.6999999999999C211.5 81.3999999999999 208.7000000000001 78.5999999999999 202.3000000000001 78.5999999999999L206.7000000000001 141.6999999999999L321.6 245.5C326.6 249.9 320.5 252.4 313.9000000000001 248L171.9 158.5999999999999L110.7 177.6999999999999C97.4 181.8999999999999 97.1 191 113.5 197.3999999999999L352.6 289.5999999999999C363.7000000000001 293.5999999999999 373.4000000000001 286.8999999999999 369.8 270.0999999999999z" glyph-name="telegram" horiz-adv-x="496" unicode=""/><glyph d="M72.3 -47.8C73.7 -67.7 44.7 -70 42.6 -50.7C31 79.2 73.7 188.8 144 262.5C128.4 296.5 153.2 339.6 194.6 339.6C224.9 339.6 249.7 315 249.7 284.5C249.7 240.5 200.2 213.7 162.8 239.4C97.1 168.1 61.4 69.6 72.3 -47.8zM192 447.9C66.1 447.9 -12.3 313.7 43.7 205.6C52.4 188.2 79 201.1 70 219C23.7 311.6 91 418.2 192 418.2C267.4 418.2 328.9 356.8 328.9 281.3C328.9 190.5 242 127.4 161.2 148.2C142.1 152.3 135.6 123.8 154.6 119.1C265.3 95.9 358.6 179.1 358.6 281.4C358.6 373.3 284 447.9 192 447.9z" glyph-name="tencent-weibo" horiz-adv-x="384" unicode=""/><glyph d="M484.41 206.26L505.0700000000001 199.13C495.51 223.04 481.14 236.09 473.35 243.89L480.48 262.09C480.73 262.09 492.76 289.88 478.02 292.83C477.39 304.18 471.4300000000001 319.88 459.58 319.88C451.96 330.45 441.8700000000001 332.18 428.8400000000001 325.78C419.99 321.6 411.1300000000001 315.7 403.5100000000001 309.3C398.2100000000001 315.74 400.5600000000001 308.92 400.5600000000001 339.06C363.4800000000001 363.3400000000001 355.1600000000001 350.79 325.8000000000001 336.11L326.2900000000001 335.62C305.1400000000001 343.24 282.2700000000001 347.67 257.9300000000001 348.9000000000001C252.3800000000001 357.61 239.3300000000001 368 232.8500000000001 373.98L257.6900000000001 366.85C252.2000000000001 372.3400000000001 230.9100000000001 379.76 223.5100000000001 382.1C241.7100000000001 386.2100000000001 253.2900000000001 402.87 266.0500000000001 415.05C231.1300000000001 425.13 198.1800000000001 420.9500000000001 168.1700000000001 403.25L179.97 447.52L178.24 448C146.64 423.84 145.25 406.1 144.55 402.51C143.64 404.9 138.23 422.12 129.3 429.56C125.86 420.71 125.86 412.35 128.81 404.23C131.76 395.87 134.71 389.4700000000001 137.17 385.29C121.13 388.5900000000001 108.82 390.19 87.99 385.29H84.3L117.25 371.03C96.59 351.6 81.35 329.2200000000001 70.53 303.65L68.81 295.29L70.53 293.5700000000001L78.15 298.24C74.82 286.6 72.88 278.85 71.51 272.42C60.2 259.63 51.1 246.35 43.72 232.0900000000001C28.75 231.0900000000001 11.9 221.31 3.39 217.8300000000001L6.34 214.3900000000001L35.11 213.4100000000001C34.62 212.4300000000001 34.37 211.2000000000001 33.88 210.2100000000001C26.59 203.8300000000001 -5.9 172.5600000000001 0.93 129.5500000000001L21.1 151.9300000000001C21.59 150.21 21.84 148.4900000000001 22.33 146.7700000000001C22.33 121.24 22.7 57.1300000000001 87.25 -3.73C131.03 -43.83 183.41 -63.9999999999999 244.89 -63.9999999999999C366.62 -63.9999999999999 467.94 23.2900000000001 467.94 147.4900000000001C474.74 157.2100000000001 466.7 144.4600000000001 484.66 172.5700000000001L497.6899999999999 158.3100000000001L500.1499999999999 158.8000000000001C498.4299999999999 170.1100000000001 495.4799999999999 181.1800000000001 491.2999999999999 192.9800000000001C489.0799999999999 199.3800000000001 486.6199999999999 203.3100000000001 484.4099999999999 206.2600000000001zM468.92 247.58L454.66 259.38L472.86 260.61L468.92 247.58zM394.1600000000001 336.85L393.67 314.96C399.19 296.83 410.55 297.75 416.05 297.75L412.61 302.42L434.99 307.83C424.9100000000001 307.3399999999999 416.05 307.3399999999999 407.94 307.83C420.75 309.9599999999999 441.26 336.86 450.98 319.14C454.42 311.52 457.37 301.93 460.32 291.35L462.04 297.25C460.81 301.43 460.32 306.59 460.32 312.5C465.73 312.01 469.17 309.06 469.66 302.42C470.15 296.03 471.38 287.66 473.1 277.09L477.77 288.4C482.36 288.4 482.24 292.01 475.31 267.74C454.42 276.44 440.2200000000001 276.1 428.83 276.1L447.03 292.08C421.75 283.93 414 281.28 392.19 271.18C391.11 276.5899999999999 387.2099999999999 284.68 376.2099999999999 291.1C373.0299999999999 287.28 373.45 290.2 375.4699999999999 276.34H373.01C371.7799999999999 284.7 368.83 292.32 364.6499999999999 299.46L368.83 302.9C377.19 310.03 380.63 317.16 379.3999999999999 324.79C378.9099999999999 331.18 373.9899999999999 338.32 365.87 345.45C371.53 348.65 381.12 345.7 394.16 336.85zM354.5700000000001 346.93C357.2600000000001 345.01 365.9700000000001 341.55 373.5100000000001 329.72C377.7100000000001 321.32 377.4900000000001 319.91 376.9500000000001 318.65C376.4700000000001 316.24 376.4900000000001 314.32 374.0000000000001 311.52C372.2800000000001 309.06 368.5900000000001 306.85 362.2000000000001 303.9C354.5800000000001 316.93 345.7200000000001 327.51 334.4100000000001 335.13L354.5700000000001 346.93zM87.25 304.88L88.48 306.6C89.71 309.55 92.66 314.2200000000001 97.82 321.85L100.28 325.29L87.25 312.99L92.66 317.66L82.58 308.32L78.4 307.09C90.7 331.19 101.52 348.4 110.86 357.26C120.2 366.6 126.84 373.24 131.03 376.69L124.64 375.46C113.33 379.64 105.21 382.59 99.8 383.82C102.26 384.31 103.49 384.31 103 384.31C113.33 384.31 120.46 383.82 123.9 383.08C129.31 381.36 134.47 380.62 139.88 380.62L140.37 382.34L132.0100000000001 418.24L145.5400000000001 389.22C147.2600000000001 391.68 149.7200000000001 396.35 151.4400000000001 403.48C153.1600000000001 409.87 156.8500000000001 416.51 161.5200000000001 422.91C166.1900000000001 429.3 169.1400000000001 433.48 170.8600000000001 434.22C167.9100000000001 425.37 166.1900000000001 417.01 164.4700000000001 408.89L162.7500000000001 401.76L162.2600000000001 397.09L164.7200000000001 394.63C186.6100000000001 408.16 210.2100000000001 414.06 236.0400000000001 413.57L257.1900000000001 413.08C245.3900000000001 399.55 229.4000000000001 391.19 208.7400000000001 388.24C200.1300000000001 386.76 192.5100000000001 385.78 185.3800000000001 385.29L185.1300000000001 385.78L182.6700000000001 387.01C177.5100000000001 387.99 172.8300000000001 387.26 168.65 385.04C166.19 385.29 163.7300000000001 385.53 161.5200000000001 385.78L159.06 384.06L159.5500000000001 382.83C161.5200000000001 382.58 163.4800000000001 382.34 165.7000000000001 382.09L163.7300000000001 378.65L167.1700000000001 379.14L156.6000000000001 367.83C152.4200000000001 364.88 151.1900000000001 361.44 152.4200000000001 358.49L157.8300000000001 361.93H159.06C165.45 370.29 174.31 375.46 184.3900000000001 377.18V380.13C190.78 379.64 197.4200000000001 379.15 203.8200000000001 378.9C210.21 378.9 212.1800000000001 378.41 209.2300000000001 377.67C216.8500000000001 373.49 223.4900000000001 368.82 229.8900000000001 364.14C243.4200000000001 354.06 253.5000000000001 342.25 259.8900000000001 328.73C268.7400000000001 310.53 273.42 291.6 273.42 272.17C273.42 262.0899999999999 272.19 252.74 270.4700000000001 243.89C268.12 233.1 262.67 214.27 254.4900000000001 197.9L256.9500000000001 197.41C275.1800000000001 217.0799999999999 298.85 213.3899999999999 306.1300000000001 213.3899999999999L299.7400000000001 207.4899999999999L322.1200000000001 189.7799999999999L320.4000000000001 159.0399999999999C314.99 171.3399999999999 303.92 180.1899999999999 287.4500000000001 186.8299999999999C303.9300000000001 172.0699999999999 311.0600000000001 165.68 309.3400000000001 166.6599999999999C304.5300000000001 169.4699999999999 305.8100000000001 168.5299999999999 298.5200000000001 170.3499999999999C302.6400000000001 166.2299999999999 315.9700000000001 151.5599999999999 316.7200000000001 149.6899999999999L316.9700000000001 149.4399999999999L316.7200000000001 149.1899999999999C316.7200000000001 147.4299999999999 318.2800000000001 150.3699999999999 302.7000000000001 126.3199999999999C227.5500000000001 141.6299999999999 196.4400000000001 169.0599999999999 161.5400000000001 189.5199999999999L173.3400000000001 188.2899999999999C161.5900000000001 206.8199999999999 157.7100000000001 206.0099999999999 134.9800000000001 214.3599999999999L145.5500000000001 222.7199999999999C136.7000000000001 225.6699999999999 127.3500000000001 225.6699999999999 117.2700000000001 222.2299999999999L124.8900000000001 232.7999999999999L123.6600000000001 234.5199999999999C108.7700000000001 230.1799999999999 103.8100000000001 225.3499999999999 101.0400000000001 223.2099999999998C99.9000000000001 228.6699999999999 98.2700000000001 235.6499999999999 88.7400000000001 251.9799999999999L87.5100000000001 224.9299999999998L73.9800000000001 230.3399999999999C75.4500000000001 255.4499999999998 79.3800000000001 280.7799999999999 87.2500000000001 304.8799999999998zM363.6600000000001 -25.15C313.74 -50.11 307.5300000000001 -47.56 304.6400000000001 -49C274.8800000000001 -37.2 253.7400000000001 -17.28 241.1900000000001 9.77L271.1900000000001 -6.71C261.4200000000001 2.6 252.8500000000001 9.83 232.8300000000001 37.5599999999999L244.6300000000001 14.4399999999999L226.9200000000001 22.0599999999999C241.1200000000001 0.98 250.3900000000001 -29.6800000000001 293.5600000000001 -51.47C172.7900000000001 -75.62 94.5300000000001 20.64 92.6500000000001 22.8C103.9600000000001 13.46 115.7700000000001 5.09 128.0600000000001 -2.04C131.5000000000001 -3.76 135.1900000000001 -4.5 138.1400000000001 -3.27L122.1600000000001 17.39C131.3900000000001 13.2 131.6500000000001 12.89 191.2600000000001 -11.63C148.7200000000001 9.03 117.4800000000001 29.19 98.0600000000001 48.62C97.5700000000001 42.23 96.83 38.54 96.83 38.54C105.68 30.92 112.8100000000001 22.06 117.4900000000001 11.98C78.44 30.83 59.9 59.59 46.17 94.61C96.0600000000001 39.51 165.0200000000001 57.12 166.6700000000001 57.48C201.46 41.05 236.5400000000001 33.87 280.5300000000001 46.91C283.85 46.91 300.8300000000001 29.93 305.86 7.81L310.04 10.76L307.5800000000001 34.37C316.5300000000001 25.42 332.48 11.81 342.0100000000001 21.34C326.4300000000001 26.66 318.4900000000001 30.83 312.5000000000001 53.0600000000001C317.0800000000001 48.8600000000001 320.0700000000001 44.0100000000001 340.2900000000001 38.0600000000001L341.5200000000001 39.2900000000001L330.9500000000001 53.5500000000001C342.6000000000001 58.4000000000001 327.4100000000001 52.5400000000001 362.9200000000001 64.3700000000001C367.2600000000001 30.14 371.9700000000001 15.2200000000001 363.6600000000001 -25.1499999999999zM479 189.29L476.54 188.8L479.49 179.46C475.94 173.59 455.76 135.2000000000001 407.93 99.78C368.39 70.02 331.35 60.65 327.02 59.4500000000001L319.4 66.58L318.17 63.6300000000001L332.43 47.65L325.3 52.3200000000001L328.74 48.14H327.51L305.62 61.67L314.9599999999999 35.11L296.0199999999999 62.9L294.7899999999999 60.4400000000001L302.4099999999999 31.4200000000001C296.2999999999999 39.6600000000001 281.3799999999999 64.0300000000001 245.5999999999999 71.0100000000001L278.0599999999999 49.8600000000001C246.0899999999999 45.1900000000001 214.8599999999999 47.4000000000002 184.8599999999999 56.2500000000001C180.6799999999999 57.4800000000001 176.0099999999999 58.7100000000001 171.3299999999999 60.4300000000001L172.5599999999999 63.3800000000001L127.7999999999999 85.7600000000001L153.8699999999999 63.3800000000001C96.2099999999999 54.3000000000001 40.9099999999999 88.7900000000001 27.4699999999999 146.7500000000001L25.0099999999999 163.2300000000001L2.6599999999999 140.8500000000001C22.1299999999999 198.3600000000001 28.2699999999999 198.7400000000001 54.0599999999999 210.9400000000002C44.9699999999999 216.2700000000002 52.5099999999999 214.2000000000001 15.6999999999999 220.2800000000002C31.4799999999999 226.0700000000002 48.7499999999999 235.7200000000002 88.7399999999999 215.1200000000002C91.6899999999999 216.6000000000001 90.8799999999999 216.2200000000002 92.4299999999999 216.8400000000002C93.0699999999999 220.0200000000002 92.8399999999999 217.6600000000002 93.4099999999999 228.6400000000002C97.2999999999999 218.6300000000002 97.0399999999999 219.9700000000002 96.3599999999999 219.3000000000002L98.0799999999999 218.8100000000002C110.7699999999999 225.3000000000002 106.9999999999999 223.3300000000002 115.0499999999999 227.6600000000002L109.6399999999999 214.1300000000002L132.0199999999999 220.0300000000002L123.6599999999999 211.6700000000001L126.1199999999999 209.2100000000001C130.6199999999999 211.0100000000001 156.4699999999999 205.7900000000001 166.9399999999999 193.2300000000001L143.3299999999999 195.6900000000002C182.7199999999999 172.7100000000002 194.7899999999999 141.7200000000002 199.1499999999999 126.1000000000001L200.8699999999999 127.3300000000002C198.0299999999999 149.6100000000001 188.4999999999999 161.2100000000002 184.8899999999999 167.4100000000002C189.1099999999999 162.4200000000001 224.0899999999999 132.8500000000001 295.3099999999999 121.4200000000001C283.9999999999999 121.9100000000002 272.1899999999999 116.0100000000001 260.3899999999999 102.4800000000001L307.1099999999999 122.6500000000002L297.7699999999999 100.7600000000002C305.39 110.8400000000002 312.5299999999999 124.3700000000002 318.9199999999999 140.3500000000001V140.8400000000002L320.1499999999999 143.7900000000001L318.9199999999999 127.8100000000001C332.4499999999999 169.6200000000001 344.2499999999999 206.2600000000001 354.33 237.4900000000001L367.8599999999999 265.2800000000001V267.2500000000001L362.4499999999999 271.4300000000001H372.5299999999999L378.4299999999999 267.2500000000001L380.8899999999998 268.4800000000002L377.4499999999998 284.4600000000001L389.7499999999999 265.5200000000001L431.5599999999999 285.6900000000001L416.7999999999999 272.6600000000001L417.2899999999999 269.7100000000002L434.9999999999999 270.2000000000002C446.3099999999999 269.7100000000002 456.8899999999998 268.4800000000002 467.9499999999998 266.0200000000001L444.3399999999998 263.5600000000001L443.1099999999998 260.6100000000002L469.6699999999998 237.4900000000001C479.7499999999998 227.4100000000001 488.6099999999998 216.8300000000001 496.7199999999998 205.5200000000001C485.4799999999998 208.8100000000001 486.4399999999998 208.9600000000001 475.5699999999998 208.9600000000001L487.8699999999998 176.5000000000001L478.9999999999998 189.2900000000001zM201.11 278.3200000000001C166.26 263.9000000000001 166.38 264.3400000000001 164.96 264.0600000000001C144.13 259.3300000000001 145.99 288.5 146.02 288.9000000000001L151.92 290.13L151.43 292.5900000000001C131.26 295.24 120.4 288.4200000000001 118.97 287.6700000000001C119.46 287.1800000000001 121.92 284.23 124.87 278.3300000000001C129.05 284.7200000000001 133.72 288.4100000000001 140.12 288.9000000000001C138.4 277.5900000000001 138.89 266.5200000000001 141.84 255.2100000000001C141.91 254.7000000000001 144.41 237.7700000000001 169.38 231.1100000000001C180.69 228.1600000000001 196.43 229.8800000000001 218.32 236.5200000000001L208.98 236.0300000000001C204.8 250.79 202.59 260.87 203.08 265.54C214.39 274.39 224.97 276.85 233.82 273.1600000000001H236.28L224.48 280.7800000000001L217.35 280.29C211.45 279.0600000000001 205.05 276.11 197.92 271.93L201.11 278.32zM212.18 365.13L209.72 364.6400000000001L210.21 361.6900000000001C218.57 362.18 227.42 360.4600000000001 236.28 355.79C233.78 361.3300000000001 226.31 370.05 208 370.05L208.49 367.5900000000001L212.18 365.1300000000001zM145.04 309.0600000000001C141 315.4100000000001 141.95 314.11 140.37 315.7000000000001C162.06 298.9400000000001 156.85 294.29 186.85 292.0900000000001L183.9 296.76C192.75 304.38 197.43 313.9700000000001 198.66 325.04C200.38 341.0200000000001 197.43 354.55 189.81 366.35L202.84 373.9700000000001C202.84 374.4600000000001 202.84 375.2000000000001 202.35 375.6900000000001C197.68 377.4100000000001 193.01 376.92 188.82 373.9700000000001C176.14 367.3 160.83 353.0300000000001 159.8 351.5900000000001C158.08 349.87 156.36 345.6900000000001 154.39 338.0600000000001C152.67 330.9300000000001 151.44 323.3 151.44 314.4500000000001C146.76 322.4100000000001 140.92 320.85 131.5200000000001 320.35L138.65 312.73C122.18 312.73 115.3300000000001 297.3000000000001 115.04 296.7500000000001C121.85 296.7600000000001 119.64 304.35 145.04 309.0600000000001zM159.06 334.3900000000001C160.29 342.0100000000001 162.5 347.42 165.45 351.6C170.86 357.99 176.02 361.68 181.43 363.4000000000001C185.61 365.12 188.56 362.17 191.51 354.06C193.97 346.44 194.95 337.5800000000001 194.46 328.73C193.97 319.39 191.02 311.52 186.1 305.61C183.15 302.17 180.69 299.7100000000001 179.71 297.99C175.0400000000001 297.5 171.35 297.99 168.4 298.48L161.2700000000001 301.92L155.8600000000001 308.31C156.8500000000001 318.4 157.34 327.25 159.06 334.39zM221.7700000000001 355.7800000000001C215.3800000000001 359.2200000000001 211.2000000000001 352.8300000000001 209.47 336.8400000000001S211.93 307.3300000000001 221.2700000000001 297.25C230.6100000000001 287.17 239.4700000000001 286.6800000000001 247.3400000000001 294.3000000000001C255.2100000000001 301.9200000000001 250.7800000000001 317.9100000000001 236.0300000000001 342.0100000000001C232.8400000000001 347.4200000000001 228.1600000000001 352.0900000000001 221.7700000000001 355.7800000000001zM217.1000000000001 309.5500000000001C222.4600000000001 307.3200000000001 227.6100000000001 307.6400000000001 229.4000000000001 320.12V324.79L228.1700000000001 324.3000000000001C223.8900000000001 327.35 225.6200000000001 328.79 226.4500000000001 330.4500000000001L226.9400000000001 330.9400000000001C226.0600000000001 332.1700000000001 221.9200000000001 339.0500000000001 214.4000000000001 326.2700000000001C213.9100000000001 339.8000000000001 214.8900000000001 348.1600000000001 217.3500000000001 351.11C218.5800000000001 353.5700000000001 222.0200000000001 352.3400000000001 228.6600000000001 346.9300000000001C235.0500000000001 341.5200000000001 239.9700000000001 330.9500000000001 243.9100000000001 314.4700000000001C250.5000000000001 286.4100000000001 224.2100000000001 288.2100000000001 217.1000000000001 309.5500000000001zM172.0900000000001 314.9600000000001C173.6600000000001 314.6500000000001 181.4300000000001 316.0500000000001 181.4300000000001 329.7200000000001H180.9400000000001C175.5000000000001 330.8100000000001 178.7000000000001 335.1900000000001 180.2000000000001 335.6200000000001C178.4800000000001 338.5700000000001 176.7600000000001 339.8000000000001 174.7900000000001 340.2900000000001C166.6400000000001 340.2900000000001 163.1400000000001 327.6300000000001 166.6700000000001 319.1400000000001C167.9100000000001 316.6800000000001 169.8800000000001 315.4500000000001 172.09 314.9600000000001zM218.0800000000001 253.4800000000001C219.8000000000001 242.9100000000001 222.7500000000001 235.7700000000001 226.9300000000001 231.5900000000001C217.6700000000001 224.98 199.3900000000001 217.7400000000001 180.4500000000001 215.6100000000001L180.9400000000001 214.3800000000001C189.3000000000001 213.1500000000001 197.4200000000001 213.8900000000001 205.7800000000001 216.8400000000001L198.6500000000001 203.8100000000001C202.8300000000001 205.5300000000001 208.7300000000001 210.9400000000001 216.3600000000001 218.5700000000001C228.2900000000001 224.0800000000001 229.0800000000001 223.6400000000001 236.5300000000001 234.5500000000001C223.8000000000001 241.1300000000001 220.7700000000001 248.3800000000001 218.0800000000001 253.4800000000001z" glyph-name="the-red-yeti" horiz-adv-x="505.07" unicode=""/><glyph d="M199.74 435.71C209.48 441.35 225.33 441.44 235.13 435.92L423.26 329.9700000000001C433.07 324.45 441.02 310.83 441.02 299.5900000000001V85.72C441.02 74.46 433.09 60.83 423.31 55.2600000000001L235.09 -51.88C225.31 -57.45 209.51 -57.36 199.8 -51.67L17.58 55.05C7.87 60.74 0 74.48 0 85.73V299.5900000000001C0 310.85 7.9 324.55 17.63 330.18L199.74 435.71zM123.54 239C107.85 239 92.15 238.86 76.46 238.86V138.99H95.29V168.38H123.54C172.48 168.38 172.33 239 123.54 239zM261.5 140.27L231.25 174.37C267.65 181.76 265.51 238.58 220.55 238.86C204.71 238.86 188.88 239 173.04 239V138.99H191.87V172.37H210L239.1 138.99H261.5V140.27zM220.56 221.31C243.54 221.31 243.46 189.35 220.56 189.35H191.88V221.31H220.56zM126.49 222.88C147.34 222.88 147.27 184.64 126.49 184.64H94.68V222.87L126.49 222.88zM316.14 240.85C248.74 240.85 246.28 136.7 316.14 136.7C384.53 136.71 384.47 240.85 316.14 240.85zM316.14 223.73C359.57 223.73 360.24 153.97 316.14 153.97C272.02 153.97 272.4 223.73 316.14 223.73z" glyph-name="themeco" horiz-adv-x="441.03" unicode=""/><glyph d="M208 359.714C208 369.714 214.286 381.428 225.715 381.428C236.857 381.428 243.429 369.714 243.429 359.714C243.429 349.429 236.857 338 225.715 338C214.286 338 208 349.429 208 359.714zM512 199.714C512 163.713 500.571 97.428 475.714 70C452.856 45.142 388.286 8.857 354.857 -0.572L353.714 -0.858V-33.429C353.714 -49.715 341.142 -64 324.5710000000001 -64C314.5710000000001 -64 305.1420000000001 -58.286 299.999 -49.714C294.572 -58.286 285.1430000000001 -64 275.1430000000001 -64C265.1430000000001 -64 255.7140000000001 -58.286 250.2850000000001 -49.714C245.1430000000001 -58.286 235.7140000000001 -64 225.7150000000001 -64C215.429 -64 206.286 -58.286 200.857 -49.714C195.714 -58.286 186.286 -64 176.286 -64C157.429 -64 146.857 -48.286 146.857 -31.143C130.571 -43.4280000000001 111.142 -50.571 90.286 -50.571C68.286 -50.571 46.857 -42.286 30 -27.7140000000001C40.285 -27.4280000000001 50.571 -25.4280000000001 60.285 -22.0000000000001C39.428 -16.2860000000001 20.857 -3.143 8.285 14.2859999999999C29.655 9.641 54.494 12.6129999999999 75.428 25.429C53.428 47.429 18.857 84.286 6.856 112.857C1.143 126.286 0 144.286 0 158.571C0 208.285 20.286 318.5710000000001 86.286 318.5710000000001C96.857 318.5710000000001 105.143 313.713 109.429 303.7140000000001A158.792 158.792 0 0 0 121.429 319.1420000000001C123.429 321.7140000000001 127.143 324.5710000000001 128.572 327.428C136.571 339.999 140.286 348.5700000000001 150.286 361.428C182.571 402.572 232 430.857 285.143 430.857C291.143 430.857 297.143 430.572 302.857 429.714C313.714 441.429 328.8570000000001 448 344.572 448C359.1430000000001 448 374.286 442 384.572 431.714C385.4290000000001 430.856 386 429.428 386 428.286C386 424.572 375.715 414.857 373.1430000000001 412C377.4290000000001 410.5710000000001 388.8570000000001 405.142 388.8570000000001 400C388.8570000000001 397.1430000000001 386 394.857 384.286 392.857C415.715 365.1430000000001 433.7150000000001 325.714 440.572 284.857C444.858 290 450.857 293.429 457.715 293.429C468.2860000000001 293.429 478.572 286.285 486.2860000000001 279.428C507.143 260.857 512 226.286 512 199.714zM188 358.572C188 340.286 200.571 321.429 220.286 321.429C240 321.429 252.571 340.286 252.571 358.572C252.571 376.572 240 395.429 220.286 395.429C200.571 395.429 188 376.5710000000001 188 358.572zM237.714 254C237.714 273.714 241.428 293.1430000000001 246.285 312.286C194.246 232.752 232.754 127.715 315.1430000000001 127.715C336.5710000000001 127.715 357.7140000000001 135.429 375.1430000000001 147.715C377.1430000000001 155.144 378.8570000000001 162.572 378.8570000000001 170.287C378.8570000000001 184.573 372.5710000000001 191.715 358.2850000000001 191.715C353.714 191.715 349.1420000000001 190.858 344.8560000000001 190.001C281.5130000000001 177.333 237.7140000000001 186.3320000000001 237.7140000000001 254.0000000000001zM196.572 -0.858C196.572 10.285 187.714 19.999 176.286 19.999C164.857 19.999 156.286 10.284 156.286 -0.8579999999999V-33.429C156.286 -44.572 164.857 -54.571 176.286 -54.571C187.714 -54.571 196.572 -44.856 196.572 -33.429V-0.8579999999999zM245.715 -0.858C245.715 10.285 237.143 19.999 225.715 19.999C214.286 19.999 205.429 10.284 205.429 -0.8579999999999V-33.429C205.429 -44.572 214.286 -54.571 225.715 -54.571C237.143 -54.571 245.715 -44.571 245.715 -33.429V-0.8579999999999zM295.428 -0.858C295.428 10.285 286.5710000000001 19.999 275.143 19.999C263.714 19.999 254.857 10.284 254.857 -0.8579999999999V-33.429C254.857 -44.572 263.714 -54.571 275.143 -54.571C286.571 -54.571 295.428 -44.856 295.428 -33.429V-0.8579999999999zM345.1430000000001 -0.858C345.1430000000001 10.285 336.2860000000001 19.999 324.8570000000001 19.999C313.4290000000001 19.999 304.5710000000001 10.284 304.5710000000001 -0.8579999999999V-33.429C304.5710000000001 -44.572 313.4290000000001 -54.571 324.8570000000001 -54.571C336.286 -54.571 345.1430000000001 -44.571 345.1430000000001 -33.429V-0.8579999999999zM421.714 162C390.857 102.858 331.429 59.428 263.1430000000001 59.428C166.572 59.428 102.572 144 102.572 236C102.572 252.857 104.572 269.429 108.572 285.714C88.572 251.999 78.858 213.142 78.858 174.285C78.858 113.999 103.715 52.5699999999999 150.287 13.428C155.43 23.142 165.144 29.714 176.287 29.714C186.287 29.714 195.715 24 200.858 15.428C206.287 23.999 215.429 29.714 225.7160000000001 29.714C235.7160000000001 29.714 245.1440000000001 24 250.2870000000001 15.428C255.7160000000001 23.999 265.144 29.714 275.1450000000001 29.714C285.1450000000001 29.714 294.5730000000001 24 300.0020000000001 15.428C305.1450000000001 23.999 314.5730000000001 29.714 324.5740000000001 29.714C335.4310000000001 29.714 345.4310000000001 23.142 350.2880000000001 13.714C393.7150000000001 50 418.8570000000001 105.714 421.7140000000001 162zM432.286 261.714C432.286 315.428 397.7150000000001 367.428 339.714 367.428C309.429 367.428 281.1430000000001 352.285 260.857 330.5710000000001C240.862 264.188 233.41 194 302.286 194C331.091 194 399.6430000000001 222.538 386.572 157.143C415.429 183.143 432.286 222.857 432.286 261.7140000000001z" glyph-name="themeisle" horiz-adv-x="512" unicode=""/><glyph d="M236.2 448L442.4 94.1L497.5 189.1L529.5 188.8L442.4 38.6L236.2 392.4L32 40.3L0 40.6L236.2 448zM472.5 -64L236.7 340.6L87.1 82.7H119.2L236.6 285.2L440 -63.9" glyph-name="think-peaks" horiz-adv-x="529.6" unicode=""/><glyph d="M202.45 339.58V257.9700000000001H38.94L87.16 196.06H201.89V-0.69H266.5V195.04H349.77V257.73H266.59V276.9H412.21V339.5800000000001H202.45zM207.31 333.58H405.0800000000001V282.9H259.44V251.97H342.62V201.04H259.36V5.31H206.63V202.06H89.86L49.91 251.97H207.31V333.58zM247.99 439.2C111.03 439.2 0 328.17 0 191.2S111.03 -56.8 247.99 -56.8S496 54.24 496 191.2S384.96 439.2 247.99 439.2zM248.01 425.96C377.67 425.96 482.77 320.8400000000001 482.77 191.18S377.67 -43.58 248.01 -43.58S13.23 61.53 13.23 191.19S118.35 425.96 248.01 425.96zM248.01 418.07C122.71 418.07 21.12 316.5 21.12 191.2S122.71 -35.69 248.01 -35.69S474.88 65.9 474.88 191.2S373.31 418.07 248.01 418.07zM247.99 404.77C365.94 404.77 461.55 309.15 461.55 191.21S365.93 -22.35 247.99 -22.35S34.43 73.25 34.43 191.2S130.04 404.77 247.99 404.77zM174.67 299.9700000000001L190.33 281.92L168.17 291.37L155.84 270.9L157.99 294.89L134.71 300.29L158.19 305.66L156.13 329.4700000000001L168.5 308.8L190.51 318.12L174.67 299.9700000000001zM127.53 346.51L135.54 334.11L148.23 339.97L138.91 328.52L148.41 318.27L134.64 323.59L127.82 311.39L128.63 326.13L114.92 328.84L129.19 332.62L127.53 346.51zM378.3 270.92L390.29 251.36L411.17 260.47L396.2700000000001 243.02L411.3800000000001 225.98L390.1800000000001 234.76L378.6400000000001 215.12L380.4400000000001 237.99L358.2000000000001 242.89L380.5100000000001 248.2500000000001L378.3000000000001 270.92zM271.25 172.47L285.11 175.69L283.8300000000001 189.86L291.1800000000001 177.68L304.2600000000001 183.27L294.9500000000001 172.52L304.3100000000001 161.81L291.2100000000001 167.35L283.92 155.1400000000001L285.1400000000001 169.3100000000001L271.2500000000001 172.4700000000001zM145.82 165.97L169.55 169.84L167.82 194.37L178.83 172.99L201.62 182.21L184.69 165.13L200.5 146.3L179.03 157.12L166.01 136.26L169.67 160.03L145.82 165.97zM209.26 331.63V250.02H54.16L90.88 204.01H208.58V7.26H257.4V202.99H340.67V250.02H257.4V284.85H403.13V331.63H209.26zM220.12 320.43H391.92V296.07H246.88V239.84H329.81V215.9H246.88V18.48H220.12V215.9H96.31L76.22 239.84H220.12V320.43z" glyph-name="trade-federation" horiz-adv-x="496" unicode=""/><glyph d="M392.3 416H56.1C25.1 416 0 390.9 0 360C-0.1 360 0 364 0 24C0 -6.9 25.1 -32 56 -32H392.2C423 -31.8 447.9 -6.8 447.9 24V360C448 390.8 423.1 415.8 392.3 416zM197 76.7C196.8 62 184.9 50.1 170.1 50.1H87.4C72.6 49.9999999999999 60.5 61.9 60.4 76.7V330.9C60.4 345.7 72.4 357.8 87.3 357.8H170.2C185 357.8 197.1 345.8 197.1 330.9V76.7000000000001zM390.1 188.7C390.1 173.9 378.1 161.8 363.2000000000001 161.8H282.2000000000001C267.4000000000001 161.8 255.3000000000001 173.8 255.3000000000001 188.7V330.8C255.3000000000001 345.6 267.3000000000001 357.7 282.1 357.7H363.2000000000001C378.0000000000001 357.7 390.1 345.7 390.1 330.8V188.7z" glyph-name="trello" horiz-adv-x="448" unicode=""/><glyph d="M166.4 167.479C166.4 154.243 155.67 143.513 142.434 143.513S118.468 154.243 118.468 167.479S129.198 191.445 142.434 191.445S166.4 180.716 166.4 167.479zM431.362 191.435C418.132 191.435 407.406 180.71 407.406 167.479C407.406 154.249 418.131 143.523 431.362 143.523C444.592 143.523 455.318 154.248 455.318 167.479C455.317 180.71 444.592 191.435 431.362 191.435zM520.75 51.945C458.083 2.841 367.474 13.836 318.371 76.504L287.392 30.179L256.709 76.1180000000001C208.432 15.7280000000001 121.087 4.227 58.824 50.063C-5.234 97.2210000000001 -18.935 187.379 28.223 251.4370000000001A186.76199999999997 186.76199999999997 0 0 1 0 308.584L90.286 308.634A358.48 358.48 0 0 0 287.351 362.664A350.382 350.382 0 0 0 479.532 309.3150000000001L575.75 309.241A185.71300000000002 185.71300000000002 0 0 1 547.398 251.592C594.191 188.845 582.3620000000001 100.222 520.75 51.9450000000001zM259.366 166.239C259.359 229.796 207.831 281.314 144.274 281.307C80.717 281.3 29.2 229.772 29.206 166.215C29.213 102.658 80.741 51.14 144.298 51.147C207.811 51.222 259.282 102.686 259.366 166.199V166.239zM287.957 176.694C293.39 250.134 353.467 307.578 427.077 309.716A339.146 339.146 0 0 1 287.35 337.528A356.31 356.31 0 0 1 147.186 310.275C221.53 308.693 282.485 250.851 287.957 176.694zM539.663 205.461C517.671 265.095 451.501 295.6089999999999 391.8680000000001 273.618C332.2340000000001 251.626 301.7200000000001 185.4559999999999 323.7110000000001 125.823V125.791C345.7490000000001 66.184 411.9090000000001 35.7 471.5380000000001 57.678C531.153 79.682 561.6510000000001 145.84 539.663 205.461zM213.624 167.4859999999999V167.3709999999999C213.567 128.0429999999999 181.638 96.2079999999999 142.31 96.2649999999999C102.982 96.322 71.147 128.2509999999999 71.204 167.579C71.261 206.907 103.19 238.742 142.518 238.685C181.7770000000001 238.569 213.56 206.745 213.624 167.4859999999999zM189.112 167.4859999999999V167.5699999999999C189.061 193.3539999999999 168.118 214.215 142.334 214.1639999999999C116.5500000000001 214.113 95.689 193.1699999999999 95.74 167.387C95.791 141.603 116.734 120.742 142.5170000000001 120.793C168.2430000000001 120.906 189.0540000000001 141.761 189.1120000000001 167.4859999999999zM502.535 167.4859999999999V167.4379999999999C502.515 128.1099999999999 470.617 96.2439999999999 431.288 96.2649999999999S360.094 128.1829999999999 360.115 167.512C360.135 206.84 392.033 238.706 431.362 238.685C470.652 238.619 502.483 206.776 502.535 167.4859999999999zM478.031 167.4939999999999C478.022 193.2779999999999 457.113 214.1729999999999 431.329 214.1639999999999C405.545 214.155 384.65 193.2459999999999 384.659 167.4619999999999C384.668 141.678 405.577 120.7839999999999 431.361 120.7919999999999C457.126 120.8379999999999 477.997 141.7199999999999 478.031 167.4849999999999V167.4939999999999z" glyph-name="tripadvisor" horiz-adv-x="576" unicode=""/><glyph d="M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM317.7 51.8C309.2 42.7 286.5 32 256.8 32C181.3 32 164.9 87.5 164.9 119.9V209.9H135.2C131.8 209.9 129 212.7 129 216.1V258.6C129 263.1 131.8000000000001 267.1 136.1 268.6C174.9 282.3 187 316.1 188.8 341.8C189.3 348.7 192.9 352 198.8 352H243.1C246.5000000000001 352 249.3 349.2 249.3 345.8V273.8H301.2C304.6 273.8 307.4 271 307.4 267.6V216.5C307.4 213.1 304.6 210.3 301.2 210.3H249.1V127C249.1 105.6 263.9 93.5 291.6 104.6C294.6 105.8 297.2000000000001 106.6 299.6 106C301.8 105.5 303.2000000000001 103.9 304.2000000000001 101.1L318.0000000000001 60.9C319.0000000000001 57.7000000000001 320.0000000000001 54.2 317.7000000000001 51.8z" glyph-name="tumblr-square" horiz-adv-x="448" unicode=""/><glyph d="M309.8 -32.3C296.2 -46.8 259.8 -64 212.4 -64C91.6 -64 65.4 24.8 65.4 76.6V220.6H17.9C12.4 220.6 7.9 225.1 7.9 230.6V298.6C7.9 305.8 12.4 312.2000000000001 19.2 314.6C81.2 336.4000000000001 100.7 390.6 103.5 431.7000000000001C104.3 442.7000000000001 110 448 119.6 448H190.5C196 448 200.5 443.5 200.5 438V322.8H283.5C289 322.8 293.5 318.4 293.5 312.9V231.2C293.5 225.7 289 221.2 283.5 221.2H200.1V88C200.1 53.8 223.8 34.4 268.1 52.2C272.9000000000001 54.1 277.1 55.4 280.8 54.4C284.3 53.5 286.6 51 288.2 46.5L310.2 -17.8C312 -22.8 313.5 -28.4 309.8 -32.3z" glyph-name="tumblr" horiz-adv-x="320" unicode=""/><glyph d="M40.1 416L10 339.1V24.8H117V-32H177.2L234 24.8H321L438 141.8V416H40.1zM397.9000000000001 161.9L331 95H224L167.2 38.2V95H76.9V375.9H397.9V161.9zM331 299V182.1H290.9V299H331zM224 299V182.1H183.9V299H224z" glyph-name="twitch" horiz-adv-x="448" unicode=""/><glyph d="M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM351.1 257.2C351.3 254.4 351.3 251.5 351.3 248.7C351.3 162 285.3 62.1 164.7 62.1C127.5 62.1 93 72.9 64 91.5C69.3 90.9 74.4 90.7 79.8 90.7C110.5 90.7 138.7 101.1 161.2 118.7C132.4 119.3 108.2 138.2 99.9 164.2C110 162.7 119.1 162.7 129.5 165.4C99.5 171.5 77 197.9 77 229.8V230.6C85.7 225.7 95.9 222.7 106.6 222.3A65.447 65.447 0 0 0 77.4 276.9C77.4 289.1 80.6 300.3 86.3 310C118.6 270.2 167.1 244.2 221.5 241.4C212.2 285.9 245.5 322 285.5 322C304.4 322 321.4 314.1 333.4 301.3C348.2 304.1 362.4 309.6 375 317.1C370.1 301.9 359.8 289.1 346.2 281C359.4 282.4 372.2 286.1 384 291.2C375.1 278.1 363.9 266.5 351.1 257.2z" glyph-name="twitter-square" horiz-adv-x="448" unicode=""/><glyph d="M459.37 296.284C459.695 291.736 459.695 287.187 459.695 282.639C459.695 143.919 354.112 -15.919 161.137 -15.919C101.685 -15.919 46.457 1.3 0 31.187C8.447 30.213 16.568 29.888 25.34 29.888C74.395 29.888 119.553 46.456 155.614 74.72C109.482 75.6950000000001 70.822 105.908 57.502 147.492C64 146.518 70.497 145.868 77.32 145.868C86.741 145.868 96.163 147.168 104.934 149.441C56.853 159.188 20.791 201.421 20.791 252.426V253.725C34.76 245.928 51.005 241.055 68.222 240.406C39.958 259.249 21.441 291.411 21.441 327.7970000000001C21.441 347.289 26.638 365.1570000000001 35.735 380.751C87.39 317.076 165.035 275.493 252.1 270.944C250.4760000000001 278.741 249.5010000000001 286.862 249.5010000000001 294.9840000000001C249.5010000000001 352.812 296.283 399.918 354.4350000000001 399.918C384.6480000000001 399.918 411.9370000000001 387.248 431.1050000000001 366.781C454.8200000000001 371.329 477.5610000000001 380.101 497.7040000000001 392.121C489.9060000000001 367.755 473.3380000000001 347.288 451.5720000000001 334.294C472.6890000000001 336.567 493.1560000000001 342.416 511.998 350.5370000000001C497.7060000000001 329.746 479.837 311.2290000000001 459.3700000000001 296.284z" glyph-name="twitter" horiz-adv-x="512" unicode=""/><glyph d="M330.8 107C323.8 104.7 319.2 104.7 312.3 104.7C255.1 104.7 171.7 303.2 171.7 369.6C171.7 394.3 177.1 402 185.6 409C116.1 400.5 36.3 375 9.3 342.6C3.9 334.9 0 321.8 0 305.5C0 202 106.8 -32 184.1 -32C220.4 -32 281.4 27.5 330.8 107M294.5 416C366.3 416 433.3 404.4 433.3 363.5C433.3 280.9 380.8 181.2 354.5 181.2C306.6 181.2 252.8 313.3 252.8 379.7C252.8 410.6 264.4000000000001 416 294.5 416" glyph-name="typo3" horiz-adv-x="433.3" unicode=""/><glyph d="M414.1 416H33.9C15.2 416 0 400.8 0 382.1V2C0 -16.8 15.2 -32 33.9 -32H414C432.7 -32 447.9 -16.8 447.9 1.9V382.1C448 400.8 432.8 416 414.1 416zM237.6 56.9C163 49.4 96.4 103.8 88.9 178.4H183.3V158C183.3 154.3 186.3 151.2 190.1 151.2H258C261.7 151.2 264.8 154.2 264.8 158V225.9C264.8 229.6 261.8 232.7 258 232.7H190.1C186.4 232.7 183.3 229.7 183.3 225.9V205.5H88.9C95.9 274.9 154.3 327.7 224 327.7C293.7 327.7 352.1 274.9 359.1 205.5C366.6 131 312.2000000000001 64.4 237.6 56.9z" glyph-name="uber" horiz-adv-x="448" unicode=""/><glyph d="M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM300.7 347C309.5 362.2 329 367.5 344.2 358.7C359.5 349.9 364.7 330.4 355.9 315.1C347.1 299.9 327.6 294.6 312.4 303.4C297.1 312.3 291.9 331.8 300.7 347zM87.4 160.1C69.8 160.1 55.5 174.4 55.5 192C55.5 209.6 69.8 223.9 87.4 223.9C105 223.9 119.3 209.6 119.3 192C119.3 174.4 105 160.1 87.4 160.1zM115.5 157C137.8 174.9 137.9 208.9 115.5 226.9C124.1 259.7 144.6 287.6 172 306L195.7 266.4C144.2 230.1 144.2 153.9 195.7 117.6L172 78C144.6 96.3 124.2 124.3 115.5 157zM344.2 25.3C328.9 16.5 309.5 21.7 300.7 37C291.9 52.3 297.1 71.8 312.4 80.6C327.6 89.4 347.1 84.2000000000001 355.9 68.9C364.7 53.6 359.5 34.1 344.2 25.3zM344.5 94.8C317.8 105.1 288.4 88.2 284 59.8C278.8 58.4 235.1 45.5 187.3 69.2L209.8 109.5C266.8 83 333.2000000000001 121.2 338.7000000000001 183.9L384.8000000000001 183.2C382.5000000000001 148.7 367.5000000000001 117.7 344.5000000000001 94.8zM338.6 200.1C333.2000000000001 262.1 267.3 301.3 209.7 274.5L187.2 314.8C235.1 338.5 278.7000000000001 325.6 283.9000000000001 324.2000000000001C288.3 295.9 317.7000000000001 278.9000000000001 344.4000000000001 289.2000000000001C367.5000000000001 266.3 382.4000000000001 235.3 384.6 200.7L338.6 200.1z" glyph-name="ubuntu" horiz-adv-x="496" unicode=""/><glyph d="M443.9 320V64L218 -64L0 64V278.3L87.6 233.2V116.2000000000001L221.1 40.7L356.9 116.2000000000001V267.2000000000001L255.8 324.8000000000001L343.4 377.9000000000001L443.9 320zM308.6 398.9L223.8 448L135.2 393.2L221.2 345.9L308.6 398.9z" glyph-name="uikit" horiz-adv-x="448" unicode=""/><glyph d="M281.1 227.9H384V242.7H281.1V227.9zM281.1 265H384V277.4H281.1V265zM281.1 190.8H384V208.1H281.1V190.8zM123.4 104.1H8.5C11.1 95.6 14.3 87.3 18.1 79.3H156.4C143.5 85 132.3 93.5 123.4 104.1M269.1 116.5H378.8C380.6 123.8 381.9000000000001 131.2 382.7 138.8H278.3C276.2 130.9 273.1 123.4 269.1 116.5M227.6 79.4H367C370.7 87.4 372.8 95.6 375.5 104.2H260.5C251.7 93.5 240.4 85 227.6 79.4M384 416H281.1V413.5H384V416zM192 -32C231.5 -32 268.2 -20.2 298.8 0.2H85.3C115.8 -20.2 152.5 -32 192 -32M281.1 302.2H384V312H281.1V302.2zM281.1 339.3H384V346.7H281.1V339.3zM281.1 376.4H384V381.3H281.1V376.4zM102.9 277.4H0V265H102.9V277.4zM38.8 42.3H344.1C350.8 50.8 356.7000000000001 59.9 361.9000000000001 69.5H23C28.2 59.9 32.2 50.8 38.8 42.3M102.9 161.1V173.5H0V161.1C0 158.6 0 156.1 0.1 153.7000000000001H103.2C103 156.1 102.9 158.6 102.9 161.1M281.1 161.1C281.1 158.6 281 156.1 280.7 153.7000000000001H383.8C383.9 156.2000000000001 384 158.6 384 161.1V173.5H281.1V161.1zM78.1 5.1H305.8C317.6 13.8 328.5 23.7 338 34.8H44.9C54.5 23.8 66.3 13.8 78.1 5.1M102.9 381.3H0V376.4H102.9V381.3zM102.9 416H0V413.5H102.9V416zM102.9 242.7H0V227.9H102.9V242.7zM102.9 208.1H0V190.8H102.9V208.1zM102.9 312H0V302.1H102.9V312zM102.9 346.7H0V339.3H102.9V346.7zM105.7 138.8H1.3C2.2 131.2 3.5 123.8 5.2 116.5H114.9C110.9 123.4 107.7 130.9 105.7 138.8" glyph-name="uniregistry" horiz-adv-x="384" unicode=""/><glyph d="M401.3 398.1C321.5 238 316.7000000000001 245.6 313.4 224.9L308.2 192.1C306.3 180.1 301.6 168.6 294.5 158.7000000000001L145.6 -49.1C138 -59.7 125.2 -65.3000000000001 112.2 -63.7C71.9 -58.7 34.4 -31.5000000000001 16.9 4.8C11.2 16.6 12.4 30.6 20 41.1999999999999L168.9 249.1C176 259 185.3 267.0999999999999 196.1 272.8L225.4 288.3C243.9 298.0999999999999 235.1 300.2 361 427.2C362 432 362 434.5 364.6 435.2C367.6 435.8999999999999 371.2000000000001 436.2 370.9000000000001 439.8L370.5000000000001 444.3999999999999C370.3000000000001 446.3 371.8000000000001 448 373.7000000000001 448C378.2000000000001 448.0999999999999 386.9000000000001 446.8 399.3000000000001 438C411.6000000000001 429.0999999999999 415.7000000000001 421.2 417.0000000000001 416.8999999999999C417.6000000000001 415.0999999999999 416.4000000000001 413.2 414.6000000000001 412.7L410.1000000000001 411.5999999999999C406.7000000000001 410.7 407.6000000000001 407.2 407.8000000000001 404.2C407.9000000000001 401.3999999999999 405.5000000000001 400.5999999999999 401.3000000000001 398.0999999999999zM230.1 411.6C233.5 410.7 232.6 407.2 232.4 404.2C232.2 401.5 234.5 400.7 238.8 398.2C246.7 382.3 254.1 367.7 261 354.2C261.7 352.9 263.3 352.7 264.3 353.7C275.5 365.7 288.9000000000001 379.9 304.8 396.3C306.1 397.7 306.2 399.8 304.9000000000001 401.2C296.9000000000001 409.4 288.4000000000001 418.1 279.3 427.3C278.3 432 278.3 434.6 275.7 435.3C272.7 436.1 269.1 436.3 269.4 439.9C269.7 443.2 270.8 448 266.6 448.1C262.1 448.2 253.4 447 241 438.1C228.7 429.2 224.6 421.3 223.3 417C221.9 412.8 226.9 412.4 230.1 411.6zM620 41.3L471.2 249.2C458 267.7 444.6 272.6 414.8 288.3C403.6 294.2 400.6 299.2 384.3 317.2C383.3 318.3 381.4000000000001 318.1 380.7 316.7C334.4 227.9 333.6 233.9 331.7 221.9C330 211.2 330.4 201.9 332 192.1C333.9 180.1 338.6 168.6 345.7 158.7L494.6 -49.2C502.2 -59.8000000000001 514.8000000000001 -65.4000000000001 527.7 -63.9C568 -59.0000000000001 605.7 -31.9 623.4000000000001 4.6999999999999C628.8000000000001 16.5999999999999 627.7 30.5999999999999 620.0000000000001 41.3z" glyph-name="untappd" horiz-adv-x="640" unicode=""/><glyph d="M99.2 145.4C94 141.8 66.6 132.3 66.6 164.4V268.4H33.9V165.8C33.9 90.9 114.1 114.6999999999999 131.8 126.8V268.4H99.2V145.4zM0 373.6V152.7C0 49 74.9 17.5 187.7 -31.4C300.1 17.5 375.4 48.8 375.4 152.7000000000001V373.6C259.1 435.2 93.6 423.2 0 373.6zM358.1 152.7C358.1 66.1 304.9000000000001 39.1 187.7 -12.6C70.2 39.2 17.2 66.1 17.2 152.7V279.1C119.5 372.9 248.8 379.1 358.1 368.9V152.7zM148.5 260.1V47.3H181.2V116C205.6 108.7 252.9 118.6 252.9 194.5C252.9 291.9 172.2 275.4 148.5 260.1zM181.2 142.8V243.1C189.6 247.3 219.6 255.8 219.6 193.8C219.6 125.9 183.2 142 181.2 142.8zM260.3 229.2C260.4 181.9 311.9 186.7000000000001 312.5 158.8C313.1 135.3 282.1 135.8 261.7 153.9V123.8C297.8999999999999 102.3 343.5999999999999 115.7 344.8999999999999 157.3C346.5999999999999 208.8 290.7999999999999 203.9 291.5 230.5C292.1 250.8 322.1 251 340 232.7V261.1C311.5 283.1 260.0999999999999 270.3 260.3 229.2z" glyph-name="ups" horiz-adv-x="375.3" unicode=""/><glyph d="M641.5 192C641.5 188.9 639.8 185.9 637 184.5L547.9 131C546.5 130.2 545.1 129.6 543.4 129.6C542 129.6 540.3 129.9 538.9 130.7000000000001C536.1 132.4 534.4 135.2000000000001 534.4 138.5000000000001V174.1000000000001H295.7C321 134.5000000000001 336.2 67.2000000000001 365.3 67.2000000000001H392V94C392 99 395.9 102.9 400.9 102.9H490C495 102.9 498.9 99 498.9 94V4.9C498.9 -0.1 495 -4 490 -4H400.9C395.9 -4 392 -0.1 392 4.9V31.6H365.3C289.9 31.6 284.2000000000001 174.1 240.6 174.1H140.3C132.2 143.5 104.4 120.6 71.3 120.6C32 120.7 0 152.7 0 192S32 263.3 71.3 263.3C104.4 263.3 132.3 240.5 140.3 209.8C179.4 209.8 184.2 200.3 214.9 270.2000000000001C255 359.3 273 352.3 323.8 352.3C331.3 373.2 350.8 387.9 374.2 387.9C403.7 387.9 427.7 364 427.7 334.4S403.8 280.9 374.2 280.9C350.8 280.9 331.3 295.7000000000001 323.8 316.5H294C264.9 316.5 249.7 249.1 224.4 209.6H534.5V245.2C534.5 248.5 536.2 251.3 539 253C541.8 254.7 545.4 254.4 547.9 252.7L637 199.2C639.8 198.1 641.5 195.1 641.5 192z" glyph-name="usb" horiz-adv-x="640" unicode=""/><glyph d="M433.3 206.2C459.1 247.5 448.5 255 421.6 255H394.6C394.5 255 393.1 256.4 383.7000000000001 247C372.5000000000001 241.4 345.8000000000001 240.7 345.8000000000001 238.3C345.8000000000001 233.8 416.1000000000001 241.4 433.9000000000001 238.3C443.4000000000001 236.8 432.4000000000001 217.9 429.5000000000001 206.3C429.0000000000001 201.8 431.9000000000001 204 433.3000000000002 206.2zM321.2000000000001 183.6C385.2000000000001 204.9 418.5000000000001 207.5 423.2000000000001 209.8C427.6 212.7 418.8000000000001 216.4 397.0000000000001 215.6C345.3000000000001 213.4 259.4000000000001 178.5 224.4000000000001 161.7L193.7 255H390.3C387.6 283.2 237.4 277.6 52.4 277.6L0 32.1C196.4 129.4 258.9 162.4 321.2 183.6zM67.7 351.9C321 298.2 397.7 286.2 399.8 266.7C436.2 266.7 445.7 266.7 452.2 260.1C473.3 240.4 437.6 192.4 437.6 192.4C433.2 189.5 31.2 32.2 31.2 32.2H454.3L522 351.9H67.7z" glyph-name="usps" horiz-adv-x="522.2" unicode=""/><glyph d="M156.8 162.9L162.5 148.5H154.3C153 151.7 151.2 156.2 150.5 158C148 164.3 149.4 166.4 150.5 168C152.4 170.7 153.7 172.4 154.1 173.2C154.1 171 154.9 167.5 156.8 162.9zM454.1 144.1C452 130.3 448.4000000000001 117 443.6 104.4L486.6 81L441.8 99.8C436.5 86.6 429.8 74.2 421.9000000000001 62.6L456.1 32.4L419.3 58.8C410.9000000000001 47 401.3 36.2 390.6 26.5L415.5 -8.2L387.4 23.6C376.4 14 364.3 5.6 351.3 -1.5L367 -38.7L347.7 -3.4C334.5999999999999 -10.2 320.7 -15.5 306.0999999999999 -19.3L312.7999999999999 -57.6999999999999L302.2999999999999 -20.3C287.9999999999999 -23.6999999999999 273.0999999999999 -25.6 257.7999999999999 -25.6999999999999L256 -64L254.1 -25.6C238.8 -25.5 223.9 -23.6 209.6 -20.3L199 -57.6L205.7 -19.4C191.1 -15.7 177.1 -10.3 164 -3.6L144.8 -38.7L160.4 -1.7C147.4 5.3 135.2 13.6999999999999 124.2 23.4L96.3 -8.2L121 26.1999999999999C110.3 35.8999999999999 100.6 46.6999999999999 92.2 58.4999999999999L55.7 32.3L89.6 62.1999999999999C81.7 73.8 75 86.3 69.6 99.4999999999999L25.2 80.8L67.8 104C63 116.7 59.4 130.1 57.3 143.9L6.3 134.9L56.6 149.1C55.5 157.6 54.9 166.2 54.9 175C54.9 179.6999999999999 55.1 184.3999999999999 55.4 189.1L0 192L56 194.8C57.3 207.9 59.8 220.6 63.5 232.9L6.4 249L65.3 238.6C69.3 250.6 74.4 262.1 80.5 273L25.4 303L83.7 278.4C90 289 97.2 298.8 105.3 308L55.8 351.6L109.7 312.9C117.8 321.5 126.7 329.4 136.3 336.5L96.3 392.1L141.9 340.5C151.4 347.1 161.6 352.8 172.2 357.7L144.9 422.6L178.7 360.5C189.2 364.9 200.1 368.4 211.4 370.9L199 441.6L218.5 372.4C229.5 374.5 240.8 375.6 252.3 375.8L256 448L259.6 375.8C271.1 375.6 282.4000000000001 374.4 293.4000000000001 372.3L313 441.6L300.6 370.9C311.9000000000001 368.3 322.8 364.8 333.2000000000001 360.4L367.1 422.6L339.7000000000001 357.5C350.3000000000001 352.6 360.4000000000001 346.8 369.9000000000001 340.3L415.7000000000001 392.1L375.6 336.2C385.1 329.1 394 321.2 402.1 312.6L456.3 351.5L406.6 307.6C414.6 298.5 421.8 288.7 428.1 278.2L486.8 302.9L431.3 272.7C437.4000000000001 261.8 442.4000000000001 250.4 446.4000000000001 238.4L505.7 248.8L448.2000000000001 232.6C451.9 220.4 454.4 207.7 455.7 194.7L512 192L456 189.2C456.3 184.6 456.5 179.9 456.5 175.1C456.5 166.4 455.9 157.8 454.9 149.3L505.6 135L454.1 144.1zM432.3 175.1C432.3 272.6 353.3 351.6 255.8 351.6S79.3 272.6 79.3 175.1S158.3 -1.4 255.8 -1.4S432.3 77.6 432.3 175.1zM408.3 175.1C408.3 90.8 340 22.5 255.7 22.5S103.1 90.8 103.1 175.1S171.4 327.7000000000001 255.7 327.7000000000001S408.3 259.4000000000001 408.3 175.1zM195 207C195 204.9 196.3 203.2 198.6 201.9C201.9 200 204.8 197.3 206.8 193.7C209.6 199.4 211.1 203.2 211.1 204.9C211.1 207.1 210 209.3 207.9 211.9C205.8 214.4 204.7 217.1 204.6 219.6C198.1 212.8 195 208.7 195 207zM154.3 226C154.3 223.9 155.6 222.2 157.9 220.9C161.4 219 164.1 216.3 166.1 212.7C168.9 218.4 170.4 222.2 170.4 223.9C170.4 226.1 169.3 228.3 167.2 230.9C165.1 233.4 164 236.1 163.9 238.6C157.4 231.8 154.3 227.7 154.3 226zM135.3 226C135.3 223.9 136.6 222.2 138.9 220.9C142.2 219 145.1 216.3 147.1 212.7C149.9 218.4 151.4 222.2 151.4 223.9C151.4 226.1 150.3 228.3 148.2 230.9C146.1 233.4 145 236.1 144.9 238.6C138.5 231.8 135.3 227.7 135.3 226zM340.2000000000001 138.1C331.8000000000001 141.1 331.5000000000001 144.9 331.5000000000001 153.7000000000001V266C323.3000000000001 253.5 317.3000000000001 247.4 313.5000000000001 247.4C319.8000000000001 233 323.0000000000001 223.5 323.0000000000001 219.1V154.8C323.0000000000001 152.6 320.8000000000001 148.3 318.3000000000001 148.3H300.3000000000001C297.5000000000001 155.8 290.1000000000001 175.2 285.0000000000001 188.6C283.0000000000001 186.1 277.8000000000001 179.4 274.3000000000001 174.9C276.7000000000001 173.3 278.4000000000001 171.3 279.5000000000001 168.6C282.1000000000001 161.9 285.9000000000001 152.1 287.4000000000001 148.4H278.2000000000001C274.3000000000001 158.8 268.6 173.8 266.4000000000001 179.5000000000001C264.4000000000001 177.0000000000001 259.2000000000001 170.3000000000001 255.7000000000001 165.8000000000001C258.1 164.2000000000001 259.8000000000001 162.2000000000001 260.9000000000001 159.5000000000001C261.7000000000001 157.5000000000001 263.7000000000001 152.2000000000001 265.2000000000001 148.6000000000001H256C254.5 152.7000000000001 250.4 163.2000000000001 247.6 170.6000000000001C245.6 168.1000000000001 240.4 161.4000000000001 236.9 156.9000000000001C239.4 155.3000000000001 241.2 153.3000000000001 242.1 150.6000000000001C242.3 150.0000000000001 242.6 149.2000000000001 242.7 148.9000000000001H225C220.4 162.8000000000001 213.6 176.6000000000001 213.6 183.0000000000001C213.6 185.2000000000001 213.9 188.1000000000001 214.7 191.2000000000001C205.9 180.4000000000001 200.7 175.3000000000001 200.7 166.2000000000001C200.7 158.7000000000001 211.1 137.9000000000001 211.1 132.9000000000001C211.1 131.2000000000001 210.6 129.6000000000001 209.7 128.0000000000001C200.1 140.7000000000001 194.2 148.7000000000001 190.9 148.7000000000001H178.9L167.7 176.7000000000001C163.9 186.3000000000001 162 192.7000000000001 162 195.5000000000001C162 199.3000000000001 162.5 203.2000000000001 163.7 207.7000000000001C162.7 206.4000000000001 160 203.0000000000001 158.2 200.6000000000001C157.4 202.7000000000001 155.1 208.3000000000001 153.6 212.1000000000001C151.5 209.6000000000001 146.1 203.0000000000001 142.4 198.5000000000001C143.3 196.2000000000001 145.7 190.4000000000001 147.3 186.3000000000001C144.8 183.0000000000001 138.2 174.5000000000001 133.7 168.6000000000001C129.7 163.3000000000001 127.9 155.3000000000001 131 146.8000000000001C133.5 140.1000000000001 133 138.9000000000002 129.3000000000001 132.7000000000001H191C196.5 132.7000000000001 205.3 118.7000000000001 206.5 110.7000000000001C219.7 126.7000000000001 221.9 130.3000000000001 223.3 132.3000000000001H330.3C334.2 132.3000000000001 337.5 134.2000000000001 340.2 138.1000000000001zM360.3000000000001 164.7000000000001V266.3C351.3000000000001 253.8 344.4000000000001 247.7 339.6000000000001 247.7C346.7000000000001 233.3 350.3000000000001 223.8 350.3000000000001 219.4V153.1C350.3000000000001 135.6 358.9000000000001 132.7000000000001 374.3000000000001 132.7000000000001C382.4000000000001 132.7000000000001 386.8000000000001 133.5000000000001 388.0000000000001 135.4C383.7000000000001 137.0000000000001 380.4000000000001 137.9 378.1000000000001 138.7000000000001C370.0000000000001 141.9 360.3000000000001 146.1 360.3000000000001 164.7000000000001z" glyph-name="ussunnah" horiz-adv-x="512" unicode=""/><glyph d="M224.5 307.3C226 324.9 229.4 360 274.3 360H372.9C393.6 360 405 367.8 405 381.6V393.9C405 406.1 414.3 416 426.5 416S448 406.1 448 393.9V357.4C448 314.5 426.5 295.4 381.2 295.4H280.7C250.6 295.4 247.7 280.7000000000001 247.7 268.3C247.7 267 247.6 265.8 247.5 264.6C246.8 252.3 236.6 242.4000000000001 224.1 242.4000000000001S201.4 252.2000000000001 200.7 264.6C200.6 265.8 200.5 267 200.5 268.3C200.5 280.6 197.5 295.4 167.5 295.4H66.8C21.5 295.4 0 314.5 0 357.4V393.9C0 406.1 9.4 416 21.6 416S43.1 406.1 43.1 393.9V381.6C43.1 367.8 54.5 360 75.2 360H173.8C218.6 360 222.1 324.9 223.6 307.3H224.5zM224 -8C235.5 -8 245.4 -1 249.7 8.3C250.8 10.1 346.8 177.9 347.9 179.7000000000001C359.8 199.3000000000001 344.7 224.0000000000001 320.7 224.0000000000001C306.8 224.0000000000001 297.4 217.6000000000001 290.9 203.7000000000001L224 86L157.1 203.7C150.7 217.6 141.2 224 127.3 224C103.3 224 88.2 199.4 100.1 179.7C101.2 177.8 197.2 10.1 198.3 8.3C202.6 -1.0000000000001 212.5 -8.0000000000001 224 -8.0000000000001z" glyph-name="vaadin" horiz-adv-x="448" unicode=""/><glyph d="M384 416H320L239.3 224H144.8L64 416H0L48 304H0V256H68.5L82.3 224H0V176H102.8L192 -32L281.2 176H384V224H301.7L315.5 256H384V304H336L384 416zM192 112L165 176H219L192 112z" glyph-name="viacoin" horiz-adv-x="384" unicode=""/><glyph d="M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM280.7 66.8C238.3 20.6 160.7 20.2 118.3 66.8C50.3 140.4 98.5 262.9 199.5 262.9C212.8 262.9 226.1 260.8 238.6 256.2000000000001C234.3 247.8 231.3 238.6 230.2 229.1C220.5 233.2 210 235.1 199.5 235.1C150.7 235.1 114.9 193.4 114.9 146.2000000000001C114.9 103.2000000000001 143.4 67.5000000000001 184.4 60.3000000000001C245.9 84.3000000000001 257.3 177.9000000000001 257.3 235.3000000000001C257.3 242.6000000000001 257.3 250.1000000000001 256.7 257.4000000000001C245.5 290.3000000000001 230.1 322.0000000000001 212.5 351.9000000000001C239.6 333.6000000000001 254.4 289.4000000000001 256.7 257.8000000000001V257.4000000000001C264.4 234.9000000000001 268.5 211.2000000000001 268.5 187.4000000000001C268.5 133.3000000000001 246.6 88.4000000000001 200.2 59.2000000000001L197.8 59.0000000000001C247.8 58.0000000000001 284 97.6000000000001 284 146.2000000000001C284 158.4000000000001 281.9 170.5000000000001 277.1 181.9000000000001C286.6 183.8000000000001 295.6 187.5000000000001 303.5 192.4000000000001C318.8 155.8000000000001 316.1 105.1000000000001 280.7 66.8000000000001zM309 214.3C295.7 214.3 283.9 221.4 274.6 230.4C296.5 242.4 324.2000000000001 261.1 336.9000000000001 283.4C338.4000000000001 286.4 341.0000000000001 292 341.4000000000001 295.4C328.9000000000001 267.5 297.2000000000001 245.6 267.5 238.7C262.8 246 260 254.2 260 263C260 273.3 265.2 287.1 272.9 294.6C294.5 315.1 325.9 303.1 345.3 344.6C377.8 298.4 358.4 214.3 309 214.3z" glyph-name="viadeo-square" horiz-adv-x="448" unicode=""/><glyph d="M276.2 297.5V296.8C258.3 349.4 233.6 400.2 205.4 448C248.7 418.8 272.4 348 276.2 297.5zM308.9 175.8C316.5 157.6 319.9 138.3 319.9 118.8C319.9 41.1 262.1 -22.2 182.1 -20.6L185.9 -20.3C260.1 26.4 295.2 98.3 295.2 184.8C295.2 222.9 288.7 260.7 276.3 296.8C277.3 285.1 277.3 273.1 277.3 261.4C277.3 169.6 259.2 19.8 160.7 -18.6C95 -7.2 49.4 50 49.4 118.8C49.4 194.4 106.8 261.1 184.8 261.1C201.6 261.1 218.5 258 233.9 251.5000000000001C235.6 266.6 240.4 281.4000000000001 247.3 294.8C227.4 302 206.1 305.5 184.8 305.5C23.3 305.5 -53.9 109.6 54.9 -8.2C122.8 -82.7999999999999 246.9 -82.1 314.7000000000001 -8.2C371.3000000000001 53.1 375.6 134.2000000000001 351.1 192.8C338.4000000000001 184.8 324 178.9 308.9000000000001 175.8zM418.1 436.3C387.1 369.8 336.8 389.1 302.3 356.2C289.9000000000001 344.2 281.7 322.2 281.7 305.7C281.7 291.6 286.2 278.6 293.7 266.9C341.1 277.9 392 312.9 411.9 357.6C411.2 352.1 407.1 343.2 404.7 338.4C384.4 302.7 340.1 272.8 305 253.5C319.8 239.1 338.7 227.7 360 227.7C439 227.7 470.1 362.3 418.1 436.3z" glyph-name="viadeo" horiz-adv-x="448" unicode=""/><glyph d="M444 398.1C431.3 409.8 379.9 447.1 265.3 447.6C265.3 447.6 130.2 455.7 64.4 395.3C27.8 358.7 14.9 305 13.5 238.5C12.1 172 10.4 47.4 130.5 13.6H130.6L130.5 -38S129.7 -58.9 143.5 -63.1C160.1 -68.3000000000001 169.9 -52.4 185.8 -35.3C194.5 -25.9 206.5 -12.1 215.6 -1.6C297.8 -8.5 360.9000000000001 7.3 368.1 9.6C384.7000000000001 14.9999999999999 478.6 26.9999999999999 493.8 151.6C509.6 280.2 486.2 361.4 444 398.1zM457.9 161C445 57 368.9 50.4 354.9 45.9C348.9 44 293.4 30.2 223.7 34.7C223.7 34.7 171.7 -28 155.5 -44.3C150.2 -49.6 144.4 -49.1 144.5 -38.6C144.5 -31.7 144.9 47.1 144.9 47.1C144.8 47.1 144.8 47.1 144.9 47.1C43.1 75.3 49.1 181.4 50.2 236.9C51.3 292.4 61.8 337.9 92.8 368.5C148.5 419 263.2000000000001 411.5 263.2000000000001 411.5C360.1 411.1 406.5000000000001 381.9 417.3000000000001 372.1C453.0000000000001 341.5 471.2 268.3 457.9000000000001 161zM318.9 241.8C319.3 233.2 306.4 232.6 306 241.2C304.9 263.2000000000001 294.6 273.9000000000001 273.4 275.1C264.8 275.6 265.6 288.5 274.1 288C302 286.5 317.5 270.5 318.9 241.8zM339.2 230.5C340.2 272.9 313.7 306.1 263.4 309.8C254.9 310.4 255.8 323.3 264.3 322.7000000000001C322.3 318.5 353.2 278.6 352.1 230.2C352 221.6 339 222 339.2 230.5000000000001zM386.2 217.1C386.3 208.5 373.3 208.4 373.3 217C372.7 298.5 318.4000000000001 342.9 252.5 343.4C244 343.5 244 356.3 252.5 356.3C326.2 355.8 385.5 304.9 386.2 217.1zM374.9 119V118.8C364.1 99.8 343.9 78.8 323.1 85.5L322.9 85.8C301.8 91.7 252.1 117.3 220.7 142.3C204.5 155.1 189.7 170.2 178.3 184.7C168 197.6 157.6 212.9 147.5 231.3C126.2 269.8 121.5 287 121.5 287C114.8 307.8 135.7 328 154.8 338.8H155C164.1999999999999 343.6 173 342 178.9 334.9C178.9 334.9 191.3 320.1 196.5999999999999 312.8C201.5999999999999 306 208.2999999999999 295.1 211.7999999999999 289C217.8999999999999 278.1 214.0999999999999 267 208.0999999999999 262.4L196.0999999999999 252.8C190 247.9 190.7999999999999 238.8 190.7999999999999 238.8S208.5999999999999 171.5 275.0999999999999 154.5C275.0999999999999 154.5 284.2 153.7 289.0999999999999 159.8L298.7 171.8C303.3 177.8 314.3999999999999 181.6 325.3 175.5C340 167.2 358.7 154.3 371.1 142.6C378.1 136.9 379.7 128.2000000000001 374.9 119z" glyph-name="viber" horiz-adv-x="512" unicode=""/><glyph d="M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM383.8 266.4C382.4000000000001 235.3 360.6 192.6 318.5 138.5C275 82 238.2 53.7 208.1 53.7C189.4 53.7 173.7 70.9 160.8 105.3C135.6 197.6 124.9 251.7 104.1 251.7C101.7 251.7 93.3 246.7 79 236.6L64 256C100.9 288.4 136.1 324.4 158.1 326.4C183 328.8 198.3 311.8 204.1 275.3C224.6 145.7000000000001 233.7 126.1 270.9 184.8C284.3 206 291.5 222 292.4 233.1C295.8 265.9000000000001 266.8 263.7000000000001 247.2 255.3C262.9 306.8 293 331.8 337.3 330.4C370.2 329.4 385.7 308 383.8 266.4z" glyph-name="vimeo-square" horiz-adv-x="448" unicode=""/><glyph d="M447.8 294.4C445.8 250.8 415.4000000000001 191.1 356.4 115.3C295.5 36.1 244 -3.5 201.8 -3.5C175.7 -3.5 153.6 20.6 135.5 68.8C100.3 198 85.3 273.7 56.2 273.7C52.8 273.7 41.1 266.6 21 252.6L0 279.8C51.6 325.1 100.9 375.5 131.8 378.3C166.7 381.7000000000001 188.1 357.8 196.2 306.8C224.9 125.3 237.6 97.9 289.8 180.1C308.5 209.7 318.6 232.2 320 247.7C324.8 293.6 284.2 290.5 256.7 278.7000000000001C278.7 350.8 320.8 385.8 382.9 383.8C428.7 382.6 450.4 352.7000000000001 447.8 294.4z" glyph-name="vimeo-v" horiz-adv-x="448" unicode=""/><glyph d="M403.2 416H44.8C20.1 416 0 395.9 0 371.2V12.8C0 -11.9 20.1 -32 44.8 -32H403.2C427.9 -32 448 -11.9 448 12.8V371.2C448 395.9 427.9 416 403.2 416zM377 267.2C375.6 235.7 353.6 192.5 311 137.8C267 80.6 229.7 51.9999999999999 199.3 51.9999999999999C180.4 51.9999999999999 164.5 69.3999999999999 151.4 104.3C125.9 197.6 115 252.3 94 252.3C91.6 252.3 83.1 247.2 68.6 237.1L53.4 256.7C90.7 289.5 126.3 325.9 148.6 327.9C173.8 330.3 189.3 313.1 195.1 276.2C215.8 145 225 125.1999999999999 262.7 184.6C276.2 206 283.5 222.3 284.5 233.5C288 266.7 258.6 264.4 238.7 255.9C254.6 308 285 333.3 329.9 331.9C363.2 331 378.9 309.4 377 267.2z" glyph-name="vimeo" horiz-adv-x="448" unicode=""/><glyph d="M384 193.3V141.2C365.6 137 347.1 135.1 331.9 135.1C295 57.6999999999999 228.9 -8.7 206.8 -21.1C192.8 -29 179.7 -29.5 164.1 -20.3C137 -4 34.2 80.3 0 345.3H74.5C93.2 186.2 139 104.6 189.3 43.5C217.2 71.4 244.1 108.6 264.9 150.4C215.1 175.7 184.8 231.3 184.8 296C184.8 361.6 222.5 411.1 287 411.1C401.9 411.1 393.2 283.2 368.6 229.6C368.6 229.6 322.2000000000001 220.4 305.1 250.1C308.5 261.4 313.3 280.9 313.3 298.6C313.3 329.9 302 345.2 284.9000000000001 345.2C266.7000000000001 345.2 254.1 328.1 254.1 295.2C254.2 216 313.5 176.5 384 193.3z" glyph-name="vine" horiz-adv-x="384" unicode=""/><glyph d="M545 330.3C548.7 342.8 545 352 527.2 352H468.3000000000001C453.3000000000001 352 446.4000000000001 344.1 442.7000000000001 335.3C442.7000000000001 335.3 412.7000000000001 262.2 370.3000000000001 214.8C356.6000000000001 201.1 350.3000000000001 196.7 342.8000000000001 196.7C339.1000000000001 196.7 333.4000000000001 201.1 333.4000000000001 213.6V330.3C333.4000000000001 345.3 329.2000000000001 352 316.8000000000001 352H224.2000000000001C214.8000000000001 352 209.2000000000001 345 209.2000000000001 338.5C209.2000000000001 324.3 230.4000000000001 321 232.6000000000001 281V194.2C232.6000000000001 175.2 229.2000000000001 171.7 221.7000000000001 171.7C201.7000000000001 171.7 153.1000000000001 245.1 124.3000000000001 329.1C118.5000000000001 345.4 112.8000000000001 352 97.7000000000001 352H38.8C22 352 18.6 344.1 18.6 335.3C18.6 319.7 38.6 242.2 111.7 139.8C160.4 69.9 229 32 291.4 32C328.9 32 333.5 40.4 333.5 54.9C333.5 121.7 330.1 128 348.9 128C357.6 128 372.6 123.6 407.6 89.9C447.6 49.9 454.2 32 476.6 32H535.5C552.3 32 560.8 40.4 555.9 57C544.6999999999999 91.9 469 163.7 465.6 168.5C456.9 179.7 459.4 184.7 465.6 194.7C465.7 194.8 537.5999999999999 296 545 330.3z" glyph-name="vk" horiz-adv-x="576" unicode=""/><glyph d="M104.9 96C70.8 96 58.5 126.4 58.5 126.4L2.6 237.9S-7.8 256 13 256H45.8C56.2 256 59 247.3 64.6 237.9L101.3 163.4S106.5 150.3 122.4 150.3S143.5 163.4 143.5 163.4L180.2 237.9C185.8 247.4 188.6 256 199 256H231.8C252.6 256 242.2 237.9 242.2 237.9L186.4 126.4S174.2 96 140 96H104.9zM499.9 96C465.8 96 453.5 126.4 453.5 126.4L397.6 237.9S387.2 256 408 256H440.8C451.2 256 454 247.3 459.6 237.9L496.3 163.4S501.5 150.3 517.4 150.3S538.5 163.4 538.5 163.4L575.3 237.9C580.9 247.4 583.6999999999999 256 594.0999999999999 256H627C647.8 256 637.4 237.9 637.4 237.9L581.5 126.4S569.3 96 535.1 96H499.9zM337.6 256C371.7000000000001 256 384 225.6 384 225.6L439.9 114.1S450.3 96 429.5 96H396.7C386.3 96 383.5 104.7 377.9 114.1L341.2 188.6S336 201.7 320.1 201.7C304.2 201.7 299 188.6 299 188.6L262.3 114.1C256.7 104.7000000000001 253.9 96 243.5 96H210.5999999999999C189.7999999999999 96 200.1999999999999 114.1 200.1999999999999 114.1L256.0999999999999 225.6S268.2999999999999 256 302.4999999999999 256H337.5999999999999z" glyph-name="vnv" horiz-adv-x="640" unicode=""/><glyph d="M356.9 383.7H280L224 295.1L176 383.7000000000001H0L224 0L448 383.7H356.9zM55.7 351.7H109.5L224 153.5L338.4 351.7H392.2L224 63.5L55.7 351.7z" glyph-name="vuejs" horiz-adv-x="448" unicode=""/><glyph d="M425.09 382.17C385.21 382.17 351.81 356.44 341.43 317.8400000000001C323.2699999999999 375.9 275.93 382.17 256.48 382.17C236.7 382.17 189.68 375.89 171.2 317.8400000000001C160.82 356.44 127.75 382.17 87.54 382.17C38.59 382.17 0 348.28 0 304.9700000000001C0 276.01 4.18 271.7 77.17 71.49C99.54 10.92 144.94 2.14 169.91 2.14C209.14 2.14 239.95 21.6 255.84 56.12C271.73 21.29 302.53 1.83 341.77 1.83C366.74 1.83 412.13 10.93 434.51 71.5C511.06 280.15 512.01 277.0800000000001 512.01 298.7C512.64 347.02 476 382.17 425.09 382.17zM451.4299999999999 267.36L385.86 90.92C377.94 69.43 364.64 53.7 339.62 53.7C316.18 53.7 302.24 66.1100000000001 295.5899999999999 87.6L256.31 205.0200000000001H255.36L216.08 87.6C209.12 66.1 195.18 54 172.06 54C147.04 54 133.73 69.74 125.82 91.22L60.88 266.45C55.5 281.28 52.96 290.36 52.96 300.95C52.96 317.29 68.8 330.31 91.29 330.31C109.98 330.31 123.28 318.51 127.4 301.26L171.43 161.44H172.38L217.04 298.23C223.06 317.9 233.51 330.31 256 330.31S288.94 318.2 294.96 298.23L339.62 161.44H340.57L384.6 301.26C388.7200000000001 318.51 402.0200000000001 330.31 420.7100000000001 330.31C442.8800000000001 330.31 459.04 316.99 459.04 294.6C458.72 286.73 454.92 278.56 451.43 267.36z" glyph-name="weebly" horiz-adv-x="512" unicode=""/><glyph d="M407 270.4C414.6 294.4 393.6 317.2 369.6 312.1C347.6 307.3 340.8 340.2000000000001 362.5 344.9000000000001C412.6 355.8 454.8 307.8 439 260.1C432.2 238.9000000000001 400.2 249.3 407 270.4000000000001zM214.8 1.3C108.5 1.3 0 52.7 0 137.6C0 181.9 28 233.0000000000001 76.3 281.3C176 381 279.5 382.2 249.9 287C245.9 273.9 262.2 281.3 262.2 281C341.7 314.6 402.7 297.8 376.2 229.6C372.5 220.2 377.3 218.7 384.5 216.5C520.2 174.2 419.3 1.3 214.8 1.3zM358.5 147.6C353.1 203.3 280 241.6 195.1 233.3C110.3 224.7 46.3 173 51.7 117.3S130.2 23.3 215.1 31.6C299.9 40.2 363.9 91.9 358.5 147.6zM347.9 412.9C322 407.3 331.1 369.2 356.2 374.6C428.5 389.8 491 321.8 467.9 250.6C460.5 226.4 497 213.6 505.3 238.6C537.1999999999999 338.4 450.2 434.5 347.9 412.9zM269.4 101.9C252.3 63.1 202.6 41.9 160.3 55.6C119.5 68.7 102.3 108.9999999999999 120 145.3C137.7 180.6999999999999 183.1 200.7 223.4 190.4C265.4 179.6 286.5 140.2 269.4 101.9zM183.1 131.9C170.2 137.3 153.1 131.6 145.1 119C136.8 106.1 140.8 91 153.7 85C166.8 79 184.5 84.7 192.8 97.9C200.8 111 196.5 126.2 183.1 131.9zM215.7 145.3C210.6 147 204.3 144.6999999999999 201.4 139.9C198.5 134.8 200 129.3 205.0999999999999 127C210.1999999999999 125 216.7999999999999 127.3 219.6999999999999 132.4C222.5 137.6 220.7999999999999 143.3 215.6999999999999 145.3z" glyph-name="weibo" horiz-adv-x="512" unicode=""/><glyph d="M385.2 280.4C391.6 280.4 397.8 280.1 404 279.3C387.4 357.7 303.3 416 207.7 416C100.5 416 13 343.2 13 250.6C13 197.2 42.3 153.1 90.9 119L71.6 60.4L139.6 94.5C164 89.7 183.4 84.8 207.8 84.8C214 84.8 219.9 85.1 226.1 85.6C222.1 98.5 219.9 112.2000000000001 219.9 126.4C219.8000000000001 211.3000000000001 292.8000000000001 280.4000000000001 385.2000000000001 280.4000000000001zM280.7 333.3C295.2 333.3 304.9 323.6 304.9 308.9C304.9 294.4 295.2 284.7000000000001 280.7 284.7000000000001C265.9 284.7000000000001 251.4 294.4 251.4 308.9C251.5 323.6 266 333.3 280.7 333.3zM144.3 284.7000000000001C129.8 284.7000000000001 115 294.4 115 308.9C115 323.7 129.8 333.3 144.3 333.3C159.1 333.3 168.7 323.6 168.7 308.9C168.7 294.3 159.1 284.7000000000001 144.3 284.7000000000001zM563 128.6C563 206.5 485.1 269.9000000000001 397.6 269.9000000000001C304.9000000000001 269.9000000000001 232.2 206.5 232.2 128.6S305 -12.7 397.6 -12.7C416.9000000000001 -12.7 436.5 -7.6 456.2 -2.8L509.6 -32.1L494.8 16.5C534 45.9 563 84.8 563 128.6zM343.9 153.1C334.2 153.1 324.6 162.8 324.6 172.7000000000001C324.6 182.4 334.3 192.0000000000001 343.9 192.0000000000001C358.7 192.0000000000001 368.3 182.3000000000001 368.3 172.7000000000001C368.3 162.7000000000001 358.6 153.1 343.9 153.1zM451 153.1C441.3 153.1 431.7 162.8 431.7 172.7000000000001C431.7 182.4 441.4 192.0000000000001 451 192.0000000000001C465.5 192.0000000000001 475.4 182.3000000000001 475.4 172.7000000000001C475.5 162.7000000000001 465.5 153.1 451 153.1z" glyph-name="weixin" horiz-adv-x="576" unicode=""/><glyph d="M224 325.2C151.3 325.2 92.2 266.1 92.1 193.4C92.1 168.5 99.1 144.2 112.3 123.3L115.4 118.3L102.1 69.6999999999999L152 82.8L156.8 79.9C177 67.9 200.2 61.5 223.9 61.5H224C296.6 61.5 357.3 120.6 357.3 193.3C357.3 228.5 342.1 261.6 317.2 286.5C292.2 311.5 259.2 325.2 224 325.2zM301.5 136.8C298.2 127.5 282.4 119.1 274.8 118C262.2 116.1 252.4 117.1 227.3 127.9C187.6 145.1 161.6 185.1 159.6 187.7C157.6 190.3 143.4 209.2 143.4 228.7S153.6 257.8 157.3000000000001 261.8C160.9 265.8 165.2000000000001 266.8 167.9 266.8C170.5 266.8 173.2000000000001 266.8 175.5 266.7C177.9 266.6 181.2 267.6 184.4 259.9C187.7000000000001 252 195.6 232.5 196.6 230.5S198.3 226.2 196.9 223.6C189.3000000000001 208.4 181.2000000000001 209 185.3000000000001 202C200.6000000000001 175.7 215.9 166.6 239.2000000000001 154.9C243.2000000000001 152.9 245.5000000000001 153.2 247.8000000000001 155.9C250.1000000000001 158.5 257.7000000000001 167.5 260.3000000000001 171.4C262.9000000000001 175.4 265.6000000000001 174.7 269.2000000000001 173.4C272.8000000000001 172.1 292.3000000000001 162.5 296.3000000000001 160.5S302.9000000000001 157.5 303.9000000000001 155.9C304.8000000000001 154 304.8000000000001 146 301.5000000000001 136.8zM400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM223.9 34.8C197.3 34.8 171.2 41.5 148.1 54.1L64 32L86.5 114.2C72.6 138.2 65.3 165.5 65.3 193.5C65.4 280.9 136.5 352 223.9 352C266.3 352 306.1 335.5 336.1 305.5C366 275.5 384 235.7 384 193.3C384 105.9 311.3 34.8 223.9 34.8z" glyph-name="whatsapp-square" horiz-adv-x="448" unicode=""/><glyph d="M380.9 350.9C339 392.9 283.2 416 223.9 416C101.5 416 1.9 316.4 1.9 194C1.9 154.9 12.1 116.7 31.5 83L0 -32L117.7 -1.1C150.1 -18.8 186.6 -28.1 223.8 -28.1H223.9C346.2 -28.1 448 71.5 448 193.9C448 253.2 422.8 308.9 380.9 350.9zM223.9 9.3C190.7 9.3 158.2 18.1999999999999 129.9 34.9999999999999L123.2 38.9999999999999L53.4 20.6999999999999L72 88.8L67.6 95.8C49.1 125.2 39.4 159.1 39.4 194C39.4 295.7 122.2 378.5 224 378.5C273.3 378.5 319.6 359.3 354.4 324.4C389.2 289.5 410.6 243.2 410.5 193.9C410.5 92.1 325.6 9.3 223.9 9.3zM325.1 147.5C319.6 150.3 292.3 163.6999999999999 287.2 165.5C282.1 167.3999999999999 278.4 168.3 274.7 162.6999999999999C271 157.0999999999999 260.4 144.6999999999999 257.1 140.8999999999999C253.9 137.1999999999999 250.6 136.6999999999999 245.1 139.5C212.5 155.8 191.1 168.6 169.6 205.5C163.9 215.3 175.3 214.5999999999999 185.9 235.8C187.7 239.5 186.8 242.7 185.4 245.5C184 248.3 172.9 275.5999999999999 168.3 286.7C163.8 297.5 159.2 296 155.8 296.2C152.6 296.3999999999999 148.9 296.3999999999999 145.2 296.3999999999999C141.5 296.3999999999999 135.5 294.9999999999999 130.4 289.4999999999999C125.3 283.8999999999999 111 270.4999999999999 111 243.2C111 215.8999999999999 130.9 189.5 133.6 185.8C136.4 182.1 172.7 126.1 228.4 101.9999999999999C263.6 86.8 277.4 85.4999999999999 295 88.1C305.7 89.7 327.8 101.4999999999999 332.4 114.5C337 127.5 337 138.6 335.6 140.8999999999999C334.3 143.3999999999999 330.6 144.7999999999999 325.1 147.5z" glyph-name="whatsapp" horiz-adv-x="448" unicode=""/><glyph d="M448 287V308.3L419.5 317.1L417.3 327.5L437.4000000000001 348.2000000000001L427 367.6L398 360.1L390.8 367.6L398.3 395.8L379.2 407.4L357.9 386.4L347.2 389.6L340.2 416H317.6L311.4 389.6L299.3 386.4L279.6 407.4L260.2 396.4L268.3 368.7L260.2 360.3L231.7 367.8L220.7 348.7L241.4 327.7L238.5 317.3L210 309.5L209.7 287.8L238.5 280.3L240.9 268.2L220.8 248.3L231.2 229.8L260.8 237.3L268 228.7L259.9 201.8L279.8 190.2L299.2 210.6L310.8 207.7L317.5 179.2L340.1 178.9L346.8 207.7L358.4 211.2L379.1 189.6L399.5 201.7L390.7 229.7L398.5 237.8L427.3 229L437.6 249.1L416.7 267.9L418.9 280L448 287zM328.8 241.8C297.5 241.8 272 267.2000000000001 272 298.6S297.4 355.4000000000001 328.8 355.4000000000001S385.6 330 385.6 298.6C385.6 267.1 360.2000000000001 241.8 328.8 241.8zM401.1 225.4L448 210.9V171L392.9 157.6L388.8 134.9L427.7 99.6L408.5 61.7000000000001L354.5 78.4L339.8999999999999 63.2000000000001L356.5999999999999 10.7L318.2999999999999 -11.9999999999999L279.3999999999999 28.5000000000001L257.7 21.9L245.1 -32.1L202.6999999999999 -31.6L190.0999999999999 22.0000000000001L168.4 27.6000000000001L132 -10.7999999999999L94.5999999999999 10.9000000000001L109.7999999999999 61.4000000000001L96.0999999999999 77.5000000000001L40.5999999999999 63.4000000000001L20.8999999999999 98.2000000000001L58.7999999999999 135.6000000000001L53.9999999999999 158.4000000000001L-1e-13 172.5000000000001L0.4999999999999 213.4000000000001L54 228.1L59.7 247.8L20.8 287.2L41.5 323L95.1 308.9L110.3 324.6L95.1 376.6L131.5 397.3L168.3 357.9L191 364L202.6 416H245L256.6 370.1L234 376L227.7 377.7L224.4 372L213.4 352.9L210.1 347.3L214.7 342.7000000000001L231.9 325.3L231.6 324.3L207.7999999999999 317.8L201.5999999999999 316.1L201.5 309.7000000000001L201.3 296.8C153.8 286.4 118 244 118 193.3C118 135 165.3 87.6 223.7 87.6C274.2 87.6 316.4 123 326.9 170.4L340.1 170.2000000000001L347 170.1L348.6 176.8L354.2 200.8L356.1 201.4L373.2 183.6L377.9 178.7000000000001L383.7 182.1L404.1 194.2L409.9 197.7L407.9 204.2L401.1 225.4z" glyph-name="whmcs" horiz-adv-x="448" unicode=""/><glyph d="M640 396.8L639.7 384.6C611.6 383.8 594.7 368.8 583.9000000000001 344.3C558.9000000000001 286.5 480.6000000000001 104.3 428.6000000000001 -14.3H415L333.1 178.8C300.6 115.1999999999999 264.8 48.8 233.9000000000001 -14.3000000000001C233.6 -14.6000000000001 218.9 -14.3000000000001 218.9 -14.0000000000001C172 95.7 122.8 204.6 75.8 314.6C64.4 341.3 26.4 384.6 0.2 384.3C0.2 387.4 -0.1 394.3 -0.1 398.5H161.8V384.6C142.6 383.5 109 371.3 118.5 350.4C140.4 300.7 222.1 110.1 244.1 61.8C259.1 91.4999999999999 301.9000000000001 171 319.4000000000001 204.6C305.5000000000001 232.9 260.8 338.5 246.6 364.6C236.9000000000001 382.4 210.5 384 190.8 384.3V398.2L333.3 397.9V384.8C313.9000000000001 384.2 295.2 377 303.9000000000001 358.7C322.8 318.7 334.5000000000001 290.6 352.0000000000001 254C357.6000000000001 264.8 386.7000000000001 323.4 400.1000000000001 354.8C409.0000000000001 375.4 396.2000000000001 383.4 361.5000000000001 384.2C361.8000000000001 387.8 361.5000000000001 394.5 361.8000000000001 397.8C406.2000000000001 398.1 472.9000000000001 398.1 484.9000000000001 398.4V384.8C462.4000000000001 384 439.1000000000001 372 426.8000000000001 353.1L367.6000000000001 230.3C374.0000000000001 214.2 430.9000000000001 87.5 436.8000000000001 73.6L559.2 356.2C550.6 379.3 522.8000000000001 384.3 512 384.5V398.4L639.8 397.3L640 396.8z" glyph-name="wikipedia-w" horiz-adv-x="640" unicode=""/><glyph d="M0 354.3L183.6 379.6V202.2H0V354.3zM0 29.7L183.6 4.4V179.6H0V29.7zM203.8 1.7L448 -32V179.6H203.8V1.7zM203.8 382.3V202.2H448V416L203.8 382.3z" glyph-name="windows" horiz-adv-x="448" unicode=""/><glyph d="M393.38 316.31C393.38 303.28 395.46 283.62 364.7 272.48C355.18 269.0300000000001 348.75 262.8200000000001 348.75 262.8200000000001C348.75 293.8200000000001 353.4700000000001 305.04 366.15 311.68C375.9 316.79 393.38 316.31 393.38 316.31zM277.58 280.77L243.34 148.11L214.86 256.68C207.17 288.67 194.05 305.2100000000001 166.43 305.2100000000001C139.06 305.2100000000001 125.77 289.03 118 256.68L89.52 148.11L55.28 280.77C49.73 307.49 23.86 319.04 0 316.04L65.57 68.11S87.2 66.55 98.03 72.07C112.25 79.32 119.01 84.91 127.62 118.64C135.29 148.71 156.73 237.05 158.74 243.34C163.5 258.28 169.83 257.15 174.14 243.34C176.11 237.04 197.59 148.71 205.26 118.64C213.86 84.91 220.63 79.32 234.85 72.07C245.67 66.55 267.31 68.11 267.31 68.11L332.88 316.04C308.46 319.11 283.06 307.11 277.58 280.77zM393.36 275.56S389.26 269.2200000000001 379.9000000000001 263.99C373.8900000000001 260.63 368.1200000000001 258.35 361.9300000000001 255.38C346.7900000000001 248.12 348.7500000000001 241.43 348.7500000000001 220.18V68.11S365.3000000000001 66.02 376.1200000000001 71.54C390.0500000000001 78.64 393.2500000000001 85.49 393.3800000000001 116.3200000000001V266.5900000000001L393.3600000000001 266.5800000000001V275.56zM556.8 191.48L640 315.2200000000001S604.89 321.2 587.5 305.37C574.2 293.27 563.09 275.82 533.32 232.9C532.85 232.17 527.07 222.36 520.25 232.9C490.96 275.13 479.45 293.19 466.07 305.37C448.68 321.2 413.57 315.2200000000001 413.57 315.2200000000001L496.77 191.48L413.8 68.12S450.3699999999999 63.5 467.7499999999999 79.33C479.24 89.79 485.3299999999999 99.7 520.26 150.05C527.0699999999999 160.5699999999999 532.83 150.8199999999999 533.33 150.05C562.73 107.67 572.5600000000001 91.99 586.47 79.3299999999999C603.86 63.4999999999999 639.7900000000001 68.12 639.7900000000001 68.12L556.8 191.48z" glyph-name="wix" horiz-adv-x="640" unicode=""/><glyph d="M219.19 102.31C217.29 100.93 208.12 93.87 218.93 78.74C223.57 72.32 233.04 65.95 240.66 72.19C247.16 77.07 248.01 85.11 240.92 95.23C235.45 102.99 226.64 108.11 219.19 102.31zM555.94 26.37C555.6 24.67 555.3900000000001 24.7 556.73 26.37C558.82 30.56 560.9200000000001 36.58 561.71 46.27C564.85 84.76 521.38 117.76 460.37 124.3C405.64 130.3199999999999 335.99 115.13 271.57 63.81L271.31 62.24C273.93 57.2599999999999 276.29 51.4999999999999 274.71 41.03L275.5 40.77C339.39 99.17 406.69 118.02 459.85 114.62C518.25 110.95 559.88 80.58 559.88 46.54C559.87 36.58 557.25 30.82 555.9399999999999 26.37zM392.28 207.58C393.07 200.51 396.47 197.37 401.45 197.11C406.95 196.85 410.88 199.73 411.92 203.66C412.7100000000001 207.06 414.01 233.51 414.01 233.51S402.75 226.96 399.08 223.04C395.42 219.36 391.75 214.65 392.28 207.58zM342.26 358.68C137.75 358.68 13.1 221.2 0.79 206.8C-0.26 206.28 -0.52 206.01 1.58 205.49C62.07 188.99 157.39 124.31 197.71 3.33L198.76 3.0700000000001C254.01 72.9900000000001 339.64 131.1200000000001 435.75 131.1200000000001C516.67 131.1200000000001 565.9 88.96 565.9 50.7300000000001C565.9 32.4000000000001 559.35 17.2100000000001 543.64 4.3800000000001C543.64 3.4200000000001 543.4399999999999 3.59 544.43 3.59C559.0899999999999 14.33 571.93 32.39 571.93 51.77C571.93 74.5500000000001 559.88 90.0000000000001 559.88 90.0000000000001C566.95 82.9300000000001 570.62 73.7600000000001 570.62 73.7600000000001C576.38 114.6100000000001 597.59 136.0800000000001 597.59 136.0800000000001C595.23 145.7700000000001 590.7800000000001 153.8900000000001 590.7800000000001 153.8900000000001C598.3700000000001 145.7700000000001 605.1800000000001 126.3900000000001 605.1800000000001 112.52C605.1800000000001 102.05 601.7800000000001 89.74 592.61 80.5700000000001L592.87 80.0500000000001C600.99 85.0300000000001 609.37 96.8100000000001 609.37 118.0200000000001C609.37 133.7300000000001 604.66 143.9400000000001 604.66 143.9400000000001C610.42 149.1800000000001 615.92 153.1100000000001 620.63 155.7200000000001C621.42 152.3200000000001 622.72 146.0300000000001 622.99 140.7900000000001C622.99 139.7400000000001 623.78 138.9600000000001 624.04 140.7900000000001C624.8299999999999 146.5500000000001 623.78 157.0300000000001 623.78 157.2900000000001C629.8 160.4300000000001 633.47 161.7400000000001 633.47 161.7400000000001C617.74 272 489.43 358.68 342.26 358.68zM243.02 69.06C231.96 60.07 218.82 64.98 212.38 73.25C204.93 82.83 205.62 97.34 216.57 105.72C231.42 117.0700000000001 243.65 106.21 247.73 100.22C248.01 99.83 259.86 83.65 243.02 69.06zM245.11 205.49L254.54 223.3L266.32 152.34L253.75 146.3200000000001L229.13 175.1200000000001L243.27 201.8300000000001L246.94 197.3800000000001L245.11 205.4900000000001zM263.7 87.91L263.44 88.17C265.49 92.27 260.94 94.78 245.9 119.86C244.59 122.22 242.76 122.74 241.45 122.48L241.1900000000001 123C249.0500000000001 128.76 256.6400000000001 133.21 266.5900000000001 138.71L267.11 138.45C268.42 136.62 269.2 135.57 270.51 133.74L270.25 133.22C269.2 133.48 267.89 134.0100000000001 265.01 132.96C262.92 132.17 257.15 129.29 252.7 125.3700000000001V124.0600000000001C254.27 121.7000000000001 256.63 117.5100000000001 258.46 114.3700000000001H258.72C268.77 120.65 266.28 118.9200000000001 270.24 122.2300000000001H270.5C271.0199999999999 120.4000000000001 271.0199999999999 120.4000000000001 272.33 116.7300000000001L272.07 116.4700000000001C269.01 115.8600000000001 267.42 116.1300000000001 260.55 110.9700000000001V110.7100000000001C270.01 93.6900000000001 271.56 93.9600000000001 273.12 94.7400000000001L273.38 94.4800000000001C271.04 92.8900000000001 267.11 90.2700000000001 263.7 87.9100000000001zM318.96 120.38C315.82 118.81 312.94 117.5 309.01 115.4L308.75 115.66C310.04 118.25 309.9100000000001 118.37 296.9700000000001 148.13L296.7100000000001 148.39C296.5600000000001 148.39 287.8100000000001 144.74 286.7600000000001 141.06H286.2400000000001L285.1900000000001 146.82L285.4500000000001 147.34C292.7400000000001 151.9 310.98 158.98 313.2100000000001 159.91L313.73 159.65L316.87 154.67L316.61 154.15C313.0800000000001 155.91 309.26 153.39 304.3 151.53V151.27C316.61 119.26 316.9700000000001 120.63 318.9600000000001 120.63V120.38zM363.73 136.88C359.54 135.83 358.49 135.57 354.04 134L353.78 134.26L354.3 138.71C353.25 142.11 351.16 150.23 350.63 152.33L350.37 152.59C346.97 151.8 341.47 149.97 337.54 148.66L337.28 148.4C338.07 145.78 340.42 138.45 341.47 134.52C342.26 132.16 343.3 131.64 344.35 131.38V130.86C340.68 129.81 337.28 128.24 334.14 126.93L333.88 127.19C334.93 128.5 334.93 130.07 334.14 132.17C333.09 135.31 326.02 156 324.97 159.4C324.45 161.23 323.4 162.54 322.35 162.54V163.06C325.49 164.11 328.37 165.15 333.09 166.46L333.35 166.2L333.09 161.49C334.4 157.56 335.45 153.9 336.23 151.8H336.49C340.42 153.11 345.92 154.68 349.32 155.73L349.58 155.99L346.9599999999999 165.42C346.44 167.25 345.9099999999999 168.82 344.3399999999999 169.35V169.61C348.7899999999999 170.66 351.6699999999999 171.44 355.08 171.97L355.3399999999999 171.71C354.2899999999999 170.4 354.2899999999999 168.8300000000001 354.82 167.2600000000001C356.39 160.9800000000001 359.5299999999999 146.8300000000001 361.0999999999999 140.8100000000001C361.64 138.1900000000001 362.95 137.4 363.7299999999999 136.8800000000001zM395.94 143.69L395.68 143.43C390.97 142.91 381.54 141.07 373.16 139.24L372.9 139.5L373.69 143.69C372.12 151.55 370.29 162.28 368.71 169.88C368.45 171.71 367.92 172.76 366.09 173.55L366.88 174.07C376.05 175.64 387.04 176.43 391.76 176.69L392.02 176.43C392.54 174.07 392.81 173.29 393.59 170.93L393.33 170.67C392.19 171.81 389.99 173.87 377.09 171.46L376.83 171.2000000000001C377.09 169.6300000000001 377.88 164.65 378.4 161.2500000000001L378.66 160.9900000000001C388.18 162.6700000000001 383.42 161.0500000000001 389.4 163.3500000000001H389.66C389.66 161.7800000000001 389.4 161.5200000000001 389.4 158.1100000000001H389.14C384.33 159.1400000000001 386.99 159.0100000000001 378.93 158.1100000000001L378.67 157.8500000000001C378.93 155.7600000000001 380.24 148.4200000000001 380.76 145.2800000000001L381.02 145.0200000000001C382.17 144.6400000000001 395.23 145.6700000000001 397.26 149.7300000000001H397.52C396.99 147.3500000000001 396.47 145.5200000000001 395.94 143.6900000000001zM406.68 188.2C402.23 185.84 398.56 185.32 395.68 185.32C395.43 185.3 384.2699999999999 184.23 378.14 195.27C371.3999999999999 206.06 377.1599999999999 220.47 383.64 226.96C392.44 235.08 406.99 237.06 412.18 243.98C420.2099999999999 254.31 399.14 266.29 382.59 249.74L379.97 252.62L385.21 268.86C410.8 270.43 430.41 271.9 435.23 252.62C436.02 249.48 435.23 243.19 434.97 240.57C434.97 237.95 433.14 221.72 432.88 217.53C432.36 213.34 432.09 199.2 432.09 196.84C432.35 194.48 432.61 192.65 433.66 191.34C435.23 189.51 439.42 189.51 439.42 189.51L438.63 184.8C426.81 185.87 428.35 185.39 418.2 185.85C414.9799999999999 191 415.9699999999999 189.13 414.01 193.71C414.01 193.7000000000001 409.82 189.7700000000001 406.68 188.2000000000001zM443.86 166.99C437.51 177.57 424.04 174.15 422.13 161.49C419.5 144.41 436.43 141.7 442.82 151.28L443.08 151.0200000000001C442.56 149.1900000000001 441.25 145.0000000000001 441.25 144.7400000000001L440.73 144.2200000000001C430.43 137.3500000000001 412.23 146.7200000000001 415.07 162.8100000000001C417.01 173.6800000000001 429.51 181.7400000000001 443.87 172.7600000000001L444.13 172.2400000000001C444.13 171.1800000000001 443.86 168.8300000000001 443.86 166.9900000000001zM449.63 254.7200000000001V261.2700000000001C450.32 261.2700000000001 469.2799999999999 257.99 477.3899999999999 253.9400000000001L475.8199999999999 236.4000000000001S486.0299999999999 245.8300000000001 491.2699999999999 247.1400000000001C496.5099999999999 248.7100000000001 506.1999999999999 239.8100000000001 506.1999999999999 239.8100000000001L494.9399999999999 228.5500000000001C482.8699999999999 234.9000000000001 475.35 228.6300000000001 474.2499999999999 227.7600000000001C468.9599999999999 189.0400000000001 465.6499999999999 185.59 478.6999999999999 181.6700000000001L478.1799999999999 176.9600000000001C460.6299999999999 181.2500000000001 459.65 181.4600000000001 441.26 184.2900000000001L442.05 189.0000000000001C449.3 189.0000000000001 449.53 194.3200000000001 449.64 195.8100000000001C449.64 195.8100000000001 454.6199999999999 248.9700000000001 454.6199999999999 251.0600000000001C454.6 253.9300000000001 449.63 254.7200000000001 449.63 254.7200000000001zM460.6199999999999 140.28C452.4999999999999 142.37 446.48 151.28 449.88 160.97C453.0199999999999 170.4 462.1899999999999 173.28 468.73 171.18C477.9 168.56 481.5599999999999 159.4 479.47 151.8C476.86 142.9 470.05 137.93 460.6199999999999 140.28zM502.78 130.59C500.42 131.11 495.71 132.9500000000001 494.14 133.47V133.73L495.71 135.56C496.3 143.8 496.3 142.83 495.97 143.15C491.15 144.96 489.3099999999999 145.51 488.9 145.51C487.59 143.68 486.02 141.06 485.23 140.01L484.4399999999999 136.61V136.35C483.1299999999999 136.61 480.5099999999999 137.66 478.42 137.92V138.18L481.04 140.01C484.4399999999999 144.72 490.99 154.15 494.92 160.17V162.26L495.4399999999999 162.52C497.5299999999999 161.73 500.9399999999999 160.43 503.0299999999999 159.64C503.5099999999999 159.16 503.2099999999999 161.51 501.9799999999999 134.5C501.7399999999999 132.69 501.9999999999999 131.9 502.7799999999999 130.59zM498.07 220.41C509.32 238.6800000000001 528.83 236.6 532.11 223.81L539.7 250C542.0400000000001 256.25 536.88 259.9 535.25 261.26L537.08 264.93C549.3000000000001 254.56 553.46 250.96 559.6 244.5C533.69 171.43 528.84 163.69 534.98 160.18L533.15 155.73C526.78 159.08 524.25 160.15 515.34 164.37L517.4300000000001 171.18C517.1700000000001 171.44 513.5000000000001 167.25 507.7400000000001 167.5099999999999C488.6800000000001 168.81 484.8500000000001 199.2599999999999 498.0700000000001 220.41zM527.4 141.0700000000001C527.4 146.78 521.06 148.96 519.54 146.3100000000001C518.23 144.2200000000001 520.5899999999999 141.3300000000001 522.42 137.9300000000001C523.99 135.3100000000001 525.04 131.6500000000001 523.4699999999999 128.5000000000001C520.8299999999999 122.1600000000001 511.0699999999999 123.1900000000001 508.0199999999999 129.2900000000001C508.0199999999999 129.9900000000001 507.7499999999999 129.2000000000001 509.8499999999999 134.0000000000001L510.6399999999999 134.2600000000001C510.0699999999999 128.6 516.6999999999999 124.65 519.02 129.28C520.0699999999999 131.37 518.5 134.78 516.93 137.66C515.3599999999999 140.28 513.26 143.94 515.0999999999999 147.35C517.8199999999999 152.41 526.3499999999999 151.8200000000001 529.7599999999999 144.99V144.47L527.3999999999999 141.0700000000001zM548.61 127.71C546.65 130.98 547.7 129.85 544.16 132.42H543.9C541.54 128.23 538.14 121.95 535.26 116.18C533.95 113.82 534.21 112.78 534.47 112.25L534.21 111.99L528.45 116.44L528.71 116.7L530.8000000000001 118.01C533.94 123.77 537.35 130.06 539.97 135.03V135.29C537.33 137.27 538.75 136.8 533.95 137.12V137.38L537.09 140.7799999999999H537.35C541.02 138.4199999999999 547.3000000000001 133.9699999999999 549.66 131.88L549.92 131.62L548.61 127.7099999999999zM575.84 171.97L572.96 174.85C573.75 177.21 574.7900000000001 179.8300000000001 575.0500000000001 182.44C575.8000000000001 192.18 563.5300000000001 194.28 563.5300000000001 187.42C563.5300000000001 182.44 571.3900000000001 168.04 571.3900000000001 159.66C571.3900000000001 149.4500000000001 565.6300000000001 143.9500000000001 557.5100000000001 143.16C549.1300000000001 142.37 537.3500000000001 153.6300000000001 537.3500000000001 153.6300000000001L542.3300000000002 168.03L545.2100000000002 165.9400000000001C542.2400000000001 148.1400000000001 562.8900000000001 145.5700000000001 558.5600000000002 160.7000000000001C557.5000000000002 164.72 539.8100000000002 194.9 560.6500000000002 198.93C574.2700000000002 201.2900000000001 583.6900000000002 182.4300000000001 583.6900000000002 182.4300000000001L575.8400000000001 171.9700000000001zM611.46 182.18C600.46 212.56 550.97 309.7100000000001 419.5100000000001 311.8C366.0900000000001 312.85 325.2400000000001 296.35 286.7500000000001 273.8300000000001L372.3800000000001 283L280.9900000000001 262.31L306.1300000000001 242.67L302.2000000000001 259.17C309.7000000000001 260.88 341.35 267.62 368.9700000000001 268.0700000000001L346.7100000000001 187.68C360.3200000000001 188.38 365.6800000000001 196.66 366.35 210.46L371.3300000000001 211.51L371.5900000000001 184.8C349.1300000000001 181.59 334.29 178.11 322.1 174.85L335.19 218.06L273.65 254.7200000000001L276.01 246.6L286.22 241.6200000000001C292.5 223.03 305.6 185.0600000000001 306.65 182.96C308.6 178.6800000000001 309.81 177.1800000000001 318.7 178.5100000000001L319.75 173.53C303.67 168.67 296.09 165.92 280.73 159.1300000000001L278.37 163.84C282.77 166.78 287.1 167.78 283.87 176.67C260.17 239.17 262.39 234.81 261.0900000000001 236.11L263.4500000000001 240.56L296.9700000000001 173.26C293.1300000000001 185.13 298.6500000000001 171.57 263.98 252.08L222.08 163.57L226.79 177.45L190.91 219.61L218.67 126.13L206.89 117.75C95 219.42 101.05 216.13 93.23 216.48C87.73 216.74 79.61 210.98 79.61 210.98L74.63 217C105.19 240.53 106.25 241.33 133.03 259.68L137.22 252.61S131.46 248.42 129.36 245.54C123.46 236.26 131.03 232.26 191.16 169.86L172.31 228.7800000000001L212.11 238.9900000000001L237.77 208.35L242.22 220.66L237.24 245.2800000000001L250.33 248.6800000000001L250.85 245.5400000000001L254.52 256.0100000000001L160.25 226.6800000000001L171.5099999999999 231.6600000000001L157.8899999999999 274.0800000000001L175.1699999999999 283.25L205.2799999999999 247.11L233.8199999999999 260.2000000000001C232.4099999999999 267.67 231.3499999999999 274.7000000000001 229.1099999999999 279.8400000000001L246.3899999999999 265.9600000000001L251.0999999999999 268.0500000000001L191.9199999999999 310.73L214.9999999999999 299.23C233.9799999999999 305.3000000000001 240.2299999999999 306.7000000000001 247.2099999999999 308.9200000000001L249.8299999999999 297.9200000000001C237.2799999999999 285.37 251.2599999999999 281.1 256.3799999999999 278.5400000000001L242.7599999999999 339.5500000000001L254.8099999999999 311.2700000000001C258.9999999999999 312.5800000000001 262.1399999999999 313.36 262.1399999999999 313.36L264.7599999999999 304.7200000000001S261.6199999999999 303.67 258.4799999999999 302.63L267.3799999999999 281.6800000000001L301.1599999999999 347.4100000000001L280.4699999999999 286.4000000000001C322.8899999999999 310.49 361.9099999999999 323.0600000000001 412.4499999999998 322.2800000000001C479.4899999999998 321.23 579.7799999999999 281.4300000000001 612.2499999999998 182.4500000000001C613.0299999999997 180.35 612.2399999999998 179.8200000000001 611.4599999999998 182.1800000000001zM203.48 295.57S205.31 296.0900000000001 207.67 296.88L217.1 289.29C216.7 289.29 213.66 289.54 205.84 286.93L203.48 295.57zM347.24 257.07C345.67 257.67 320.7800000000001 261.88 313.98 236.38L335.7100000000001 219.36L347.24 257.07zM318.43 380.93C260.0300000000001 380.93 212.38 368.88 203.47 366.53V365.74C211.85 363.65 217.87 361.55 224.68 353.96L226.2500000000001 353.7C232.8000000000001 355.53 275.2200000000001 367.58 336.49 367.58C516.65 367.58 638.1600000000001 250.79 638.1600000000001 144.21V134.26C638.1600000000001 132.95 638.95 131.64 639.21 133.74C639.73 135.83 640 142.38 640 153.38C640.26 237.17 543.37 380.93 318.43 380.93zM529.49 211.25C530.8 217.01 529.49 223.56 522.16 224.34C512.54 225.47 506.02 200.55 505.14 190.82C504.35 185.32 503.83 175.89 511.16 175.89C515.8399999999999 175.9 520.88 176.8 529.49 211.25zM467.96 168.3C465.34 169.09 458.53 169.09 455.39 157.83C453.5600000000001 151.02 455.91 144.48 461.41 143.17C465.08 142.12 470.31 142.65 473.19 153.91C475.81 163.85 471.36 167.52 467.96 168.3zM491 147.35C492.83 146.8300000000001 494.14 146.3 496.76 145.5200000000001C496.76 147.35 497.28 153.9 497.55 157.5700000000001C496.5 156.2600000000001 492.05 149.4500000000001 491 147.6200000000001V147.3500000000001z" glyph-name="wizards-of-the-coast" horiz-adv-x="640" unicode=""/><glyph d="M239.73 -23.53L250.29 -39.3699999999999L255.57 -27.05L260.85 -34.09V-64C281.91 -56.08 281.96 2.86 286.36 33.21C290.98 65.1 285.48 126.02 367.73 182.32C358.85 205.93 355.73 231.75 365.09 262.37C392.96 259.03 419.03 251.79 428.43 208.27L398.08 199.91C409.2299999999999 176.87 415.0899999999999 153.15 411.2799999999999 127.7700000000001L384 134.82L377.84 101.39L359.37 108.43L350.57 75L331.22 82.04L357.61 60.93L366.41 89.08L391.04 83.8L398.08 119.43L424.47 104.91C424.72 124.93 431.44 162.97 415.67 189.36L442.06 184.0800000000001C446.05 206.15 439.68 223.2900000000001 434.14 240.8200000000001L456.5699999999999 231.1400000000001C456.1299999999999 256.2100000000001 426.63 287.9300000000001 394.99 289.6400000000001C374.77 290.73 338.25 314.8100000000001 340.89 341.5400000000001C342.8499999999999 361.4100000000001 358.3399999999999 384.1600000000001 384 391.2400000000001C340.01 354.73 374.32 323.9400000000001 389.2799999999999 317.7800000000001C393.6799999999999 329.2200000000001 406.82 386.8600000000001 389.2799999999999 447.98C348.81 425.1100000000001 299.5499999999999 382.8800000000001 296.0299999999999 300.1900000000001L237.9699999999999 261.48L234.4499999999999 168.23L341.7799999999999 228.05L348.82 221.01L331.23 217.49L287.24 178.78L271.4 184.06L243.25 134.8L239.73 15.16L260.84 -0.6799999999999L228.29 -16.5199999999999L195.74 -0.6799999999999L216.85 15.16L213.33 134.8L185.18 184.06L169.34 178.78L125.3499999999999 217.4900000000001L107.7599999999999 221.0100000000001L114.8 228.0500000000001L222.13 168.23L218.6099999999999 261.48L160.5499999999999 300.1900000000001C157.03 382.9 107.77 425.13 67.3 448C49.76 386.88 62.9 329.24 67.3 317.8C82.26 323.9600000000001 116.56 354.75 72.58 391.26C98.24 384.18 113.73 361.43 115.69 341.56C118.32 314.82 81.81 290.75 61.59 289.66C29.94 287.94 0.44 256.2200000000001 0 231.15L22.43 240.83C16.89 223.3 10.52 206.16 14.51 184.09L40.9 189.37C25.14 162.98 31.85 124.94 32.1 104.92L58.49 119.44L65.53 83.81L90.16 89.09L98.96 60.94L125.35 82.05L106.01 75L97.21 108.43L78.74 101.39L72.58 134.82L45.31 127.78C41.49 153.16 47.36 176.88 58.51 199.92L28.16 208.28C37.56 251.8 63.63 259.05 91.5 262.38C100.86 231.76 97.74 205.93 88.86 182.33C171.11 126.03 165.61 65.1 170.23 33.22C174.63 2.8699999999999 174.68 -56.07 195.74 -63.99V-34.08L201.02 -27.04L206.3 -39.36L216.86 -23.52L228.3 -44.63L239.73 -23.53zM318.9 71.48L303.06 82.04C310.5300000000001 86.4 316.82 90.46 322.4100000000001 94.36C321.81 87.1 322.1400000000001 80.48 318.9000000000001 71.48zM347.05 120.74C346.65 109.8 346.15 99.08 345.29 89.07C337.44 90.93 329.72 92.87 324.18 96.11C332.42 104.01 339.73 112.38 347.05 120.74zM371.68 115.46C371.66 128.8900000000001 369.63 139.67 366.4 148.8900000000001C361.02 139.8000000000001 355.17 130.71 347.93 121.6200000000001L371.68 115.46zM375.2 196.4C394.64 183.59 403 162.74 405.11 140.1C392.79 144.63 380.48 149.41 368.16 150.66C373.22 162.65 374.81 178.8 375.2 196.4zM373.44 242.1400000000001C374.25 227.8400000000001 375.2799999999999 213.3200000000001 375.2 199.9100000000001C394.42 208.0200000000001 404.9799999999999 209.6300000000001 419.19 213.9900000000001C408.5899999999999 232.9400000000001 391.9699999999999 239.5100000000001 373.44 242.1400000000001zM137.68 71.48L153.52 82.04C146.05 86.4 139.76 90.46 134.17 94.36C134.77 87.1 134.44 80.48 137.68 71.48zM109.53 120.74C109.93 109.8 110.43 99.08 111.29 89.07C119.14 90.93 126.86 92.87 132.4 96.11C124.16 104.01 116.85 112.38 109.53 120.74zM84.89 115.46C84.91 128.8900000000001 86.94 139.67 90.17 148.8900000000001C95.55 139.8000000000001 101.4 130.71 108.64 121.6200000000001L84.89 115.46zM81.37 196.4C61.93 183.59 53.57 162.74 51.46 140.1C63.78 144.63 76.09 149.41 88.41 150.66C83.36 162.65 81.76 178.8 81.37 196.4zM83.13 242.1400000000001C82.32 227.8400000000001 81.29 213.3200000000001 81.37 199.9100000000001C62.15 208.0200000000001 51.59 209.6300000000001 37.38 213.9900000000001C47.99 232.9400000000001 64.6 239.5100000000001 83.13 242.1400000000001z" glyph-name="wolf-pack-battalion" horiz-adv-x="456.58" unicode=""/><glyph d="M256 440C119.3 440 8 328.8 8 192C8 55.3 119.3 -56 256 -56S504 55.3 504 192C504 328.8 392.7 440 256 440zM33 192C33 224.3 39.9 255 52.3 282.7L158.7 -8.7C84.3 27.5 33 103.8 33 192zM256 -31C234.1 -31 213 -27.8 193 -21.9L259.9 172.5L328.4 -15.3C328.9 -16.4 329.4 -17.4 330 -18.4C306.9 -26.5000000000001 282 -31.0000000000001 256 -31.0000000000001zM286.7 296.5C300.1 297.2 312.2 298.6 312.2 298.6C324.2 300 322.8 317.7 310.8 317C310.8 317 274.7 314.2 251.4 314.2C229.5 314.2 192.7 317 192.7 317C180.7 317.7 179.3 299.3 191.3 298.6C191.3 298.6 202.7 297.2 214.7 296.5L249.4 201.3L200.6 55L119.4 296.5C132.8 297.2 144.9 298.6 144.9 298.6C156.9 300 155.5 317.7 143.5 317C143.5 317 107.4 314.2 84.1 314.2C79.9 314.2 75 314.3 69.7 314.5C109.6 375 178.1 415 256 415C314 415 366.9 392.8 406.6 356.5C405.6 356.6 404.7000000000001 356.7 403.7000000000001 356.7C381.8000000000001 356.7 366.3000000000001 337.6 366.3000000000001 317.1C366.3000000000001 298.7 376.9000000000001 283.2 388.2000000000001 264.8C396.7000000000001 250 406.6 230.9 406.6 203.3C406.6 184.2 399.3 162.1 389.6 131.2000000000001L367.4000000000001 56.9L286.7000000000001 296.5zM368.1 -0.7L436.2000000000001 196.2C448.9000000000001 228.0000000000001 453.2 253.4000000000001 453.2 276.1C453.2 284.3 452.7 291.9000000000001 451.7 299C469.1 267.2000000000001 479.0000000000001 230.8 479.0000000000001 192C479.0000000000001 109.7000000000001 434.4000000000001 37.9 368.1 -0.6999999999999z" glyph-name="wordpress-simple" horiz-adv-x="512" unicode=""/><glyph d="M61.7 278.6L163.2 0.6C92.2 35 43.3 107.8 43.3 192C43.3 222.9 49.9 252.1 61.7 278.6zM399.6 202.7C399.6 229 390.2 247.2 382.1 261.4C371.3 278.9 361.2 293.8 361.2 311.3C361.2 330.9 376 349.1 396.9 349.1C397.8 349.1 398.7 349 399.7 348.9C361.8 383.6 311.4 404.8 256 404.8C181.7 404.8 116.3 366.7 78.2 308.9C83.2 308.7 87.9 308.6 91.9 308.6C114.1 308.6 148.6 311.3 148.6 311.3C160.1 312 161.4 295.1 150 293.8C150 293.8 138.5 292.5 125.7 291.8L203.2 61.4L249.8 201L216.7 291.8C205.2 292.5 194.4 293.8 194.4 293.8C182.9 294.5 184.3 312 195.7 311.3C195.7 311.3 230.8 308.6 251.7 308.6C273.9000000000001 308.6 308.4000000000001 311.3 308.4000000000001 311.3C319.9000000000001 312 321.2000000000001 295.1 309.8 293.8C309.8 293.8 298.3 292.5 285.5 291.8L362.4 63.1L383.6 134C392.6 163.4 399.6 184.5 399.6 202.7zM259.7 173.4L195.8999999999999 -12.1C214.9999999999999 -17.7 235.0999999999999 -20.8 255.9999999999999 -20.8C280.7999999999999 -20.8 304.4999999999999 -16.5 326.5999999999999 -8.7C325.9999999999999 -7.8 325.4999999999999 -6.8 325.0999999999999 -5.8L259.7 173.4zM442.7 294.1C443.5999999999999 287.3 444.0999999999999 280.1 444.0999999999999 272.2C444.0999999999999 250.6 440.0999999999999 226.4 427.8999999999999 196L362.8999999999999 8.0999999999999C426.2 45 468.7 113.5 468.7 192C468.7 229 459.3 263.8 442.7 294.1zM504 192C504 55.2 392.7 -56 256 -56C119.2 -56 8 55.3 8 192C8 328.8 119.2 440 256 440C392.7 440 504 328.8 504 192zM492.6 192C492.6 322.5 386.4000000000001 428.6 256 428.6C125.5 428.6 19.4 322.5 19.4 192S125.6 -44.6 256 -44.6C386.5 -44.6 492.6 61.5 492.6 192z" glyph-name="wordpress" horiz-adv-x="512" unicode=""/><glyph d="M462.799 125.626C519.01 61.318 466.961 -32 370.944 -32C331.3420000000001 -32 292.12 -14.313 270.802 18.04C263.915 17.684 248.1 17.684 241.212 18.04C219.848 -14.381 180.588 -32 141.069 -32C45.579 -32 -7.279 60.996 49.214 125.626C-29.925 257.477 80.479 416 256.006 416C431.638 416 541.876 257.374 462.799 125.626zM123.152 208.598H164.681V266.673H123.152V208.598zM340.332 122.526V146.365C279.826 125.4499999999999 207.977 137.167 152.743 180.336L152.989 155.439C204.09 109.072 284.735 97.564 340.332 122.526zM189.579 208.598H355.637V266.673H189.579V208.598z" glyph-name="wpbeginner" horiz-adv-x="512" unicode=""/><glyph d="M512 192C512 50.8 397.3 -64 256 -64C114.8 -64 0 50.7 0 192S114.7 448 256 448S512 333.3 512 192zM480 192C480 315.2 379.7 416 256 416C132.5 416 32 315.5 32 192S132.5 -32 256 -32S480 68.5 480 192zM160.9 323.4L247.8 286.3L210.7 199.4L123.8 236.5L160.9 323.4zM270.9 154.3L317.5 60.3H302.9L252.9 160.3L204 60.3H190L241.1 167.2000000000001L218.8 176.6L224.8 190.6L293.4 161.5L287.4 147.2L270.9 154.3zM259.1 270.6L327.7 241.2L298.3 172.9L230 202L259.1 270.6zM339.4 227.7L394 204.6L370.6 150.3L316.3 173.4L339.4000000000001 227.7000000000001z" glyph-name="wpexplorer" horiz-adv-x="512" unicode=""/><glyph d="M448 372.8V11.1C448 -13.2 429 -32.1 404.8 -32.1H43.2C19.3 -32 0 -13.4 0 11.2V372.8C0 396.9 18.8 416 43.2 416H404.9C428.9 416 448 397.2 448 372.8zM410.7 11.2V372.8C410.7 375.8 408.1 378.6 404.9 378.6H395.6L285.3 304L224 353.9L162.8 304L52.5 378.7H43.2C40 378.7 37.4 375.9 37.4 372.9V11.2C37.4 8.2 40 5.4 43.2 5.4H404.9C408.1 5.3 410.7 8.1 410.7 11.2zM150.2 262V225H76.7V262H150.2zM150.2 187.6V150.3H76.7V187.6H150.2zM161.3 334.9000000000001L215.3 378.6H96.8L161.3 334.9000000000001zM371.3 262V225H175.3V262H371.3zM371.3 187.6V150.3H175.3V187.6H371.3zM286.7 334.9000000000001L351.2 378.6H232.8L286.7 334.9000000000001zM371.3 113V75.7H271.9V113H371.3z" glyph-name="wpforms" horiz-adv-x="448" unicode=""/><glyph d="M248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM419.3300000000001 281.4C404.1500000000001 246.89 388.9600000000001 212.38 373.7000000000001 177.9C371.2600000000001 172.39 366.8100000000001 169.66 360.73 169.66C337.7100000000001 169.67 314.7000000000001 169.6 291.68 169.71C286.56 169.74 283.43 167.82 281.3400000000001 162.99C271.1500000000001 139.43 260.7100000000001 115.99 250.3900000000001 92.49C248.8500000000001 88.98 246.3300000000001 87.1999999999999 242.4700000000001 87.1999999999999C196.5300000000001 87.2099999999999 150.6000000000001 87.2199999999999 104.6600000000001 87.1999999999999C101.5300000000001 87.1999999999999 99.0300000000001 88.3499999999999 96.9400000000001 90.6499999999999C85.7300000000001 102.9799999999999 74.4800000000001 115.2799999999999 63.2600000000001 127.5899999999999C60.5700000000001 130.5399999999999 60.4700000000001 133.7699999999999 62.0500000000001 137.3199999999999C70.7100000000001 156.86 79.3200000000001 176.42 87.9400000000001 195.9799999999999C100.8700000000001 225.33 113.8300000000001 254.67 126.6900000000001 284.06C128.3900000000001 287.94 130.9700000000001 289.74 135.2300000000001 289.7099999999999C149.4700000000001 289.61 163.71 289.69 177.9500000000001 289.66C184.1900000000001 289.65 187.15 284.82 184.6100000000001 279.07C171.0100000000001 248.3 157.4400000000001 217.5199999999999 143.87 186.74C138.15 173.75 132.4500000000001 160.75 126.78 147.74C122.87 138.79 133.8600000000001 135.7699999999999 137.73 142.1399999999999C137.96 142.5099999999999 136.31 137.9599999999999 167.74 209.8299999999999C169.1 212.9299999999999 171.15 214.2299999999999 174.51 214.2199999999999C189.72 214.1399999999999 204.94 214.1999999999999 220.15 214.1799999999999C225.7100000000001 214.1699999999999 228.0600000000001 210.5399999999999 225.8100000000001 205.4299999999999C217.48 186.4699999999999 209.1 167.5299999999999 200.8300000000001 148.5399999999999C195.8500000000001 137.1099999999999 208.9100000000001 136.0499999999999 212.1100000000001 143.2099999999999C212.15 143.2899999999999 240.0000000000001 206.5399999999999 244.3000000000001 216.3699999999999C246.3200000000001 220.9799999999999 249.7400000000001 222.8799999999999 254.6500000000001 222.8699999999999C281.0800000000001 222.8199999999999 307.5100000000001 222.8699999999999 333.9400000000001 222.8199999999999C346.3800000000001 222.7999999999999 347.8700000000001 236.4699999999999 337.8400000000001 236.4599999999999C312.5800000000001 236.4299999999999 287.3200000000001 236.4399999999999 262.0600000000001 236.4399999999999C255.7900000000001 236.4399999999999 254.2200000000001 238.9099999999999 256.7900000000001 244.7099999999999C262.5700000000001 257.7699999999999 268.3800000000001 270.82 274.0900000000001 283.92C275.8200000000001 287.88 278.6100000000001 289.7099999999999 282.9300000000001 289.7C306.0200000000001 289.64 308.9100000000001 289.68 413.7100000000001 289.67C419.79 289.68 421.74 286.88 419.3300000000001 281.3999999999999z" glyph-name="wpressr" horiz-adv-x="496" unicode=""/><glyph d="M369.9 129.8C414.2 75.5 434.6 31 424.3 11.1C416.4 -4 367.6 -33.5 331.7 -44.8C302.0999999999999 -54.1 263.3 -58.1 231.3 -54.9999999999999C193.0999999999999 -51.3 154.3999999999999 -37.6 121.1999999999999 -15.9999999999999C93.3 2.2 87 9.7 87 24.6C87 54.5 119.9 106.9 176.2 166.7000000000001C208.2 200.6000000000001 252.7 240.4000000000001 257.6 239.3000000000001C267 237.2000000000001 341.9000000000001 164.2000000000001 369.9000000000001 129.8000000000001zM188.6 304.2C158.9 331.1 130.5 358.1 102.2 367.6C87 372.7 85.9 372.4 73.5 359.5C44.3 329.1 20 279.8 13.2 237.1C7.8 202.9 7.1 193.3 9 176.6C14.6 126.1 26.3 91.2000000000001 49.5 55.7C59 41.1 61.6 38.4 58.8 45.8000000000001C54.6 56.8000000000001 58.5 83.3000000000001 68.3 109.8000000000001C82.6 148.8000000000001 122.2 222.7000000000001 188.6 304.2000000000001zM500.2 240.7C483.3 320.7 432.7 371 425.6 371C418.3 371 401.4000000000001 364.5 389.6 357.1C366.3 342.6 348.6 325.7 325.3 304.3C367.7 251 427.5 164.9 448.2 102C455 81.3 457.9 60.9 455.6 49.7C453.9 41.2 453.9 41.2 456.9999999999999 45.1C463.1 52.8 476.8999999999999 76.4 482.3999999999999 88.6C489.7999999999999 104.8 497.3999999999999 128.8 500.9999999999999 147.3C505.3 169.8 504.8999999999999 218.1 500.1999999999999 240.7zM141.3 405C189 407.5 251 370.5 255.6 369.6C256.3 369.5 266 373.8 277.2 379.3C341.1 410.4 371.2 405.1 384.6 404.5C320.7000000000001 443.8 231.9000000000001 454.5 150.7 416.2C127.3 405.1 126.7 404.3 141.3 405z" glyph-name="xbox" horiz-adv-x="512" unicode=""/><glyph d="M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM140.4 127.8H93.8C88.3 127.8 85.1 133.1 87.8 138.1L137.1 224.8C137.2 224.8 137.2 224.9 137.1 225L105.7 279C102.7 284.6 105.9 289.1 111.7 289.1H158.3C163.5 289.1 167.8 286.2 171.2 280.4L203.1 225.1C201.8 222.8 185.1 193.4 153 136.9C149.5 130.7000000000001 145.3 127.8 140.4 127.8zM360.1 341.9L257.3 161.2V161L322.8 42C325.6 36.9 322.9000000000001 31.9 316.8 31.9H270.2C264.7 31.9 260.5 34.8 257.3 40.6L191.3 160.9C193.6 165 228.1 225.8 294.7000000000001 343.2C298.0000000000001 349 302.1 351.9 307.2000000000001 351.9H354.1C359.8 352 362.9000000000001 347.2 360.1 341.9z" glyph-name="xing-square" horiz-adv-x="448" unicode=""/><glyph d="M162.7 238C160.9 234.7 137.5 193.6 92.6 114.5C87.7 106.2 81.8 102 74.9 102H9.8C2.1 102 -2.3 109.5 1.3 116.4L70.3 237.7C70.5 237.7 70.5 237.8 70.3 238L26.4 313.6C22.1 321.4 26.7 327.7 34.9 327.7H100C107.3 327.7 113.3 323.6 118 315.5L162.7 238zM382.6 401.9L238.6 148.9V148.6L330.2 -18C334.1 -25.1 330.4 -32.1 321.7 -32.1H256.5C248.9 -32.1 242.9 -28.1 238.5 -19.9L146.1 148.6C149.4 154.4 197.6 239.4 290.9 403.8C295.5 411.9 301.3 416 308.4 416H374.1C382.1 416 386.4 409.3 382.6 401.9z" glyph-name="xing" horiz-adv-x="384" unicode=""/><glyph d="M448 416V-32H0V416H448zM236 160.5L313.5 306H280.8L235 215C230.3 205.7 226 196.7 222.2 188.2L210 215L164.8 306H129.8L206.5 162.2V67.7H236V160.5z" glyph-name="y-combinator" horiz-adv-x="448" unicode=""/><glyph d="M252 156L256 -64C243.3 -61.8 232.5 -60.1 223.7 -60.1C215.3 -60.1 204.5 -61.8 191.4 -64L195.4 156C140.4 250.8 85 352.8 21.4 448C33.3 444.9 44.4 444.1 54.6 444.1C63.6 444.1 75 444.9 88.7 448C129.6 375.8 170.8 309.3 223.7 222.5C261 284.1 314.8 366.6 358.6 448C369.7000000000001 445.1 380.6 444.1 391.5 444.1C403 444.1 414.7 445.1 426.5 448C392.1 400.1 294.9 231.1 252 156z" glyph-name="yahoo" horiz-adv-x="448" unicode=""/><glyph d="M129.5 -64V102.1L18.5 400H74.3L156.1 170.3L250.2 448H301.5L180.8 100.2V-64H129.5z" glyph-name="yandex-international" horiz-adv-x="320" unicode=""/><glyph d="M153.1 132.2L65.7 -64H2L98 145.8C52.9 168.7 22.8 210.2 22.8 286.9C22.7 394.3 90.8 448 171.7 448H254V-64H198.9V132.2H153.1zM198.9 401.5H169.5C125.1 401.5 82.1 372.1 82.1 286.9C82.1 204.6 121.5 178.1 169.5 178.1H198.9V401.5z" glyph-name="yandex" horiz-adv-x="256" unicode=""/><glyph d="M393.9 102.8C354.9 93.5 345.5 70.7 289.9 55.4C289.9 55.4 287.2 51.4 279.5 49.6C266.1 46.3 215.6 43.6 211 43.5C198.6 43.4 191.1 46.7 189 51.7C182.6 67 198.2 73.7 198.2 73.7C190.1 78.7 189.2 83.6 188.4 81.8C186 76 184.8 61.7 178.3 55.3C169.5 46.4 152.8 49.4 143 54.5C132.2 60.2 143.8 73.7 143.8 73.7S138 70.3 133.3 77.3C127.3 86.6 116.2 114.6 144.8 139.3C143.5 149.4 140.2 193 185.4 224.9C185.4 224.9 164.8 247.7 172.5 268.2C177.5 281.6 179.5 281.5 181.1 282.1C186.8 284.3 192.4 286.7 196.5 291.2C217.1 313.4 243.3 309.2 243.3 309.2S255.7 347 267.2 339.6C270.7 337.3 283.5 309 283.5 309S297.1 316.9 298.6 314C306.8 298 307.8 267.5 304.2000000000001 248.9C298.1 218.3 282.8000000000001 201.8 276.6 191.4C275.2000000000001 189 293.1 181.4 304.4000000000001 150.1C314.8 121.5 305.5000000000001 97.4 307.2000000000001 94.8C308.0000000000001 93.4 320.9000000000001 93.9999999999999 343.6 107.9999999999999C356.4000000000001 115.8999999999999 371.7000000000001 124.8999999999999 389 125C405.7 125.5 406.6 105.8 393.9 102.8zM496 192C496 55.1 384.9 -56 248 -56S0 55.1 0 192S111.1 440 248 440S496 328.9 496 192zM416.7 116.8C415 130.4 403.5 139.8 388.7 139.6C366.7 139.3 348.2 127.9 335.9 120.4C331.1 117.4 327 115.2000000000001 323.5 113.6C326.6 158.1 301 186.7000000000001 294.8 193C302.6 204.3000000000001 313.2 220.8000000000001 318.2 246.2000000000001C322.5 267.9000000000001 321.2 301.7000000000001 311.3 320.7000000000001C309.7 323.8000000000001 303.9000000000001 331.9000000000001 290.3 328.1C280.6 348.1 277.3 350.2000000000001 274.7 351.9000000000001C273.6 352.6 251.1 368.3000000000001 233.3 323.9000000000001C221.1 323.0000000000001 202 318.6 185.8 301.1C183.8 298.9000000000001 179.9 297.3000000000001 175.7 295.7000000000001H175.8C167.4 292.7000000000001 163.5 285.8000000000001 158.9 273.4000000000001C152.4 256 159.1 238.8000000000001 165.7 227.7000000000001C147.9 211.8000000000001 128.7 187.9 130 145.2000000000001C96 109.2000000000001 118.2 72.2000000000001 124.4 65.6C122.8 54.5 128.1 46.2 136.4 41.8C149 35.1 166.7 32.2 180.3 39C185.2 33.8 194.1 28.9 210.3 28.9C217.1 28.9 268.3 31.8 282.9 35.4C289.7 37 294.4 39.9 297.5 42.5C307.3 45.6 334.3 54.8 359.7 71.2C377.7 82.9 383.9 85.4 397.3 88.6C410.2 91.8 418.3 103.7 416.7 116.8z" glyph-name="yarn" horiz-adv-x="496" unicode=""/><glyph d="M136.9 120C135.9 119.7 27.7 84.3 21.1 84.3C5.9 85.2 2.6 100.5 1.2 115.5C-0.3 129.7 -0.2 145.3 1.5 162.3C3.4 181.1 7 207.4 25.7 206.3C30.5 206.3 92.8 180.4 138.4 161.9C155.5 155.1 157 126.1 136.9 120.0000000000001zM194.8 233.9C196.6 195.7 169.3 185.4 147.6 219.6L41.3 387.6C39.8 394.2 41.6 400 46.6 405C62.2 421.5 146 444.8 168.1 439.1C175.6 437.2 180.2 433 181.9 426.5C183.2 418.2 193.4 259.1 194.8 233.9zM193.4 69.1C193.4 64.5 193.6 -47.3 191.7 -52.4C189.4 -58.4 184.7 -62.1 177.4 -63.6C167.3 -65.2999999999999 150.3 -61.7 126.4 -52.9C104.4 -44.8 69.7 -31.4 77.1 -10.4C79.9 -3.5 128.5 52.4 154.4 83.2000000000001C166.4 98.4 194.2 88.7000000000001 193.4 69.1zM373.6 186.9C368 183.2000000000001 262.8 158.7000000000001 255.5000000000001 156.3L255.8000000000001 156.9C237.7000000000001 152.2000000000001 220.4 175.4 232.5000000000001 191.5000000000001C236.2 195.2000000000001 298.4000000000001 283.9000000000001 305.3 288.5000000000001C310.5 292.1 316.6 292.3000000000001 323.6 289.1C342 280.3000000000001 378.7000000000001 226.0000000000001 381 204.5000000000001C380.9 201.6000000000001 382.2 192.8000000000001 373.6 186.9zM383.7000000000001 56.2C381.0000000000001 35.6 339.2000000000001 -17.1999999999999 319.9000000000001 -24.8C313.0000000000001 -27.4 307.0000000000001 -26.8 302.2000000000001 -22.8C297.2000000000001 -19.3 240.4000000000001 74.3000000000001 237.3000000000001 79.5000000000001C226.4000000000001 95.7000000000001 244.1000000000001 119.3000000000001 262.9000000000001 112.7000000000001C262.9000000000001 112.7000000000001 373.4000000000001 77.0000000000001 377.6 73.3000000000001C382.8 69.2000000000001 384.8 63.5000000000001 383.7000000000001 56.2z" glyph-name="yelp" horiz-adv-x="384" unicode=""/><glyph d="M91.3 372H277.3L270.3 353.1H91.3C51.6 353.1 19.4 321.5 19.4 282.8V77.4C19.4 42 44.3 7.1 103.4 7.1V-12H91.3C41.2 -12 0 28.2 0 77.5V282.8C0 332.1 40.7 372 91.3 372zM320.4 428H386.9C243.1 49.9 241.2 29.1 202.2 -11.3C181.4 -32.9 152.9 -43 123.9 -44V7.1C173.1 14.8 188.5 57 188.5 82.4C188.5 102.5000000000001 189.1 95.0000000000001 106.4 305.6H167.8L218.2 149L320.4 428zM448 286.5V-12H234C240.6 -2.4 244.7 4.3 246.1 7.4H428.6V286.5C428.6 319 411.5 338.4 380.4000000000001 349.4L387.1 367C428.8 353.4 448 323.9 448 286.5z" glyph-name="yoast" horiz-adv-x="448" unicode=""/><glyph d="M186.8 245.9L282 191.8L186.8 137.7V245.9zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM406 191.7S406 251.3 398.4 279.9C394.2 295.7 381.9 308.1 366.2 312.3C337.9 320 224 320 224 320S110.1 320 81.8 312.3C66.1 308.1 53.8 295.7000000000001 49.6 279.9C42 251.4 42 191.7 42 191.7S42 132.1 49.6 103.5C53.8 87.7 66.1 75.8 81.8 71.6C110.1 64 224 64 224 64S337.9 64 366.2 71.7C381.9 75.9 394.2 87.8 398.4 103.6C406 132.1 406 191.6999999999999 406 191.6999999999999z" glyph-name="youtube-square" horiz-adv-x="448" unicode=""/><glyph d="M549.655 323.9170000000001C543.374 347.567 524.8679999999999 366.193 501.371 372.514C458.781 384 288 384 288 384S117.22 384 74.629 372.514C51.132 366.192 32.626 347.567 26.345 323.9170000000001C14.933 281.05 14.933 191.612 14.933 191.612S14.933 102.174 26.345 59.307C32.626 35.657 51.132 17.807 74.629 11.486C117.22 0 288 0 288 0S458.78 0 501.371 11.486C524.8679999999999 17.807 543.374 35.657 549.655 59.307C561.067 102.174 561.067 191.612 561.067 191.612S561.067 281.05 549.655 323.9170000000001zM232.145 110.409V272.815L374.884 191.61L232.145 110.409z" glyph-name="youtube" horiz-adv-x="576" unicode=""/><glyph d="M170.54 299.87V82.33L193.97 82.3200000000001L201.68 55.95L243.69 82.3200000000001H293.2200000000001V299.87H170.54zM268.29 105.94H240.35L212.45 88.43L207.37 105.9L195.47 105.94V276.25H268.29V105.94zM149.83 200.33H97.5C99.24 227.43 99.7 251.92 99.7 273.79H150.86S152.83 296.35 142.28 296.1H53.78C57.27 309.22 61.65 322.76 66.9 336.77C66.9 336.77 42.83 336.77 34.63 315.2C31.24 306.3 21.42 272.06 3.93 237.08C9.82 237.72 29.3 238.26 40.77 259.29C42.88 265.18 43.28 265.95 45.91 273.82H74.78C74.78 263.32 73.58 206.94 73.1 200.38H20.83C9.09 200.38 5.27 176.76 5.27 176.76H70.85C66.45 126.9 42.83 84.88 0 51.66C20.49 45.81 40.91 52.59 51 61.56C51 61.56 73.98 82.46 86.59 130.81L140.55 65.87S148.46 92.76 139.31 105.86C131.73 114.78 111.25 138.92 102.52 147.67L87.9 136.05C92.26 150.03 94.89 163.6 95.77 176.72H157.42S157.33 200.34 149.83 200.34V200.3300000000001zM561.8499999999999 201.93C582.68 227.57 606.8299999999999 260.5 606.8299999999999 260.5S588.18 275.3 579.4499999999999 264.56C573.4499999999999 256.41 542.6199999999999 216.36 542.6199999999999 216.36L561.8499999999999 201.93zM411.7599999999999 261.02C402.7499999999999 269.27 385.8499999999999 258.89 385.8499999999999 258.89S425.3699999999999 203.85 426.9699999999999 201.44L446.4299999999999 215.17S420.7599999999998 252.78 411.7699999999999 261.03H411.7599999999999zM640 189.65C620.22 189.65 509.09 188.72 508.94 188.72V289.72C513.75 289.72 521.36 290.12 531.79 290.92C572.67 293.33 601.92 294.92 619.56 295.73C619.56 295.73 631.78 322.92 618.9699999999999 329.17C615.8999999999999 330.35 595.8 324.59 595.8 324.59S430.58 308.1 363.44 306.54C365.04 297.72 371.06 289.46 379.2199999999999 286.99C392.5299999999999 283.51 401.9099999999999 285.29 428.3699999999999 286.1C453.1999999999999 287.7 472.0499999999999 288.53 484.8799999999999 288.53V188.72H351.4100000000001S354.23 166.41 376.92 165.87H484.86V94.9499999999999C484.86 80.9799999999999 473.67 72.9599999999999 460.38 73.8299999999999C446.3 73.7199999999999 434.3 74.9799999999999 418.69 75.6399999999999C420.68 71.6699999999999 425.02 61.2499999999999 438 53.8C447.88 48.99 454.17 47.23 464.02 47.23C493.58 47.23 509.69 64.51 508.91 92.54V165.86H631.27C640.9499999999999 165.86 639.97 189.64 639.97 189.64L640 189.65z" glyph-name="zhihu" horiz-adv-x="640" unicode=""/></font></defs></svg>

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/js/highlight.pack.js
=====================================================
/*
  Highlight.js 10.0.3 (a4b1bd2d)
  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){!n.hasOwnProperty(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}function n(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function t(e){var n,t={},r=Array.prototype.slice.call(arguments,1);for(n in e)t[n]=e[n];return r.forEach((function(e){for(n in e)t[n]=e[n]})),t}function r(e){return e.nodeName.toLowerCase()}var a=Object.freeze({__proto__:null,escapeHTML:n,inherit:t,nodeStream:function(e){var n=[];return function e(t,a){for(var i=t.firstChild;i;i=i.nextSibling)3===i.nodeType?a+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=e(i,a),r(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n},mergeStreams:function(e,t,a){var i=0,s="",o=[];function l(){return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset<t[0].offset?e:t:"start"===t[0].event?e:t:e.length?e:t}function c(e){s+="<"+r(e)+[].map.call(e.attributes,(function(e){return" "+e.nodeName+'="'+n(e.value).replace(/"/g,"&quot;")+'"'})).join("")+">"}function u(e){s+="</"+r(e)+">"}function d(e){("start"===e.event?c:u)(e.node)}for(;e.length||t.length;){var g=l();if(s+=n(a.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+n(a.substr(i))}});const i="</span>",s=e=>!!e.kind;class o{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=n(e)}openNode(e){if(!s(e))return;let n=e.kind;e.sublanguage||(n=`${this.classPrefix}${n}`),this.span(n)}closeNode(e){s(e)&&(this.buffer+=i)}span(e){this.buffer+=`<span class="${e}">`}value(){return this.buffer}}class l{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){let 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){e.children&&(e.children.every(e=>"string"==typeof e)?(e.text=e.children.join(""),delete e.children):e.children.forEach(e=>{"string"!=typeof e&&l._collapse(e)}))}}class c extends l{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){let t=e.root;t.kind=n,t.sublanguage=!0,this.add(t)}toHTML(){return new o(this,this.options).value()}finalize(){}}function u(e){return e&&e.source||e}const d="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",g={begin:"\\\\[\\s\\S]",relevance:0},h={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[g]},f={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[g]},p={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,r){var a=t({className:"comment",begin:e,end:n,contains:[]},r||{});return a.contains.push(p),a.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|XXX):",relevance:0}),a},b=m("//","$"),v=m("/\\*","\\*/"),x=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:d,BINARY_NUMBER_RE:"\\b(0b[01]+)",RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",BACKSLASH_ESCAPE:g,APOS_STRING_MODE:h,QUOTE_STRING_MODE:f,PHRASAL_WORDS_MODE:p,COMMENT:m,C_LINE_COMMENT_MODE:b,C_BLOCK_COMMENT_MODE:v,HASH_COMMENT_MODE:x,NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?",relevance:0},C_NUMBER_MODE:{className:"number",begin:d,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:[g,{begin:/\[/,end:/\]/,relevance:0,contains:[g]}]}]},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}}),E="of and for in not or if then".split(" ");function R(e,n){return n?+n:(t=e,E.includes(t.toLowerCase())?0:1);var t}const N=n,w=t,{nodeStream:y,mergeStreams:O}=a;return function(n){var r=[],a={},i={},s=[],o=!0,l=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,d="Could not find the language '{}', did you forget to load/include a language module?",g={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0,__emitter:c};function h(e){return g.noHighlightRe.test(e)}function f(e,n,t,r){var a={code:n,language:e};T("before:highlight",a);var i=a.result?a.result:p(a.language,a.code,t,r);return i.code=a.code,T("after:highlight",i),i}function p(e,n,r,i){var s=n;function l(e,n){var t=v.case_insensitive?n[0].toLowerCase():n[0];return e.keywords.hasOwnProperty(t)&&e.keywords[t]}function c(){null!=_.subLanguage?function(){if(""!==k){var e="string"==typeof _.subLanguage;if(!e||a[_.subLanguage]){var n=e?p(_.subLanguage,k,!0,E[_.subLanguage]):m(k,_.subLanguage.length?_.subLanguage:void 0);_.relevance>0&&(T+=n.relevance),e&&(E[_.subLanguage]=n.top),w.addSublanguage(n.emitter,n.language)}else w.addText(k)}}():function(){var e,n,t,r;if(_.keywords){for(n=0,_.lexemesRe.lastIndex=0,t=_.lexemesRe.exec(k),r="";t;){r+=k.substring(n,t.index);var a=null;(e=l(_,t))?(w.addText(r),r="",T+=e[1],a=e[0],w.addKeyword(t[0],a)):r+=t[0],n=_.lexemesRe.lastIndex,t=_.lexemesRe.exec(k)}r+=k.substr(n),w.addText(r)}else w.addText(k)}(),k=""}function h(e){e.className&&w.openNode(e.className),_=Object.create(e,{parent:{value:_}})}var f={};function b(n,t){var a,i=t&&t[0];if(k+=n,null==i)return c(),0;if("begin"==f.type&&"end"==t.type&&f.index==t.index&&""===i){if(k+=s.slice(t.index,t.index+1),!o)throw(a=Error("0 width match regex")).languageName=e,a.badRule=f.rule,a;return 1}if(f=t,"begin"===t.type)return function(e){var n=e[0],t=e.rule;return t.__onBegin&&(t.__onBegin(e)||{}).ignoreMatch?function(e){return 0===_.matcher.regexIndex?(k+=e[0],1):(B=!0,0)}(n):(t&&t.endSameAsBegin&&(t.endRe=RegExp(n.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),t.skip?k+=n:(t.excludeBegin&&(k+=n),c(),t.returnBegin||t.excludeBegin||(k=n)),h(t),t.returnBegin?0:n.length)}(t);if("illegal"===t.type&&!r)throw(a=Error('Illegal lexeme "'+i+'" for mode "'+(_.className||"<unnamed>")+'"')).mode=_,a;if("end"===t.type){var l=function(e){var n=e[0],t=s.substr(e.index),r=function e(n,t){if(function(e,n){var t=e&&e.exec(n);return t&&0===t.index}(n.endRe,t)){for(;n.endsParent&&n.parent;)n=n.parent;return n}if(n.endsWithParent)return e(n.parent,t)}(_,t);if(r){var a=_;a.skip?k+=n:(a.returnEnd||a.excludeEnd||(k+=n),c(),a.excludeEnd&&(k=n));do{_.className&&w.closeNode(),_.skip||_.subLanguage||(T+=_.relevance),_=_.parent}while(_!==r.parent);return r.starts&&(r.endSameAsBegin&&(r.starts.endRe=r.endRe),h(r.starts)),a.returnEnd?0:n.length}}(t);if(null!=l)return l}if("illegal"===t.type&&""===i)return 1;if(A>1e5&&A>3*t.index)throw Error("potential infinite loop, way more iterations than matches");return k+=i,i.length}var v=M(e);if(!v)throw console.error(d.replace("{}",e)),Error('Unknown language: "'+e+'"');!function(e){function n(n,t){return RegExp(u(n),"m"+(e.case_insensitive?"i":"")+(t?"g":""))}class r{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);let 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=u(e[i]);for(i>0&&(a+="|"),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;let n=this.matcherRe.exec(e);if(!n)return null;let t=n.findIndex((e,n)=>n>0&&null!=e),r=this.matchIndexes[t];return 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];let n=new r;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){let n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex;let t=n.exec(e);return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&(this.regexIndex=0)),t}}function i(e){let n=e.input[e.index-1],t=e.input[e.index+e[0].length];if("."===n||"."===t)return{ignoreMatch:!0}}if(e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language.  See documentation.");!function r(s,o){s.compiled||(s.compiled=!0,s.__onBegin=null,s.keywords=s.keywords||s.beginKeywords,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,R(r[0],r[1])]}))}}(s.keywords,e.case_insensitive)),s.lexemesRe=n(s.lexemes||/\w+/,!0),o&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")(?=\\b|\\s)",s.__onBegin=i),s.begin||(s.begin=/\B|\b/),s.beginRe=n(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(s.endRe=n(s.end)),s.terminator_end=u(s.end)||"",s.endsWithParent&&o.terminator_end&&(s.terminator_end+=(s.end?"|":"")+o.terminator_end)),s.illegal&&(s.illegalRe=n(s.illegal)),null==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 t(e,{variants:null},n)}))),e.cached_variants?e.cached_variants:function e(n){return!!n&&(n.endsWithParent||e(n.starts))}(e)?t(e,{starts:e.starts?t(e.starts):null}):Object.isFrozen(e)?t(e):e}("self"===e?s:e)}))),s.contains.forEach((function(e){r(e,s)})),s.starts&&r(s.starts,o),s.matcher=function(e){let 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}(s))}(e)}(v);var x,_=i||v,E={},w=new g.__emitter(g);!function(){for(var e=[],n=_;n!==v;n=n.parent)n.className&&e.unshift(n.className);e.forEach(e=>w.openNode(e))}();var y,O,k="",T=0,L=0,A=0,B=!1;try{for(_.matcher.considerAll();A++,B?B=!1:(_.matcher.lastIndex=L,_.matcher.considerAll()),y=_.matcher.exec(s);)O=b(s.substring(L,y.index),y),L=y.index+O;return b(s.substr(L)),w.closeAllNodes(),w.finalize(),x=w.toHTML(),{relevance:T,value:x,language:e,illegal:!1,emitter:w,top:_}}catch(n){if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:n.message,context:s.slice(L-100,L+100),mode:n.mode},sofar:x,relevance:0,value:N(s),emitter:w};if(o)return{relevance:0,value:N(s),emitter:w,language:e,top:_,errorRaised:n};throw n}}function m(e,n){n=n||g.languages||Object.keys(a);var t=function(e){const n={relevance:0,emitter:new g.__emitter(g),value:N(e),illegal:!1,top:E};return n.emitter.addText(e),n}(e),r=t;return n.filter(M).filter(k).forEach((function(n){var a=p(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 b(e){return g.tabReplace||g.useBR?e.replace(l,(function(e,n){return g.useBR&&"\n"===e?"<br>":g.tabReplace?n.replace(/\t/g,g.tabReplace):""})):e}function v(e){var n,t,r,a,s,o=function(e){var n,t=e.className+" ";if(t+=e.parentNode?e.parentNode.className:"",n=g.languageDetectRe.exec(t)){var r=M(n[1]);return r||(console.warn(d.replace("{}",n[1])),console.warn("Falling back to no-highlight mode for this block.",e)),r?n[1]:"no-highlight"}return t.split(/\s+/).find(e=>h(e)||M(e))}(e);h(o)||(T("before:highlightBlock",{block:e,language:o}),g.useBR?(n=document.createElement("div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ \/]*>/g,"\n"):n=e,s=n.textContent,r=o?f(o,s,!0):m(s),(t=y(n)).length&&((a=document.createElement("div")).innerHTML=r.value,r.value=O(t,y(a),s)),r.value=b(r.value),T("after:highlightBlock",{block:e,result:r}),e.innerHTML=r.value,e.className=function(e,n,t){var r=n?i[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),e.includes(r)||a.push(r),a.join(" ").trim()}(e.className,o,r.language),e.result={language:r.language,re:r.relevance},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.relevance}))}function x(){if(!x.called){x.called=!0;var e=document.querySelectorAll("pre code");r.forEach.call(e,v)}}const E={disableAutodetect:!0,name:"Plain text"};function M(e){return e=(e||"").toLowerCase(),a[e]||a[i[e]]}function k(e){var n=M(e);return n&&!n.disableAutodetect}function T(e,n){var t=e;s.forEach((function(e){e[t]&&e[t](n)}))}Object.assign(n,{highlight:f,highlightAuto:m,fixMarkup:b,highlightBlock:v,configure:function(e){g=w(g,e)},initHighlighting:x,initHighlightingOnLoad:function(){window.addEventListener("DOMContentLoaded",x,!1)},registerLanguage:function(e,t){var r;try{r=t(n)}catch(n){if(console.error("Language definition for '{}' could not be registered.".replace("{}",e)),!o)throw n;console.error(n),r=E}r.name||(r.name=e),a[e]=r,r.rawDefinition=t.bind(null,n),r.aliases&&r.aliases.forEach((function(n){i[n]=e}))},listLanguages:function(){return Object.keys(a)},getLanguage:M,requireLanguage:function(e){var n=M(e);if(n)return n;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:k,inherit:w,addPlugin:function(e,n){s.push(e)}}),n.debugMode=function(){o=!1},n.safeMode=function(){o=!0},n.versionString="10.0.3";for(const n in _)"object"==typeof _[n]&&e(_[n]);return Object.assign(n,_),n}({})}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);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:/<<[-~]?'?/},{begin:/\w+/,endSameAsBegin:!0,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("yaml",function(){"use strict";return function(e){var n={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]}]};return{name:"YAML",case_insensitive:!0,aliases:["yml","YAML"],contains:[{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:"!"+e.UNDERSCORE_IDENT_RE},{className:"type",begin:"!!"+e.UNDERSCORE_IDENT_RE},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"\\-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:"true false yes no null",keywords:{literal:"true false yes no null"}},{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"},n]}}}());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,lexemes:"[a-z/_]+",keywords:{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("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]},s={begin:"^"+e.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},r={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[i]};return{name:"Makefile",aliases:["mk","mak"],keywords:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath",lexemes:/[\w-]+/,contains:[e.HASH_COMMENT_MODE,i,n,a,s,{className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{"meta-keyword":".PHONY"},lexemes:/[\.\w]+/},r]}}}());hljs.registerLanguage("ini",function(){"use strict";return function(e){var n={className:"number",relevance:0,variants:[{begin:/([\+\-]+)?[\d]+_[\d_]+/},{begin:e.NUMBER_RE}]},a=e.COMMENT();a.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];var s={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)}/}]},i={className:"literal",begin:/\bon|off|true|false|yes|no\b/},t={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]};return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[a,{className:"section",begin:/\[+/,end:/\]+/},{begin:/^[a-z0-9\[\]_\.-]+(?=\s*=\s*)/,className:"attr",starts:{end:/$/,contains:[a,{begin:/\[/,end:/\]/,contains:[a,i,s,t,n,"self"],relevance:0},i,s,t,n]}}]}}}());hljs.registerLanguage("javascript",function(){"use strict";return function(e){var n={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/},a="[A-Za-z$_][0-9A-Za-z$_]*",s={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},r={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:e.C_NUMBER_RE+"n?"}],relevance:0},i={className:"subst",begin:"\\$\\{",end:"\\}",keywords:s,contains:[]},t={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,i],subLanguage:"xml"}},c={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,i],subLanguage:"css"}},o={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,i]};i.contains=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,t,c,o,r,e.REGEXP_MODE];var l=i.contains.concat([e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]),d={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:l};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:s,contains:[{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},{className:"meta",begin:/^#!/,end:/$/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,t,c,o,e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:a+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,r,{begin:/[{,\n]\s*/,relevance:0,contains:[{begin:a+"\\s*:",returnBegin:!0,relevance:0,contains:[{className:"attr",begin:a,relevance:0}]}]},{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.REGEXP_MODE,{className:"function",begin:"(\\(.*?\\)|"+a+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:a},{begin:/\(\s*\)/},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,contains:l}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:"<>",end:"</>"},{begin:n.begin,end:n.end}],subLanguage:"xml",contains:[{begin:n.begin,end:n.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:a}),d],illegal:/\[|%/},{begin:/\$[(.]/},e.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0},{begin:"(get|set)\\s+(?="+a+"\\()",end:/{/,keywords:"get set",contains:[e.inherit(e.TITLE_MODE,{begin:a}),{begin:/\(\)/},d]}],illegal:/#(?!!)/}}}());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("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("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",lexemes:e.UNDERSCORE_IDENT_RE,keywords:{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("coffeescript",function(){"use strict";return function(e){var n={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super yield import export from as default await then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",built_in:"npm require console print module global window document"},i="[A-Za-z$_][0-9A-Za-z$_]*",s={className:"subst",begin:/#\{/,end:/}/,keywords:n},a=[e.BINARY_NUMBER_MODE,e.inherit(e.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[e.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,s]},{begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s]}]},{className:"regexp",variants:[{begin:"///",end:"///",contains:[s,e.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=a;var t=e.inherit(e.TITLE_MODE,{begin:i}),r={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:n,contains:["self"].concat(a)}]};return{name:"CoffeeScript",aliases:["coffee","cson","iced"],keywords:n,illegal:/\/\*/,contains:a.concat([e.COMMENT("###","###"),e.HASH_COMMENT_MODE,{className:"function",begin:"^\\s*"+i+"\\s*=\\s*(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[t,r]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:"(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[r]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[t]},t]},{begin:i+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}}());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,lexemes:/[\w\.]+/,keywords:{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("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("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("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)"},{beginKeywords:"import",end:/$/,contains:[e.C_LINE_COMMENT_MODE,n]}]}}}());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",lexemes:e.UNDERSCORE_IDENT_RE}),{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("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("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:"."},{begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\((?:.|\n)*?\)\1"/}]},s={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},i={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]},c={className:"title",begin:t("[a-zA-Z_]\\w*::")+e.IDENT_RE,relevance:0},o=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 bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap 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,s,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]+)+"+o,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:l,illegal:/[^\w\s\*&:<>]/,contains:[{begin:"decltype\\(auto\\)",keywords:l,relevance:0},{begin:o,returnBegin:!0,contains:[c],relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,s,r,{begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:["self",e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,s,r]}]},r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i]};return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],keywords:l,disableAutodetect:!0,illegal:"</",contains:[].concat(_,u,d,[i,{begin:"\\b(deque|list|queue|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:i,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("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("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("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 n={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},t={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,n]};n.contains.push(t);const a={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,s]};return{name:"Bash",aliases:["sh","zsh"],lexemes:/\b-?[a-z\._]+\b/,keywords:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[{className:"meta",begin:/^#![^\n]+sh\s*$/,relevance:10},{className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},a,e.HASH_COMMENT_MODE,t,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}}());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("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=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",_={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,{begin:"<",end:">",keywords:"in out"},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:"("+E+"\\s+)+"+e.IDENT_RE+"\\s*\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{begin:e.IDENT_RE+"\\s*\\(",returnBegin:!0,contains:[e.TITLE_MODE],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]},_]}}}());hljs.registerLanguage("objectivec",function(){"use strict";return function(e){var n=/[a-zA-Z@][a-zA-Z0-9_]*/,_="@interface @class @protocol @implementation";return{name:"Objective-C",aliases:["mm","objc","obj-c"],keywords:{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"},lexemes:n,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:"("+_.split(" ").join("|")+")\\b",end:"({|$)",excludeEnd:!0,keywords:_,lexemes:n,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}}());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:{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},lexemes:e.IDENT_RE+"!?",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("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("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("perl",function(){"use strict";return function(e){var n="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"],lexemes:/[\w\.]+/,keywords:n,contains:a}}}());hljs.registerLanguage("typescript",function(){"use strict";return function(e){var n={keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class public private protected get set super static implements enum export import declare type namespace abstract as from extends async await",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document any number boolean string void Promise"},r={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},a={begin:"\\(",end:/\)/,keywords:n,contains:["self",e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.NUMBER_MODE]},t={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,r,a]},s={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:e.C_NUMBER_RE+"n?"}],relevance:0},i={className:"subst",begin:"\\$\\{",end:"\\}",keywords:n,contains:[]},o={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,i],subLanguage:"xml"}},c={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,i],subLanguage:"css"}},E={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,i]};return i.contains=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,o,c,E,s,e.REGEXP_MODE],{name:"TypeScript",aliases:["ts"],keywords:n,contains:[{className:"meta",begin:/^\s*['"]use strict['"]/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,o,c,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.REGEXP_MODE,{className:"function",begin:"(\\(.*?\\)|"+e.IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.IDENT_RE},{begin:/\(\s*\)/},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,contains:["self",e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]}]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[\{;]/,excludeEnd:!0,keywords:n,contains:["self",e.inherit(e.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*"}),t],illegal:/%/,relevance:0},{beginKeywords:"constructor",end:/[\{;]/,excludeEnd:!0,contains:["self",t]},{begin:/module\./,keywords:{built_in:"module"},relevance:0},{beginKeywords:"module",end:/\{/,excludeEnd:!0},{beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:"interface extends"},{begin:/\$[(.]/},{begin:"\\."+e.IDENT_RE,relevance:0},r,a]}}}());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("plaintext",function(){"use strict";return function(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}}());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("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("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("java",function(){"use strict";return function(e){var a="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",n={className:"meta",begin:"@[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]};return{name:"Java",aliases:["jsp"],keywords:a,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:a,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,keywords:a,relevance:0,contains:[n,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]},{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},n]}}}());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}}());

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/js/hugo-learn.js
=====================================================
// Get Parameters from some url
var getUrlParameter = function getUrlParameter(sPageURL) {
    var url = sPageURL.split('?');
    var obj = {};
    if (url.length == 2) {
      var sURLVariables = url[1].split('&'),
          sParameterName,
          i;
      for (i = 0; i < sURLVariables.length; i++) {
          sParameterName = sURLVariables[i].split('=');
          obj[sParameterName[0]] = sParameterName[1];
      }
    }
    return obj;
};

// Execute actions on images generated from Markdown pages
var images = $("div#body-inner img").not(".inline");
// Wrap image inside a featherlight (to get a full size view in a popup)
images.wrap(function(){
  var image =$(this);
  var o = getUrlParameter(image[0].src);
  var f = o['featherlight'];
  // IF featherlight is false, do not use feather light
  if (f != 'false') {
    if (!image.parent("a").length) {
      return "<a href='" + image[0].src + "' data-featherlight='image'></a>";
    }
  }
});

// Change styles, depending on parameters set to the image
images.each(function(index){
  var image = $(this)
  var o = getUrlParameter(image[0].src);
  if (typeof o !== "undefined") {
    var h = o["height"];
    var w = o["width"];
    var c = o["classes"];
    image.css("width", function() {
      if (typeof w !== "undefined") {
        return w;
      } else {
        return "auto";
      }
    });
    image.css("height", function() {
      if (typeof h !== "undefined") {
        return h;
      } else {

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/js/learn.js
=====================================================
// Scrollbar Width function
function getScrollBarWidth() {
    var inner = document.createElement('p');
    inner.style.width = "100%";
    inner.style.height = "200px";

    var outer = document.createElement('div');
    outer.style.position = "absolute";
    outer.style.top = "0px";
    outer.style.left = "0px";
    outer.style.visibility = "hidden";
    outer.style.width = "200px";
    outer.style.height = "150px";
    outer.style.overflow = "hidden";
    outer.appendChild(inner);

    document.body.appendChild(outer);
    var w1 = inner.offsetWidth;
    outer.style.overflow = 'scroll';
    var w2 = inner.offsetWidth;
    if (w1 == w2) w2 = outer.clientWidth;

    document.body.removeChild(outer);

    return (w1 - w2);
};

function setMenuHeight() {
    $('#sidebar .leftMenu').height($(window).innerHeight() - $('#header-wrapper').height() - 240);
    $('#sidebar .leftMenu').perfectScrollbar('update');
}

function fallbackMessage(action) {
    var actionMsg = '';
    var actionKey = (action === 'cut' ? 'X' : 'C');

    if (/iPhone|iPad/i.test(navigator.userAgent)) {
        actionMsg = 'No support :(';
    }
    else if (/Mac/i.test(navigator.userAgent)) {
        actionMsg = 'Press ⌘-' + actionKey + ' to ' + action;
    }
    else {
        actionMsg = 'Press Ctrl-' + actionKey + ' to ' + action;
    }

    return actionMsg;
}

function switchTab(tabGroup, tabId) {

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/js/search.js
=====================================================
var lunrIndex, pagesIndex;

function endsWith(str, suffix) {
    return str.indexOf(suffix, str.length - suffix.length) !== -1;
}

// Initialize lunrjs using our generated index file
function initLunr() {
    if (!endsWith(baseurl,"/")){
        baseurl = baseurl+'/'
    };

    // First retrieve the index file
    $.getJSON(baseurl +"index.json")
        .done(function(index) {
            pagesIndex = index;
            // Set up lunrjs by declaring the fields we use
            // Also provide their boost level for the ranking
            lunrIndex = lunr(function() {
                this.ref("uri");
                this.field('title', {
		    boost: 15
                });
                this.field('tags', {
		    boost: 10
                });
                this.field("content", {
		    boost: 5
                });
				
                this.pipeline.remove(lunr.stemmer);
                this.searchPipeline.remove(lunr.stemmer);
				
                // Feed lunr with each file and let lunr actually index them
                pagesIndex.forEach(function(page) {
		    this.add(page);
                }, this);
            })
        })
        .fail(function(jqxhr, textStatus, error) {
            var err = textStatus + ", " + error;
            console.error("Error getting Hugo index file:", err);
        });
}

/**
 * Trigger a search in lunr and transform the result
 *
 * @param  {String} query
 * @return {Array}  results

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/js/jquery-3.3.1.min.js
=====================================================
/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:n.sort,splice:n.splice},w.extend=w.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||g(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)n=a[t],a!==(r=e[t])&&(l&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&w.isPlainObject(n)?n:{},a[t]=w.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},w.extend({expando:"jQuery"+("3.3.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==c.call(e))&&(!(t=i(e))||"function"==typeof(n=f.call(t,"constructor")&&t.constructor)&&p.call(n)===d)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e){m(e)},each:function(e,t){var n,r=0;if(C(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(C(Object(e))?w.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:u.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,a=e.length,s=!n;o<a;o++)(r=!t(e[o],o))!==s&&i.push(e[o]);return i},map:function(e,t,n){var r,i,o=0,s=[];if(C(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&s.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&s.push(i);return a.apply([],s)},guid:1,support:h}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function C(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!g(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},P="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",I="\\["+M+"*("+R+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+R+"))|)"+M+"*\\]",W=":("+R+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+I+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),F=new RegExp("^"+M+"*,"+M+"*"),_=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:he(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:he(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=fe(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=pe(t);function ye(){}ye.prototype=r.filters=r.pseudos,r.setFilters=new ye,a=oe.tokenize=function(e,t){var n,i,o,a,s,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=r.preFilter;while(s){n&&!(i=F.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),n=!1,(i=_.exec(s))&&(n=i.shift(),o.push({value:n,type:i[0].replace(B," ")}),s=s.slice(n.length));for(a in r.filter)!(i=V[a].exec(s))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),s=s.slice(n.length));if(!n)break}return t?s.length:s?oe.error(e):k(e,u).slice(0)};function ve(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function me(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,u){var l,c,f,p=[T,s];if(u){while(t=t[r])if((1===t.nodeType||a)&&e(t,n,u))return!0}else while(t=t[r])if(1===t.nodeType||a)if(f=t[b]||(t[b]={}),c=f[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===T&&l[1]===s)return p[2]=l[2];if(c[o]=p,p[2]=e(t,n,u))return!0}return!1}}function xe(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r<i;r++)oe(e,t[r],n);return n}function we(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Te(e,t,n,r,i,o){return r&&!r[b]&&(r=Te(r)),i&&!i[b]&&(i=Te(i,o)),se(function(o,a,s,u){var l,c,f,p=[],d=[],h=a.length,g=o||be(t||"*",s.nodeType?[s]:s,[]),y=!e||!o&&t?g:we(g,p,e,s,u),v=n?i||(o?e:h||r)?[]:a:y;if(n&&n(y,v,s,u),r){l=we(v,d),r(l,[],s,u),c=l.length;while(c--)(f=l[c])&&(v[d[c]]=!(y[d[c]]=f))}if(o){if(i||e){if(i){l=[],c=v.length;while(c--)(f=v[c])&&l.push(y[c]=f);i(null,v=[],l,u)}c=v.length;while(c--)(f=v[c])&&(l=i?O(o,f):p[c])>-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u<o;u++)if(n=r.relative[e[u].type])p=[me(xe(p),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[b]){for(i=++u;i<o;i++)if(r.relative[e[i].type])break;return Te(u>1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u<i&&Ce(e.slice(u,i)),i<o&&Ce(e=e.slice(i)),i<o&&ve(e))}p.push(n)}return xe(p)}function Ee(e,t){var n=t.length>0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t<r;t++)if(w.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)w.find(e,i[t],n);return r>1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(w.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&w(e);if(!D.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s<o.length)!1===o[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=o.length,n=!1)}e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(s=o.length-1,a.push(n)),function t(n){w.each(n,function(n,r){g(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==x(r)&&t(r)})}(arguments),n&&!t&&u()),this},remove:function(){return w.each(arguments,function(e,t){var n;while((n=w.inArray(t,o,n))>-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t<o)){if((e=r.apply(s,u))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,g(l)?i?l.call(e,a(o,n,I,i),a(o,n,W,i)):(o++,l.call(e,a(o,n,I,i),a(o,n,W,i),a(o,n,I,n.notifyWith))):(r!==I&&(s=void 0,u=[e]),(i||n.resolveWith)(s,u))}},c=i?l:function(){try{l()}catch(e){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(e,c.stackTrace),t+1>=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},X=/^-ms-/,U=/-([a-z])/g;function V(e,t){return t.toUpperCase()}function G(e){return e.replace(X,"ms-").replace(U,V)}var Y=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Q(){this.expando=w.expando+Q.uid++}Q.uid=1,Q.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Y(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[G(t)]=n;else for(r in t)i[G(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][G(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(G):(t=G(t))in r?[t]:t.match(M)||[]).length;while(n--)delete r[t[n]]}(void 0===t||w.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!w.isEmptyObject(t)}};var J=new Q,K=new Q,Z=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ee=/[A-Z]/g;function te(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Z.test(e)?JSON.parse(e):e)}function ne(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(ee,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=te(n)}catch(e){}K.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return K.hasData(e)||J.hasData(e)},data:function(e,t,n){return K.access(e,t,n)},removeData:function(e,t){K.remove(e,t)},_data:function(e,t,n){return J.access(e,t,n)},_removeData:function(e,t){J.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=K.get(o),1===o.nodeType&&!J.get(o,"hasDataAttrs"))){n=a.length;while(n--)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=G(r.slice(5)),ne(o,r,i[r]));J.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){K.set(this,e)}):z(this,function(t){var n;if(o&&void 0===t){if(void 0!==(n=K.get(o,e)))return n;if(void 0!==(n=ne(o,e)))return n}else this.each(function(){K.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?w.queue(this[0],e):void 0===t?this:this.each(function(){var n=w.queue(this,e,t);w._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&w.dequeue(this,e)})},dequeue:function(e){return this.each(function(){w.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=w.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=J.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var re=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ie=new RegExp("^(?:([+-])=|)("+re+")([a-z%]*)$","i"),oe=["Top","Right","Bottom","Left"],ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&w.contains(e.ownerDocument,e)&&"none"===w.css(e,"display")},se=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i};function ue(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return w.css(e,t,"")},u=s(),l=n&&n[3]||(w.cssNumber[t]?"":"px"),c=(w.cssNumber[t]||"px"!==l&&+u)&&ie.exec(w.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)w.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,w.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var le={};function ce(e){var t,n=e.ownerDocument,r=e.nodeName,i=le[r];return i||(t=n.body.appendChild(n.createElement(r)),i=w.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),le[r]=i,i)}function fe(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=J.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&ae(r)&&(i[o]=ce(r))):"none"!==n&&(i[o]="none",J.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}w.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?w(this).show():w(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)J.set(e[n],"globalEval",!t||J.get(t[n],"globalEval"))}var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===x(o))w.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+w.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;w.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&w.inArray(o,r)>-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n<arguments.length;n++)u[n]=arguments[n];if(t.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,t)){s=w.event.handlers.call(this,t,l),n=0;while((o=s[n++])&&!t.isPropagationStopped()){t.currentTarget=o.elem,r=0;while((a=o.handlers[r++])&&!t.isImmediatePropagationStopped())t.rnamespace&&!t.rnamespace.test(a.namespace)||(t.handleObj=a,t.data=a.data,void 0!==(i=((w.event.special[a.origType]||{}).handle||a.handler).apply(o.elem,u))&&!1===(t.result=i)&&(t.preventDefault(),t.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,t),t.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?w(i,this).index(l)>-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:g(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==Se()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===Se()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&N(this,"input"))return this.click(),!1},_default:function(e){return N(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:ke,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:ke,isPropagationStopped:ke,isImmediatePropagationStopped:ke,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&we.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Te.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},w.event.addProp),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||w.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),w.fn.extend({on:function(e,t,n,r){return De(this,e,t,n,r)},one:function(e,t,n,r){return De(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,w(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=ke),this.each(function(){w.event.remove(this,e,n,t)})}});var Ne=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/<script|<style|<link/i,je=/checked\s*(?:[^=]|=\s*.checked.)/i,qe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n<r;n++)w.event.add(t,i,l[i][n])}K.hasData(e)&&(s=K.access(e),u=w.extend({},s),K.set(t,u))}}function Me(e,t){var n=t.nodeName.toLowerCase();"input"===n&&pe.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function Re(e,t,n,r){t=a.apply([],t);var i,o,s,u,l,c,f=0,p=e.length,d=p-1,y=t[0],v=g(y);if(v||p>1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f<p;f++)l=i,f!==d&&(l=w.clone(l,!0,!0),u&&w.merge(s,ye(l,"script"))),n.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,w.map(s,Oe),f=0;f<u;f++)l=s[f],he.test(l.type||"")&&!J.access(l,"globalEval")&&w.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?w._evalUrl&&w._evalUrl(l.src):m(l.textContent.replace(qe,""),c,l))}return e}function Ie(e,t,n){for(var r,i=t?w.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||w.cleanData(ye(r)),r.parentNode&&(n&&w.contains(r.ownerDocument,r)&&ve(ye(r,"script")),r.parentNode.removeChild(r));return e}w.extend({htmlPrefilter:function(e){return e.replace(Ne,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r<i;r++)Me(o[r],a[r]);if(t)if(n)for(o=o||ye(e),a=a||ye(s),r=0,i=o.length;r<i;r++)Pe(o[r],a[r]);else Pe(e,s);return(a=ye(s,"script")).length>0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return Re(this,arguments,function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(ye(this)),n&&n.replaceChild(t,this))},e)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){w.fn[e]=function(e){for(var n,r=[],i=w(e),o=i.length-1,a=0;a<=o;a++)n=a===o?this:this.clone(!0),w(i[a])[t](n),s.apply(r,n.get());return this.pushStack(r)}});var We=new RegExp("^("+re+")(?!px)[a-z%]+$","i"),$e=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Be=new RegExp(oe.join("|"),"i");!function(){function t(){if(c){l.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",be.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);i="1%"!==t.top,u=12===n(t.marginLeft),c.style.right="60%",s=36===n(t.right),o=36===n(t.width),c.style.position="absolute",a=36===c.offsetWidth||"absolute",be.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var i,o,a,s,u,l=r.createElement("div"),c=r.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",h.clearCloneStyle="content-box"===c.style.backgroundClip,w.extend(h,{boxSizingReliable:function(){return t(),o},pixelBoxStyles:function(){return t(),s},pixelPosition:function(){return t(),i},reliableMarginLeft:function(){return t(),u},scrollboxSize:function(){return t(),a}}))}();function Fe(e,t,n){var r,i,o,a,s=e.style;return(n=n||$e(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||w.contains(e.ownerDocument,e)||(a=w.style(e,t)),!h.pixelBoxStyles()&&We.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function _e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}var ze=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ue={position:"absolute",visibility:"hidden",display:"block"},Ve={letterSpacing:"0",fontWeight:"400"},Ge=["Webkit","Moz","ms"],Ye=r.createElement("div").style;function Qe(e){if(e in Ye)return e;var t=e[0].toUpperCase()+e.slice(1),n=Ge.length;while(n--)if((e=Ge[n]+t)in Ye)return e}function Je(e){var t=w.cssProps[e];return t||(t=w.cssProps[e]=Qe(e)||e),t}function Ke(e,t,n){var r=ie.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ze(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=w.css(e,n+oe[a],!0,i)),r?("content"===n&&(u-=w.css(e,"padding"+oe[a],!0,i)),"margin"!==n&&(u-=w.css(e,"border"+oe[a]+"Width",!0,i))):(u+=w.css(e,"padding"+oe[a],!0,i),"padding"!==n?u+=w.css(e,"border"+oe[a]+"Width",!0,i):s+=w.css(e,"border"+oe[a]+"Width",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a<i;a++)o[t[a]]=w.css(e,t[a],!1,r);return o}return void 0!==n?w.style(e,t,n):w.css(e,t)},e,t,arguments.length>1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ct(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),y=J.get(e,"fxshow");n.queue||(null==(a=w._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,w.queue(e,"fx").length||a.empty.fire()})}));for(r in t)if(i=t[r],it.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||w.style(e,r)}if((u=!w.isEmptyObject(t))||!w.isEmptyObject(d)){f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=y&&y.display)&&(l=J.get(e,"display")),"none"===(c=w.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=w.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===w.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1;for(r in d)u||(y?"hidden"in y&&(g=y.hidden):y=J.access(e,"fxshow",{display:l}),o&&(y.hidden=!g),g&&fe([e],!0),p.done(function(){g||fe([e]),J.remove(e,"fxshow");for(r in d)w.style(e,r,d[r])})),u=lt(g?y[r]:0,r,p),r in y||(y[r]=u.start,g&&(u.end=u.start,u.start=0))}}function ft(e,t){var n,r,i,o,a;for(n in e)if(r=G(n),i=t[r],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=w.cssHooks[r])&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function pt(e,t,n){var r,i,o=0,a=pt.prefilters.length,s=w.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=nt||st(),n=Math.max(0,l.startTime+l.duration-t),r=1-(n/l.duration||0),o=0,a=l.tweens.length;o<a;o++)l.tweens[o].run(r);return s.notifyWith(e,[l,r,n]),r<1&&a?n:(a||s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:w.extend({},t),opts:w.extend(!0,{specialEasing:{},easing:w.easing._default},n),originalProperties:t,originalOptions:n,startTime:nt||st(),duration:n.duration,tweens:[],createTween:function(t,n){var r=w.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(ft(c,l.opts.specialEasing);o<a;o++)if(r=pt.prefilters[o].call(l,e,c,l.opts))return g(r.stop)&&(w._queueHooks(l.elem,l.opts.queue).stop=r.stop.bind(r)),r;return w.map(c,lt,l),g(l.opts.start)&&l.opts.start.call(e,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),w.fx.timer(w.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l}w.Animation=w.extend(pt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return ue(n.elem,e,ie.exec(t),n),n}]},tweener:function(e,t){g(e)?(t=e,e=["*"]):e=e.match(M);for(var n,r=0,i=e.length;r<i;r++)n=e[r],pt.tweeners[n]=pt.tweeners[n]||[],pt.tweeners[n].unshift(t)},prefilters:[ct],prefilter:function(e,t){t?pt.prefilters.unshift(e):pt.prefilters.push(e)}}),w.speed=function(e,t,n){var r=e&&"object"==typeof e?w.extend({},e):{complete:n||!n&&t||g(e)&&e,duration:e,easing:n&&t||t&&!g(t)&&t};return w.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in w.fx.speeds?r.duration=w.fx.speeds[r.duration]:r.duration=w.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){g(r.old)&&r.old.call(this),r.queue&&w.dequeue(this,r.queue)},r},w.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=w.isEmptyObject(e),o=w.speed(t,n,r),a=function(){var t=pt(this,w.extend({},e),o);(i||J.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=w.timers,a=J.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&ot.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||w.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=J.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=w.timers,a=r?r.length:0;for(n.finish=!0,w.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),w.each(["toggle","show","hide"],function(e,t){var n=w.fn[t];w.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ut(t,!0),e,r,i)}}),w.each({slideDown:ut("show"),slideUp:ut("hide"),slideToggle:ut("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){w.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),w.timers=[],w.fx.tick=function(){var e,t=0,n=w.timers;for(nt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||w.fx.stop(),nt=void 0},w.fx.timer=function(e){w.timers.push(e),w.fx.start()},w.fx.interval=13,w.fx.start=function(){rt||(rt=!0,at())},w.fx.stop=function(){rt=null},w.fx.speeds={slow:600,fast:200,_default:400},w.fn.delay=function(t,n){return t=w.fx?w.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=r.createElement("input"),t=r.createElement("select").appendChild(r.createElement("option"));e.type="checkbox",h.checkOn=""!==e.value,h.optSelected=t.selected,(e=r.createElement("input")).value="t",e.type="radio",h.radioValue="t"===e.value}();var dt,ht=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return z(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!N(n.parentNode,"optgroup"))){if(t=w(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=w.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=w.inArray(w.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),r.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Yt=[],Qt=/(=)\?(?=&|$)|\?\?/;w.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Yt.pop()||w.expando+"_"+Et++;return this[e]=!0,e}}),w.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(Qt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Qt.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=g(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Qt,"$1"+i):!1!==t.jsonp&&(t.url+=(kt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||w.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?w(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,Yt.push(i)),a&&g(o)&&o(a[0]),a=o=void 0}),"script"}),h.createHTMLDocument=function(){var e=r.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),w.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var i,o,a;return t||(h.createHTMLDocument?((i=(t=r.implementation.createHTMLDocument("")).createElement("base")).href=r.location.href,t.head.appendChild(i)):t=r),o=A.exec(e),a=!n&&[],o?[t.createElement(o[1])]:(o=xe([e],t,a),a&&a.length&&w(a).remove(),w.merge([],o.childNodes))},w.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=vt(e.slice(s)),e=e.slice(0,s)),g(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&w.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?w("<div>").append(w.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},w.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){w.fn[t]=function(e){return this.on(t,e)}}),w.expr.pseudos.animated=function(e){return w.grep(w.timers,function(t){return e===t.elem}).length},w.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l,c=w.css(e,"position"),f=w(e),p={};"static"===c&&(e.style.position="relative"),s=f.offset(),o=w.css(e,"top"),u=w.css(e,"left"),(l=("absolute"===c||"fixed"===c)&&(o+u).indexOf("auto")>-1)?(a=(r=f.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),g(t)&&(t=t.call(e,n,w.extend({},s))),null!=t.top&&(p.top=t.top-s.top+a),null!=t.left&&(p.left=t.left-s.left+i),"using"in t?t.using.call(e,p):f.css(p)}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){w.offset.setOffset(this,e,t)});var t,n,r=this[0];if(r)return r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===w.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),i.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-w.css(r,"marginTop",!0),left:t.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===w.css(e,"position"))e=e.offsetParent;return e||be})}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return z(this,function(e,r,i){var o;if(y(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),w.each(["top","left"],function(e,t){w.cssHooks[t]=_e(h.pixelPosition,function(e,n){if(n)return n=Fe(e,t),We.test(n)?w(e).position()[t]+"px":n})}),w.each({Height:"height",Width:"width"},function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){w.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return z(this,function(t,n,i){var o;return y(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?w.css(t,n,s):w.style(t,n,i,s)},t,a?i:void 0,a)}})}),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),w.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),w.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),g(e))return r=o.call(arguments,2),i=function(){return e.apply(t||this,r.concat(o.call(arguments)))},i.guid=e.guid=e.guid||w.guid++,i},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=N,w.isFunction=g,w.isWindow=y,w.camelCase=G,w.type=x,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return w});var Jt=e.jQuery,Kt=e.$;return w.noConflict=function(t){return e.$===w&&(e.$=Kt),t&&e.jQuery===w&&(e.jQuery=Jt),w},t||(e.jQuery=e.$=w),w});

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/js/lunr.min.js
=====================================================
/**
 * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.5
 * Copyright (C) 2018 Oliver Nightingale
 * @license MIT
 */
!function(){var t,l,c,e,r,h,d,f,p,y,m,g,x,v,w,Q,k,S,E,L,b,P,T,O,I,i,n,s,z=function(e){var t=new z.Builder;return t.pipeline.add(z.trimmer,z.stopWordFilter,z.stemmer),t.searchPipeline.add(z.stemmer),e.call(t,t),t.build()};z.version="2.3.5",z.utils={},z.utils.warn=(t=this,function(e){t.console&&console.warn&&console.warn(e)}),z.utils.asString=function(e){return null==e?"":e.toString()},z.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var n=r[i],s=e[n];if(Array.isArray(s))t[n]=s.slice();else{if("string"!=typeof s&&"number"!=typeof s&&"boolean"!=typeof s)throw new TypeError("clone is not deep and does not support nested objects");t[n]=s}}return t},z.FieldRef=function(e,t,r){this.docRef=e,this.fieldName=t,this._stringValue=r},z.FieldRef.joiner="/",z.FieldRef.fromString=function(e){var t=e.indexOf(z.FieldRef.joiner);if(-1===t)throw"malformed field ref string";var r=e.slice(0,t),i=e.slice(t+1);return new z.FieldRef(i,r,e)},z.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+z.FieldRef.joiner+this.docRef),this._stringValue},z.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},z.Set.complete={intersect:function(e){return e},union:function(e){return e},contains:function(){return!0}},z.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},z.Set.prototype.contains=function(e){return!!this.elements[e]},z.Set.prototype.intersect=function(e){var t,r,i,n=[];if(e===z.Set.complete)return this;if(e===z.Set.empty)return e;this.length<e.length?(t=this,r=e):(t=e,r=this),i=Object.keys(t.elements);for(var s=0;s<i.length;s++){var o=i[s];o in r.elements&&n.push(o)}return new z.Set(n)},z.Set.prototype.union=function(e){return e===z.Set.complete?z.Set.complete:e===z.Set.empty?this:new z.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},z.idf=function(e,t){var r=0;for(var i in e)"_index"!=i&&(r+=Object.keys(e[i]).length);var n=(t-r+.5)/(r+.5);return Math.log(1+Math.abs(n))},z.Token=function(e,t){this.str=e||"",this.metadata=t||{}},z.Token.prototype.toString=function(){return this.str},z.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},z.Token.prototype.clone=function(e){return e=e||function(e){return e},new z.Token(e(this.str,this.metadata),this.metadata)},z.tokenizer=function(e,t){if(null==e||null==e)return[];if(Array.isArray(e))return e.map(function(e){return new z.Token(z.utils.asString(e).toLowerCase(),z.utils.clone(t))});for(var r=e.toString().trim().toLowerCase(),i=r.length,n=[],s=0,o=0;s<=i;s++){var a=s-o;if(r.charAt(s).match(z.tokenizer.separator)||s==i){if(0<a){var u=z.utils.clone(t)||{};u.position=[o,a],u.index=n.length,n.push(new z.Token(r.slice(o,s),u))}o=s+1}}return n},z.tokenizer.separator=/[\s\-]+/,z.Pipeline=function(){this._stack=[]},z.Pipeline.registeredFunctions=Object.create(null),z.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&z.utils.warn("Overwriting existing registered function: "+t),e.label=t,z.Pipeline.registeredFunctions[e.label]=e},z.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||z.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},z.Pipeline.load=function(e){var r=new z.Pipeline;return e.forEach(function(e){var t=z.Pipeline.registeredFunctions[e];if(!t)throw new Error("Cannot load unregistered function: "+e);r.add(t)}),r},z.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(e){z.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)},this)},z.Pipeline.prototype.after=function(e,t){z.Pipeline.warnIfFunctionNotRegistered(t);var r=this._stack.indexOf(e);if(-1==r)throw new Error("Cannot find existingFn");r+=1,this._stack.splice(r,0,t)},z.Pipeline.prototype.before=function(e,t){z.Pipeline.warnIfFunctionNotRegistered(t);var r=this._stack.indexOf(e);if(-1==r)throw new Error("Cannot find existingFn");this._stack.splice(r,0,t)},z.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},z.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r<t;r++){for(var i=this._stack[r],n=[],s=0;s<e.length;s++){var o=i(e[s],s,e);if(void 0!==o&&""!==o)if(Array.isArray(o))for(var a=0;a<o.length;a++)n.push(o[a]);else n.push(o)}e=n}return e},z.Pipeline.prototype.runString=function(e,t){var r=new z.Token(e,t);return this.run([r]).map(function(e){return e.toString()})},z.Pipeline.prototype.reset=function(){this._stack=[]},z.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return z.Pipeline.warnIfFunctionNotRegistered(e),e.label})},z.Vector=function(e){this._magnitude=0,this.elements=e||[]},z.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,r=this.elements.length/2,i=r-t,n=Math.floor(i/2),s=this.elements[2*n];1<i&&(s<e&&(t=n),e<s&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:e<s?2*n:s<e?2*(n+1):void 0},z.Vector.prototype.insert=function(e,t){this.upsert(e,t,function(){throw"duplicate index"})},z.Vector.prototype.upsert=function(e,t,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],t):this.elements.splice(i,0,e,t)},z.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,r=1;r<t;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},z.Vector.prototype.dot=function(e){for(var t=0,r=this.elements,i=e.elements,n=r.length,s=i.length,o=0,a=0,u=0,l=0;u<n&&l<s;)(o=r[u])<(a=i[l])?u+=2:a<o?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},z.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},z.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t<this.elements.length;t+=2,r++)e[r]=this.elements[t];return e},z.Vector.prototype.toJSON=function(){return this.elements},z.stemmer=(l={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"},c={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},e="[aeiouy]",r="[^aeiou][^aeiouy]*",h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),p=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),y=/^(.+?)(ss|i)es$/,m=/^(.+?)([^s])s$/,g=/^(.+?)eed$/,x=/^(.+?)(ed|ing)$/,v=/.$/,w=/(at|bl|iz)$/,Q=new RegExp("([^aeiouylsz])\\1$"),k=new RegExp("^"+r+e+"[^aeiouwxy]$"),S=/^(.+?[^aeiou])y$/,E=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,L=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,b=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,P=/^(.+?)(s|t)(ion)$/,T=/^(.+?)e$/,O=/ll$/,I=new RegExp("^"+r+e+"[^aeiouwxy]$"),i=function(e){var t,r,i,n,s,o,a;if(e.length<3)return e;if("y"==(i=e.substr(0,1))&&(e=i.toUpperCase()+e.substr(1)),s=m,(n=y).test(e)?e=e.replace(n,"$1$2"):s.test(e)&&(e=e.replace(s,"$1$2")),s=x,(n=g).test(e)){var u=n.exec(e);(n=h).test(u[1])&&(n=v,e=e.replace(n,""))}else if(s.test(e)){t=(u=s.exec(e))[1],(s=p).test(t)&&(o=Q,a=k,(s=w).test(e=t)?e+="e":o.test(e)?(n=v,e=e.replace(n,"")):a.test(e)&&(e+="e"))}(n=S).test(e)&&(e=(t=(u=n.exec(e))[1])+"i");(n=E).test(e)&&(t=(u=n.exec(e))[1],r=u[2],(n=h).test(t)&&(e=t+l[r]));(n=L).test(e)&&(t=(u=n.exec(e))[1],r=u[2],(n=h).test(t)&&(e=t+c[r]));if(s=P,(n=b).test(e))t=(u=n.exec(e))[1],(n=d).test(t)&&(e=t);else if(s.test(e)){t=(u=s.exec(e))[1]+u[2],(s=d).test(t)&&(e=t)}(n=T).test(e)&&(t=(u=n.exec(e))[1],s=f,o=I,((n=d).test(t)||s.test(t)&&!o.test(t))&&(e=t));return s=d,(n=O).test(e)&&s.test(e)&&(n=v,e=e.replace(n,"")),"y"==i&&(e=i.toLowerCase()+e.substr(1)),e},function(e){return e.update(i)}),z.Pipeline.registerFunction(z.stemmer,"stemmer"),z.generateStopWordFilter=function(e){var t=e.reduce(function(e,t){return e[t]=t,e},{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},z.stopWordFilter=z.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),z.Pipeline.registerFunction(z.stopWordFilter,"stopWordFilter"),z.trimmer=function(e){return e.update(function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")})},z.Pipeline.registerFunction(z.trimmer,"trimmer"),z.TokenSet=function(){this.final=!1,this.edges={},this.id=z.TokenSet._nextId,z.TokenSet._nextId+=1},z.TokenSet._nextId=1,z.TokenSet.fromArray=function(e){for(var t=new z.TokenSet.Builder,r=0,i=e.length;r<i;r++)t.insert(e[r]);return t.finish(),t.root},z.TokenSet.fromClause=function(e){return"editDistance"in e?z.TokenSet.fromFuzzyString(e.term,e.editDistance):z.TokenSet.fromString(e.term)},z.TokenSet.fromFuzzyString=function(e,t){for(var r=new z.TokenSet,i=[{node:r,editsRemaining:t,str:e}];i.length;){var n,s,o,a=i.pop();if(0<a.str.length)(s=a.str.charAt(0))in a.node.edges?n=a.node.edges[s]:(n=new z.TokenSet,a.node.edges[s]=n),1==a.str.length&&(n.final=!0),i.push({node:n,editsRemaining:a.editsRemaining,str:a.str.slice(1)});if(0<a.editsRemaining&&1<a.str.length)(s=a.str.charAt(1))in a.node.edges?o=a.node.edges[s]:(o=new z.TokenSet,a.node.edges[s]=o),a.str.length<=2?o.final=!0:i.push({node:o,editsRemaining:a.editsRemaining-1,str:a.str.slice(2)});if(0<a.editsRemaining&&1==a.str.length&&(a.node.final=!0),0<a.editsRemaining&&1<=a.str.length){if("*"in a.node.edges)var u=a.node.edges["*"];else{u=new z.TokenSet;a.node.edges["*"]=u}1==a.str.length?u.final=!0:i.push({node:u,editsRemaining:a.editsRemaining-1,str:a.str.slice(1)})}if(0<a.editsRemaining){if("*"in a.node.edges)var l=a.node.edges["*"];else{l=new z.TokenSet;a.node.edges["*"]=l}0==a.str.length?l.final=!0:i.push({node:l,editsRemaining:a.editsRemaining-1,str:a.str})}if(0<a.editsRemaining&&1<a.str.length){var c,h=a.str.charAt(0),d=a.str.charAt(1);d in a.node.edges?c=a.node.edges[d]:(c=new z.TokenSet,a.node.edges[d]=c),1==a.str.length?c.final=!0:i.push({node:c,editsRemaining:a.editsRemaining-1,str:h+a.str.slice(2)})}}return r},z.TokenSet.fromString=function(e){for(var t=new z.TokenSet,r=t,i=0,n=e.length;i<n;i++){var s=e[i],o=i==n-1;if("*"==s)(t.edges[s]=t).final=o;else{var a=new z.TokenSet;a.final=o,t.edges[s]=a,t=a}}return r},z.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var r=t.pop(),i=Object.keys(r.node.edges),n=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var s=0;s<n;s++){var o=i[s];t.push({prefix:r.prefix.concat(o),node:r.node.edges[o]})}}return e},z.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),r=t.length,i=0;i<r;i++){var n=t[i];e=e+n+this.edges[n].id}return e},z.TokenSet.prototype.intersect=function(e){for(var t=new z.TokenSet,r=void 0,i=[{qNode:e,output:t,node:this}];i.length;){r=i.pop();for(var n=Object.keys(r.qNode.edges),s=n.length,o=Object.keys(r.node.edges),a=o.length,u=0;u<s;u++)for(var l=n[u],c=0;c<a;c++){var h=o[c];if(h==l||"*"==l){var d=r.node.edges[h],f=r.qNode.edges[l],p=d.final&&f.final,y=void 0;h in r.output.edges?(y=r.output.edges[h]).final=y.final||p:((y=new z.TokenSet).final=p,r.output.edges[h]=y),i.push({qNode:f,output:y,node:d})}}}return t},z.TokenSet.Builder=function(){this.previousWord="",this.root=new z.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},z.TokenSet.Builder.prototype.insert=function(e){var t,r=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<e.length&&i<this.previousWord.length&&e[i]==this.previousWord[i];i++)r++;this.minimize(r),t=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(i=r;i<e.length;i++){var n=new z.TokenSet,s=e[i];t.edges[s]=n,this.uncheckedNodes.push({parent:t,char:s,child:n}),t=n}t.final=!0,this.previousWord=e},z.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},z.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;e<=t;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},z.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},z.Index.prototype.search=function(t){return this.query(function(e){new z.QueryParser(t,e).parse()})},z.Index.prototype.query=function(e){for(var t=new z.Query(this.fields),r=Object.create(null),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=0;a<this.fields.length;a++)i[this.fields[a]]=new z.Vector;e.call(t,t);for(a=0;a<t.clauses.length;a++){var u=t.clauses[a],l=null,c=z.Set.complete;l=u.usePipeline?this.pipeline.runString(u.term,{fields:u.fields}):[u.term];for(var h=0;h<l.length;h++){var d=l[h];u.term=d;var f=z.TokenSet.fromClause(u),p=this.tokenSet.intersect(f).toArray();if(0===p.length&&u.presence===z.Query.presence.REQUIRED){for(var y=0;y<u.fields.length;y++){s[R=u.fields[y]]=z.Set.empty}break}for(var m=0;m<p.length;m++){var g=p[m],x=this.invertedIndex[g],v=x._index;for(y=0;y<u.fields.length;y++){var w=x[R=u.fields[y]],Q=Object.keys(w),k=g+"/"+R,S=new z.Set(Q);if(u.presence==z.Query.presence.REQUIRED&&(c=c.union(S),void 0===s[R]&&(s[R]=z.Set.complete)),u.presence!=z.Query.presence.PROHIBITED){if(i[R].upsert(v,u.boost,function(e,t){return e+t}),!n[k]){for(var E=0;E<Q.length;E++){var L,b=Q[E],P=new z.FieldRef(b,R),T=w[b];void 0===(L=r[P])?r[P]=new z.MatchData(g,R,T):L.add(g,R,T)}n[k]=!0}}else void 0===o[R]&&(o[R]=z.Set.empty),o[R]=o[R].union(S)}}}if(u.presence===z.Query.presence.REQUIRED)for(y=0;y<u.fields.length;y++){s[R=u.fields[y]]=s[R].intersect(c)}}var O=z.Set.complete,I=z.Set.empty;for(a=0;a<this.fields.length;a++){var R;s[R=this.fields[a]]&&(O=O.intersect(s[R])),o[R]&&(I=I.union(o[R]))}var F=Object.keys(r),C=[],N=Object.create(null);if(t.isNegated()){F=Object.keys(this.fieldVectors);for(a=0;a<F.length;a++){P=F[a];var j=z.FieldRef.fromString(P);r[P]=new z.MatchData}}for(a=0;a<F.length;a++){var _=(j=z.FieldRef.fromString(F[a])).docRef;if(O.contains(_)&&!I.contains(_)){var D,A=this.fieldVectors[j],B=i[j.fieldName].similarity(A);if(void 0!==(D=N[_]))D.score+=B,D.matchData.combine(r[j]);else{var V={ref:_,score:B,matchData:r[j]};N[_]=V,C.push(V)}}}return C.sort(function(e,t){return t.score-e.score})},z.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map(function(e){return[e,this.invertedIndex[e]]},this),t=Object.keys(this.fieldVectors).map(function(e){return[e,this.fieldVectors[e].toJSON()]},this);return{version:z.version,fields:this.fields,fieldVectors:t,invertedIndex:e,pipeline:this.pipeline.toJSON()}},z.Index.load=function(e){var t={},r={},i=e.fieldVectors,n=Object.create(null),s=e.invertedIndex,o=new z.TokenSet.Builder,a=z.Pipeline.load(e.pipeline);e.version!=z.version&&z.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+z.version+"' does not match serialized index '"+e.version+"'");for(var u=0;u<i.length;u++){var l=(h=i[u])[0],c=h[1];r[l]=new z.Vector(c)}for(u=0;u<s.length;u++){var h,d=(h=s[u])[0],f=h[1];o.insert(d),n[d]=f}return o.finish(),t.fields=e.fields,t.fieldVectors=r,t.invertedIndex=n,t.tokenSet=o.root,t.pipeline=a,new z.Index(t)},z.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=z.tokenizer,this.pipeline=new z.Pipeline,this.searchPipeline=new z.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},z.Builder.prototype.ref=function(e){this._ref=e},z.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},z.Builder.prototype.b=function(e){this._b=e<0?0:1<e?1:e},z.Builder.prototype.k1=function(e){this._k1=e},z.Builder.prototype.add=function(e,t){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=t||{},this.documentCount+=1;for(var n=0;n<i.length;n++){var s=i[n],o=this._fields[s].extractor,a=o?o(e):e[s],u=this.tokenizer(a,{fields:[s]}),l=this.pipeline.run(u),c=new z.FieldRef(r,s),h=Object.create(null);this.fieldTermFrequencies[c]=h,this.fieldLengths[c]=0,this.fieldLengths[c]+=l.length;for(var d=0;d<l.length;d++){var f=l[d];if(null==h[f]&&(h[f]=0),h[f]+=1,null==this.invertedIndex[f]){var p=Object.create(null);p._index=this.termIndex,this.termIndex+=1;for(var y=0;y<i.length;y++)p[i[y]]=Object.create(null);this.invertedIndex[f]=p}null==this.invertedIndex[f][s][r]&&(this.invertedIndex[f][s][r]=Object.create(null));for(var m=0;m<this.metadataWhitelist.length;m++){var g=this.metadataWhitelist[m],x=f.metadata[g];null==this.invertedIndex[f][s][r][g]&&(this.invertedIndex[f][s][r][g]=[]),this.invertedIndex[f][s][r][g].push(x)}}}},z.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),t=e.length,r={},i={},n=0;n<t;n++){var s=z.FieldRef.fromString(e[n]),o=s.fieldName;i[o]||(i[o]=0),i[o]+=1,r[o]||(r[o]=0),r[o]+=this.fieldLengths[s]}var a=Object.keys(this._fields);for(n=0;n<a.length;n++){var u=a[n];r[u]=r[u]/i[u]}this.averageFieldLength=r},z.Builder.prototype.createFieldVectors=function(){for(var e={},t=Object.keys(this.fieldTermFrequencies),r=t.length,i=Object.create(null),n=0;n<r;n++){for(var s=z.FieldRef.fromString(t[n]),o=s.fieldName,a=this.fieldLengths[s],u=new z.Vector,l=this.fieldTermFrequencies[s],c=Object.keys(l),h=c.length,d=this._fields[o].boost||1,f=this._documents[s.docRef].boost||1,p=0;p<h;p++){var y,m,g,x=c[p],v=l[x],w=this.invertedIndex[x]._index;void 0===i[x]?(y=z.idf(this.invertedIndex[x],this.documentCount),i[x]=y):y=i[x],m=y*((this._k1+1)*v)/(this._k1*(1-this._b+this._b*(a/this.averageFieldLength[o]))+v),m*=d,m*=f,g=Math.round(1e3*m)/1e3,u.insert(w,g)}e[s]=u}this.fieldVectors=e},z.Builder.prototype.createTokenSet=function(){this.tokenSet=z.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},z.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new z.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},z.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},z.MatchData=function(e,t,r){for(var i=Object.create(null),n=Object.keys(r||{}),s=0;s<n.length;s++){var o=n[s];i[o]=r[o].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=i)},z.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),r=0;r<t.length;r++){var i=t[r],n=Object.keys(e.metadata[i]);null==this.metadata[i]&&(this.metadata[i]=Object.create(null));for(var s=0;s<n.length;s++){var o=n[s],a=Object.keys(e.metadata[i][o]);null==this.metadata[i][o]&&(this.metadata[i][o]=Object.create(null));for(var u=0;u<a.length;u++){var l=a[u];null==this.metadata[i][o][l]?this.metadata[i][o][l]=e.metadata[i][o][l]:this.metadata[i][o][l]=this.metadata[i][o][l].concat(e.metadata[i][o][l])}}}},z.MatchData.prototype.add=function(e,t,r){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=r);if(t in this.metadata[e])for(var i=Object.keys(r),n=0;n<i.length;n++){var s=i[n];s in this.metadata[e][t]?this.metadata[e][t][s]=this.metadata[e][t][s].concat(r[s]):this.metadata[e][t][s]=r[s]}else this.metadata[e][t]=r},z.Query=function(e){this.clauses=[],this.allFields=e},z.Query.wildcard=new String("*"),z.Query.wildcard.NONE=0,z.Query.wildcard.LEADING=1,z.Query.wildcard.TRAILING=2,z.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},z.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=z.Query.wildcard.NONE),e.wildcard&z.Query.wildcard.LEADING&&e.term.charAt(0)!=z.Query.wildcard&&(e.term="*"+e.term),e.wildcard&z.Query.wildcard.TRAILING&&e.term.slice(-1)!=z.Query.wildcard&&(e.term=e.term+"*"),"presence"in e||(e.presence=z.Query.presence.OPTIONAL),this.clauses.push(e),this},z.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=z.Query.presence.PROHIBITED)return!1;return!0},z.Query.prototype.term=function(e,t){if(Array.isArray(e))return e.forEach(function(e){this.term(e,z.utils.clone(t))},this),this;var r=t||{};return r.term=e.toString(),this.clause(r),this},z.QueryParseError=function(e,t,r){this.name="QueryParseError",this.message=e,this.start=t,this.end=r},z.QueryParseError.prototype=new Error,z.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},z.QueryLexer.prototype.run=function(){for(var e=z.QueryLexer.lexText;e;)e=e(this)},z.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(t,r)),t=r+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},z.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},z.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},z.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return z.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},z.QueryLexer.prototype.width=function(){return this.pos-this.start},z.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},z.QueryLexer.prototype.backup=function(){this.pos-=1},z.QueryLexer.prototype.acceptDigitRun=function(){for(var e,t;47<(t=(e=this.next()).charCodeAt(0))&&t<58;);e!=z.QueryLexer.EOS&&this.backup()},z.QueryLexer.prototype.more=function(){return this.pos<this.length},z.QueryLexer.EOS="EOS",z.QueryLexer.FIELD="FIELD",z.QueryLexer.TERM="TERM",z.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",z.QueryLexer.BOOST="BOOST",z.QueryLexer.PRESENCE="PRESENCE",z.QueryLexer.lexField=function(e){return e.backup(),e.emit(z.QueryLexer.FIELD),e.ignore(),z.QueryLexer.lexText},z.QueryLexer.lexTerm=function(e){if(1<e.width()&&(e.backup(),e.emit(z.QueryLexer.TERM)),e.ignore(),e.more())return z.QueryLexer.lexText},z.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(z.QueryLexer.EDIT_DISTANCE),z.QueryLexer.lexText},z.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(z.QueryLexer.BOOST),z.QueryLexer.lexText},z.QueryLexer.lexEOS=function(e){0<e.width()&&e.emit(z.QueryLexer.TERM)},z.QueryLexer.termSeparator=z.tokenizer.separator,z.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==z.QueryLexer.EOS)return z.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return z.QueryLexer.lexField;if("~"==t)return e.backup(),0<e.width()&&e.emit(z.QueryLexer.TERM),z.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),0<e.width()&&e.emit(z.QueryLexer.TERM),z.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(z.QueryLexer.PRESENCE),z.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(z.QueryLexer.PRESENCE),z.QueryLexer.lexText;if(t.match(z.QueryLexer.termSeparator))return z.QueryLexer.lexTerm}else e.escapeCharacter()}},z.QueryParser=function(e,t){this.lexer=new z.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},z.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=z.QueryParser.parseClause;e;)e=e(this);return this.query},z.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},z.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},z.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},z.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case z.QueryLexer.PRESENCE:return z.QueryParser.parsePresence;case z.QueryLexer.FIELD:return z.QueryParser.parseField;case z.QueryLexer.TERM:return z.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+t.type;throw 1<=t.str.length&&(r+=" with value '"+t.str+"'"),new z.QueryParseError(r,t.start,t.end)}},z.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=z.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=z.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+t.str+"'";throw new z.QueryParseError(r,t.start,t.end)}var i=e.peekLexeme();if(null==i){r="expecting term or field, found nothing";throw new z.QueryParseError(r,t.start,t.end)}switch(i.type){case z.QueryLexer.FIELD:return z.QueryParser.parseField;case z.QueryLexer.TERM:return z.QueryParser.parseTerm;default:r="expecting term or field, found '"+i.type+"'";throw new z.QueryParseError(r,i.start,i.end)}}},z.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var r=e.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),i="unrecognised field '"+t.str+"', possible fields: "+r;throw new z.QueryParseError(i,t.start,t.end)}e.currentClause.fields=[t.str];var n=e.peekLexeme();if(null==n){i="expecting term, found nothing";throw new z.QueryParseError(i,t.start,t.end)}switch(n.type){case z.QueryLexer.TERM:return z.QueryParser.parseTerm;default:i="expecting term, found '"+n.type+"'";throw new z.QueryParseError(i,n.start,n.end)}}},z.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(null!=r)switch(r.type){case z.QueryLexer.TERM:return e.nextClause(),z.QueryParser.parseTerm;case z.QueryLexer.FIELD:return e.nextClause(),z.QueryParser.parseField;case z.QueryLexer.EDIT_DISTANCE:return z.QueryParser.parseEditDistance;case z.QueryLexer.BOOST:return z.QueryParser.parseBoost;case z.QueryLexer.PRESENCE:return e.nextClause(),z.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new z.QueryParseError(i,r.start,r.end)}else e.nextClause()}},z.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var r=parseInt(t.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new z.QueryParseError(i,t.start,t.end)}e.currentClause.editDistance=r;var n=e.peekLexeme();if(null!=n)switch(n.type){case z.QueryLexer.TERM:return e.nextClause(),z.QueryParser.parseTerm;case z.QueryLexer.FIELD:return e.nextClause(),z.QueryParser.parseField;case z.QueryLexer.EDIT_DISTANCE:return z.QueryParser.parseEditDistance;case z.QueryLexer.BOOST:return z.QueryParser.parseBoost;case z.QueryLexer.PRESENCE:return e.nextClause(),z.QueryParser.parsePresence;default:i="Unexpected lexeme type '"+n.type+"'";throw new z.QueryParseError(i,n.start,n.end)}else e.nextClause()}},z.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var r=parseInt(t.str,10);if(isNaN(r)){var i="boost must be numeric";throw new z.QueryParseError(i,t.start,t.end)}e.currentClause.boost=r;var n=e.peekLexeme();if(null!=n)switch(n.type){case z.QueryLexer.TERM:return e.nextClause(),z.QueryParser.parseTerm;case z.QueryLexer.FIELD:return e.nextClause(),z.QueryParser.parseField;case z.QueryLexer.EDIT_DISTANCE:return z.QueryParser.parseEditDistance;case z.QueryLexer.BOOST:return z.QueryParser.parseBoost;case z.QueryLexer.PRESENCE:return e.nextClause(),z.QueryParser.parsePresence;default:i="Unexpected lexeme type '"+n.type+"'";throw new z.QueryParseError(i,n.start,n.end)}else e.nextClause()}},n=this,s=function(){return z},"function"==typeof define&&define.amd?define(s):"object"==typeof exports?module.exports=s():n.lunr=s()}();

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/js/auto-complete.js
=====================================================
// JavaScript autoComplete v1.0.4
// https://github.com/Pixabay/JavaScript-autoComplete
var autoComplete=function(){function e(e){function t(e,t){return e.classList?e.classList.contains(t):new RegExp("\\b"+t+"\\b").test(e.className)}function o(e,t,o){e.attachEvent?e.attachEvent("on"+t,o):e.addEventListener(t,o)}function s(e,t,o){e.detachEvent?e.detachEvent("on"+t,o):e.removeEventListener(t,o)}function n(e,s,n,l){o(l||document,s,function(o){for(var s,l=o.target||o.srcElement;l&&!(s=t(l,e));)l=l.parentElement;s&&n.call(l,o)})}if(document.querySelector){var l={selector:0,source:0,minChars:3,delay:150,offsetLeft:0,offsetTop:1,cache:1,menuClass:"",renderItem:function(e,t){t=t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");var o=new RegExp("("+t.split(" ").join("|")+")","gi");return'<div class="autocomplete-suggestion" data-val="'+e+'">'+e.replace(o,"<b>$1</b>")+"</div>"},onSelect:function(){}};for(var c in e)e.hasOwnProperty(c)&&(l[c]=e[c]);for(var a="object"==typeof l.selector?[l.selector]:document.querySelectorAll(l.selector),u=0;u<a.length;u++){var i=a[u];i.sc=document.createElement("div"),i.sc.className="autocomplete-suggestions "+l.menuClass,i.autocompleteAttr=i.getAttribute("autocomplete"),i.setAttribute("autocomplete","off"),i.cache={},i.last_val="",i.updateSC=function(e,t){var o=i.getBoundingClientRect();if(i.sc.style.left=Math.round(o.left+(window.pageXOffset||document.documentElement.scrollLeft)+l.offsetLeft)+"px",i.sc.style.top=Math.round(o.bottom+(window.pageYOffset||document.documentElement.scrollTop)+l.offsetTop)+"px",i.sc.style.width=Math.round(o.right-o.left)+"px",!e&&(i.sc.style.display="block",i.sc.maxHeight||(i.sc.maxHeight=parseInt((window.getComputedStyle?getComputedStyle(i.sc,null):i.sc.currentStyle).maxHeight)),i.sc.suggestionHeight||(i.sc.suggestionHeight=i.sc.querySelector(".autocomplete-suggestion").offsetHeight),i.sc.suggestionHeight))if(t){var s=i.sc.scrollTop,n=t.getBoundingClientRect().top-i.sc.getBoundingClientRect().top;n+i.sc.suggestionHeight-i.sc.maxHeight>0?i.sc.scrollTop=n+i.sc.suggestionHeight+s-i.sc.maxHeight:0>n&&(i.sc.scrollTop=n+s)}else i.sc.scrollTop=0},o(window,"resize",i.updateSC),document.body.appendChild(i.sc),n("autocomplete-suggestion","mouseleave",function(){var e=i.sc.querySelector(".autocomplete-suggestion.selected");e&&setTimeout(function(){e.className=e.className.replace("selected","")},20)},i.sc),n("autocomplete-suggestion","mouseover",function(){var e=i.sc.querySelector(".autocomplete-suggestion.selected");e&&(e.className=e.className.replace("selected","")),this.className+=" selected"},i.sc),n("autocomplete-suggestion","mousedown",function(e){if(t(this,"autocomplete-suggestion")){var o=this.getAttribute("data-val");i.value=o,l.onSelect(e,o,this),i.sc.style.display="none"}},i.sc),i.blurHandler=function(){try{var e=document.querySelector(".autocomplete-suggestions:hover")}catch(t){var e=0}e?i!==document.activeElement&&setTimeout(function(){i.focus()},20):(i.last_val=i.value,i.sc.style.display="none",setTimeout(function(){i.sc.style.display="none"},350))},o(i,"blur",i.blurHandler);var r=function(e){var t=i.value;if(i.cache[t]=e,e.length&&t.length>=l.minChars){for(var o="",s=0;s<e.length;s++)o+=l.renderItem(e[s],t);i.sc.innerHTML=o,i.updateSC(0)}else i.sc.style.display="none"};i.keydownHandler=function(e){var t=window.event?e.keyCode:e.which;if((40==t||38==t)&&i.sc.innerHTML){var o,s=i.sc.querySelector(".autocomplete-suggestion.selected");return s?(o=40==t?s.nextSibling:s.previousSibling,o?(s.className=s.className.replace("selected",""),o.className+=" selected",i.value=o.getAttribute("data-val")):(s.className=s.className.replace("selected",""),i.value=i.last_val,o=0)):(o=40==t?i.sc.querySelector(".autocomplete-suggestion"):i.sc.childNodes[i.sc.childNodes.length-1],o.className+=" selected",i.value=o.getAttribute("data-val")),i.updateSC(0,o),!1}if(27==t)i.value=i.last_val,i.sc.style.display="none";else if(13==t||9==t){var s=i.sc.querySelector(".autocomplete-suggestion.selected");s&&"none"!=i.sc.style.display&&(l.onSelect(e,s.getAttribute("data-val"),s),setTimeout(function(){i.sc.style.display="none"},20))}},o(i,"keydown",i.keydownHandler),i.keyupHandler=function(e){var t=window.event?e.keyCode:e.which;if(!t||(35>t||t>40)&&13!=t&&27!=t){var o=i.value;if(o.length>=l.minChars){if(o!=i.last_val){if(i.last_val=o,clearTimeout(i.timer),l.cache){if(o in i.cache)return void r(i.cache[o]);for(var s=1;s<o.length-l.minChars;s++){var n=o.slice(0,o.length-s);if(n in i.cache&&!i.cache[n].length)return void r([])}}i.timer=setTimeout(function(){l.source(o,r)},l.delay)}}else i.last_val=o,i.sc.style.display="none"}},o(i,"keyup",i.keyupHandler),i.focusHandler=function(e){i.last_val="\n",i.keyupHandler(e)},l.minChars||o(i,"focus",i.focusHandler)}this.destroy=function(){for(var e=0;e<a.length;e++){var t=a[e];s(window,"resize",t.updateSC),s(t,"blur",t.blurHandler),s(t,"focus",t.focusHandler),s(t,"keydown",t.keydownHandler),s(t,"keyup",t.keyupHandler),t.autocompleteAttr?t.setAttribute("autocomplete",t.autocompleteAttr):t.removeAttribute("autocomplete"),document.body.removeChild(t.sc),t=null}}}}return e}();!function(){"function"==typeof define&&define.amd?define("autoComplete",function(){return autoComplete}):"undefined"!=typeof module&&module.exports?module.exports=autoComplete:window.autoComplete=autoComplete}();

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/js/perfect-scrollbar.jquery.min.js
=====================================================
/* perfect-scrollbar v0.6.13 */
!function t(e,n,r){function o(i,s){if(!n[i]){if(!e[i]){var a="function"==typeof require&&require;if(!s&&a)return a(i,!0);if(l)return l(i,!0);var c=new Error("Cannot find module '"+i+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[i]={exports:{}};e[i][0].call(u.exports,function(t){var n=e[i][1][t];return o(n?n:t)},u,u.exports,t,e,n,r)}return n[i].exports}for(var l="function"==typeof require&&require,i=0;i<r.length;i++)o(r[i]);return o}({1:[function(t,e,n){"use strict";function r(t){t.fn.perfectScrollbar=function(t){return this.each(function(){if("object"==typeof t||"undefined"==typeof t){var e=t;l.get(this)||o.initialize(this,e)}else{var n=t;"update"===n?o.update(this):"destroy"===n&&o.destroy(this)}})}}var o=t("../main"),l=t("../plugin/instances");if("function"==typeof define&&define.amd)define(["jquery"],r);else{var i=window.jQuery?window.jQuery:window.$;"undefined"!=typeof i&&r(i)}e.exports=r},{"../main":7,"../plugin/instances":18}],2:[function(t,e,n){"use strict";function r(t,e){var n=t.className.split(" ");n.indexOf(e)<0&&n.push(e),t.className=n.join(" ")}function o(t,e){var n=t.className.split(" "),r=n.indexOf(e);r>=0&&n.splice(r,1),t.className=n.join(" ")}n.add=function(t,e){t.classList?t.classList.add(e):r(t,e)},n.remove=function(t,e){t.classList?t.classList.remove(e):o(t,e)},n.list=function(t){return t.classList?Array.prototype.slice.apply(t.classList):t.className.split(" ")}},{}],3:[function(t,e,n){"use strict";function r(t,e){return window.getComputedStyle(t)[e]}function o(t,e,n){return"number"==typeof n&&(n=n.toString()+"px"),t.style[e]=n,t}function l(t,e){for(var n in e){var r=e[n];"number"==typeof r&&(r=r.toString()+"px"),t.style[n]=r}return t}var i={};i.e=function(t,e){var n=document.createElement(t);return n.className=e,n},i.appendTo=function(t,e){return e.appendChild(t),t},i.css=function(t,e,n){return"object"==typeof e?l(t,e):"undefined"==typeof n?r(t,e):o(t,e,n)},i.matches=function(t,e){return"undefined"!=typeof t.matches?t.matches(e):"undefined"!=typeof t.matchesSelector?t.matchesSelector(e):"undefined"!=typeof t.webkitMatchesSelector?t.webkitMatchesSelector(e):"undefined"!=typeof t.mozMatchesSelector?t.mozMatchesSelector(e):"undefined"!=typeof t.msMatchesSelector?t.msMatchesSelector(e):void 0},i.remove=function(t){"undefined"!=typeof t.remove?t.remove():t.parentNode&&t.parentNode.removeChild(t)},i.queryChildren=function(t,e){return Array.prototype.filter.call(t.childNodes,function(t){return i.matches(t,e)})},e.exports=i},{}],4:[function(t,e,n){"use strict";var r=function(t){this.element=t,this.events={}};r.prototype.bind=function(t,e){"undefined"==typeof this.events[t]&&(this.events[t]=[]),this.events[t].push(e),this.element.addEventListener(t,e,!1)},r.prototype.unbind=function(t,e){var n="undefined"!=typeof e;this.events[t]=this.events[t].filter(function(r){return!(!n||r===e)||(this.element.removeEventListener(t,r,!1),!1)},this)},r.prototype.unbindAll=function(){for(var t in this.events)this.unbind(t)};var o=function(){this.eventElements=[]};o.prototype.eventElement=function(t){var e=this.eventElements.filter(function(e){return e.element===t})[0];return"undefined"==typeof e&&(e=new r(t),this.eventElements.push(e)),e},o.prototype.bind=function(t,e,n){this.eventElement(t).bind(e,n)},o.prototype.unbind=function(t,e,n){this.eventElement(t).unbind(e,n)},o.prototype.unbindAll=function(){for(var t=0;t<this.eventElements.length;t++)this.eventElements[t].unbindAll()},o.prototype.once=function(t,e,n){var r=this.eventElement(t),o=function(t){r.unbind(e,o),n(t)};r.bind(e,o)},e.exports=o},{}],5:[function(t,e,n){"use strict";e.exports=function(){function t(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return function(){return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()}}()},{}],6:[function(t,e,n){"use strict";var r=t("./class"),o=t("./dom"),l=n.toInt=function(t){return parseInt(t,10)||0},i=n.clone=function(t){if(t){if(t.constructor===Array)return t.map(i);if("object"==typeof t){var e={};for(var n in t)e[n]=i(t[n]);return e}return t}return null};n.extend=function(t,e){var n=i(t);for(var r in e)n[r]=i(e[r]);return n},n.isEditable=function(t){return o.matches(t,"input,[contenteditable]")||o.matches(t,"select,[contenteditable]")||o.matches(t,"textarea,[contenteditable]")||o.matches(t,"button,[contenteditable]")},n.removePsClasses=function(t){for(var e=r.list(t),n=0;n<e.length;n++){var o=e[n];0===o.indexOf("ps-")&&r.remove(t,o)}},n.outerWidth=function(t){return l(o.css(t,"width"))+l(o.css(t,"paddingLeft"))+l(o.css(t,"paddingRight"))+l(o.css(t,"borderLeftWidth"))+l(o.css(t,"borderRightWidth"))},n.startScrolling=function(t,e){r.add(t,"ps-in-scrolling"),"undefined"!=typeof e?r.add(t,"ps-"+e):(r.add(t,"ps-x"),r.add(t,"ps-y"))},n.stopScrolling=function(t,e){r.remove(t,"ps-in-scrolling"),"undefined"!=typeof e?r.remove(t,"ps-"+e):(r.remove(t,"ps-x"),r.remove(t,"ps-y"))},n.env={isWebKit:"WebkitAppearance"in document.documentElement.style,supportsTouch:"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch,supportsIePointer:null!==window.navigator.msMaxTouchPoints}},{"./class":2,"./dom":3}],7:[function(t,e,n){"use strict";var r=t("./plugin/destroy"),o=t("./plugin/initialize"),l=t("./plugin/update");e.exports={initialize:o,update:l,destroy:r}},{"./plugin/destroy":9,"./plugin/initialize":17,"./plugin/update":21}],8:[function(t,e,n){"use strict";e.exports={handlers:["click-rail","drag-scrollbar","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipePropagation:!0,useBothWheelAxes:!1,wheelPropagation:!1,wheelSpeed:1,theme:"default"}},{}],9:[function(t,e,n){"use strict";var r=t("../lib/helper"),o=t("../lib/dom"),l=t("./instances");e.exports=function(t){var e=l.get(t);e&&(e.event.unbindAll(),o.remove(e.scrollbarX),o.remove(e.scrollbarY),o.remove(e.scrollbarXRail),o.remove(e.scrollbarYRail),r.removePsClasses(t),l.remove(t))}},{"../lib/dom":3,"../lib/helper":6,"./instances":18}],10:[function(t,e,n){"use strict";function r(t,e){function n(t){return t.getBoundingClientRect()}var r=function(t){t.stopPropagation()};e.event.bind(e.scrollbarY,"click",r),e.event.bind(e.scrollbarYRail,"click",function(r){var o=r.pageY-window.pageYOffset-n(e.scrollbarYRail).top,s=o>e.scrollbarYTop?1:-1;i(t,"top",t.scrollTop+s*e.containerHeight),l(t),r.stopPropagation()}),e.event.bind(e.scrollbarX,"click",r),e.event.bind(e.scrollbarXRail,"click",function(r){var o=r.pageX-window.pageXOffset-n(e.scrollbarXRail).left,s=o>e.scrollbarXLeft?1:-1;i(t,"left",t.scrollLeft+s*e.containerWidth),l(t),r.stopPropagation()})}var o=t("../instances"),l=t("../update-geometry"),i=t("../update-scroll");e.exports=function(t){var e=o.get(t);r(t,e)}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],11:[function(t,e,n){"use strict";function r(t,e){function n(n){var o=r+n*e.railXRatio,i=Math.max(0,e.scrollbarXRail.getBoundingClientRect().left)+e.railXRatio*(e.railXWidth-e.scrollbarXWidth);o<0?e.scrollbarXLeft=0:o>i?e.scrollbarXLeft=i:e.scrollbarXLeft=o;var s=l.toInt(e.scrollbarXLeft*(e.contentWidth-e.containerWidth)/(e.containerWidth-e.railXRatio*e.scrollbarXWidth))-e.negativeScrollAdjustment;c(t,"left",s)}var r=null,o=null,s=function(e){n(e.pageX-o),a(t),e.stopPropagation(),e.preventDefault()},u=function(){l.stopScrolling(t,"x"),e.event.unbind(e.ownerDocument,"mousemove",s)};e.event.bind(e.scrollbarX,"mousedown",function(n){o=n.pageX,r=l.toInt(i.css(e.scrollbarX,"left"))*e.railXRatio,l.startScrolling(t,"x"),e.event.bind(e.ownerDocument,"mousemove",s),e.event.once(e.ownerDocument,"mouseup",u),n.stopPropagation(),n.preventDefault()})}function o(t,e){function n(n){var o=r+n*e.railYRatio,i=Math.max(0,e.scrollbarYRail.getBoundingClientRect().top)+e.railYRatio*(e.railYHeight-e.scrollbarYHeight);o<0?e.scrollbarYTop=0:o>i?e.scrollbarYTop=i:e.scrollbarYTop=o;var s=l.toInt(e.scrollbarYTop*(e.contentHeight-e.containerHeight)/(e.containerHeight-e.railYRatio*e.scrollbarYHeight));c(t,"top",s)}var r=null,o=null,s=function(e){n(e.pageY-o),a(t),e.stopPropagation(),e.preventDefault()},u=function(){l.stopScrolling(t,"y"),e.event.unbind(e.ownerDocument,"mousemove",s)};e.event.bind(e.scrollbarY,"mousedown",function(n){o=n.pageY,r=l.toInt(i.css(e.scrollbarY,"top"))*e.railYRatio,l.startScrolling(t,"y"),e.event.bind(e.ownerDocument,"mousemove",s),e.event.once(e.ownerDocument,"mouseup",u),n.stopPropagation(),n.preventDefault()})}var l=t("../../lib/helper"),i=t("../../lib/dom"),s=t("../instances"),a=t("../update-geometry"),c=t("../update-scroll");e.exports=function(t){var e=s.get(t);r(t,e),o(t,e)}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],12:[function(t,e,n){"use strict";function r(t,e){function n(n,r){var o=t.scrollTop;if(0===n){if(!e.scrollbarYActive)return!1;if(0===o&&r>0||o>=e.contentHeight-e.containerHeight&&r<0)return!e.settings.wheelPropagation}var l=t.scrollLeft;if(0===r){if(!e.scrollbarXActive)return!1;if(0===l&&n<0||l>=e.contentWidth-e.containerWidth&&n>0)return!e.settings.wheelPropagation}return!0}var r=!1;e.event.bind(t,"mouseenter",function(){r=!0}),e.event.bind(t,"mouseleave",function(){r=!1});var i=!1;e.event.bind(e.ownerDocument,"keydown",function(c){if(!(c.isDefaultPrevented&&c.isDefaultPrevented()||c.defaultPrevented)){var u=l.matches(e.scrollbarX,":focus")||l.matches(e.scrollbarY,":focus");if(r||u){var d=document.activeElement?document.activeElement:e.ownerDocument.activeElement;if(d){if("IFRAME"===d.tagName)d=d.contentDocument.activeElement;else for(;d.shadowRoot;)d=d.shadowRoot.activeElement;if(o.isEditable(d))return}var p=0,f=0;switch(c.which){case 37:p=c.metaKey?-e.contentWidth:c.altKey?-e.containerWidth:-30;break;case 38:f=c.metaKey?e.contentHeight:c.altKey?e.containerHeight:30;break;case 39:p=c.metaKey?e.contentWidth:c.altKey?e.containerWidth:30;break;case 40:f=c.metaKey?-e.contentHeight:c.altKey?-e.containerHeight:-30;break;case 33:f=90;break;case 32:f=c.shiftKey?90:-90;break;case 34:f=-90;break;case 35:f=c.ctrlKey?-e.contentHeight:-e.containerHeight;break;case 36:f=c.ctrlKey?t.scrollTop:e.containerHeight;break;default:return}a(t,"top",t.scrollTop-f),a(t,"left",t.scrollLeft+p),s(t),i=n(p,f),i&&c.preventDefault()}}})}var o=t("../../lib/helper"),l=t("../../lib/dom"),i=t("../instances"),s=t("../update-geometry"),a=t("../update-scroll");e.exports=function(t){var e=i.get(t);r(t,e)}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],13:[function(t,e,n){"use strict";function r(t,e){function n(n,r){var o=t.scrollTop;if(0===n){if(!e.scrollbarYActive)return!1;if(0===o&&r>0||o>=e.contentHeight-e.containerHeight&&r<0)return!e.settings.wheelPropagation}var l=t.scrollLeft;if(0===r){if(!e.scrollbarXActive)return!1;if(0===l&&n<0||l>=e.contentWidth-e.containerWidth&&n>0)return!e.settings.wheelPropagation}return!0}function r(t){var e=t.deltaX,n=-1*t.deltaY;return"undefined"!=typeof e&&"undefined"!=typeof n||(e=-1*t.wheelDeltaX/6,n=t.wheelDeltaY/6),t.deltaMode&&1===t.deltaMode&&(e*=10,n*=10),e!==e&&n!==n&&(e=0,n=t.wheelDelta),t.shiftKey?[-n,-e]:[e,n]}function o(e,n){var r=t.querySelector("textarea:hover, select[multiple]:hover, .ps-child:hover");if(r){if(!window.getComputedStyle(r).overflow.match(/(scroll|auto)/))return!1;var o=r.scrollHeight-r.clientHeight;if(o>0&&!(0===r.scrollTop&&n>0||r.scrollTop===o&&n<0))return!0;var l=r.scrollLeft-r.clientWidth;if(l>0&&!(0===r.scrollLeft&&e<0||r.scrollLeft===l&&e>0))return!0}return!1}function s(s){var c=r(s),u=c[0],d=c[1];o(u,d)||(a=!1,e.settings.useBothWheelAxes?e.scrollbarYActive&&!e.scrollbarXActive?(d?i(t,"top",t.scrollTop-d*e.settings.wheelSpeed):i(t,"top",t.scrollTop+u*e.settings.wheelSpeed),a=!0):e.scrollbarXActive&&!e.scrollbarYActive&&(u?i(t,"left",t.scrollLeft+u*e.settings.wheelSpeed):i(t,"left",t.scrollLeft-d*e.settings.wheelSpeed),a=!0):(i(t,"top",t.scrollTop-d*e.settings.wheelSpeed),i(t,"left",t.scrollLeft+u*e.settings.wheelSpeed)),l(t),a=a||n(u,d),a&&(s.stopPropagation(),s.preventDefault()))}var a=!1;"undefined"!=typeof window.onwheel?e.event.bind(t,"wheel",s):"undefined"!=typeof window.onmousewheel&&e.event.bind(t,"mousewheel",s)}var o=t("../instances"),l=t("../update-geometry"),i=t("../update-scroll");e.exports=function(t){var e=o.get(t);r(t,e)}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],14:[function(t,e,n){"use strict";function r(t,e){e.event.bind(t,"scroll",function(){l(t)})}var o=t("../instances"),l=t("../update-geometry");e.exports=function(t){var e=o.get(t);r(t,e)}},{"../instances":18,"../update-geometry":19}],15:[function(t,e,n){"use strict";function r(t,e){function n(){var t=window.getSelection?window.getSelection():document.getSelection?document.getSelection():"";return 0===t.toString().length?null:t.getRangeAt(0).commonAncestorContainer}function r(){c||(c=setInterval(function(){return l.get(t)?(s(t,"top",t.scrollTop+u.top),s(t,"left",t.scrollLeft+u.left),void i(t)):void clearInterval(c)},50))}function a(){c&&(clearInterval(c),c=null),o.stopScrolling(t)}var c=null,u={top:0,left:0},d=!1;e.event.bind(e.ownerDocument,"selectionchange",function(){t.contains(n())?d=!0:(d=!1,a())}),e.event.bind(window,"mouseup",function(){d&&(d=!1,a())}),e.event.bind(window,"keyup",function(){d&&(d=!1,a())}),e.event.bind(window,"mousemove",function(e){if(d){var n={x:e.pageX,y:e.pageY},l={left:t.offsetLeft,right:t.offsetLeft+t.offsetWidth,top:t.offsetTop,bottom:t.offsetTop+t.offsetHeight};n.x<l.left+3?(u.left=-5,o.startScrolling(t,"x")):n.x>l.right-3?(u.left=5,o.startScrolling(t,"x")):u.left=0,n.y<l.top+3?(l.top+3-n.y<5?u.top=-5:u.top=-20,o.startScrolling(t,"y")):n.y>l.bottom-3?(n.y-l.bottom+3<5?u.top=5:u.top=20,o.startScrolling(t,"y")):u.top=0,0===u.top&&0===u.left?a():r()}})}var o=t("../../lib/helper"),l=t("../instances"),i=t("../update-geometry"),s=t("../update-scroll");e.exports=function(t){var e=l.get(t);r(t,e)}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],16:[function(t,e,n){"use strict";function r(t,e,n,r){function o(n,r){var o=t.scrollTop,l=t.scrollLeft,i=Math.abs(n),s=Math.abs(r);if(s>i){if(r<0&&o===e.contentHeight-e.containerHeight||r>0&&0===o)return!e.settings.swipePropagation}else if(i>s&&(n<0&&l===e.contentWidth-e.containerWidth||n>0&&0===l))return!e.settings.swipePropagation;return!0}function a(e,n){s(t,"top",t.scrollTop-n),s(t,"left",t.scrollLeft-e),i(t)}function c(){w=!0}function u(){w=!1}function d(t){return t.targetTouches?t.targetTouches[0]:t}function p(t){return!(!t.targetTouches||1!==t.targetTouches.length)||!(!t.pointerType||"mouse"===t.pointerType||t.pointerType===t.MSPOINTER_TYPE_MOUSE)}function f(t){if(p(t)){Y=!0;var e=d(t);g.pageX=e.pageX,g.pageY=e.pageY,v=(new Date).getTime(),null!==y&&clearInterval(y),t.stopPropagation()}}function h(t){if(!Y&&e.settings.swipePropagation&&f(t),!w&&Y&&p(t)){var n=d(t),r={pageX:n.pageX,pageY:n.pageY},l=r.pageX-g.pageX,i=r.pageY-g.pageY;a(l,i),g=r;var s=(new Date).getTime(),c=s-v;c>0&&(m.x=l/c,m.y=i/c,v=s),o(l,i)&&(t.stopPropagation(),t.preventDefault())}}function b(){!w&&Y&&(Y=!1,clearInterval(y),y=setInterval(function(){return l.get(t)&&(m.x||m.y)?Math.abs(m.x)<.01&&Math.abs(m.y)<.01?void clearInterval(y):(a(30*m.x,30*m.y),m.x*=.8,void(m.y*=.8)):void clearInterval(y)},10))}var g={},v=0,m={},y=null,w=!1,Y=!1;n&&(e.event.bind(window,"touchstart",c),e.event.bind(window,"touchend",u),e.event.bind(t,"touchstart",f),e.event.bind(t,"touchmove",h),e.event.bind(t,"touchend",b)),r&&(window.PointerEvent?(e.event.bind(window,"pointerdown",c),e.event.bind(window,"pointerup",u),e.event.bind(t,"pointerdown",f),e.event.bind(t,"pointermove",h),e.event.bind(t,"pointerup",b)):window.MSPointerEvent&&(e.event.bind(window,"MSPointerDown",c),e.event.bind(window,"MSPointerUp",u),e.event.bind(t,"MSPointerDown",f),e.event.bind(t,"MSPointerMove",h),e.event.bind(t,"MSPointerUp",b)))}var o=t("../../lib/helper"),l=t("../instances"),i=t("../update-geometry"),s=t("../update-scroll");e.exports=function(t){if(o.env.supportsTouch||o.env.supportsIePointer){var e=l.get(t);r(t,e,o.env.supportsTouch,o.env.supportsIePointer)}}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],17:[function(t,e,n){"use strict";var r=t("../lib/helper"),o=t("../lib/class"),l=t("./instances"),i=t("./update-geometry"),s={"click-rail":t("./handler/click-rail"),"drag-scrollbar":t("./handler/drag-scrollbar"),keyboard:t("./handler/keyboard"),wheel:t("./handler/mouse-wheel"),touch:t("./handler/touch"),selection:t("./handler/selection")},a=t("./handler/native-scroll");e.exports=function(t,e){e="object"==typeof e?e:{},o.add(t,"ps-container");var n=l.add(t);n.settings=r.extend(n.settings,e),o.add(t,"ps-theme-"+n.settings.theme),n.settings.handlers.forEach(function(e){s[e](t)}),a(t),i(t)}},{"../lib/class":2,"../lib/helper":6,"./handler/click-rail":10,"./handler/drag-scrollbar":11,"./handler/keyboard":12,"./handler/mouse-wheel":13,"./handler/native-scroll":14,"./handler/selection":15,"./handler/touch":16,"./instances":18,"./update-geometry":19}],18:[function(t,e,n){"use strict";function r(t){function e(){a.add(t,"ps-focus")}function n(){a.remove(t,"ps-focus")}var r=this;r.settings=s.clone(c),r.containerWidth=null,r.containerHeight=null,r.contentWidth=null,r.contentHeight=null,r.isRtl="rtl"===u.css(t,"direction"),r.isNegativeScroll=function(){var e=t.scrollLeft,n=null;return t.scrollLeft=-1,n=t.scrollLeft<0,t.scrollLeft=e,n}(),r.negativeScrollAdjustment=r.isNegativeScroll?t.scrollWidth-t.clientWidth:0,r.event=new d,r.ownerDocument=t.ownerDocument||document,r.scrollbarXRail=u.appendTo(u.e("div","ps-scrollbar-x-rail"),t),r.scrollbarX=u.appendTo(u.e("div","ps-scrollbar-x"),r.scrollbarXRail),r.scrollbarX.setAttribute("tabindex",0),r.event.bind(r.scrollbarX,"focus",e),r.event.bind(r.scrollbarX,"blur",n),r.scrollbarXActive=null,r.scrollbarXWidth=null,r.scrollbarXLeft=null,r.scrollbarXBottom=s.toInt(u.css(r.scrollbarXRail,"bottom")),r.isScrollbarXUsingBottom=r.scrollbarXBottom===r.scrollbarXBottom,r.scrollbarXTop=r.isScrollbarXUsingBottom?null:s.toInt(u.css(r.scrollbarXRail,"top")),r.railBorderXWidth=s.toInt(u.css(r.scrollbarXRail,"borderLeftWidth"))+s.toInt(u.css(r.scrollbarXRail,"borderRightWidth")),u.css(r.scrollbarXRail,"display","block"),r.railXMarginWidth=s.toInt(u.css(r.scrollbarXRail,"marginLeft"))+s.toInt(u.css(r.scrollbarXRail,"marginRight")),u.css(r.scrollbarXRail,"display",""),r.railXWidth=null,r.railXRatio=null,r.scrollbarYRail=u.appendTo(u.e("div","ps-scrollbar-y-rail"),t),r.scrollbarY=u.appendTo(u.e("div","ps-scrollbar-y"),r.scrollbarYRail),r.scrollbarY.setAttribute("tabindex",0),r.event.bind(r.scrollbarY,"focus",e),r.event.bind(r.scrollbarY,"blur",n),r.scrollbarYActive=null,r.scrollbarYHeight=null,r.scrollbarYTop=null,r.scrollbarYRight=s.toInt(u.css(r.scrollbarYRail,"right")),r.isScrollbarYUsingRight=r.scrollbarYRight===r.scrollbarYRight,r.scrollbarYLeft=r.isScrollbarYUsingRight?null:s.toInt(u.css(r.scrollbarYRail,"left")),r.scrollbarYOuterWidth=r.isRtl?s.outerWidth(r.scrollbarY):null,r.railBorderYWidth=s.toInt(u.css(r.scrollbarYRail,"borderTopWidth"))+s.toInt(u.css(r.scrollbarYRail,"borderBottomWidth")),u.css(r.scrollbarYRail,"display","block"),r.railYMarginHeight=s.toInt(u.css(r.scrollbarYRail,"marginTop"))+s.toInt(u.css(r.scrollbarYRail,"marginBottom")),u.css(r.scrollbarYRail,"display",""),r.railYHeight=null,r.railYRatio=null}function o(t){return t.getAttribute("data-ps-id")}function l(t,e){t.setAttribute("data-ps-id",e)}function i(t){t.removeAttribute("data-ps-id")}var s=t("../lib/helper"),a=t("../lib/class"),c=t("./default-setting"),u=t("../lib/dom"),d=t("../lib/event-manager"),p=t("../lib/guid"),f={};n.add=function(t){var e=p();return l(t,e),f[e]=new r(t),f[e]},n.remove=function(t){delete f[o(t)],i(t)},n.get=function(t){return f[o(t)]}},{"../lib/class":2,"../lib/dom":3,"../lib/event-manager":4,"../lib/guid":5,"../lib/helper":6,"./default-setting":8}],19:[function(t,e,n){"use strict";function r(t,e){return t.settings.minScrollbarLength&&(e=Math.max(e,t.settings.minScrollbarLength)),t.settings.maxScrollbarLength&&(e=Math.min(e,t.settings.maxScrollbarLength)),e}function o(t,e){var n={width:e.railXWidth};e.isRtl?n.left=e.negativeScrollAdjustment+t.scrollLeft+e.containerWidth-e.contentWidth:n.left=t.scrollLeft,e.isScrollbarXUsingBottom?n.bottom=e.scrollbarXBottom-t.scrollTop:n.top=e.scrollbarXTop+t.scrollTop,s.css(e.scrollbarXRail,n);var r={top:t.scrollTop,height:e.railYHeight};e.isScrollbarYUsingRight?e.isRtl?r.right=e.contentWidth-(e.negativeScrollAdjustment+t.scrollLeft)-e.scrollbarYRight-e.scrollbarYOuterWidth:r.right=e.scrollbarYRight-t.scrollLeft:e.isRtl?r.left=e.negativeScrollAdjustment+t.scrollLeft+2*e.containerWidth-e.contentWidth-e.scrollbarYLeft-e.scrollbarYOuterWidth:r.left=e.scrollbarYLeft+t.scrollLeft,s.css(e.scrollbarYRail,r),s.css(e.scrollbarX,{left:e.scrollbarXLeft,width:e.scrollbarXWidth-e.railBorderXWidth}),s.css(e.scrollbarY,{top:e.scrollbarYTop,height:e.scrollbarYHeight-e.railBorderYWidth})}var l=t("../lib/helper"),i=t("../lib/class"),s=t("../lib/dom"),a=t("./instances"),c=t("./update-scroll");e.exports=function(t){var e=a.get(t);e.containerWidth=t.clientWidth,e.containerHeight=t.clientHeight,e.contentWidth=t.scrollWidth,e.contentHeight=t.scrollHeight;var n;t.contains(e.scrollbarXRail)||(n=s.queryChildren(t,".ps-scrollbar-x-rail"),n.length>0&&n.forEach(function(t){s.remove(t)}),s.appendTo(e.scrollbarXRail,t)),t.contains(e.scrollbarYRail)||(n=s.queryChildren(t,".ps-scrollbar-y-rail"),n.length>0&&n.forEach(function(t){s.remove(t)}),s.appendTo(e.scrollbarYRail,t)),!e.settings.suppressScrollX&&e.containerWidth+e.settings.scrollXMarginOffset<e.contentWidth?(e.scrollbarXActive=!0,e.railXWidth=e.containerWidth-e.railXMarginWidth,e.railXRatio=e.containerWidth/e.railXWidth,e.scrollbarXWidth=r(e,l.toInt(e.railXWidth*e.containerWidth/e.contentWidth)),e.scrollbarXLeft=l.toInt((e.negativeScrollAdjustment+t.scrollLeft)*(e.railXWidth-e.scrollbarXWidth)/(e.contentWidth-e.containerWidth))):e.scrollbarXActive=!1,!e.settings.suppressScrollY&&e.containerHeight+e.settings.scrollYMarginOffset<e.contentHeight?(e.scrollbarYActive=!0,e.railYHeight=e.containerHeight-e.railYMarginHeight,e.railYRatio=e.containerHeight/e.railYHeight,e.scrollbarYHeight=r(e,l.toInt(e.railYHeight*e.containerHeight/e.contentHeight)),e.scrollbarYTop=l.toInt(t.scrollTop*(e.railYHeight-e.scrollbarYHeight)/(e.contentHeight-e.containerHeight))):e.scrollbarYActive=!1,e.scrollbarXLeft>=e.railXWidth-e.scrollbarXWidth&&(e.scrollbarXLeft=e.railXWidth-e.scrollbarXWidth),e.scrollbarYTop>=e.railYHeight-e.scrollbarYHeight&&(e.scrollbarYTop=e.railYHeight-e.scrollbarYHeight),o(t,e),e.scrollbarXActive?i.add(t,"ps-active-x"):(i.remove(t,"ps-active-x"),e.scrollbarXWidth=0,e.scrollbarXLeft=0,c(t,"left",0)),e.scrollbarYActive?i.add(t,"ps-active-y"):(i.remove(t,"ps-active-y"),e.scrollbarYHeight=0,e.scrollbarYTop=0,c(t,"top",0))}},{"../lib/class":2,"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-scroll":20}],20:[function(t,e,n){"use strict";var r,o,l=t("./instances"),i=function(t){var e=document.createEvent("Event");return e.initEvent(t,!0,!0),e};e.exports=function(t,e,n){if("undefined"==typeof t)throw"You must provide an element to the update-scroll function";if("undefined"==typeof e)throw"You must provide an axis to the update-scroll function";if("undefined"==typeof n)throw"You must provide a value to the update-scroll function";"top"===e&&n<=0&&(t.scrollTop=n=0,t.dispatchEvent(i("ps-y-reach-start"))),"left"===e&&n<=0&&(t.scrollLeft=n=0,t.dispatchEvent(i("ps-x-reach-start")));var s=l.get(t);"top"===e&&n>=s.contentHeight-s.containerHeight&&(n=s.contentHeight-s.containerHeight,n-t.scrollTop<=1?n=t.scrollTop:t.scrollTop=n,t.dispatchEvent(i("ps-y-reach-end"))),"left"===e&&n>=s.contentWidth-s.containerWidth&&(n=s.contentWidth-s.containerWidth,n-t.scrollLeft<=1?n=t.scrollLeft:t.scrollLeft=n,t.dispatchEvent(i("ps-x-reach-end"))),r||(r=t.scrollTop),o||(o=t.scrollLeft),"top"===e&&n<r&&t.dispatchEvent(i("ps-scroll-up")),"top"===e&&n>r&&t.dispatchEvent(i("ps-scroll-down")),"left"===e&&n<o&&t.dispatchEvent(i("ps-scroll-left")),"left"===e&&n>o&&t.dispatchEvent(i("ps-scroll-right")),"top"===e&&(t.scrollTop=r=n,t.dispatchEvent(i("ps-scroll-y"))),"left"===e&&(t.scrollLeft=o=n,t.dispatchEvent(i("ps-scroll-x")))}},{"./instances":18}],21:[function(t,e,n){"use strict";var r=t("../lib/helper"),o=t("../lib/dom"),l=t("./instances"),i=t("./update-geometry"),s=t("./update-scroll");e.exports=function(t){var e=l.get(t);e&&(e.negativeScrollAdjustment=e.isNegativeScroll?t.scrollWidth-t.clientWidth:0,o.css(e.scrollbarXRail,"display","block"),o.css(e.scrollbarYRail,"display","block"),e.railXMarginWidth=r.toInt(o.css(e.scrollbarXRail,"marginLeft"))+r.toInt(o.css(e.scrollbarXRail,"marginRight")),e.railYMarginHeight=r.toInt(o.css(e.scrollbarYRail,"marginTop"))+r.toInt(o.css(e.scrollbarYRail,"marginBottom")),o.css(e.scrollbarXRail,"display","none"),o.css(e.scrollbarYRail,"display","none"),i(t),s(t,"top",t.scrollTop),s(t,"left",t.scrollLeft),o.css(e.scrollbarXRail,"display",""),o.css(e.scrollbarYRail,"display",""))}},{"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-geometry":19,"./update-scroll":20}]},{},[1]);

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/js/perfect-scrollbar.min.js
=====================================================
/* perfect-scrollbar v0.6.13 */
!function t(e,n,r){function o(i,s){if(!n[i]){if(!e[i]){var a="function"==typeof require&&require;if(!s&&a)return a(i,!0);if(l)return l(i,!0);var c=new Error("Cannot find module '"+i+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[i]={exports:{}};e[i][0].call(u.exports,function(t){var n=e[i][1][t];return o(n?n:t)},u,u.exports,t,e,n,r)}return n[i].exports}for(var l="function"==typeof require&&require,i=0;i<r.length;i++)o(r[i]);return o}({1:[function(t,e,n){"use strict";var r=t("../main");"function"==typeof define&&define.amd?define(r):(window.PerfectScrollbar=r,"undefined"==typeof window.Ps&&(window.Ps=r))},{"../main":7}],2:[function(t,e,n){"use strict";function r(t,e){var n=t.className.split(" ");n.indexOf(e)<0&&n.push(e),t.className=n.join(" ")}function o(t,e){var n=t.className.split(" "),r=n.indexOf(e);r>=0&&n.splice(r,1),t.className=n.join(" ")}n.add=function(t,e){t.classList?t.classList.add(e):r(t,e)},n.remove=function(t,e){t.classList?t.classList.remove(e):o(t,e)},n.list=function(t){return t.classList?Array.prototype.slice.apply(t.classList):t.className.split(" ")}},{}],3:[function(t,e,n){"use strict";function r(t,e){return window.getComputedStyle(t)[e]}function o(t,e,n){return"number"==typeof n&&(n=n.toString()+"px"),t.style[e]=n,t}function l(t,e){for(var n in e){var r=e[n];"number"==typeof r&&(r=r.toString()+"px"),t.style[n]=r}return t}var i={};i.e=function(t,e){var n=document.createElement(t);return n.className=e,n},i.appendTo=function(t,e){return e.appendChild(t),t},i.css=function(t,e,n){return"object"==typeof e?l(t,e):"undefined"==typeof n?r(t,e):o(t,e,n)},i.matches=function(t,e){return"undefined"!=typeof t.matches?t.matches(e):"undefined"!=typeof t.matchesSelector?t.matchesSelector(e):"undefined"!=typeof t.webkitMatchesSelector?t.webkitMatchesSelector(e):"undefined"!=typeof t.mozMatchesSelector?t.mozMatchesSelector(e):"undefined"!=typeof t.msMatchesSelector?t.msMatchesSelector(e):void 0},i.remove=function(t){"undefined"!=typeof t.remove?t.remove():t.parentNode&&t.parentNode.removeChild(t)},i.queryChildren=function(t,e){return Array.prototype.filter.call(t.childNodes,function(t){return i.matches(t,e)})},e.exports=i},{}],4:[function(t,e,n){"use strict";var r=function(t){this.element=t,this.events={}};r.prototype.bind=function(t,e){"undefined"==typeof this.events[t]&&(this.events[t]=[]),this.events[t].push(e),this.element.addEventListener(t,e,!1)},r.prototype.unbind=function(t,e){var n="undefined"!=typeof e;this.events[t]=this.events[t].filter(function(r){return!(!n||r===e)||(this.element.removeEventListener(t,r,!1),!1)},this)},r.prototype.unbindAll=function(){for(var t in this.events)this.unbind(t)};var o=function(){this.eventElements=[]};o.prototype.eventElement=function(t){var e=this.eventElements.filter(function(e){return e.element===t})[0];return"undefined"==typeof e&&(e=new r(t),this.eventElements.push(e)),e},o.prototype.bind=function(t,e,n){this.eventElement(t).bind(e,n)},o.prototype.unbind=function(t,e,n){this.eventElement(t).unbind(e,n)},o.prototype.unbindAll=function(){for(var t=0;t<this.eventElements.length;t++)this.eventElements[t].unbindAll()},o.prototype.once=function(t,e,n){var r=this.eventElement(t),o=function(t){r.unbind(e,o),n(t)};r.bind(e,o)},e.exports=o},{}],5:[function(t,e,n){"use strict";e.exports=function(){function t(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return function(){return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()}}()},{}],6:[function(t,e,n){"use strict";var r=t("./class"),o=t("./dom"),l=n.toInt=function(t){return parseInt(t,10)||0},i=n.clone=function(t){if(t){if(t.constructor===Array)return t.map(i);if("object"==typeof t){var e={};for(var n in t)e[n]=i(t[n]);return e}return t}return null};n.extend=function(t,e){var n=i(t);for(var r in e)n[r]=i(e[r]);return n},n.isEditable=function(t){return o.matches(t,"input,[contenteditable]")||o.matches(t,"select,[contenteditable]")||o.matches(t,"textarea,[contenteditable]")||o.matches(t,"button,[contenteditable]")},n.removePsClasses=function(t){for(var e=r.list(t),n=0;n<e.length;n++){var o=e[n];0===o.indexOf("ps-")&&r.remove(t,o)}},n.outerWidth=function(t){return l(o.css(t,"width"))+l(o.css(t,"paddingLeft"))+l(o.css(t,"paddingRight"))+l(o.css(t,"borderLeftWidth"))+l(o.css(t,"borderRightWidth"))},n.startScrolling=function(t,e){r.add(t,"ps-in-scrolling"),"undefined"!=typeof e?r.add(t,"ps-"+e):(r.add(t,"ps-x"),r.add(t,"ps-y"))},n.stopScrolling=function(t,e){r.remove(t,"ps-in-scrolling"),"undefined"!=typeof e?r.remove(t,"ps-"+e):(r.remove(t,"ps-x"),r.remove(t,"ps-y"))},n.env={isWebKit:"WebkitAppearance"in document.documentElement.style,supportsTouch:"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch,supportsIePointer:null!==window.navigator.msMaxTouchPoints}},{"./class":2,"./dom":3}],7:[function(t,e,n){"use strict";var r=t("./plugin/destroy"),o=t("./plugin/initialize"),l=t("./plugin/update");e.exports={initialize:o,update:l,destroy:r}},{"./plugin/destroy":9,"./plugin/initialize":17,"./plugin/update":21}],8:[function(t,e,n){"use strict";e.exports={handlers:["click-rail","drag-scrollbar","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipePropagation:!0,useBothWheelAxes:!1,wheelPropagation:!1,wheelSpeed:1,theme:"default"}},{}],9:[function(t,e,n){"use strict";var r=t("../lib/helper"),o=t("../lib/dom"),l=t("./instances");e.exports=function(t){var e=l.get(t);e&&(e.event.unbindAll(),o.remove(e.scrollbarX),o.remove(e.scrollbarY),o.remove(e.scrollbarXRail),o.remove(e.scrollbarYRail),r.removePsClasses(t),l.remove(t))}},{"../lib/dom":3,"../lib/helper":6,"./instances":18}],10:[function(t,e,n){"use strict";function r(t,e){function n(t){return t.getBoundingClientRect()}var r=function(t){t.stopPropagation()};e.event.bind(e.scrollbarY,"click",r),e.event.bind(e.scrollbarYRail,"click",function(r){var o=r.pageY-window.pageYOffset-n(e.scrollbarYRail).top,s=o>e.scrollbarYTop?1:-1;i(t,"top",t.scrollTop+s*e.containerHeight),l(t),r.stopPropagation()}),e.event.bind(e.scrollbarX,"click",r),e.event.bind(e.scrollbarXRail,"click",function(r){var o=r.pageX-window.pageXOffset-n(e.scrollbarXRail).left,s=o>e.scrollbarXLeft?1:-1;i(t,"left",t.scrollLeft+s*e.containerWidth),l(t),r.stopPropagation()})}var o=t("../instances"),l=t("../update-geometry"),i=t("../update-scroll");e.exports=function(t){var e=o.get(t);r(t,e)}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],11:[function(t,e,n){"use strict";function r(t,e){function n(n){var o=r+n*e.railXRatio,i=Math.max(0,e.scrollbarXRail.getBoundingClientRect().left)+e.railXRatio*(e.railXWidth-e.scrollbarXWidth);o<0?e.scrollbarXLeft=0:o>i?e.scrollbarXLeft=i:e.scrollbarXLeft=o;var s=l.toInt(e.scrollbarXLeft*(e.contentWidth-e.containerWidth)/(e.containerWidth-e.railXRatio*e.scrollbarXWidth))-e.negativeScrollAdjustment;c(t,"left",s)}var r=null,o=null,s=function(e){n(e.pageX-o),a(t),e.stopPropagation(),e.preventDefault()},u=function(){l.stopScrolling(t,"x"),e.event.unbind(e.ownerDocument,"mousemove",s)};e.event.bind(e.scrollbarX,"mousedown",function(n){o=n.pageX,r=l.toInt(i.css(e.scrollbarX,"left"))*e.railXRatio,l.startScrolling(t,"x"),e.event.bind(e.ownerDocument,"mousemove",s),e.event.once(e.ownerDocument,"mouseup",u),n.stopPropagation(),n.preventDefault()})}function o(t,e){function n(n){var o=r+n*e.railYRatio,i=Math.max(0,e.scrollbarYRail.getBoundingClientRect().top)+e.railYRatio*(e.railYHeight-e.scrollbarYHeight);o<0?e.scrollbarYTop=0:o>i?e.scrollbarYTop=i:e.scrollbarYTop=o;var s=l.toInt(e.scrollbarYTop*(e.contentHeight-e.containerHeight)/(e.containerHeight-e.railYRatio*e.scrollbarYHeight));c(t,"top",s)}var r=null,o=null,s=function(e){n(e.pageY-o),a(t),e.stopPropagation(),e.preventDefault()},u=function(){l.stopScrolling(t,"y"),e.event.unbind(e.ownerDocument,"mousemove",s)};e.event.bind(e.scrollbarY,"mousedown",function(n){o=n.pageY,r=l.toInt(i.css(e.scrollbarY,"top"))*e.railYRatio,l.startScrolling(t,"y"),e.event.bind(e.ownerDocument,"mousemove",s),e.event.once(e.ownerDocument,"mouseup",u),n.stopPropagation(),n.preventDefault()})}var l=t("../../lib/helper"),i=t("../../lib/dom"),s=t("../instances"),a=t("../update-geometry"),c=t("../update-scroll");e.exports=function(t){var e=s.get(t);r(t,e),o(t,e)}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],12:[function(t,e,n){"use strict";function r(t,e){function n(n,r){var o=t.scrollTop;if(0===n){if(!e.scrollbarYActive)return!1;if(0===o&&r>0||o>=e.contentHeight-e.containerHeight&&r<0)return!e.settings.wheelPropagation}var l=t.scrollLeft;if(0===r){if(!e.scrollbarXActive)return!1;if(0===l&&n<0||l>=e.contentWidth-e.containerWidth&&n>0)return!e.settings.wheelPropagation}return!0}var r=!1;e.event.bind(t,"mouseenter",function(){r=!0}),e.event.bind(t,"mouseleave",function(){r=!1});var i=!1;e.event.bind(e.ownerDocument,"keydown",function(c){if(!(c.isDefaultPrevented&&c.isDefaultPrevented()||c.defaultPrevented)){var u=l.matches(e.scrollbarX,":focus")||l.matches(e.scrollbarY,":focus");if(r||u){var d=document.activeElement?document.activeElement:e.ownerDocument.activeElement;if(d){if("IFRAME"===d.tagName)d=d.contentDocument.activeElement;else for(;d.shadowRoot;)d=d.shadowRoot.activeElement;if(o.isEditable(d))return}var p=0,f=0;switch(c.which){case 37:p=c.metaKey?-e.contentWidth:c.altKey?-e.containerWidth:-30;break;case 38:f=c.metaKey?e.contentHeight:c.altKey?e.containerHeight:30;break;case 39:p=c.metaKey?e.contentWidth:c.altKey?e.containerWidth:30;break;case 40:f=c.metaKey?-e.contentHeight:c.altKey?-e.containerHeight:-30;break;case 33:f=90;break;case 32:f=c.shiftKey?90:-90;break;case 34:f=-90;break;case 35:f=c.ctrlKey?-e.contentHeight:-e.containerHeight;break;case 36:f=c.ctrlKey?t.scrollTop:e.containerHeight;break;default:return}a(t,"top",t.scrollTop-f),a(t,"left",t.scrollLeft+p),s(t),i=n(p,f),i&&c.preventDefault()}}})}var o=t("../../lib/helper"),l=t("../../lib/dom"),i=t("../instances"),s=t("../update-geometry"),a=t("../update-scroll");e.exports=function(t){var e=i.get(t);r(t,e)}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],13:[function(t,e,n){"use strict";function r(t,e){function n(n,r){var o=t.scrollTop;if(0===n){if(!e.scrollbarYActive)return!1;if(0===o&&r>0||o>=e.contentHeight-e.containerHeight&&r<0)return!e.settings.wheelPropagation}var l=t.scrollLeft;if(0===r){if(!e.scrollbarXActive)return!1;if(0===l&&n<0||l>=e.contentWidth-e.containerWidth&&n>0)return!e.settings.wheelPropagation}return!0}function r(t){var e=t.deltaX,n=-1*t.deltaY;return"undefined"!=typeof e&&"undefined"!=typeof n||(e=-1*t.wheelDeltaX/6,n=t.wheelDeltaY/6),t.deltaMode&&1===t.deltaMode&&(e*=10,n*=10),e!==e&&n!==n&&(e=0,n=t.wheelDelta),t.shiftKey?[-n,-e]:[e,n]}function o(e,n){var r=t.querySelector("textarea:hover, select[multiple]:hover, .ps-child:hover");if(r){if(!window.getComputedStyle(r).overflow.match(/(scroll|auto)/))return!1;var o=r.scrollHeight-r.clientHeight;if(o>0&&!(0===r.scrollTop&&n>0||r.scrollTop===o&&n<0))return!0;var l=r.scrollLeft-r.clientWidth;if(l>0&&!(0===r.scrollLeft&&e<0||r.scrollLeft===l&&e>0))return!0}return!1}function s(s){var c=r(s),u=c[0],d=c[1];o(u,d)||(a=!1,e.settings.useBothWheelAxes?e.scrollbarYActive&&!e.scrollbarXActive?(d?i(t,"top",t.scrollTop-d*e.settings.wheelSpeed):i(t,"top",t.scrollTop+u*e.settings.wheelSpeed),a=!0):e.scrollbarXActive&&!e.scrollbarYActive&&(u?i(t,"left",t.scrollLeft+u*e.settings.wheelSpeed):i(t,"left",t.scrollLeft-d*e.settings.wheelSpeed),a=!0):(i(t,"top",t.scrollTop-d*e.settings.wheelSpeed),i(t,"left",t.scrollLeft+u*e.settings.wheelSpeed)),l(t),a=a||n(u,d),a&&(s.stopPropagation(),s.preventDefault()))}var a=!1;"undefined"!=typeof window.onwheel?e.event.bind(t,"wheel",s):"undefined"!=typeof window.onmousewheel&&e.event.bind(t,"mousewheel",s)}var o=t("../instances"),l=t("../update-geometry"),i=t("../update-scroll");e.exports=function(t){var e=o.get(t);r(t,e)}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],14:[function(t,e,n){"use strict";function r(t,e){e.event.bind(t,"scroll",function(){l(t)})}var o=t("../instances"),l=t("../update-geometry");e.exports=function(t){var e=o.get(t);r(t,e)}},{"../instances":18,"../update-geometry":19}],15:[function(t,e,n){"use strict";function r(t,e){function n(){var t=window.getSelection?window.getSelection():document.getSelection?document.getSelection():"";return 0===t.toString().length?null:t.getRangeAt(0).commonAncestorContainer}function r(){c||(c=setInterval(function(){return l.get(t)?(s(t,"top",t.scrollTop+u.top),s(t,"left",t.scrollLeft+u.left),void i(t)):void clearInterval(c)},50))}function a(){c&&(clearInterval(c),c=null),o.stopScrolling(t)}var c=null,u={top:0,left:0},d=!1;e.event.bind(e.ownerDocument,"selectionchange",function(){t.contains(n())?d=!0:(d=!1,a())}),e.event.bind(window,"mouseup",function(){d&&(d=!1,a())}),e.event.bind(window,"keyup",function(){d&&(d=!1,a())}),e.event.bind(window,"mousemove",function(e){if(d){var n={x:e.pageX,y:e.pageY},l={left:t.offsetLeft,right:t.offsetLeft+t.offsetWidth,top:t.offsetTop,bottom:t.offsetTop+t.offsetHeight};n.x<l.left+3?(u.left=-5,o.startScrolling(t,"x")):n.x>l.right-3?(u.left=5,o.startScrolling(t,"x")):u.left=0,n.y<l.top+3?(l.top+3-n.y<5?u.top=-5:u.top=-20,o.startScrolling(t,"y")):n.y>l.bottom-3?(n.y-l.bottom+3<5?u.top=5:u.top=20,o.startScrolling(t,"y")):u.top=0,0===u.top&&0===u.left?a():r()}})}var o=t("../../lib/helper"),l=t("../instances"),i=t("../update-geometry"),s=t("../update-scroll");e.exports=function(t){var e=l.get(t);r(t,e)}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],16:[function(t,e,n){"use strict";function r(t,e,n,r){function o(n,r){var o=t.scrollTop,l=t.scrollLeft,i=Math.abs(n),s=Math.abs(r);if(s>i){if(r<0&&o===e.contentHeight-e.containerHeight||r>0&&0===o)return!e.settings.swipePropagation}else if(i>s&&(n<0&&l===e.contentWidth-e.containerWidth||n>0&&0===l))return!e.settings.swipePropagation;return!0}function a(e,n){s(t,"top",t.scrollTop-n),s(t,"left",t.scrollLeft-e),i(t)}function c(){w=!0}function u(){w=!1}function d(t){return t.targetTouches?t.targetTouches[0]:t}function p(t){return!(!t.targetTouches||1!==t.targetTouches.length)||!(!t.pointerType||"mouse"===t.pointerType||t.pointerType===t.MSPOINTER_TYPE_MOUSE)}function f(t){if(p(t)){Y=!0;var e=d(t);g.pageX=e.pageX,g.pageY=e.pageY,v=(new Date).getTime(),null!==y&&clearInterval(y),t.stopPropagation()}}function h(t){if(!Y&&e.settings.swipePropagation&&f(t),!w&&Y&&p(t)){var n=d(t),r={pageX:n.pageX,pageY:n.pageY},l=r.pageX-g.pageX,i=r.pageY-g.pageY;a(l,i),g=r;var s=(new Date).getTime(),c=s-v;c>0&&(m.x=l/c,m.y=i/c,v=s),o(l,i)&&(t.stopPropagation(),t.preventDefault())}}function b(){!w&&Y&&(Y=!1,clearInterval(y),y=setInterval(function(){return l.get(t)&&(m.x||m.y)?Math.abs(m.x)<.01&&Math.abs(m.y)<.01?void clearInterval(y):(a(30*m.x,30*m.y),m.x*=.8,void(m.y*=.8)):void clearInterval(y)},10))}var g={},v=0,m={},y=null,w=!1,Y=!1;n&&(e.event.bind(window,"touchstart",c),e.event.bind(window,"touchend",u),e.event.bind(t,"touchstart",f),e.event.bind(t,"touchmove",h),e.event.bind(t,"touchend",b)),r&&(window.PointerEvent?(e.event.bind(window,"pointerdown",c),e.event.bind(window,"pointerup",u),e.event.bind(t,"pointerdown",f),e.event.bind(t,"pointermove",h),e.event.bind(t,"pointerup",b)):window.MSPointerEvent&&(e.event.bind(window,"MSPointerDown",c),e.event.bind(window,"MSPointerUp",u),e.event.bind(t,"MSPointerDown",f),e.event.bind(t,"MSPointerMove",h),e.event.bind(t,"MSPointerUp",b)))}var o=t("../../lib/helper"),l=t("../instances"),i=t("../update-geometry"),s=t("../update-scroll");e.exports=function(t){if(o.env.supportsTouch||o.env.supportsIePointer){var e=l.get(t);r(t,e,o.env.supportsTouch,o.env.supportsIePointer)}}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],17:[function(t,e,n){"use strict";var r=t("../lib/helper"),o=t("../lib/class"),l=t("./instances"),i=t("./update-geometry"),s={"click-rail":t("./handler/click-rail"),"drag-scrollbar":t("./handler/drag-scrollbar"),keyboard:t("./handler/keyboard"),wheel:t("./handler/mouse-wheel"),touch:t("./handler/touch"),selection:t("./handler/selection")},a=t("./handler/native-scroll");e.exports=function(t,e){e="object"==typeof e?e:{},o.add(t,"ps-container");var n=l.add(t);n.settings=r.extend(n.settings,e),o.add(t,"ps-theme-"+n.settings.theme),n.settings.handlers.forEach(function(e){s[e](t)}),a(t),i(t)}},{"../lib/class":2,"../lib/helper":6,"./handler/click-rail":10,"./handler/drag-scrollbar":11,"./handler/keyboard":12,"./handler/mouse-wheel":13,"./handler/native-scroll":14,"./handler/selection":15,"./handler/touch":16,"./instances":18,"./update-geometry":19}],18:[function(t,e,n){"use strict";function r(t){function e(){a.add(t,"ps-focus")}function n(){a.remove(t,"ps-focus")}var r=this;r.settings=s.clone(c),r.containerWidth=null,r.containerHeight=null,r.contentWidth=null,r.contentHeight=null,r.isRtl="rtl"===u.css(t,"direction"),r.isNegativeScroll=function(){var e=t.scrollLeft,n=null;return t.scrollLeft=-1,n=t.scrollLeft<0,t.scrollLeft=e,n}(),r.negativeScrollAdjustment=r.isNegativeScroll?t.scrollWidth-t.clientWidth:0,r.event=new d,r.ownerDocument=t.ownerDocument||document,r.scrollbarXRail=u.appendTo(u.e("div","ps-scrollbar-x-rail"),t),r.scrollbarX=u.appendTo(u.e("div","ps-scrollbar-x"),r.scrollbarXRail),r.scrollbarX.setAttribute("tabindex",0),r.event.bind(r.scrollbarX,"focus",e),r.event.bind(r.scrollbarX,"blur",n),r.scrollbarXActive=null,r.scrollbarXWidth=null,r.scrollbarXLeft=null,r.scrollbarXBottom=s.toInt(u.css(r.scrollbarXRail,"bottom")),r.isScrollbarXUsingBottom=r.scrollbarXBottom===r.scrollbarXBottom,r.scrollbarXTop=r.isScrollbarXUsingBottom?null:s.toInt(u.css(r.scrollbarXRail,"top")),r.railBorderXWidth=s.toInt(u.css(r.scrollbarXRail,"borderLeftWidth"))+s.toInt(u.css(r.scrollbarXRail,"borderRightWidth")),u.css(r.scrollbarXRail,"display","block"),r.railXMarginWidth=s.toInt(u.css(r.scrollbarXRail,"marginLeft"))+s.toInt(u.css(r.scrollbarXRail,"marginRight")),u.css(r.scrollbarXRail,"display",""),r.railXWidth=null,r.railXRatio=null,r.scrollbarYRail=u.appendTo(u.e("div","ps-scrollbar-y-rail"),t),r.scrollbarY=u.appendTo(u.e("div","ps-scrollbar-y"),r.scrollbarYRail),r.scrollbarY.setAttribute("tabindex",0),r.event.bind(r.scrollbarY,"focus",e),r.event.bind(r.scrollbarY,"blur",n),r.scrollbarYActive=null,r.scrollbarYHeight=null,r.scrollbarYTop=null,r.scrollbarYRight=s.toInt(u.css(r.scrollbarYRail,"right")),r.isScrollbarYUsingRight=r.scrollbarYRight===r.scrollbarYRight,r.scrollbarYLeft=r.isScrollbarYUsingRight?null:s.toInt(u.css(r.scrollbarYRail,"left")),r.scrollbarYOuterWidth=r.isRtl?s.outerWidth(r.scrollbarY):null,r.railBorderYWidth=s.toInt(u.css(r.scrollbarYRail,"borderTopWidth"))+s.toInt(u.css(r.scrollbarYRail,"borderBottomWidth")),u.css(r.scrollbarYRail,"display","block"),r.railYMarginHeight=s.toInt(u.css(r.scrollbarYRail,"marginTop"))+s.toInt(u.css(r.scrollbarYRail,"marginBottom")),u.css(r.scrollbarYRail,"display",""),r.railYHeight=null,r.railYRatio=null}function o(t){return t.getAttribute("data-ps-id")}function l(t,e){t.setAttribute("data-ps-id",e)}function i(t){t.removeAttribute("data-ps-id")}var s=t("../lib/helper"),a=t("../lib/class"),c=t("./default-setting"),u=t("../lib/dom"),d=t("../lib/event-manager"),p=t("../lib/guid"),f={};n.add=function(t){var e=p();return l(t,e),f[e]=new r(t),f[e]},n.remove=function(t){delete f[o(t)],i(t)},n.get=function(t){return f[o(t)]}},{"../lib/class":2,"../lib/dom":3,"../lib/event-manager":4,"../lib/guid":5,"../lib/helper":6,"./default-setting":8}],19:[function(t,e,n){"use strict";function r(t,e){return t.settings.minScrollbarLength&&(e=Math.max(e,t.settings.minScrollbarLength)),t.settings.maxScrollbarLength&&(e=Math.min(e,t.settings.maxScrollbarLength)),e}function o(t,e){var n={width:e.railXWidth};e.isRtl?n.left=e.negativeScrollAdjustment+t.scrollLeft+e.containerWidth-e.contentWidth:n.left=t.scrollLeft,e.isScrollbarXUsingBottom?n.bottom=e.scrollbarXBottom-t.scrollTop:n.top=e.scrollbarXTop+t.scrollTop,s.css(e.scrollbarXRail,n);var r={top:t.scrollTop,height:e.railYHeight};e.isScrollbarYUsingRight?e.isRtl?r.right=e.contentWidth-(e.negativeScrollAdjustment+t.scrollLeft)-e.scrollbarYRight-e.scrollbarYOuterWidth:r.right=e.scrollbarYRight-t.scrollLeft:e.isRtl?r.left=e.negativeScrollAdjustment+t.scrollLeft+2*e.containerWidth-e.contentWidth-e.scrollbarYLeft-e.scrollbarYOuterWidth:r.left=e.scrollbarYLeft+t.scrollLeft,s.css(e.scrollbarYRail,r),s.css(e.scrollbarX,{left:e.scrollbarXLeft,width:e.scrollbarXWidth-e.railBorderXWidth}),s.css(e.scrollbarY,{top:e.scrollbarYTop,height:e.scrollbarYHeight-e.railBorderYWidth})}var l=t("../lib/helper"),i=t("../lib/class"),s=t("../lib/dom"),a=t("./instances"),c=t("./update-scroll");e.exports=function(t){var e=a.get(t);e.containerWidth=t.clientWidth,e.containerHeight=t.clientHeight,e.contentWidth=t.scrollWidth,e.contentHeight=t.scrollHeight;var n;t.contains(e.scrollbarXRail)||(n=s.queryChildren(t,".ps-scrollbar-x-rail"),n.length>0&&n.forEach(function(t){s.remove(t)}),s.appendTo(e.scrollbarXRail,t)),t.contains(e.scrollbarYRail)||(n=s.queryChildren(t,".ps-scrollbar-y-rail"),n.length>0&&n.forEach(function(t){s.remove(t)}),s.appendTo(e.scrollbarYRail,t)),!e.settings.suppressScrollX&&e.containerWidth+e.settings.scrollXMarginOffset<e.contentWidth?(e.scrollbarXActive=!0,e.railXWidth=e.containerWidth-e.railXMarginWidth,e.railXRatio=e.containerWidth/e.railXWidth,e.scrollbarXWidth=r(e,l.toInt(e.railXWidth*e.containerWidth/e.contentWidth)),e.scrollbarXLeft=l.toInt((e.negativeScrollAdjustment+t.scrollLeft)*(e.railXWidth-e.scrollbarXWidth)/(e.contentWidth-e.containerWidth))):e.scrollbarXActive=!1,!e.settings.suppressScrollY&&e.containerHeight+e.settings.scrollYMarginOffset<e.contentHeight?(e.scrollbarYActive=!0,e.railYHeight=e.containerHeight-e.railYMarginHeight,e.railYRatio=e.containerHeight/e.railYHeight,e.scrollbarYHeight=r(e,l.toInt(e.railYHeight*e.containerHeight/e.contentHeight)),e.scrollbarYTop=l.toInt(t.scrollTop*(e.railYHeight-e.scrollbarYHeight)/(e.contentHeight-e.containerHeight))):e.scrollbarYActive=!1,e.scrollbarXLeft>=e.railXWidth-e.scrollbarXWidth&&(e.scrollbarXLeft=e.railXWidth-e.scrollbarXWidth),e.scrollbarYTop>=e.railYHeight-e.scrollbarYHeight&&(e.scrollbarYTop=e.railYHeight-e.scrollbarYHeight),o(t,e),e.scrollbarXActive?i.add(t,"ps-active-x"):(i.remove(t,"ps-active-x"),e.scrollbarXWidth=0,e.scrollbarXLeft=0,c(t,"left",0)),e.scrollbarYActive?i.add(t,"ps-active-y"):(i.remove(t,"ps-active-y"),e.scrollbarYHeight=0,e.scrollbarYTop=0,c(t,"top",0))}},{"../lib/class":2,"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-scroll":20}],20:[function(t,e,n){"use strict";var r,o,l=t("./instances"),i=function(t){var e=document.createEvent("Event");return e.initEvent(t,!0,!0),e};e.exports=function(t,e,n){if("undefined"==typeof t)throw"You must provide an element to the update-scroll function";if("undefined"==typeof e)throw"You must provide an axis to the update-scroll function";if("undefined"==typeof n)throw"You must provide a value to the update-scroll function";"top"===e&&n<=0&&(t.scrollTop=n=0,t.dispatchEvent(i("ps-y-reach-start"))),"left"===e&&n<=0&&(t.scrollLeft=n=0,t.dispatchEvent(i("ps-x-reach-start")));var s=l.get(t);"top"===e&&n>=s.contentHeight-s.containerHeight&&(n=s.contentHeight-s.containerHeight,n-t.scrollTop<=1?n=t.scrollTop:t.scrollTop=n,t.dispatchEvent(i("ps-y-reach-end"))),"left"===e&&n>=s.contentWidth-s.containerWidth&&(n=s.contentWidth-s.containerWidth,n-t.scrollLeft<=1?n=t.scrollLeft:t.scrollLeft=n,t.dispatchEvent(i("ps-x-reach-end"))),r||(r=t.scrollTop),o||(o=t.scrollLeft),"top"===e&&n<r&&t.dispatchEvent(i("ps-scroll-up")),"top"===e&&n>r&&t.dispatchEvent(i("ps-scroll-down")),"left"===e&&n<o&&t.dispatchEvent(i("ps-scroll-left")),"left"===e&&n>o&&t.dispatchEvent(i("ps-scroll-right")),"top"===e&&(t.scrollTop=r=n,t.dispatchEvent(i("ps-scroll-y"))),"left"===e&&(t.scrollLeft=o=n,t.dispatchEvent(i("ps-scroll-x")))}},{"./instances":18}],21:[function(t,e,n){"use strict";var r=t("../lib/helper"),o=t("../lib/dom"),l=t("./instances"),i=t("./update-geometry"),s=t("./update-scroll");e.exports=function(t){var e=l.get(t);e&&(e.negativeScrollAdjustment=e.isNegativeScroll?t.scrollWidth-t.clientWidth:0,o.css(e.scrollbarXRail,"display","block"),o.css(e.scrollbarYRail,"display","block"),e.railXMarginWidth=r.toInt(o.css(e.scrollbarXRail,"marginLeft"))+r.toInt(o.css(e.scrollbarXRail,"marginRight")),e.railYMarginHeight=r.toInt(o.css(e.scrollbarYRail,"marginTop"))+r.toInt(o.css(e.scrollbarYRail,"marginBottom")),o.css(e.scrollbarXRail,"display","none"),o.css(e.scrollbarYRail,"display","none"),i(t),s(t,"top",t.scrollTop),s(t,"left",t.scrollLeft),o.css(e.scrollbarXRail,"display",""),o.css(e.scrollbarYRail,"display",""))}},{"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-geometry":19,"./update-scroll":20}]},{},[1]);

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/js/jquery.sticky.js
=====================================================
// Sticky Plugin v1.0.4 for jQuery
// =============
// Author: Anthony Garand
// Improvements by German M. Bravo (Kronuz) and Ruud Kamphuis (ruudk)
// Improvements by Leonardo C. Daronco (daronco)
// Created: 02/14/2011
// Date: 07/20/2015
// Website: http://stickyjs.com/
// Description: Makes an element on the page stick on the screen as you scroll
//              It will only set the 'top' and 'position' of your element, you
//              might need to adjust the width in some cases.

(function (factory) {
    if (typeof define === 'function' && define.amd) {
        // AMD. Register as an anonymous module.
        define(['jquery'], factory);
    } else if (typeof module === 'object' && module.exports) {
        // Node/CommonJS
        module.exports = factory(require('jquery'));
    } else {
        // Browser globals
        factory(jQuery);
    }
}(function ($) {
    var slice = Array.prototype.slice; // save ref to original slice()
    var splice = Array.prototype.splice; // save ref to original slice()

  var defaults = {
      topSpacing: 0,
      bottomSpacing: 0,
      className: 'is-sticky',
      wrapperClassName: 'sticky-wrapper',
      center: false,
      getWidthFrom: '',
      widthFromWrapper: true, // works only when .getWidthFrom is empty
      responsiveWidth: false,
      zIndex: 'inherit'
    },
    $window = $(window),
    $document = $(document),
    $TableOfContents = $('#TableOfContents'),
    sticked = [],
    windowHeight = $window.height(),
    scroller = function() {
      var scrollTop = $window.scrollTop(),
        documentHeight = $document.height(),
        dwh = documentHeight - windowHeight,
        extra = (scrollTop > dwh) ? dwh - scrollTop : 0;

      for (var i = 0, l = sticked.length; i < l; i++) {

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/js/modernizr.custom-3.6.0.js
=====================================================
/*! modernizr 3.6.0 (Custom Build) | MIT *
 * https://modernizr.com/download/?-csstransforms3d-domprefixes-prefixes-setclasses-shiv-testallprops-testprop-teststyles !*/
!function(e,t,n){function r(e,t){return typeof e===t}function o(){var e,t,n,o,i,a,s;for(var l in S)if(S.hasOwnProperty(l)){if(e=[],t=S[l],t.name&&(e.push(t.name.toLowerCase()),t.options&&t.options.aliases&&t.options.aliases.length))for(n=0;n<t.options.aliases.length;n++)e.push(t.options.aliases[n].toLowerCase());for(o=r(t.fn,"function")?t.fn():t.fn,i=0;i<e.length;i++)a=e[i],s=a.split("."),1===s.length?Modernizr[s[0]]=o:(!Modernizr[s[0]]||Modernizr[s[0]]instanceof Boolean||(Modernizr[s[0]]=new Boolean(Modernizr[s[0]])),Modernizr[s[0]][s[1]]=o),C.push((o?"":"no-")+s.join("-"))}}function i(e){var t=b.className,n=Modernizr._config.classPrefix||"";if(x&&(t=t.baseVal),Modernizr._config.enableJSClass){var r=new RegExp("(^|\\s)"+n+"no-js(\\s|$)");t=t.replace(r,"$1"+n+"js$2")}Modernizr._config.enableClasses&&(t+=" "+n+e.join(" "+n),x?b.className.baseVal=t:b.className=t)}function a(e,t){return!!~(""+e).indexOf(t)}function s(){return"function"!=typeof t.createElement?t.createElement(arguments[0]):x?t.createElementNS.call(t,"http://www.w3.org/2000/svg",arguments[0]):t.createElement.apply(t,arguments)}function l(e){return e.replace(/([a-z])-([a-z])/g,function(e,t,n){return t+n.toUpperCase()}).replace(/^-/,"")}function u(){var e=t.body;return e||(e=s(x?"svg":"body"),e.fake=!0),e}function c(e,n,r,o){var i,a,l,c,f="modernizr",d=s("div"),p=u();if(parseInt(r,10))for(;r--;)l=s("div"),l.id=o?o[r]:f+(r+1),d.appendChild(l);return i=s("style"),i.type="text/css",i.id="s"+f,(p.fake?p:d).appendChild(i),p.appendChild(d),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(t.createTextNode(e)),d.id=f,p.fake&&(p.style.background="",p.style.overflow="hidden",c=b.style.overflow,b.style.overflow="hidden",b.appendChild(p)),a=n(d,e),p.fake?(p.parentNode.removeChild(p),b.style.overflow=c,b.offsetHeight):d.parentNode.removeChild(d),!!a}function f(e){return e.replace(/([A-Z])/g,function(e,t){return"-"+t.toLowerCase()}).replace(/^ms-/,"-ms-")}function d(t,n,r){var o;if("getComputedStyle"in e){o=getComputedStyle.call(e,t,n);var i=e.console;if(null!==o)r&&(o=o.getPropertyValue(r));else if(i){var a=i.error?"error":"log";i[a].call(i,"getComputedStyle returning null, its possible modernizr test results are inaccurate")}}else o=!n&&t.currentStyle&&t.currentStyle[r];return o}function p(t,r){var o=t.length;if("CSS"in e&&"supports"in e.CSS){for(;o--;)if(e.CSS.supports(f(t[o]),r))return!0;return!1}if("CSSSupportsRule"in e){for(var i=[];o--;)i.push("("+f(t[o])+":"+r+")");return i=i.join(" or "),c("@supports ("+i+") { #modernizr { position: absolute; } }",function(e){return"absolute"==d(e,null,"position")})}return n}function m(e,t,o,i){function u(){f&&(delete P.style,delete P.modElem)}if(i=r(i,"undefined")?!1:i,!r(o,"undefined")){var c=p(e,o);if(!r(c,"undefined"))return c}for(var f,d,m,h,g,v=["modernizr","tspan","samp"];!P.style&&v.length;)f=!0,P.modElem=s(v.shift()),P.style=P.modElem.style;for(m=e.length,d=0;m>d;d++)if(h=e[d],g=P.style[h],a(h,"-")&&(h=l(h)),P.style[h]!==n){if(i||r(o,"undefined"))return u(),"pfx"==t?h:!0;try{P.style[h]=o}catch(y){}if(P.style[h]!=g)return u(),"pfx"==t?h:!0}return u(),!1}function h(e,t){return function(){return e.apply(t,arguments)}}function g(e,t,n){var o;for(var i in e)if(e[i]in t)return n===!1?e[i]:(o=t[e[i]],r(o,"function")?h(o,n||t):o);return!1}function v(e,t,n,o,i){var a=e.charAt(0).toUpperCase()+e.slice(1),s=(e+" "+T.join(a+" ")+a).split(" ");return r(t,"string")||r(t,"undefined")?m(s,t,o,i):(s=(e+" "+N.join(a+" ")+a).split(" "),g(s,t,n))}function y(e,t,r){return v(e,n,n,t,r)}var C=[],S=[],E={_version:"3.6.0",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,t){var n=this;setTimeout(function(){t(n[e])},0)},addTest:function(e,t,n){S.push({name:e,fn:t,options:n})},addAsyncTest:function(e){S.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=E,Modernizr=new Modernizr;var b=t.documentElement,x="svg"===b.nodeName.toLowerCase(),w=E._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" "):["",""];E._prefixes=w;x||!function(e,t){function n(e,t){var n=e.createElement("p"),r=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x<style>"+t+"</style>",r.insertBefore(n.lastChild,r.firstChild)}function r(){var e=C.elements;return"string"==typeof e?e.split(" "):e}function o(e,t){var n=C.elements;"string"!=typeof n&&(n=n.join(" ")),"string"!=typeof e&&(e=e.join(" ")),C.elements=n+" "+e,u(t)}function i(e){var t=y[e[g]];return t||(t={},v++,e[g]=v,y[v]=t),t}function a(e,n,r){if(n||(n=t),f)return n.createElement(e);r||(r=i(n));var o;return o=r.cache[e]?r.cache[e].cloneNode():h.test(e)?(r.cache[e]=r.createElem(e)).cloneNode():r.createElem(e),!o.canHaveChildren||m.test(e)||o.tagUrn?o:r.frag.appendChild(o)}function s(e,n){if(e||(e=t),f)return e.createDocumentFragment();n=n||i(e);for(var o=n.frag.cloneNode(),a=0,s=r(),l=s.length;l>a;a++)o.createElement(s[a]);return o}function l(e,t){t.cache||(t.cache={},t.createElem=e.createElement,t.createFrag=e.createDocumentFragment,t.frag=t.createFrag()),e.createElement=function(n){return C.shivMethods?a(n,e,t):t.createElem(n)},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+r().join().replace(/[\w\-:]+/g,function(e){return t.createElem(e),t.frag.createElement(e),'c("'+e+'")'})+");return n}")(C,t.frag)}function u(e){e||(e=t);var r=i(e);return!C.shivCSS||c||r.hasCSS||(r.hasCSS=!!n(e,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),f||l(e,r),e}var c,f,d="3.7.3",p=e.html5||{},m=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,h=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,g="_html5shiv",v=0,y={};!function(){try{var e=t.createElement("a");e.innerHTML="<xyz></xyz>",c="hidden"in e,f=1==e.childNodes.length||function(){t.createElement("a");var e=t.createDocumentFragment();return"undefined"==typeof e.cloneNode||"undefined"==typeof e.createDocumentFragment||"undefined"==typeof e.createElement}()}catch(n){c=!0,f=!0}}();var C={elements:p.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:d,shivCSS:p.shivCSS!==!1,supportsUnknownElements:f,shivMethods:p.shivMethods!==!1,type:"default",shivDocument:u,createElement:a,createDocumentFragment:s,addElements:o};e.html5=C,u(t),"object"==typeof module&&module.exports&&(module.exports=C)}("undefined"!=typeof e?e:this,t);var _="Moz O ms Webkit",N=E._config.usePrefixes?_.toLowerCase().split(" "):[];E._domPrefixes=N;var z=(E.testStyles=c,{elem:s("modernizr")});Modernizr._q.push(function(){delete z.elem});var P={style:z.elem.style};Modernizr._q.unshift(function(){delete P.style});var j=(E.testProp=function(e,t,r){return m([e],n,t,r)},"CSS"in e&&"supports"in e.CSS),k="supportsCSS"in e;Modernizr.addTest("supports",j||k);var T=E._config.usePrefixes?_.split(" "):[];E._cssomPrefixes=T,E.testAllProps=v,E.testAllProps=y,Modernizr.addTest("csstransforms3d",function(){return!!y("perspective","1px",!0)}),o(),i(C),delete E.addTest,delete E.addAsyncTest;for(var F=0;F<Modernizr._q.length;F++)Modernizr._q[F]();e.Modernizr=Modernizr}(window,document);

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/js/featherlight.min.js
=====================================================
/**
 * Featherlight - ultra slim jQuery lightbox
 * Version 1.7.13 - http://noelboss.github.io/featherlight/
 *
 * Copyright 2018, Noël Raoul Bossart (http://www.noelboss.com)
 * MIT Licensed.
**/
// Modified by OZ -> https://github.com/noelboss/featherlight/issues/317
!function(u){"use strict";if(void 0!==u)if(u.fn.jquery.match(/-ajax/))"console"in window&&window.console.info("Featherlight needs regular jQuery, not the slim version.");else{var r=[],i=function(t){return r=u.grep(r,function(e){return e!==t&&0<e.$instance.closest("body").length})},o={allow:1,allowfullscreen:1,frameborder:1,height:1,longdesc:1,marginheight:1,marginwidth:1,mozallowfullscreen:1,name:1,referrerpolicy:1,sandbox:1,scrolling:1,src:1,srcdoc:1,style:1,webkitallowfullscreen:1,width:1},n={keyup:"onKeyUp",resize:"onResize"},a=function(e){u.each(c.opened().reverse(),function(){if(!e.isDefaultPrevented()&&!1===this[n[e.type]](e))return e.preventDefault(),e.stopPropagation(),!1})},s=function(e){if(e!==c._globalHandlerInstalled){c._globalHandlerInstalled=e;var t=u.map(n,function(e,t){return t+"."+c.prototype.namespace}).join(" ");u(window)[e?"on":"off"](t,a)}};c.prototype={constructor:c,namespace:"featherlight",targetAttr:"data-featherlight",variant:null,resetCss:!1,background:null,openTrigger:"click",closeTrigger:"click",filter:null,root:"body",openSpeed:250,closeSpeed:250,closeOnClick:"background",closeOnEsc:!0,closeIcon:"&#10005;",loading:"",persist:!1,otherClose:null,beforeOpen:u.noop,beforeContent:u.noop,beforeClose:u.noop,afterOpen:u.noop,afterContent:u.noop,afterClose:u.noop,onKeyUp:u.noop,onResize:u.noop,type:null,contentFilters:["jquery","image","html","ajax","iframe","text"],setup:function(e,t){"object"!=typeof e||e instanceof u!=!1||t||(t=e,e=void 0);var n=u.extend(this,t,{target:e}),r=n.resetCss?n.namespace+"-reset":n.namespace,i=u(n.background||['<div class="'+r+"-loading "+r+'">','<div class="'+r+'-content">','<button class="'+r+"-close-icon "+n.namespace+'-close" aria-label="Close">',n.closeIcon,"</button>",'<div class="'+n.namespace+'-inner">'+n.loading+"</div>","</div>","</div>"].join("")),o="."+n.namespace+"-close"+(n.otherClose?","+n.otherClose:"");return n.$instance=i.clone().addClass(n.variant),n.$instance.on(n.closeTrigger+"."+n.namespace,function(e){if(!e.isDefaultPrevented()){var t=u(e.target);("background"===n.closeOnClick&&t.is("."+n.namespace)||"anywhere"===n.closeOnClick||t.closest(o).length)&&(n.close(e),e.preventDefault())}}),this},getContent:function(){if(!1!==this.persist&&this.$content)return this.$content;var t=this,e=this.constructor.contentFilters,n=function(e){return t.$currentTarget&&t.$currentTarget.attr(e)},r=n(t.targetAttr),i=t.target||r||"",o=e[t.type];if(!o&&i in e&&(o=e[i],i=t.target&&r),i=i||n("href")||"",!o)for(var a in e)t[a]&&(o=e[a],i=t[a]);if(!o){var s=i;if(i=null,u.each(t.contentFilters,function(){return(o=e[this]).test&&(i=o.test(s)),!i&&o.regex&&s.match&&s.match(o.regex)&&(i=s),!i}),!i)return"console"in window&&window.console.error("Featherlight: no content filter found "+(s?' for "'+s+'"':" (no target specified)")),!1}return o.process.call(t,i)},setContent:function(e){return this.$instance.removeClass(this.namespace+"-loading"),this.$instance.toggleClass(this.namespace+"-iframe",e.is("iframe")),this.$instance.find("."+this.namespace+"-inner").not(e).slice(1).remove().end().replaceWith(u.contains(this.$instance[0],e[0])?"":e),this.$content=e.addClass(this.namespace+"-inner"),this},open:function(t){var n=this;if(n.$instance.hide().appendTo(n.root),!(t&&t.isDefaultPrevented()||!1===n.beforeOpen(t))){t&&t.preventDefault();var e=n.getContent();if(e)return r.push(n),s(!0),n.$instance.fadeIn(n.openSpeed),n.beforeContent(t),u.when(e).always(function(e){n.setContent(e),n.afterContent(t)}).then(n.$instance.promise()).done(function(){n.afterOpen(t)})}return n.$instance.detach(),u.Deferred().reject().promise()},close:function(e){var t=this,n=u.Deferred();return!1===t.beforeClose(e)?n.reject():(0===i(t).length&&s(!1),t.$instance.fadeOut(t.closeSpeed,function(){t.$instance.detach(),t.afterClose(e),n.resolve()})),n.promise()},resize:function(e,t){if(e&&t&&(this.$content.css("width","").css("height",""),this.$content.parent().width()<e||this.$content.parent().height()<t)){var n=Math.max(e/(this.$content.parent().width()-1),t/(this.$content.parent().height()-1));1<n&&(n=t/Math.floor(t/n),this.$content.css("width",e/n+"px").css("height",t/n+"px"))}},chainCallbacks:function(e){for(var t in e)this[t]=u.proxy(e[t],this,u.proxy(this[t],this))}},u.extend(c,{id:0,autoBind:"[data-featherlight]",defaults:c.prototype,contentFilters:{jquery:{regex:/^[#.]\w/,test:function(e){return e instanceof u&&e},process:function(e){return!1!==this.persist?u(e):u(e).clone(!0)}},image:{regex:/\.(png|jpg|jpeg|gif|tiff?|bmp|svg)(\?\S*)?$/i,process:function(e){var t=u.Deferred(),n=new Image,r=u('<img src="'+e+'" alt="" class="'+this.namespace+'-image" />');return n.onload=function(){r.naturalWidth=n.width,r.naturalHeight=n.height,t.resolve(r)},n.onerror=function(){t.reject(r)},n.src=e,t.promise()}},html:{regex:/^\s*<[\w!][^<]*>/,process:function(e){return u(e)}},ajax:{regex:/./,process:function(e){var n=u.Deferred(),r=u("<div></div>").load(e,function(e,t){"error"!==t&&n.resolve(r.contents()),n.fail()});return n.promise()}},iframe:{process:function(e){var t=new u.Deferred,n=u("<iframe/>"),r=function(e,t){var n={},r=new RegExp("^"+t+"([A-Z])(.*)");for(var i in e){var o=i.match(r);o&&(n[(o[1]+o[2].replace(/([A-Z])/g,"-$1")).toLowerCase()]=e[i])}return n}(this,"iframe"),i=function(e,t){var n={};for(var r in e)r in t&&(n[r]=e[r],delete e[r]);return n}(r,o);return n.hide().attr("src",e).attr(i).css(r).on("load",function(){t.resolve(n.show())}).appendTo(this.$instance.find("."+this.namespace+"-content")),t.promise()}},text:{process:function(e){return u("<div>",{text:e})}}},functionAttributes:["beforeOpen","afterOpen","beforeContent","afterContent","beforeClose","afterClose"],readElementConfig:function(e,t){var r=this,i=new RegExp("^data-"+t+"-(.*)"),o={};return e&&e.attributes&&u.each(e.attributes,function(){var e=this.name.match(i);if(e){var t=this.value,n=u.camelCase(e[1]);if(0<=u.inArray(n,r.functionAttributes))t=new Function(t);else try{t=JSON.parse(t)}catch(e){}o[n]=t}}),o},extend:function(e,t){var n=function(){this.constructor=e};return n.prototype=this.prototype,e.prototype=new n,e.__super__=this.prototype,u.extend(e,this,t),e.defaults=e.prototype,e},attach:function(i,o,a){var s=this;"object"!=typeof o||o instanceof u!=!1||a||(a=o,o=void 0);var c,e=(a=u.extend({},a)).namespace||s.defaults.namespace,l=u.extend({},s.defaults,s.readElementConfig(i[0],e),a),t=function(e){var t=u(e.currentTarget),n=u.extend({$source:i,$currentTarget:t},s.readElementConfig(i[0],l.namespace),s.readElementConfig(e.currentTarget,l.namespace),a),r=c||t.data("featherlight-persisted")||new s(o,n);"shared"===r.persist?c=r:!1!==r.persist&&t.data("featherlight-persisted",r),n.$currentTarget.blur&&n.$currentTarget.blur(),r.open(e)};return i.on(l.openTrigger+"."+l.namespace,l.filter,t),{filter:l.filter,handler:t}},current:function(){var e=this.opened();return e[e.length-1]||null},opened:function(){var t=this;return i(),u.grep(r,function(e){return e instanceof t})},close:function(e){var t=this.current();if(t)return t.close(e)},_onReady:function(){var r=this;if(r.autoBind){var i=u(r.autoBind);i.each(function(){r.attach(u(this))}),u(document).on("click",r.autoBind,function(e){if(!e.isDefaultPrevented()){var t=u(e.currentTarget);if(i.length!==(i=i.add(t)).length){var n=r.attach(t);(!n.filter||0<u(e.target).parentsUntil(t,n.filter).length)&&n.handler(e)}}})}},_callbackChain:{onKeyUp:function(e,t){return 27===t.keyCode?(this.closeOnEsc&&u.featherlight.close(t),!1):e(t)},beforeOpen:function(e,t){return u(document.documentElement).addClass("with-featherlight"),this._previouslyActive=document.activeElement,this._$previouslyTabbable=u("a, input, select, textarea, iframe, button, iframe, [contentEditable=true]").not("[tabindex]").not(this.$instance.find("button")),this._$previouslyWithTabIndex=u("[tabindex]").not('[tabindex="-1"]'),this._previousWithTabIndices=this._$previouslyWithTabIndex.map(function(e,t){return u(t).attr("tabindex")}),this._$previouslyWithTabIndex.add(this._$previouslyTabbable).attr("tabindex",-1),document.activeElement.blur&&document.activeElement.blur(),e(t)},afterClose:function(e,t){var n=e(t),r=this;return this._$previouslyTabbable.removeAttr("tabindex"),this._$previouslyWithTabIndex.each(function(e,t){u(t).attr("tabindex",r._previousWithTabIndices[e])}),this._previouslyActive.focus(),0===c.opened().length&&u(document.documentElement).removeClass("with-featherlight"),n},onResize:function(e,t){return this.resize(this.$content.naturalWidth,this.$content.naturalHeight),e(t)},afterContent:function(e,t){var n=e(t);return this.$instance.find("[autofocus]:not([disabled])").focus(),this.onResize(t),n}}}),u.featherlight=c,u.fn.featherlight=function(e,t){return c.attach(this,e,t),this},u(document).ready(function(){c._onReady()})}else"console"in window&&window.console.info("Too much lightness, Featherlight needs jQuery.");function c(e,t){if(!(this instanceof c)){var n=new c(e,t);return n.open(),n}this.id=c.id++,this.setup(e,t),this.chainCallbacks(c._callbackChain)}}(jQuery);

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/js/clipboard.min.js
=====================================================
/*!
 * 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}}}])});

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/css/theme.css
=====================================================
@charset "UTF-8";

/* Tags */
@import "tags.css";

#top-github-link, #body #breadcrumbs {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
.button, .button-secondary {
    display: inline-block;
    padding: 7px 12px;
}
.button:active, .button-secondary:active {
    margin: 2px 0 -2px 0;
}
@font-face {
    font-family: 'Novacento Sans Wide';
    src: url("../fonts/Novecentosanswide-UltraLight-webfont.eot");
    src: url("../fonts/Novecentosanswide-UltraLight-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/Novecentosanswide-UltraLight-webfont.woff2") format("woff2"), url("../fonts/Novecentosanswide-UltraLight-webfont.woff") format("woff"), url("../fonts/Novecentosanswide-UltraLight-webfont.ttf") format("truetype"), url("../fonts/Novecentosanswide-UltraLight-webfont.svg#novecento_sans_wideultralight") format("svg");
    font-style: normal;
    font-weight: 200;
}
@font-face {
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 300;
    src: url("../fonts/Work_Sans_300.eot?#iefix") format("embedded-opentype"), url("../fonts/Work_Sans_300.woff") format("woff"), url("../fonts/Work_Sans_300.woff2") format("woff2"), url("../fonts/Work_Sans_300.svg#WorkSans") format("svg"), url("../fonts/Work_Sans_300.ttf") format("truetype");
}
@font-face {
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 500;
    src: url("../fonts/Work_Sans_500.eot?#iefix") format("embedded-opentype"), url("../fonts/Work_Sans_500.woff") format("woff"), url("../fonts/Work_Sans_500.woff2") format("woff2"), url("../fonts/Work_Sans_500.svg#WorkSans") format("svg"), url("../fonts/Work_Sans_500.ttf") format("truetype");
}
body {
    background: #fff;
    color: #777;
}
body #chapter h1 {
    font-size: 3.5rem;
}
@media only all and (min-width: 48em) and (max-width: 59.938em) {
    body #chapter h1 {
        font-size: 3rem;

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/css/tags.css
=====================================================
/* Tags */

#head-tags{
    margin-left:1em;  
    margin-top:1em;
}
  
#body .tags a.tag-link {
    display: inline-block;
    line-height: 2em;
    font-size: 0.8em;
    position: relative;
    margin: 0 16px 8px 0;
    padding: 0 10px 0 12px;
    background: #8451a1;    
    
    -webkit-border-bottom-right-radius: 3px;    
    border-bottom-right-radius: 3px;
    -webkit-border-top-right-radius: 3px;    
    border-top-right-radius: 3px;

    -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.2);
    box-shadow: 0 1px 2px rgba(0,0,0,0.2);
    color: #fff;
}
  
#body .tags a.tag-link:before {
    content: "";
    position: absolute;
    top:0;
    left: -1em;
    width: 0;
    height: 0;
    border-color: transparent #8451a1 transparent transparent;
    border-style: solid;
    border-width: 1em 1em 1em 0;        
}
  
#body .tags a.tag-link:after {
    content: "";
    position: absolute;
    top: 10px;
    left: 1px;
    width: 5px;
    height: 5px;
    -webkit-border-radius: 50%;
    border-radius: 100%;
    background: #fff;    
}

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/css/hybrid.css
=====================================================
/*

vim-hybrid theme by w0ng (https://github.com/w0ng/vim-hybrid)

*/

/*background color*/
.hljs {
  display: block;
  overflow-x: auto;
  padding: 0.5em;
  background: #1d1f21;
}

/*selection color*/
.hljs::selection,
.hljs span::selection {
  background: #373b41;
}

.hljs::-moz-selection,
.hljs span::-moz-selection {
  background: #373b41;
}

/*foreground color*/
.hljs {
  color: #c5c8c6;
}

/*color: fg_yellow*/
.hljs-title,
.hljs-name {
  color: #f0c674;
}

/*color: fg_comment*/
.hljs-comment,
.hljs-meta,
.hljs-meta .hljs-keyword {
  color: #707880;
}

/*color: fg_red*/
.hljs-number,
.hljs-symbol,
.hljs-literal,
.hljs-deletion,
.hljs-link {
 color: #cc6666

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/css/auto-complete.css
=====================================================
.autocomplete-suggestions {
    text-align: left;
    cursor: default;
    border: 1px solid #ccc;
    border-top: 0;
    background: #fff;
    box-shadow: -1px 1px 3px rgba(0,0,0,.1);

    /* core styles should not be changed */
    position: absolute;
    display: none;
    z-index: 9999;
    max-height: 254px;
    overflow: hidden;
    overflow-y: auto;
    box-sizing: border-box;
    
}
.autocomplete-suggestion {
    position: relative;
    cursor: pointer;
    padding: 7px;
    line-height: 23px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #333;
}

.autocomplete-suggestion b {
    font-weight: normal;
    color: #1f8dd6;
}

.autocomplete-suggestion.selected {
    background: #333;
    color: #fff;
}

.autocomplete-suggestion:hover {
    background: #444;
    color: #fff;
}

.autocomplete-suggestion > .context {
    font-size: 12px;
}

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/css/featherlight.min.css
=====================================================
/**
 * Featherlight - ultra slim jQuery lightbox
 * Version 1.7.13 - http://noelboss.github.io/featherlight/
 *
 * Copyright 2018, Noël Raoul Bossart (http://www.noelboss.com)
 * MIT Licensed.
**/
html.with-featherlight{overflow:hidden}.featherlight{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483647;text-align:center;white-space:nowrap;cursor:pointer;background:#333;background:rgba(0,0,0,0)}.featherlight:last-of-type{background:rgba(0,0,0,.8)}.featherlight:before{content:'';display:inline-block;height:100%;vertical-align:middle}.featherlight .featherlight-content{position:relative;text-align:left;vertical-align:middle;display:inline-block;overflow:auto;padding:25px 25px 0;border-bottom:25px solid transparent;margin-left:5%;margin-right:5%;max-height:95%;background:#fff;cursor:auto;white-space:normal}.featherlight .featherlight-inner{display:block}.featherlight link.featherlight-inner,.featherlight script.featherlight-inner,.featherlight style.featherlight-inner{display:none}.featherlight .featherlight-close-icon{position:absolute;z-index:9999;top:0;right:0;line-height:25px;width:25px;cursor:pointer;text-align:center;font-family:Arial,sans-serif;background:#fff;background:rgba(255,255,255,.3);color:#000;border:0;padding:0}.featherlight .featherlight-close-icon::-moz-focus-inner{border:0;padding:0}.featherlight .featherlight-image{width:100%}.featherlight-iframe .featherlight-content{border-bottom:0;padding:0;-webkit-overflow-scrolling:touch}.featherlight iframe{border:0}.featherlight *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@media only screen and (max-width:1024px){.featherlight .featherlight-content{margin-left:0;margin-right:0;max-height:98%;padding:10px 10px 0;border-bottom:10px solid transparent}}@media print{html.with-featherlight>*>:not(.featherlight){display:none}}

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/css/theme-blue.css
=====================================================

:root{

    --MAIN-TEXT-color:#323232; /* Color of text by default */
    --MAIN-TITLES-TEXT-color: #5e5e5e; /* Color of titles h2-h3-h4-h5 */
    --MAIN-LINK-color:#1C90F3; /* Color of links */
    --MAIN-LINK-HOVER-color:#167ad0; /* Color of hovered links */
    --MAIN-ANCHOR-color: #1C90F3; /* color of anchors on titles */

    --MENU-HOME-LINK-color: #323232; /* Color of the home button text */
    --MENU-HOME-LINK-HOVER-color: #5e5e5e; /* Color of the hovered home button text */

    --MENU-HEADER-BG-color:#1C90F3; /* Background color of menu header */
    --MENU-HEADER-BORDER-color:#33a1ff; /*Color of menu header border */

    --MENU-SEARCH-BG-color:#167ad0; /* Search field background color (by default borders + icons) */
    --MENU-SEARCH-BOX-color: #33a1ff; /* Override search field border color */
    --MENU-SEARCH-BOX-ICONS-color: #a1d2fd; /* Override search field icons color */

    --MENU-SECTIONS-ACTIVE-BG-color:#20272b; /* Background color of the active section and its childs */
    --MENU-SECTIONS-BG-color:#252c31; /* Background color of other sections */
    --MENU-SECTIONS-LINK-color: #ccc; /* Color of links in menu */
    --MENU-SECTIONS-LINK-HOVER-color: #e6e6e6;  /* Color of links in menu, when hovered */
    --MENU-SECTION-ACTIVE-CATEGORY-color: #777; /* Color of active category text */
    --MENU-SECTION-ACTIVE-CATEGORY-BG-color: #fff; /* Color of background for the active category (only) */

    --MENU-VISITED-color: #33a1ff; /* Color of 'page visited' icons in menu */
    --MENU-SECTION-HR-color: #20272b; /* Color of <hr> separator in menu */

}

body {
    color: var(--MAIN-TEXT-color) !important;
}

textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus {
    border-color: none;
    box-shadow: none;
}

h2, h3, h4, h5 {
    color: var(--MAIN-TITLES-TEXT-color) !important;
}

a {
    color: var(--MAIN-LINK-color);
}

.anchor {
    color: var(--MAIN-ANCHOR-color);

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/css/tabs.css
=====================================================
#body .tab-nav-button {
    border-width: 1px 1px 1px 1px !important;
    border-color: #ccc !important;
    border-radius: 4px 4px 0 0 !important;
    background-color: #ddd !important;
    float: left;
    display: block;
    position: relative;
    margin-left: 4px;
    bottom: -1px;
}
#body .tab-nav-button:first-child {
    margin-left: 0px;
}
#body .tab-nav-button.active {
    background-color: #fff !important;
    border-bottom-color: #fff !important;
}

#body .tab-panel {
    margin-top: 32px;
    margin-bottom: 32px;
}
#body .tab-content {
    display: block;
    clear: both;
    padding: 8px;
    border-width: 1px;
    border-style: solid;
    border-color: #ccc;
}
#body .tab-content .tab-item{
    display: none;
}

#body .tab-content .tab-item.active{
    display: block;
}

#body .tab-item pre{
    margin-bottom: 0;
    margin-top: 0;
}

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/css/theme-red.css
=====================================================

:root{

    --MAIN-TEXT-color:#323232; /* Color of text by default */
    --MAIN-TITLES-TEXT-color: #5e5e5e; /* Color of titles h2-h3-h4-h5 */
    --MAIN-LINK-color:#f31c1c; /* Color of links */
    --MAIN-LINK-HOVER-color:#d01616; /* Color of hovered links */
    --MAIN-ANCHOR-color: #f31c1c; /* color of anchors on titles */

    --MENU-HOME-LINK-color: #ccc; /* Color of the home button text */
    --MENU-HOME-LINK-HOVER-color: #e6e6e6; /* Color of the hovered home button text */

    --MENU-HEADER-BG-color:#dc1010; /* Background color of menu header */
    --MENU-HEADER-BORDER-color:#e23131; /*Color of menu header border */

    --MENU-SEARCH-BG-color:#b90000; /* Search field background color (by default borders + icons) */
    --MENU-SEARCH-BOX-color: #ef2020; /* Override search field border color */
    --MENU-SEARCH-BOX-ICONS-color: #fda1a1; /* Override search field icons color */

    --MENU-SECTIONS-ACTIVE-BG-color:#2b2020; /* Background color of the active section and its childs */
    --MENU-SECTIONS-BG-color:#312525; /* Background color of other sections */
    --MENU-SECTIONS-LINK-color: #ccc; /* Color of links in menu */
    --MENU-SECTIONS-LINK-HOVER-color: #e6e6e6;  /* Color of links in menu, when hovered */
    --MENU-SECTION-ACTIVE-CATEGORY-color: #777; /* Color of active category text */
    --MENU-SECTION-ACTIVE-CATEGORY-BG-color: #fff; /* Color of background for the active category (only) */

    --MENU-VISITED-color: #ff3333; /* Color of 'page visited' icons in menu */
    --MENU-SECTION-HR-color: #2b2020; /* Color of <hr> separator in menu */

}

body {
    color: var(--MAIN-TEXT-color) !important;
}

textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus {
    border-color: none;
    box-shadow: none;
}

h2, h3, h4, h5 {
    color: var(--MAIN-TITLES-TEXT-color) !important;
}

a {
    color: var(--MAIN-LINK-color);
}

.anchor {
    color: var(--MAIN-ANCHOR-color);

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/css/perfect-scrollbar.min.css
=====================================================
/* perfect-scrollbar v0.6.13 */
.ps-container{-ms-touch-action:auto;touch-action:auto;overflow:hidden !important;-ms-overflow-style:none}@supports (-ms-overflow-style: none){.ps-container{overflow:auto !important}}@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none){.ps-container{overflow:auto !important}}.ps-container.ps-active-x>.ps-scrollbar-x-rail,.ps-container.ps-active-y>.ps-scrollbar-y-rail{display:block;background-color:transparent}.ps-container.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail{background-color:#eee;opacity:.9}.ps-container.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail>.ps-scrollbar-x{background-color:#999;height:11px}.ps-container.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail{background-color:#eee;opacity:.9}.ps-container.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#999;width:11px}.ps-container>.ps-scrollbar-x-rail{display:none;position:absolute;opacity:0;-webkit-transition:background-color .2s linear, opacity .2s linear;-o-transition:background-color .2s linear, opacity .2s linear;-moz-transition:background-color .2s linear, opacity .2s linear;transition:background-color .2s linear, opacity .2s linear;bottom:0px;height:15px}.ps-container>.ps-scrollbar-x-rail>.ps-scrollbar-x{position:absolute;background-color:#aaa;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;-o-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;-moz-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -webkit-border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;bottom:2px;height:6px}.ps-container>.ps-scrollbar-x-rail:hover>.ps-scrollbar-x,.ps-container>.ps-scrollbar-x-rail:active>.ps-scrollbar-x{height:11px}.ps-container>.ps-scrollbar-y-rail{display:none;position:absolute;opacity:0;-webkit-transition:background-color .2s linear, opacity .2s linear;-o-transition:background-color .2s linear, opacity .2s linear;-moz-transition:background-color .2s linear, opacity .2s linear;transition:background-color .2s linear, opacity .2s linear;right:0;width:15px}.ps-container>.ps-scrollbar-y-rail>.ps-scrollbar-y{position:absolute;background-color:#aaa;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;-o-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;-moz-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -webkit-border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;right:2px;width:6px}.ps-container>.ps-scrollbar-y-rail:hover>.ps-scrollbar-y,.ps-container>.ps-scrollbar-y-rail:active>.ps-scrollbar-y{width:11px}.ps-container:hover.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail{background-color:#eee;opacity:.9}.ps-container:hover.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail>.ps-scrollbar-x{background-color:#999;height:11px}.ps-container:hover.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail{background-color:#eee;opacity:.9}.ps-container:hover.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#999;width:11px}.ps-container:hover>.ps-scrollbar-x-rail,.ps-container:hover>.ps-scrollbar-y-rail{opacity:.6}.ps-container:hover>.ps-scrollbar-x-rail:hover{background-color:#eee;opacity:.9}.ps-container:hover>.ps-scrollbar-x-rail:hover>.ps-scrollbar-x{background-color:#999}.ps-container:hover>.ps-scrollbar-y-rail:hover{background-color:#eee;opacity:.9}.ps-container:hover>.ps-scrollbar-y-rail:hover>.ps-scrollbar-y{background-color:#999}

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/css/hugo-theme.css
=====================================================
/* Insert here special css for hugo theme, on top of any other imported css */


/* Table of contents */

.progress ul {
  list-style: none;
  margin: 0;
  padding: 0 15px;
}

#TableOfContents {
    font-size: 13px !important;
    max-height: 85vh;
    overflow: auto;
    padding: 15px 5px !important;
}

#TableOfContents > ul > li > a {
  font-weight: bold;
}

body {
    font-size: 16px !important;
    color: #323232 !important;
}

#body a.highlight, #body a.highlight:hover, #body a.highlight:focus {
    text-decoration: none;
    outline: none;
    outline: 0;
}
#body a.highlight {
    line-height: 1.1;
    display: inline-block;
}
#body a.highlight:after {
    display: block;
    content: "";
    height: 1px;
    width: 0%;
    background-color: #0082a7; /*#CE3B2F*/
    -webkit-transition: width 0.5s ease;
    -moz-transition: width 0.5s ease;
    -ms-transition: width 0.5s ease;
    transition: width 0.5s ease;
}
#body a.highlight:hover:after, #body a.highlight:focus:after {
    width: 100%;
}

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/css/atom-one-dark-reasonable.css
=====================================================
/*

Atom One Dark With support for ReasonML by Gidi Morris, based off work by Daniel Gamage

Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax

*/
.hljs {
  display: block;
  overflow-x: auto;
  padding: 0.5em;
  line-height: 1.3em;
  color: #abb2bf;
  background: #282c34;
  border-radius: 5px;
}
.hljs-keyword, .hljs-operator {
  color: #F92672;
}
.hljs-pattern-match {
  color: #F92672;
}
.hljs-pattern-match .hljs-constructor {
  color: #61aeee;
}
.hljs-function {
  color: #61aeee;
}
.hljs-function .hljs-params {
  color: #A6E22E;
}
.hljs-function .hljs-params .hljs-typing {
  color: #FD971F;
}
.hljs-module-access .hljs-module {
  color: #7e57c2;
}
.hljs-constructor {
  color: #e2b93d;
}
.hljs-constructor .hljs-string {
  color: #9CCC65;
}
.hljs-comment, .hljs-quote {
  color: #b18eb1;
  font-style: italic;
}
.hljs-doctag, .hljs-formula {
  color: #c678dd;
}

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/css/nucleus.css
=====================================================
*, *::before, *::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

@-webkit-viewport {
  width: device-width; }
@-moz-viewport {
  width: device-width; }
@-ms-viewport {
  width: device-width; }
@-o-viewport {
  width: device-width; }
@viewport {
  width: device-width; }
html {
  font-size: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block; }

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden],
template {

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/css/fontawesome-all.min.css
=====================================================
.fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-balance-scale:before{content:"\f24e"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hanukiah:before{content:"\f6e6"}.fa-hashtag:before{content:"\f292"}.fa-hat-wizard:before{content:"\f6e8"}.fa-haykal:before{content:"\f666"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-icicles:before{content:"\f7ad"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-nintendo-switch:before{content:"\f418"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-carry:before{content:"\f4ce"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-volume:before{content:"\f2a0"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:normal;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900}

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/css/theme-green.css
=====================================================

:root{

    --MAIN-TEXT-color:#323232; /* Color of text by default */
    --MAIN-TITLES-TEXT-color: #5e5e5e; /* Color of titles h2-h3-h4-h5 */
    --MAIN-LINK-color:#599a3e; /* Color of links */
    --MAIN-LINK-HOVER-color:#3f6d2c; /* Color of hovered links */
    --MAIN-ANCHOR-color: #599a3e; /* color of anchors on titles */

    --MENU-HOME-LINK-color: #323232; /* Color of the home button text */
    --MENU-HOME-LINK-HOVER-color: #5e5e5e; /* Color of the hovered home button text */

    --MENU-HEADER-BG-color:#74b559; /* Background color of menu header */
    --MENU-HEADER-BORDER-color:#9cd484; /*Color of menu header border */

    --MENU-SEARCH-BG-color:#599a3e; /* Search field background color (by default borders + icons) */
    --MENU-SEARCH-BOX-color: #84c767; /* Override search field border color */
    --MENU-SEARCH-BOX-ICONS-color: #c7f7c4; /* Override search field icons color */

    --MENU-SECTIONS-ACTIVE-BG-color:#1b211c; /* Background color of the active section and its childs */
    --MENU-SECTIONS-BG-color:#222723; /* Background color of other sections */
    --MENU-SECTIONS-LINK-color: #ccc; /* Color of links in menu */
    --MENU-SECTIONS-LINK-HOVER-color: #e6e6e6;  /* Color of links in menu, when hovered */
    --MENU-SECTION-ACTIVE-CATEGORY-color: #777; /* Color of active category text */
    --MENU-SECTION-ACTIVE-CATEGORY-BG-color: #fff; /* Color of background for the active category (only) */

    --MENU-VISITED-color: #599a3e; /* Color of 'page visited' icons in menu */
    --MENU-SECTION-HR-color: #18211c; /* Color of <hr> separator in menu */

}

body {
    color: var(--MAIN-TEXT-color) !important;
}

textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus {
    border-color: none;
    box-shadow: none;
}

h2, h3, h4, h5 {
    color: var(--MAIN-TITLES-TEXT-color) !important;
}

a {
    color: var(--MAIN-LINK-color);
}

.anchor {
    color: var(--MAIN-ANCHOR-color);

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.svg
=====================================================
<svg xmlns="http://www.w3.org/2000/svg"><metadata/><defs><font id="novecento_sans_widenormal" horiz-adv-x="668"><font-face ascent="821" descent="-179" units-per-em="1000"/><glyph horiz-adv-x="1000"/><glyph horiz-adv-x="1000"/><glyph horiz-adv-x="1000"/><glyph horiz-adv-x="250"/><glyph horiz-adv-x="250"/><glyph horiz-adv-x="250"/><glyph d="M172 700v-538h-82v538h82zM131 -10q-25 0 -39.5 14.5t-14.5 36.5t14.5 36t39.5 14t39.5 -14t14.5 -36t-14.5 -36.5t-39.5 -14.5z" horiz-adv-x="262" unicode="!"/><glyph d="M126 700l-4 -230h-68l-5 230h77zM270 700l-5 -230h-68l-5 230h78z" horiz-adv-x="321" unicode="&quot;"/><glyph d="M452 179h95l-19 -72h-96l-28 -107h-69l28 107h-160l-29 -107h-69l29 107h-96l20 72h96l55 204h-95l20 71h94l28 106h69l-29 -106h161l29 106h69l-29 -106h97l-20 -71h-96zM277 383l-55 -204h161l55 204h-161z" horiz-adv-x="661" unicode="#"/><glyph d="M439 150q0 -70 -44.5 -111.5t-120.5 -48.5v-80h-65v80q-151 16 -174 149l71 19q6 -49 43 -78.5t96 -29.5q53 0 84.5 25.5t31.5 71.5q0 14 -2.5 26t-9.5 21.5t-12 16.5t-18.5 13.5t-20 10.5t-24 9t-24 6.5t-27.5 6.5t-26 6q-31 7 -52.5 15.5t-47 25t-38.5 45t-13 67.5 q0 65 40.5 105t113.5 48v81h66v-80q138 -14 168 -135l-70 -19q-20 93 -128 93q-56 0 -86 -24.5t-30 -64.5q0 -25 9.5 -42.5t30.5 -29t41 -17.5t56 -14q31 -7 49 -12t46.5 -18t45 -29t29 -44t12.5 -64z" horiz-adv-x="474" unicode="$"/><glyph d="M163 219q-128 0 -128 175q0 176 128 176t128 -176q0 -175 -128 -175zM477 560l-188 -560h-56l188 560h56zM163 274q36 0 54 28t18 92t-18 92.5t-54 28.5q-73 0 -73 -121q0 -120 73 -120zM549 -7q-128 0 -128 176q0 177 128 177t128 -177q0 -176 -128 -176zM549 49 q36 0 54 28t18 92t-18 92.5t-54 28.5q-37 0 -55 -28.5t-18 -92.5t18 -92t55 -28z" horiz-adv-x="711" unicode="%"/><glyph d="M495 253v-71q0 -95 -57.5 -144.5t-166.5 -49.5q-106 0 -161.5 44.5t-55.5 118.5q0 57 32 93.5t80 45.5v2q-43 9 -74.5 42.5t-31.5 90.5q0 71 51 108.5t145 37.5q193 0 236 -148l-72 -20q-29 102 -157 102q-123 0 -123 -86q0 -42 32.5 -68.5t94.5 -26.5h317v-70zM417 254 h-153q-60 0 -95.5 -25.5t-35.5 -74.5q0 -48 35 -74.5t104 -26.5q145 0 145 130v71z" horiz-adv-x="612" unicode="&amp;"/><glyph d="M126 700l-4 -230h-68l-5 230h77z" horiz-adv-x="178" unicode="'"/><glyph d="M316 795l23 -74q-204 -70 -204 -430t204 -430l-23 -75q-260 92 -260 505q0 412 260 504z" horiz-adv-x="356" unicode="("/><glyph d="M41 -213l-24 74q204 70 204 430t-204 430l24 75q259 -92 259 -505q0 -412 -259 -504z" horiz-adv-x="356" unicode=")"/><glyph d="M290 518l76 -106l-46 -33l-75 107l-75 -107l-47 33l76 106l-122 38l17 53l122 -38v129h57v-129l122 38l18 -53z" horiz-adv-x="489" unicode="*"/><glyph d="M524 254h-153v-165h-74v165h-153v69h153v164h74v-164h153v-69z" unicode="+"/><glyph d="M108 0q-21 -3 -33.5 8.5t-12.5 32.5q0 20 14.5 33.5t37.5 13.5q27 0 42.5 -17t15.5 -48q0 -37 -24.5 -74t-65.5 -52l-33 35q22 8 38.5 28.5t20.5 39.5z" horiz-adv-x="224" unicode=","/><glyph d="M480 254h-380v69h380v-69z" horiz-adv-x="581" unicode="-"/><glyph d="M112 -10q-26 0 -40 14.5t-14 36.5t14.5 36t39.5 14t39.5 -14t14.5 -36t-14.5 -36.5t-39.5 -14.5z" horiz-adv-x="224" unicode="."/><glyph d="M462 700l-353 -700h-86l355 700h84z" horiz-adv-x="485" unicode="/"/><glyph d="M260 571q107 0 165 -75t58 -216t-58 -216.5t-165 -75.5t-165 75.5t-58 216.5t58 216t165 75zM260 499q-145 0 -145 -219q0 -220 145 -220t145 220q0 219 -145 219z" horiz-adv-x="521" unicode="0"/><glyph d="M184 0v374q0 18 1 43t1 39l1 15h-2l-8 -9q-8 -9 -18 -20.5t-15 -15.5l-57 -58l-47 55l148 137h74v-560h-78z" horiz-adv-x="342" unicode="1"/><glyph d="M49 0v85l203 156q60 48 86 82t26 73q0 46 -32 77t-92 31q-58 0 -88.5 -28.5t-34.5 -72.5l-73 20q11 76 66.5 112t135.5 36q94 0 145.5 -47t51.5 -126q0 -61 -33 -104t-111 -100l-160 -123l1 -2q1 0 12.5 0.5t30.5 0.5h40h223v-70h-397z" horiz-adv-x="490" unicode="2"/><glyph d="M335 294v-3q51 -6 84 -41.5t33 -94.5q0 -75 -55.5 -121t-145.5 -46q-86 0 -143.5 43.5t-70.5 117.5l69 19q10 -53 48 -82.5t96 -29.5q60 0 92.5 31t32.5 78q0 48 -34 72.5t-93 24.5h-56v59h54q59 0 91 23.5t32 68.5q0 44 -31.5 68.5t-88.5 24.5q-117 0 -129 -102l-71 19 q13 77 69 112.5t138 35.5q94 0 142 -39.5t48 -105.5q0 -56 -32.5 -90.5t-78.5 -41.5z" horiz-adv-x="489" unicode="3"/><glyph d="M398 0h-78v146h-286v71l249 343h115v-347h82v-67h-82v-146zM320 367v129h-3l-210 -281l2 -2h92h119v154z" horiz-adv-x="525" unicode="4"/><glyph d="M135 316l2 -1q16 18 50 33.5t78 15.5q88 0 141 -51t53 -134q0 -86 -57 -138.5t-149 -52.5q-81 0 -137.5 42t-71.5 112l68 17q10 -49 47.5 -76.5t91.5 -27.5q59 0 96 33.5t37 90.5q0 58 -37 91.5t-100 33.5q-48 0 -79 -19t-43 -45l-63 18l51 302h309v-73h-256l-16 -93 q-3 -20 -7 -39l-6 -28.5t-2 -10.5z" horiz-adv-x="503" unicode="5"/><glyph d="M149 316l3 -2q41 48 118 48q83 0 137 -50.5t54 -130.5q0 -85 -59 -139t-154 -54q-94 0 -153 53.5t-59 146.5q0 92 78 193l139 179h85zM249 56q62 0 99.5 34.5t38.5 92.5q0 56 -37 89.5t-101 33.5q-63 0 -99.5 -33.5t-36.5 -89.5q0 -58 37 -92.5t99 -34.5z" horiz-adv-x="499" unicode="6"/><glyph d="M447 502l-283 -502h-81l225 401q11 20 24.5 41t20.5 32l7 12l-2 2q-35 -1 -73 -1h-255v73h417v-58z" horiz-adv-x="470" unicode="7"/><glyph d="M37 151q0 62 39 98.5t92 43.5v3q-33 4 -69 37.5t-36 89.5q0 63 50.5 105.5t137.5 42.5q86 0 137 -42.5t51 -104.5q0 -57 -36 -90.5t-68 -37.5v-3q52 -7 91 -43.5t39 -98.5q0 -72 -57 -117.5t-156 -45.5t-157 45t-58 118zM131 419q0 -44 34 -68.5t86 -24.5q54 1 86.5 27 t32.5 67q0 42 -32.5 68t-86.5 26q-56 0 -88 -26.5t-32 -68.5zM112 156q0 -50 38 -78.5t101 -28.5q64 0 101.5 28.5t37.5 78.5q0 49 -37.5 75.5t-101.5 26.5t-101.5 -27t-37.5 -75z" horiz-adv-x="502" unicode="8"/><glyph d="M355 239l-2 2q-45 -48 -121 -48q-86 0 -139 52t-53 132q0 86 60 140t154 54q92 0 153.5 -53t61.5 -146q0 -63 -28 -116t-87 -121l-117 -135h-88zM253 503q-60 0 -99.5 -32t-39.5 -96q0 -63 39.5 -94t99.5 -31q61 0 100 32t39 94q0 63 -39.5 95t-99.5 32z" horiz-adv-x="507" unicode="9"/><glyph d="M112 338q-26 0 -40 14.5t-14 36.5t14.5 36t39.5 14t39.5 -14.5t14.5 -35.5q0 -23 -14 -37t-40 -14zM112 -10q-26 0 -40 14.5t-14 36.5t14.5 36t39.5 14t39.5 -14t14.5 -36t-14.5 -36.5t-39.5 -14.5z" horiz-adv-x="224" unicode=":"/><glyph d="M112 338q-26 0 -40 14.5t-14 36.5t14.5 36t39.5 14t39.5 -14.5t14.5 -35.5q0 -23 -14 -37t-40 -14zM108 1q-21 -3 -33.5 8.5t-12.5 31.5q0 21 14 34t38 13q27 0 42.5 -17t15.5 -47q0 -37 -24.5 -74.5t-65.5 -51.5l-33 34q22 8 38.5 28.5t20.5 40.5z" horiz-adv-x="224" unicode=";"/><glyph d="M542 41l-451 217v62l451 217v-73l-362 -174v-2l362 -174v-73z" unicode="&lt;"/><glyph d="M524 347h-380v69h380v-69zM524 164h-380v69h380v-69z" unicode="="/><glyph d="M488 288v2l-362 174v73l451 -217v-62l-451 -217v73z" unicode="&gt;"/><glyph d="M229 162v177q119 41 166 79.5t47 91.5q0 52 -36 89t-117 37q-75 0 -115.5 -32.5t-58.5 -94.5l-77 21q22 88 88.5 136t166.5 48q113 0 172.5 -56.5t59.5 -137.5q0 -84 -58.5 -135t-154.5 -86v-137h-83zM270 -10q-26 0 -40.5 14.5t-14.5 36.5t14.5 36t40.5 14 q25 0 39.5 -14t14.5 -36t-14.5 -36.5t-39.5 -14.5z" horiz-adv-x="563" unicode="?"/><glyph d="M494 142h-2q-15 -34 -48 -54.5t-77 -20.5q-69 0 -116.5 48.5t-47.5 134.5t44 137t117 51q84 0 113 -59h3v-117q0 50 -27.5 80t-73.5 30q-48 0 -73.5 -33t-25.5 -88t27 -86t72 -31q46 0 71.5 30t29.5 78v182h77v-207q0 -45 12.5 -66.5t41.5 -21.5q37 0 57 37.5t20 102.5 q0 136 -80.5 220t-212.5 84q-133 0 -214.5 -86t-81.5 -224q0 -148 77 -228.5t202 -80.5q29 0 55 3.5t46 9t36 12t28.5 14t20 13t14 11.5t7.5 6l46 -36q-38 -39 -109.5 -64t-141.5 -25q-154 0 -248 97t-94 269q0 157 100.5 261t255.5 104q158 0 256.5 -102.5t98.5 -258.5 q0 -91 -38 -146t-109 -55q-40 0 -70 21.5t-38 53.5z" horiz-adv-x="787" unicode="@"/><glyph d="M543 186h-355l-78 -186h-87l298 700h89l298 -700h-87zM512 260l-77 183q-10 24 -28.5 68t-29.5 70l-11 26h-2q-1 -1 -68 -163l-77 -184h293z" horiz-adv-x="732" unicode="A"/><glyph d="M428 377v-3q61 -10 110 -54.5t49 -124.5q0 -90 -62.5 -142.5t-176.5 -52.5h-271v700h252q94 0 151.5 -48.5t57.5 -123.5q0 -63 -33 -102t-77 -49zM158 400h163q60 0 97.5 30.5t37.5 85.5q0 52 -38 83t-105 31h-155v-230zM158 70h186q73 0 115.5 33t42.5 96 q0 64 -46 100.5t-114 36.5h-184v-266z" horiz-adv-x="623" unicode="B"/><glyph d="M646 218l79 -21q-40 -98 -127.5 -154t-199.5 -56q-156 0 -258 101t-102 264t102 262.5t258 99.5q116 0 199.5 -54t118.5 -137l-79 -22q-12 22 -29 42t-45.5 43t-72 37t-94.5 14q-123 0 -199.5 -77.5t-76.5 -208.5q0 -130 78 -208t196 -78q85 0 152 41t100 112z" horiz-adv-x="769" unicode="C"/><glyph d="M77 700h242q165 0 268.5 -96.5t103.5 -256.5q0 -159 -102.5 -253t-262.5 -94h-249v700zM158 76h164q124 0 205.5 70t81.5 201t-82.5 204t-210.5 73h-158v-548z" horiz-adv-x="729" unicode="D"/><glyph d="M77 0v700h471v-76h-390v-220h304v-76h-304v-252h392v-76h-473z" horiz-adv-x="600" unicode="E"/><glyph d="M544 624h-386v-234h307v-76h-307v-314h-81v700h467v-76z" horiz-adv-x="583" unicode="F"/><glyph d="M730 0h-73q0 35 0.5 58t0.5 32v11h-2q-37 -42 -102.5 -78t-156.5 -36q-152 0 -255.5 101t-103.5 263q0 163 102.5 263t259.5 100q115 0 199 -54t119 -137l-80 -22q-11 21 -27 40.5t-44 43t-72 38t-97 14.5q-123 0 -200.5 -77.5t-77.5 -207.5q0 -131 79.5 -209t202.5 -78 q90 0 158.5 39.5t93.5 85.5v100h-208v76h284v-366z" horiz-adv-x="790" unicode="G"/><glyph d="M544 0v327h-386v-327h-81v700h81v-295h386v295h82v-700h-82z" horiz-adv-x="702" unicode="H"/><glyph d="M77 0v700h81v-700h-81z" horiz-adv-x="235" unicode="I"/><glyph d="M416 700v-420q0 -142 -61 -217.5t-179 -75.5q-110 0 -176 80l46 64q51 -66 130 -66q82 0 120 54.5t38 164.5v416h82z" horiz-adv-x="488" unicode="J"/><glyph d="M282 362l-124 -129v-233h-81v700h81v-218v-151h2l114 121l233 248h98l-263 -280l290 -421l-96 1z" horiz-adv-x="649" unicode="K"/><glyph d="M77 0v700h81v-624h369v-76h-450z" horiz-adv-x="564" unicode="L"/><glyph d="M644 0v315v48t0.5 49.5l1 47t0.5 42.5t0.5 34t0.5 24v8h-2l-9 -18l-31.5 -59.5t-50.5 -91.5l-128 -227h-49l-127 224q-29 51 -51.5 94t-31.5 60l-9 18h-2v-8q0 -9 0.5 -24t0.5 -34v-42.5t0.5 -47t0.5 -49.5v-48v-315h-81v700h86l238 -426h2l239 426h84v-700h-82z" horiz-adv-x="802" unicode="M"/><glyph d="M568 0l-410 569h-2v-5q0 -5 0.5 -13.5t0.5 -20.5v-27t0.5 -31t0.5 -34.5v-36.5v-401h-81v700h82l410 -564h2v5q0 5 -0.5 14t-0.5 20.5v26.5t-0.5 30.5t-0.5 33v34.5v400h82v-700h-83z" horiz-adv-x="727" unicode="N"/><glyph d="M38 351q0 161 103.5 262t259.5 101q155 0 259 -101.5t104 -261.5q0 -161 -104 -262.5t-259 -101.5q-156 0 -259.5 101.5t-103.5 262.5zM120 351q0 -131 79.5 -208.5t201.5 -77.5q121 0 201 78t80 208t-80 208t-201 78t-201 -78t-80 -208z" horiz-adv-x="802" unicode="O"/><glyph d="M77 700h212q124 0 192.5 -56t68.5 -162q0 -104 -69 -160.5t-192 -56.5h-131v-265h-81v700zM158 337h133q87 0 132 37t45 107q0 144 -177 144h-133v-288z" horiz-adv-x="576" unicode="P"/><glyph d="M764 351q0 -150 -90.5 -248.5t-231.5 -113.5v-124h-83v124q-141 15 -231 113.5t-90 248.5q0 161 103.5 262t259.5 101q155 0 259 -101.5t104 -261.5zM401 65q121 0 201 78t80 208t-80 208t-201 78t-201 -78t-80 -208q0 -131 79.5 -208.5t201.5 -77.5z" horiz-adv-x="802" unicode="Q"/><glyph d="M467 0l-159 275q-15 -1 -64 -1h-86v-274h-81v700h214q123 0 192 -57.5t69 -160.5q0 -79 -42 -127.5t-118 -64.5l173 -290h-98zM158 342h141q170 0 170 137q0 73 -45.5 109.5t-129.5 36.5h-136v-283z" horiz-adv-x="602" unicode="R"/><glyph d="M35 184l78 21q6 -72 60 -108.5t138 -36.5q78 0 121 31.5t43 93.5q0 21 -5.5 38.5t-13.5 29.5t-22.5 22t-27 16t-32.5 12t-33 8.5t-35.5 7t-33.5 6.5q-36 8 -60 15.5t-56.5 23t-52 35t-34 51.5t-14.5 73q0 91 63 141t174 50q101 0 167.5 -43t88.5 -131l-78 -21 q-30 122 -179 122q-75 0 -114 -30.5t-39 -84.5q0 -27 11 -47.5t25.5 -33.5t43 -23.5t49.5 -15.5t59 -13q38 -7 64.5 -14t61 -23t55.5 -36.5t36 -55t15 -78.5q0 -98 -64.5 -148.5t-183.5 -50.5q-48 0 -90 9t-82.5 30t-67.5 61t-35 97z" horiz-adv-x="593" unicode="S"/><glyph d="M600 624h-241v-624h-82v624h-240v76h563v-76z" horiz-adv-x="637" unicode="T"/><glyph d="M628 700v-408q0 -148 -72 -226.5t-208 -78.5t-208 78t-72 227v408h83v-408q0 -115 48 -171t149 -56t150 56t49 171v408h81z" horiz-adv-x="696" unicode="U"/><glyph d="M392 0h-97l-278 700h91l143 -367q84 -216 93 -242h2q13 40 91 237l145 372h88z" horiz-adv-x="686" unicode="V"/><glyph d="M644 0l-100 316q-14 44 -28 92.5t-22 73.5l-7 25h-2l-7 -25q-7 -25 -21.5 -75.5t-28.5 -97.5l-96 -309h-88l-226 700h90l104 -333q78 -249 80 -253h2q1 1 66 221l83 271h95l82 -272q10 -33 27 -90.5t28 -93t11 -36.5h2q0 1 11.5 36.5t32 102.5t33.5 108l109 339h81 l-225 -700h-86z" horiz-adv-x="973" unicode="W"/><glyph d="M558 0l-129 176q-26 35 -49.5 67.5t-31.5 44.5l-9 11h-1q-1 0 -93 -125l-126 -174h-99l271 364l-249 336h99l123 -168q80 -109 81 -109h1l8 11q7 10 27 38.5t42 59.5l119 168h97l-247 -337l268 -363h-102z" horiz-adv-x="680" unicode="X"/><glyph d="M369 304v-304h-82v304l-270 396h94l157 -230q16 -22 31.5 -45t22.5 -35l8 -11h2l7 11q7 11 22 33.5t31 44.5l159 232h89z" horiz-adv-x="657" unicode="Y"/><glyph d="M612 622l-384 -453q-26 -31 -46.5 -54t-27.5 -31l-8 -7l2 -2h4q5 0 12.5 0.5t18 0.5h24.5h28h377v-76h-570v75l392 462q22 26 41.5 47t27.5 30l8 8l-1 3h-4q-4 0 -11.5 -0.5t-17 -0.5h-23.5h-29h-373v76h560v-78z" horiz-adv-x="654" unicode="Z"/><glyph d="M324 -136v-74h-230v1008h230v-74h-150v-860h150z" horiz-adv-x="364" unicode="["/><glyph d="M462 0h-86l-353 700h85z" horiz-adv-x="485" unicode="\"/><glyph d="M40 726v74h230v-1008h-230v74h150v860h-150z" horiz-adv-x="364" unicode="]"/><glyph d="M334 637l-209 -272l-61 40l233 300h74l232 -300l-60 -40z" unicode="^"/><glyph d="M652 -64h-575v64h575v-64z" horiz-adv-x="729" unicode="_"/><glyph d="M248 915l104 -161h-76l-95 139z" horiz-adv-x="533" unicode="`"/><glyph d="M432 150h-270l-58 -150h-81l229 560h92l229 -560h-82zM405 218l-49 125q-57 143 -57 150h-3q0 -4 -60 -157l-47 -118h216z" horiz-adv-x="596" unicode="a"/><glyph d="M378 299v-3q51 -9 89 -44t38 -95q0 -69 -51.5 -113t-142.5 -44h-234v560h223q74 0 121.5 -41t47.5 -99q0 -95 -91 -121zM155 322h130q43 0 74.5 23t31.5 65q0 36 -28.5 60t-76.5 24h-131v-172zM155 66h154q51 0 83.5 25.5t32.5 69.5q0 45 -34 71.5t-86 26.5h-150v-193z" horiz-adv-x="542" unicode="b"/><glyph d="M526 172l75 -20q-36 -75 -106 -119.5t-160 -44.5q-128 0 -212.5 82.5t-84.5 209.5q0 125 84.5 208t211.5 83q88 0 158.5 -42t104.5 -123l-74 -20q-66 113 -188 113q-95 0 -156.5 -61.5t-61.5 -157.5q0 -97 61.5 -158.5t155.5 -61.5q66 0 115.5 31t76.5 81z" horiz-adv-x="645" unicode="c"/><glyph d="M77 560h193q138 0 224 -76.5t86 -205.5t-85 -203.5t-220 -74.5h-198v560zM155 73h118q103 0 165.5 52.5t62.5 152.5t-63 154.5t-169 54.5h-114v-414z" horiz-adv-x="618" unicode="d"/><glyph d="M77 0v560h393v-73h-315v-162h243v-71h-243v-181h320v-73h-398z" horiz-adv-x="525" unicode="e"/><glyph d="M460 487h-305v-182h227v-73h-227v-232h-78v560h383v-73z" horiz-adv-x="498" unicode="f"/><glyph d="M612 0h-70v33v23.5t0.5 14t0.5 8v3.5h-2q-79 -94 -209 -94q-126 0 -210 83t-84 209t84 208.5t211 82.5q85 0 157.5 -40.5t107.5 -124.5l-72 -19q-22 46 -71.5 79.5t-119.5 33.5q-96 0 -157 -61t-61 -160q0 -97 62.5 -158t163.5 -61q66 0 121.5 28.5t76.5 62.5v71h-170v70 h241v-292z" horiz-adv-x="672" unicode="g"/><glyph d="M540 0h-78v252h-307v-252h-78v560h78v-235h307v235h78v-560z" horiz-adv-x="616" unicode="h"/><glyph d="M77 0v560h78v-560h-78z" horiz-adv-x="232" unicode="i"/><glyph d="M352 560v-334q0 -115 -52 -176.5t-151 -61.5q-94 0 -149 62l43 57q41 -47 105 -47q66 0 96 42t30 127v331h78z" horiz-adv-x="424" unicode="j"/><glyph d="M463 0l-203 285l-105 -108v-177h-78v560h78v-159v-32v-28.5t-0.5 -24t-0.5 -19.5v-14v-9v-4h2q29 31 76 79l204 211h99l-217 -223l235 -337h-90z" horiz-adv-x="570" unicode="k"/><glyph d="M77 0v560h78v-487h292v-73h-370z" horiz-adv-x="483" unicode="l"/><glyph d="M546 0v284l1 162h-2l-169 -310h-53l-170 314h-2v-12q0 -12 0.5 -30.5t1 -39.5t0.5 -43v-37v-288h-76v560h95l118 -212q18 -32 34 -62t22 -43l7 -13h2q1 0 7.5 12.5t23 44t33.5 62.5l116 211h89v-560h-78z" horiz-adv-x="701" unicode="m"/><glyph d="M553 0h-80l-318 441h-2v-4q0 -4 0.5 -10.5t0.5 -15v-20t0.5 -24t0.5 -26.5v-28v-313h-78v560h80l317 -434h2v4v9.5v14.5t-0.5 19t-0.5 22.5v24.5v26v314h78v-560z" horiz-adv-x="630" unicode="n"/><glyph d="M38 279q0 127 84.5 209.5t209.5 82.5t209.5 -82.5t84.5 -209.5q0 -125 -84.5 -208t-209.5 -83t-209.5 83t-84.5 208zM117 279q0 -96 61.5 -157.5t153.5 -61.5t153.5 61.5t61.5 157.5q0 97 -61 158.5t-154 61.5t-154 -61.5t-61 -158.5z" horiz-adv-x="665" unicode="o"/><glyph d="M77 560h182q104 0 161 -47t57 -128q0 -82 -56.5 -128t-161.5 -46h-104v-211h-78v560zM155 277h107q66 0 101 28t35 78t-34.5 78.5t-101.5 28.5h-107v-213z" horiz-adv-x="504" unicode="p"/><glyph d="M626 279q0 -115 -72 -195t-184 -93v-107h-78v107q-111 14 -182.5 93.5t-71.5 194.5q0 127 84.5 209.5t209.5 82.5t209.5 -82.5t84.5 -209.5zM332 60q92 0 153.5 61.5t61.5 157.5q0 97 -61 158.5t-154 61.5t-154 -61.5t-61 -158.5q0 -96 61.5 -157.5t153.5 -61.5z" horiz-adv-x="663" unicode="q"/><glyph d="M413 0l-134 222q-22 -1 -62 -1h-62v-221h-78v560h184q104 0 161.5 -44t57.5 -125q0 -62 -34 -102t-92 -53l144 -236h-85zM155 284h109q137 0 137 102q0 103 -137 103h-109v-205z" horiz-adv-x="535" unicode="r"/><glyph d="M35 139l71 19q6 -49 46.5 -78t106.5 -29q59 0 93 25t34 73q0 16 -4.5 29t-10 22.5t-18.5 17.5t-21.5 13t-28 10.5t-29.5 8t-34.5 7.5t-34.5 7q-33 7 -55 15t-48.5 24t-40.5 44.5t-14 67.5q0 76 52.5 116t147.5 40q180 0 213 -136l-69 -19q-25 92 -139 92 q-60 0 -92.5 -23.5t-32.5 -66.5q0 -46 35.5 -65.5t115.5 -34.5q30 -6 48 -10.5t47.5 -17.5t47 -29t31 -45t13.5 -66q0 -80 -55.5 -121t-150.5 -41q-37 0 -70 6.5t-66.5 22t-56.5 47t-31 75.5z" horiz-adv-x="500" unicode="s"/><glyph d="M506 487h-196v-487h-78v487h-195v73h469v-73z" horiz-adv-x="543" unicode="t"/><glyph d="M543 560v-319q0 -126 -61.5 -189.5t-176.5 -63.5t-176 63.5t-61 189.5v319h79v-327q0 -173 159 -173t159 173v327h78z" horiz-adv-x="611" unicode="u"/><glyph d="M346 0h-90l-239 560h86l117 -274q25 -59 45.5 -108.5t28.5 -69.5l9 -21h2l3 7q3 8 9.5 24.5t15.5 38t23.5 56t30.5 72.5l116 275h83z" horiz-adv-x="603" unicode="v"/><glyph d="M532 0l-70 218q-15 47 -28.5 91t-19.5 63l-6 20h-2l-6 -18q-6 -19 -21 -66t-29 -91l-69 -217h-79l-184 560h83l84 -259q18 -54 34 -105t23 -72l6 -22h1l7 20q6 21 20 66.5t28 89.5l66 211h81l65 -211q14 -44 27.5 -89.5t19.5 -66.5l6 -20h1l7 22q7 21 23 71.5t34 105.5 l84 259h77l-184 -560h-79z" horiz-adv-x="813" unicode="w"/><glyph d="M462 0l-100 130q-23 30 -43 56.5t-27 36.5l-8 10h-1q-1 0 -79 -104l-95 -129h-89l217 289l-200 271h93l81 -109q22 -29 43.5 -57.5t29.5 -39.5l8 -10h1l8 10q8 11 30.5 41.5t43.5 59.5l76 105h86l-201 -272l220 -288h-94z" horiz-adv-x="576" unicode="x"/><glyph d="M309 0h-78v231l-214 329h89l90 -137q20 -29 39 -58.5t29 -44.5l9 -15h2l9 15q10 14 30 44.5t39 59.5l89 136h82l-215 -329v-231z" horiz-adv-x="541" unicode="y"/><glyph d="M515 486l-268 -301q-37 -41 -63 -69t-34 -35l-7 -7l2 -2q30 1 76 1h294v-73h-473v74l280 310q31 35 55 60.5t31 33.5l7 7l-2 2h-71h-292v73h465v-74z" horiz-adv-x="557" unicode="z"/><glyph d="M223 567v-115q0 -36 -7 -64.5t-16.5 -45t-21.5 -28t-19 -15.5t-13 -6q5 -1 12.5 -5.5t19.5 -16.5t21.5 -29t16.5 -45.5t7 -63.5v-114q0 -91 37 -125.5t102 -34.5v-70q-101 0 -157.5 56t-56.5 170v118q0 117 -71 124v72q28 5 43 20q28 33 28 104v118q0 114 56.5 170 t157.5 56v-71q-65 0 -102 -34t-37 -125z" horiz-adv-x="403" unicode="{"/><glyph d="M60 775h67v-849h-67v849z" horiz-adv-x="187" unicode="|"/><glyph d="M180 19v115q0 44 10 77t25 49t25 23t18 10q-5 1 -13 5.5t-19.5 16.5t-21.5 28.5t-17 45t-7 63.5v115q0 91 -37 125t-102 34v71q101 0 157.5 -56.5t56.5 -170.5v-117q1 -118 72 -125v-71q-32 -5 -48 -26q-24 -34 -24 -99v-117q0 -114 -56.5 -170t-157.5 -56v71 q65 0 102 34t37 125z" horiz-adv-x="403" unicode="}"/><glyph d="M534 346l13 -67q-11 -15 -41 -30.5t-69 -15.5q-37 0 -100.5 21.5t-101.5 21.5q-56 0 -100 -46l-15 66q42 49 112 49q37 0 100 -21.5t101 -21.5q55 0 101 44z" unicode="~"/><glyph d="M131 710q26 0 40 -14.5t14 -36.5t-14.5 -36t-39.5 -14t-39.5 14t-14.5 36t14.5 36.5t39.5 14.5zM91 0v538h81v-538h-81z" horiz-adv-x="262" unicode="¡"/><glyph d="M299 90q116 0 165 101l72 -20q-27 -63 -81.5 -103t-122.5 -48v-104h-67v104q-99 11 -163 82.5t-64 179.5q0 107 62 177t164 81v104h68v-104q71 -7 126.5 -46t81.5 -112l-72 -20q-20 51 -62.5 81t-103.5 30q-85 0 -136 -52t-51 -139t51 -139.5t133 -52.5z" horiz-adv-x="584" unicode="¢"/><glyph d="M469 73v-73h-433v73q38 7 51 29.5t13 65.5q0 23 -4 75h-61v64h54q-8 72 -8 101q0 78 48 120.5t132 42.5q174 0 197 -157l-73 -20q-9 55 -38 81.5t-83 26.5q-107 0 -107 -110q0 -10 7 -85h199v-64h-191q5 -47 5 -74q0 -78 -40 -96l1 -2q8 2 171 2h160z" horiz-adv-x="510" unicode="£"/><glyph d="M596 516l-71 -71q61 -71 61 -166q0 -86 -55 -159l73 -73l-43 -43l-73 73q-74 -61 -166 -61q-93 0 -165 61l-73 -73l-43 43l73 74q-54 70 -54 158q0 96 60 167l-71 70l43 43l72 -71q70 55 158 55q89 0 160 -54l71 70zM322 469q-78 0 -133 -55t-55 -135t55 -134.5 t133 -54.5q80 0 135 54.5t55 134.5t-55 135t-135 55z" horiz-adv-x="645" unicode="¤"/><glyph d="M365 365h79v-60h-114l-29 -51h143v-61h-157v-193h-78v193h-155v61h142l-29 51h-113v60h78l-112 195h87l96 -175q38 -71 46 -79h2q8 8 46 79l96 175h84z" horiz-adv-x="498" unicode="¥"/><glyph d="M127 490h-67v285h67v-285zM127 -74h-67v285h67v-285z" horiz-adv-x="187" unicode="¦"/><glyph d="M487 252q89 -34 89 -118q0 -75 -60.5 -111t-168.5 -36q-46 0 -86 6.5t-79 21t-64.5 43.5t-31.5 70l77 20q9 -100 178 -100q152 0 152 89q0 43 -39 60t-147 35q-17 2 -26 4q-38 6 -65.5 13.5t-58.5 22t-47.5 38.5t-16.5 57q0 81 95 112q-85 32 -85 108q0 67 60 97t153 30 q211 0 244 -140l-69 -19q-28 101 -176 101q-131 0 -131 -68q0 -43 59 -62q28 -9 127 -26q42 -7 69.5 -13t57 -16.5t45.5 -23.5t26.5 -34t10.5 -48q0 -84 -92 -113zM168 377q0 -22 14 -38t39.5 -25.5t56 -16t70.5 -13.5q9 -1 14 -2q19 -2 48 -8q93 17 93 79q0 20 -10 35 t-24 24t-40 16.5t-45 10.5t-52 8l-21 3l-38 7q-105 -16 -105 -80z" unicode="§"/><glyph d="M171 776q-19 0 -32 13.5t-13 32.5q0 20 13.5 33.5t32.5 13.5t32.5 -14t13.5 -33t-14 -32.5t-33 -13.5zM361 776q-19 0 -33 13.5t-14 32.5q0 20 14 33.5t33 13.5t32.5 -14t13.5 -33t-13.5 -32.5t-32.5 -13.5z" horiz-adv-x="533" unicode="¨"/><glyph d="M401 629q153 0 258.5 -103t105.5 -261t-105.5 -261t-258.5 -103q-152 0 -257.5 103t-105.5 261t105.5 261t257.5 103zM401 582q-137 0 -225.5 -87.5t-88.5 -228.5t89 -229.5t225 -88.5q137 0 226.5 88t89.5 230q0 141 -89.5 228.5t-226.5 87.5zM519 196l54 -17 q-23 -48 -70 -76.5t-107 -28.5q-85 0 -139 53.5t-54 137.5q0 85 55 138t140 53q60 0 107 -29.5t65 -82.5l-53 -15q-7 24 -36 48.5t-81 24.5q-61 0 -99.5 -37t-38.5 -99q0 -61 37.5 -99t98.5 -38q82 0 121 67z" horiz-adv-x="804" unicode="©"/><glyph d="M90 235h-55l134 325h62l133 -325h-56l-31 78h-156zM200 507h-2l-4 -11l-13 -32.5t-17 -43.5l-26 -64h122l-26 64q-8 21 -17 43.5l-13 32.5zM365 167v-55h-330v55h330z" horiz-adv-x="400" unicode="ª"/><glyph d="M540 513l47 -47l-192 -186v-3l192 -186l-47 -47l-235 235zM295 513l47 -47l-192 -186v-3l192 -186l-47 -47l-235 235z" horiz-adv-x="647" unicode="«"/><glyph d="M480 254h-380v69h380v-69z" horiz-adv-x="581" unicode="­"/><glyph d="M401 629q153 0 258.5 -103t105.5 -261t-105.5 -261t-258.5 -103q-152 0 -257.5 103t-105.5 261t105.5 261t257.5 103zM401 582q-137 0 -225.5 -87.5t-88.5 -228.5t89 -229.5t225 -88.5q137 0 226.5 88t89.5 230q0 141 -89.5 228.5t-226.5 87.5zM491 82l-85 147 q-13 -1 -36 -1h-36v-146h-60v369h126q69 0 107.5 -30t38.5 -83q0 -80 -81 -99l91 -157h-65zM334 275h69q83 0 83 61q0 62 -83 62h-69v-123z" horiz-adv-x="804" unicode="®"/><glyph d="M412 775h-291v69h291v-69z" horiz-adv-x="533" unicode="¯"/><glyph d="M130 589q-50 0 -81.5 31.5t-31.5 80.5t31.5 80.5t81.5 31.5t82 -31.5t32 -80.5t-32 -80.5t-82 -31.5zM130 640q28 0 45 17t17 44q0 28 -17 45t-45 17q-27 0 -44 -17t-17 -45q0 -26 17 -43.5t44 -17.5z" horiz-adv-x="261" unicode="°"/><glyph d="M524 377v-69h-153v-159h-74v159h-153v69h153l-1 161h75v-161h153zM144 69h380v-69h-380v69z" unicode="±"/><glyph d="M32 472v63l163 123q55 38 55 89q0 32 -20.5 51t-59.5 19q-37 0 -57.5 -15.5t-29.5 -51.5l-48 14q24 106 139 106q63 0 98.5 -32t35.5 -87q0 -67 -71 -123q-22 -18 -56.5 -43.5t-57 -42t-24.5 -18.5l2 -3q27 3 74 3h136v-52h-279z" horiz-adv-x="340" unicode="²"/><glyph d="M229 675v-3q36 -5 60.5 -30t24.5 -65q0 -50 -38.5 -81.5t-96.5 -31.5q-64 0 -104.5 33t-47.5 86l53 15q2 -38 27.5 -60.5t67.5 -22.5q40 0 61.5 20t21.5 49q0 31 -23.5 50t-62.5 19h-33v40h31q38 0 61 19t23 47q0 25 -20 43t-64 18q-40 0 -58.5 -17t-25.5 -53l-49 14 q17 106 138 106q66 0 100 -29t34 -74q0 -38 -23.5 -63.5t-56.5 -28.5z" horiz-adv-x="340" unicode="³"/><glyph d="M257 754h-76l104 161l67 -22z" horiz-adv-x="533" unicode="´"/><glyph d="M421 -140v624h-89v-624h-82v343q-105 0 -158.5 48t-53.5 132q0 82 53.5 129.5t158.5 47.5h253v-700h-82z" horiz-adv-x="580" unicode="¶"/><glyph d="M112 231q-26 0 -40 14.5t-14 36.5t14.5 36t39.5 14t39.5 -14t14.5 -36t-14 -36.5t-40 -14.5z" horiz-adv-x="224" unicode="·"/><glyph d="M379 -88q0 -84 -122 -84q-53 0 -83 15v56q23 -14 73 -14q71 0 71 37q0 43 -112 44v58h60v-26q113 -9 113 -86z" horiz-adv-x="533" unicode="¸"/><glyph d="M302 472h-239v52h90v184q0 65 4 85h-3l-4 -4q-4 -4 -11 -11.5t-12 -12.5l-43 -43l-37 36l109 104h55v-338h91v-52z" horiz-adv-x="340" unicode="¹"/><glyph d="M35 397q0 75 50 124.5t123 49.5q72 0 123 -49.5t51 -124.5q0 -73 -51 -122.5t-123 -49.5q-73 0 -123 49t-50 123zM89 397q0 -52 33.5 -86t85.5 -34t85.5 34t33.5 86q0 53 -33.5 87.5t-85.5 34.5t-85.5 -34.5t-33.5 -87.5zM372 111h-326v55h326v-55z" horiz-adv-x="417" unicode="º"/><glyph d="M107 44l-47 47l192 186v3l-192 186l47 47l235 -234zM352 44l-47 47l192 186v3l-192 186l47 47l235 -234z" horiz-adv-x="647" unicode="»"/><glyph d="M545 700l-210 -700h-62l209 700h63zM302 310h-239v51h90v185q0 65 4 85h-3l-4 -4q-4 -4 -11 -11.5t-12 -12.5l-43 -43l-37 36l109 104h55v-339h91v-51zM737 0h-56v99h-187v52l166 240h77v-240h66v-52h-66v-99zM681 151v92q0 23 1 45.5t2 35.5l1 13h-4q-1 0 -64.5 -91 t-64.5 -93l2 -3h3h8.5t12 0.5t14.5 0.5h16h73z" horiz-adv-x="818" unicode="¼"/><glyph d="M302 310h-239v52h90v184q0 65 4 85h-3l-4 -4q-4 -4 -11 -11.5t-12 -12.5l-43 -43l-37 36l109 104h55v-338h91v-52zM545 700l-210 -700h-62l209 700h63zM510 0v64l164 123q55 40 55 89q0 31 -21 50.5t-60 19.5q-37 0 -57.5 -15.5t-29.5 -51.5l-48 14q24 106 140 106 q62 0 97.5 -32t35.5 -87q0 -67 -71 -123q-23 -18 -56.5 -43.5t-56.5 -42.5t-24 -18l1 -3q18 2 74 2h137v-52h-280z" horiz-adv-x="818" unicode="½"/><glyph d="M229 513v-3q36 -5 60.5 -30t24.5 -65q0 -50 -38.5 -81.5t-96.5 -31.5q-64 0 -104.5 33t-47.5 86l53 15q2 -38 27.5 -60.5t67.5 -22.5q40 0 61.5 20t21.5 49q0 31 -23.5 50t-62.5 19h-33v40h31q38 0 61 19t23 47q0 25 -20 43t-64 18q-40 0 -58.5 -17t-25.5 -53l-49 14 q17 106 138 106q66 0 100 -29t34 -74q0 -38 -23.5 -63.5t-56.5 -28.5zM545 700l-210 -700h-62l209 700h63zM737 0h-56v99h-187v52l166 240h77v-240h66v-52h-66v-99zM681 151v92q0 23 1 45.5t2 35.5l1 13h-4q-1 0 -64.5 -91t-64.5 -93l2 -3h3h8.5t12 0.5t14.5 0.5h16h73z" horiz-adv-x="818" unicode="¾"/><glyph d="M294 710q25 0 39.5 -14.5t14.5 -36.5t-14.5 -36t-39.5 -14q-26 0 -40 14t-14 36t14.5 36.5t39.5 14.5zM334 538v-177q-119 -41 -165.5 -79.5t-46.5 -91.5q0 -52 35.5 -89t117.5 -37q139 0 173 127l77 -21q-22 -88 -88 -136t-166 -48q-114 0 -173.5 56.5t-59.5 137.5 q0 44 18 80.5t50.5 63t66.5 44t78 33.5v137h83z" horiz-adv-x="563" unicode="¿"/><glyph d="M337 754l-95 139l67 22l104 -161h-76zM543 186h-355l-78 -186h-87l298 700h89l298 -700h-87zM512 260l-77 183q-10 24 -28.5 68t-29.5 70l-11 26h-2q-1 -1 -68 -163l-77 -184h293z" horiz-adv-x="732" unicode="À"/><glyph d="M388 754h-76l104 161l67 -22zM543 186h-355l-78 -186h-87l298 700h89l298 -700h-87zM512 260l-77 183q-10 24 -28.5 68t-29.5 70l-11 26h-2q-1 -1 -68 -163l-77 -184h293z" horiz-adv-x="732" unicode="Á"/><glyph d="M259 756l-39 45l144 118l142 -118l-38 -46l-104 88zM543 186h-355l-78 -186h-87l298 700h89l298 -700h-87zM512 260l-77 183q-10 24 -28.5 68t-29.5 70l-11 26h-2q-1 -1 -68 -163l-77 -184h293z" horiz-adv-x="732" unicode="Â"/><glyph d="M292 812q-43 0 -71 -28l-17 59q29 35 82 35q28 0 72 -17.5t75 -17.5q41 0 69 26l16 -59q-25 -32 -80 -32q-29 0 -73.5 17t-72.5 17zM543 186h-355l-78 -186h-87l298 700h89l298 -700h-87zM512 260l-77 183q-10 24 -28.5 68t-29.5 70l-11 26h-2q-1 -1 -68 -163l-77 -184 h293z" horiz-adv-x="732" unicode="Ã"/><glyph d="M271 776q-19 0 -32.5 13.5t-13.5 32.5t13.5 33t32.5 14t32.5 -13.5t13.5 -33.5q0 -19 -13.5 -32.5t-32.5 -13.5zM460 776q-19 0 -32.5 13.5t-13.5 32.5q0 20 13.5 33.5t32.5 13.5t32.5 -13.5t13.5 -33.5q0 -19 -13.5 -32.5t-32.5 -13.5zM543 186h-355l-78 -186h-87 l298 700h89l298 -700h-87zM512 260l-77 183q-10 24 -28.5 68t-29.5 70l-11 26h-2q-1 -1 -68 -163l-77 -184h293z" horiz-adv-x="732" unicode="Ä"/><glyph d="M365 739q-45 0 -73.5 26t-28.5 68t28.5 67.5t73.5 25.5q46 0 74 -25.5t28 -67.5q0 -43 -28 -68.5t-74 -25.5zM365 878q-21 0 -34.5 -12.5t-13.5 -32.5q0 -21 13.5 -33.5t34.5 -12.5q22 0 35 12.5t13 33.5q0 20 -13 32.5t-35 12.5zM543 186h-355l-78 -186h-87l298 700h89 l298 -700h-87zM512 260l-77 183q-10 24 -28.5 68t-29.5 70l-11 26h-2q-1 -1 -68 -163l-77 -184h293z" horiz-adv-x="732" unicode="Å"/><glyph d="M935 73v-73h-471v189h-275l-79 -189h-87l299 700h611v-73h-389v-226h307v-70h-307v-258h391zM464 259v368h-91l-154 -368h245z" horiz-adv-x="985" unicode="Æ"/><glyph d="M646 218l79 -21q-35 -86 -106.5 -139.5t-165.5 -66.5q70 -18 70 -79q0 -84 -122 -84q-53 0 -83 15v56q23 -14 73 -14q71 0 71 37q0 43 -112 44v24q-138 16 -225 114t-87 248q0 163 102 262.5t258 99.5q116 0 199.5 -54t118.5 -137l-79 -22q-12 22 -29 42t-45.5 43t-72 37 t-94.5 14q-123 0 -199.5 -77.5t-76.5 -208.5q0 -130 78 -208t196 -78q85 0 152 41t100 112z" horiz-adv-x="769" unicode="Ç"/><glyph d="M259 915l104 -161h-76l-95 139zM77 0v700h471v-76h-390v-220h304v-76h-304v-252h392v-76h-473z" horiz-adv-x="600" unicode="È"/><glyph d="M339 754h-76l104 161l67 -22zM77 0v700h471v-76h-390v-220h304v-76h-304v-252h392v-76h-473z" horiz-adv-x="600" unicode="É"/><glyph d="M457 801l-39 -46l-104 88l-105 -87l-38 45l143 118zM77 0v700h471v-76h-390v-220h304v-76h-304v-252h392v-76h-473z" horiz-adv-x="600" unicode="Ê"/><glyph d="M221 776q-19 0 -32.5 13.5t-13.5 32.5q0 20 13.5 33.5t33.5 13.5q19 0 32 -13.5t13 -33.5q0 -19 -13.5 -32.5t-32.5 -13.5zM410 776q-19 0 -32.5 13.5t-13.5 32.5q0 20 13.5 33.5t32.5 13.5q20 0 33.5 -13.5t13.5 -33.5q0 -19 -14 -32.5t-33 -13.5zM77 0v700h471v-76 h-390v-220h304v-76h-304v-252h392v-76h-473z" horiz-adv-x="600" unicode="Ë"/><glyph d="M62 915l103 -161h-76l-95 139zM77 0v700h81v-700h-81z" horiz-adv-x="235" unicode="Ì"/><glyph d="M141 754h-76l104 161l67 -22zM77 0v700h81v-700h-81z" horiz-adv-x="235" unicode="Í"/><glyph d="M234 803l-41 -44l-75 78l-75 -77l-41 44l116 115zM77 0v700h81v-700h-81z" horiz-adv-x="235" unicode="Î"/><glyph d="M57 776q-19 0 -32.5 13.5t-13.5 32.5t13.5 33t32.5 14t32.5 -13.5t13.5 -33.5q0 -19 -13.5 -32.5t-32.5 -13.5zM179 776q-19 0 -32.5 13.5t-13.5 32.5q0 20 13.5 33.5t32.5 13.5t32.5 -13.5t13.5 -33.5q0 -19 -13.5 -32.5t-32.5 -13.5zM77 0v700h81v-700h-81z" horiz-adv-x="235" unicode="Ï"/><glyph d="M77 700h242q165 0 268.5 -96.5t103.5 -256.5q0 -159 -102.5 -253t-262.5 -94h-249v329h-66v73h66v298zM158 76h164q124 0 205.5 70t81.5 201t-82.5 204t-210.5 73h-158v-222h177v-73h-177v-253z" horiz-adv-x="729" unicode="Ð"/><glyph d="M505 869l17 -59q-28 -32 -81 -32q-29 0 -73.5 17t-71.5 17q-46 0 -71 -28l-17 59q28 35 81 35q27 0 72 -17.5t75 -17.5q41 0 69 26zM568 0l-410 569h-2v-5q0 -5 0.5 -13.5t0.5 -20.5v-27t0.5 -31t0.5 -34.5v-36.5v-401h-81v700h82l410 -564h2v5q0 5 -0.5 14t-0.5 20.5 v26.5t-0.5 30.5t-0.5 33v34.5v400h82v-700h-83z" horiz-adv-x="727" unicode="Ñ"/><glyph d="M345 915l104 -161h-76l-95 139zM38 351q0 161 103.5 262t259.5 101q155 0 259 -101.5t104 -261.5q0 -161 -104 -262.5t-259 -101.5q-156 0 -259.5 101.5t-103.5 262.5zM120 351q0 -131 79.5 -208.5t201.5 -77.5q121 0 201 78t80 208t-80 208t-201 78t-201 -78t-80 -208z" horiz-adv-x="802" unicode="Ò"/><glyph d="M425 754h-76l104 161l67 -22zM38 351q0 161 103.5 262t259.5 101q155 0 259 -101.5t104 -261.5q0 -161 -104 -262.5t-259 -101.5q-156 0 -259.5 101.5t-103.5 262.5zM120 351q0 -131 79.5 -208.5t201.5 -77.5q121 0 201 78t80 208t-80 208t-201 78t-201 -78t-80 -208z" horiz-adv-x="802" unicode="Ó"/><glyph d="M543 801l-39 -46l-104 88l-105 -87l-38 45l143 118zM38 351q0 161 103.5 262t259.5 101q155 0 259 -101.5t104 -261.5q0 -161 -104 -262.5t-259 -101.5q-156 0 -259.5 101.5t-103.5 262.5zM120 351q0 -131 79.5 -208.5t201.5 -77.5q121 0 201 78t80 208t-80 208t-201 78 t-201 -78t-80 -208z" horiz-adv-x="802" unicode="Ô"/><glyph d="M538 869l17 -59q-28 -32 -81 -32q-29 0 -73.5 17t-71.5 17q-46 0 -71 -28l-17 59q25 35 81 35q28 0 72 -17.5t75 -17.5q41 0 69 26zM38 351q0 161 103.5 262t259.5 101q155 0 259 -101.5t104 -261.5q0 -161 -104 -262.5t-259 -101.5q-156 0 -259.5 101.5t-103.5 262.5z M120 351q0 -131 79.5 -208.5t201.5 -77.5q121 0 201 78t80 208t-80 208t-201 78t-201 -78t-80 -208z" horiz-adv-x="802" unicode="Õ"/><glyph d="M307 776q-19 0 -32.5 13.5t-13.5 32.5q0 20 13.5 33.5t33.5 13.5q19 0 32 -13.5t13 -33.5q0 -19 -13.5 -32.5t-32.5 -13.5zM496 776q-19 0 -32.5 13.5t-13.5 32.5q0 20 13.5 33.5t32.5 13.5q20 0 33.5 -13.5t13.5 -33.5q0 -19 -14 -32.5t-33 -13.5zM38 351 q0 161 103.5 262t259.5 101q155 0 259 -101.5t104 -261.5q0 -161 -104 -262.5t-259 -101.5q-156 0 -259.5 101.5t-103.5 262.5zM120 351q0 -131 79.5 -208.5t201.5 -77.5q121 0 201 78t80 208t-80 208t-201 78t-201 -78t-80 -208z" horiz-adv-x="802" unicode="Ö"/><glyph d="M384 290l125 -124l-50 -50l-125 125l-125 -125l-49 50l125 124l-125 125l49 49l125 -124l125 124l49 -50z" unicode="×"/><glyph d="M729 714l-74 -96q109 -104 109 -267q0 -161 -104 -262.5t-259 -101.5q-106 0 -190 49l-75 -99l-61 47l74 98q-111 101 -111 269q0 161 103.5 262t259.5 101q106 0 192 -50l74 96zM120 351q0 -126 78 -206l347 456q-66 36 -144 36q-121 0 -201 -78t-80 -208zM401 65 q120 0 200.5 78t80.5 208q0 124 -76 203l-347 -455q65 -34 142 -34z" horiz-adv-x="802" unicode="Ø"/><glyph d="M293 915l104 -161h-76l-95 139zM628 700v-408q0 -148 -72 -226.5t-208 -78.5t-208 78t-72 227v408h83v-408q0 -115 48 -171t149 -56t150 56t49 171v408h81z" horiz-adv-x="696" unicode="Ù"/><glyph d="M372 754h-76l104 161l67 -22zM628 700v-408q0 -148 -72 -226.5t-208 -78.5t-208 78t-72 227v408h83v-408q0 -115 48 -171t149 -56t150 56t49 171v408h81z" horiz-adv-x="696" unicode="Ú"/><glyph d="M490 801l-38 -46l-104 88l-105 -87l-39 45l144 118zM628 700v-408q0 -148 -72 -226.5t-208 -78.5t-208 78t-72 227v408h83v-408q0 -115 48 -171t149 -56t150 56t49 171v408h81z" horiz-adv-x="696" unicode="Û"/><glyph d="M255 776q-19 0 -32.5 13.5t-13.5 32.5t13.5 33t32.5 14t32.5 -13.5t13.5 -33.5q0 -19 -13.5 -32.5t-32.5 -13.5zM444 776q-19 0 -32.5 13.5t-13.5 32.5q0 20 13.5 33.5t32.5 13.5t32.5 -13.5t13.5 -33.5q0 -19 -13.5 -32.5t-32.5 -13.5zM628 700v-408q0 -148 -72 -226.5 t-208 -78.5t-208 78t-72 227v408h83v-408q0 -115 48 -171t149 -56t150 56t49 171v408h81z" horiz-adv-x="696" unicode="Ü"/><glyph d="M359 754h-76l104 161l67 -22zM369 304v-304h-82v304l-270 396h94l157 -230q16 -22 31.5 -45t22.5 -35l8 -11h2l7 11q7 11 22 33.5t31 44.5l159 232h89z" horiz-adv-x="657" unicode="Ý"/><glyph d="M158 558h122q122 0 188.5 -54t66.5 -153t-66.5 -151.5t-188.5 -52.5h-122v-147h-81v700h81v-142zM158 221h125q171 0 171 130q0 131 -171 131h-125v-261z" horiz-adv-x="562" unicode="Þ"/><glyph d="M369 341h6q76 0 126.5 -47.5t50.5 -125.5q0 -79 -50.5 -130t-135.5 -51q-87 0 -136 45l33 56q43 -35 96 -35t85 31.5t32 80.5q0 48 -32 78.5t-87 30.5h-70v67l83 144l-1 2h-47h-167v-487h-78v560h418l-126 -217v-2z" horiz-adv-x="581" unicode="ß"/><glyph d="M270 614l-95 139l68 22l103 -161h-76zM432 150h-270l-58 -150h-81l229 560h92l229 -560h-82zM405 218l-49 125q-57 143 -57 150h-3q0 -4 -60 -157l-47 -118h216z" horiz-adv-x="596" unicode="à"/><glyph d="M322 614h-76l104 161l67 -22zM432 150h-270l-58 -150h-81l229 560h92l229 -560h-82zM405 218l-49 125q-57 143 -57 150h-3q0 -4 -60 -157l-47 -118h216z" horiz-adv-x="596" unicode="á"/><glyph d="M224 620l-41 44l116 115l116 -116l-41 -44l-75 78zM432 150h-270l-58 -150h-81l229 560h92l229 -560h-82zM405 218l-49 125q-57 143 -57 150h-3q0 -4 -60 -157l-47 -118h216z" horiz-adv-x="596" unicode="â"/><glyph d="M231 672q-36 0 -61 -28l-16 60q22 34 71 34q26 0 66.5 -17.5t67.5 -17.5q31 0 60 26l16 -60q-6 -10 -25.5 -20.5t-44.5 -10.5q-27 0 -68 17t-66 17zM432 150h-270l-58 -150h-81l229 560h92l229 -560h-82zM405 218l-49 125q-57 143 -57 150h-3q0 -4 -60 -157l-47 -118h216 z" horiz-adv-x="596" unicode="ã"/><glyph d="M204 636q-19 0 -32 13.5t-13 32.5q0 20 13.5 33.5t32.5 13.5t32.5 -14t13.5 -33t-14 -32.5t-33 -13.5zM394 636q-19 0 -33 13.5t-14 32.5q0 20 13.5 33.5t33.5 13.5q19 0 32.5 -14t13.5 -33t-13.5 -32.5t-32.5 -13.5zM432 150h-270l-58 -150h-81l229 560h92l229 -560h-82 zM405 218l-49 125q-57 143 -57 150h-3q0 -4 -60 -157l-47 -118h216z" horiz-adv-x="596" unicode="ä"/><glyph d="M299 599q-45 0 -73.5 26t-28.5 68t28.5 67.5t73.5 25.5t73.5 -25.5t28.5 -67.5t-28.5 -68t-73.5 -26zM299 738q-22 0 -35 -12.5t-13 -32.5q0 -21 13 -33.5t35 -12.5t35 12.5t13 33.5q0 20 -13 32.5t-35 12.5zM432 150h-270l-58 -150h-81l229 560h92l229 -560h-82z M405 218l-49 125q-57 143 -57 150h-3q0 -4 -60 -157l-47 -118h216z" horiz-adv-x="596" unicode="å"/><glyph d="M765 73v-73h-395v146h-209l-58 -146h-80l230 560h117h390v-73h-315v-162h244v-71h-244v-181h320zM370 214v275h-74l-108 -275h182z" horiz-adv-x="815" unicode="æ"/><glyph d="M526 172l75 -20q-31 -65 -88 -107.5t-132 -52.5q80 -17 80 -81q0 -41 -31 -63t-91 -22q-55 0 -83 16v56q25 -15 72 -15q72 0 72 38q0 42 -112 43v28q-111 15 -180.5 94.5t-69.5 193.5q0 125 84.5 208t211.5 83q88 0 158.5 -42t104.5 -123l-74 -20q-66 113 -188 113 q-95 0 -156.5 -61.5t-61.5 -157.5q0 -97 61.5 -158.5t155.5 -61.5q66 0 115.5 31t76.5 81z" horiz-adv-x="645" unicode="ç"/><glyph d="M219 775l104 -161h-77l-95 139zM77 0v560h393v-73h-315v-162h243v-71h-243v-181h320v-73h-398z" horiz-adv-x="525" unicode="è"/><glyph d="M298 614h-76l104 161l67 -22zM77 0v560h393v-73h-315v-162h243v-71h-243v-181h320v-73h-398z" horiz-adv-x="525" unicode="é"/><glyph d="M416 661l-38 -46l-105 88l-105 -87l-38 45l143 118zM77 0v560h393v-73h-315v-162h243v-71h-243v-181h320v-73h-398z" horiz-adv-x="525" unicode="ê"/><glyph d="M180 636q-19 0 -32 13.5t-13 32.5q0 20 13.5 33.5t32.5 13.5t32.5 -14t13.5 -33t-14 -32.5t-33 -13.5zM370 636q-19 0 -33 13.5t-14 32.5q0 20 13.5 33.5t33.5 13.5q19 0 32.5 -14t13.5 -33t-13.5 -32.5t-32.5 -13.5zM77 0v560h393v-73h-315v-162h243v-71h-243v-181h320 v-73h-398z" horiz-adv-x="525" unicode="ë"/><glyph d="M60 775l104 -161h-76l-95 139zM77 0v560h78v-560h-78z" horiz-adv-x="232" unicode="ì"/><glyph d="M140 614h-76l104 161l67 -22zM77 0v560h78v-560h-78z" horiz-adv-x="232" unicode="í"/><glyph d="M232 663l-40 -44l-75 78l-76 -77l-40 44l116 115zM77 0v560h78v-560h-78z" horiz-adv-x="232" unicode="î"/><glyph d="M55 636q-19 0 -32 13.5t-13 32.5q0 20 13.5 33.5t32.5 13.5t32.5 -14t13.5 -33t-14 -32.5t-33 -13.5zM178 636q-19 0 -32.5 13.5t-13.5 32.5q0 20 13.5 33.5t32.5 13.5t32.5 -14t13.5 -33t-13.5 -32.5t-32.5 -13.5zM77 0v560h78v-560h-78z" horiz-adv-x="232" unicode="ï"/><glyph d="M77 560h193q138 0 224 -76.5t86 -205.5t-85 -203.5t-220 -74.5h-198v253h-66v70h66v237zM155 73h118q103 0 165.5 52.5t62.5 152.5t-63 154.5t-169 54.5h-114v-164h173v-70h-173v-180z" horiz-adv-x="618" unicode="ð"/><glyph d="M431 729l16 -60q-6 -10 -25.5 -20.5t-44.5 -10.5q-27 0 -68 17t-66 17q-36 0 -61 -28l-16 60q22 34 71 34q26 0 66.5 -17.5t67.5 -17.5q31 0 60 26zM553 0h-80l-318 441h-2v-4q0 -4 0.5 -10.5t0.5 -15v-20t0.5 -24t0.5 -26.5v-28v-313h-78v560h80l317 -434h2v4v9.5v14.5 t-0.5 19t-0.5 22.5v24.5v26v314h78v-560z" horiz-adv-x="630" unicode="ñ"/><glyph d="M277 775l104 -161h-76l-96 139zM38 279q0 127 84.5 209.5t209.5 82.5t209.5 -82.5t84.5 -209.5q0 -125 -84.5 -208t-209.5 -83t-209.5 83t-84.5 208zM117 279q0 -96 61.5 -157.5t153.5 -61.5t153.5 61.5t61.5 157.5q0 97 -61 158.5t-154 61.5t-154 -61.5t-61 -158.5z" horiz-adv-x="665" unicode="ò"/><glyph d="M356 614h-76l104 161l67 -22zM38 279q0 127 84.5 209.5t209.5 82.5t209.5 -82.5t84.5 -209.5q0 -125 -84.5 -208t-209.5 -83t-209.5 83t-84.5 208zM117 279q0 -96 61.5 -157.5t153.5 -61.5t153.5 61.5t61.5 157.5q0 97 -61 158.5t-154 61.5t-154 -61.5t-61 -158.5z" horiz-adv-x="665" unicode="ó"/><glyph d="M474 661l-38 -46l-105 88l-105 -87l-38 45l143 118zM38 279q0 127 84.5 209.5t209.5 82.5t209.5 -82.5t84.5 -209.5q0 -125 -84.5 -208t-209.5 -83t-209.5 83t-84.5 208zM117 279q0 -96 61.5 -157.5t153.5 -61.5t153.5 61.5t61.5 157.5q0 97 -61 158.5t-154 61.5 t-154 -61.5t-61 -158.5z" horiz-adv-x="665" unicode="ô"/><glyph d="M453 729l16 -60q-6 -10 -25.5 -20.5t-44.5 -10.5q-27 0 -68 17t-66 17q-36 0 -61 -28l-16 60q22 34 71 34q26 0 66.5 -17.5t67.5 -17.5q31 0 60 26zM38 279q0 127 84.5 209.5t209.5 82.5t209.5 -82.5t84.5 -209.5q0 -125 -84.5 -208t-209.5 -83t-209.5 83t-84.5 208z M117 279q0 -96 61.5 -157.5t153.5 -61.5t153.5 61.5t61.5 157.5q0 97 -61 158.5t-154 61.5t-154 -61.5t-61 -158.5z" horiz-adv-x="665" unicode="õ"/><glyph d="M238 636q-19 0 -32 13.5t-13 32.5q0 20 13.5 33.5t32.5 13.5t32.5 -14t13.5 -33t-14 -32.5t-33 -13.5zM428 636q-19 0 -33 13.5t-14 32.5q0 20 13.5 33.5t33.5 13.5q19 0 32.5 -14t13.5 -33t-13.5 -32.5t-32.5 -13.5zM38 279q0 127 84.5 209.5t209.5 82.5t209.5 -82.5 t84.5 -209.5q0 -125 -84.5 -208t-209.5 -83t-209.5 83t-84.5 208zM117 279q0 -96 61.5 -157.5t153.5 -61.5t153.5 61.5t61.5 157.5q0 97 -61 158.5t-154 61.5t-154 -61.5t-61 -158.5z" horiz-adv-x="665" unicode="ö"/><glyph d="M334 425q-25 0 -39.5 14.5t-14.5 36.5t14.5 36t39.5 14q26 0 40 -14.5t14 -35.5q0 -22 -14 -36.5t-40 -14.5zM524 254h-380v69h380v-69zM334 55q-25 0 -39.5 14.5t-14.5 36.5t14.5 36t39.5 14q26 0 40 -14.5t14 -35.5q0 -22 -14 -36.5t-40 -14.5z" unicode="÷"/><glyph d="M598 566l-59 -75q87 -84 87 -212q0 -125 -84.5 -208t-209.5 -83q-85 0 -153 40l-57 -75l-58 44l58 74q-84 84 -84 208q0 127 84.5 209.5t209.5 82.5q84 0 149 -38l59 76zM117 279q0 -87 52 -147l267 342q-48 25 -104 25q-93 0 -154 -61.5t-61 -158.5zM332 60 q92 0 153.5 61.5t61.5 157.5q0 91 -54 151l-268 -343q49 -27 107 -27z" horiz-adv-x="665" unicode="ø"/><glyph d="M252 775l104 -161h-77l-95 139zM543 560v-319q0 -126 -61.5 -189.5t-176.5 -63.5t-176 63.5t-61 189.5v319h79v-327q0 -173 159 -173t159 173v327h78z" horiz-adv-x="611" unicode="ù"/><glyph d="M331 614h-76l104 161l67 -22zM543 560v-319q0 -126 -61.5 -189.5t-176.5 -63.5t-176 63.5t-61 189.5v319h79v-327q0 -173 159 -173t159 173v327h78z" horiz-adv-x="611" unicode="ú"/><glyph d="M449 661l-38 -46l-105 88l-105 -87l-38 45l143 118zM543 560v-319q0 -126 -61.5 -189.5t-176.5 -63.5t-176 63.5t-61 189.5v319h79v-327q0 -173 159 -173t159 173v327h78z" horiz-adv-x="611" unicode="û"/><glyph d="M213 636q-19 0 -32 13.5t-13 32.5q0 20 13.5 33.5t32.5 13.5t32.5 -14t13.5 -33t-14 -32.5t-33 -13.5zM403 636q-19 0 -33 13.5t-14 32.5q0 20 14 33.5t33 13.5t32.5 -14t13.5 -33t-13.5 -32.5t-32.5 -13.5zM543 560v-319q0 -126 -61.5 -189.5t-176.5 -63.5t-176 63.5 t-61 189.5v319h79v-327q0 -173 159 -173t159 173v327h78z" horiz-adv-x="611" unicode="ü"/><glyph d="M301 614h-76l104 161l67 -22zM309 0h-78v231l-214 329h89l90 -137q20 -29 39 -58.5t29 -44.5l9 -15h2l9 15q10 14 30 44.5t39 59.5l89 136h82l-215 -329v-231z" horiz-adv-x="541" unicode="ý"/><glyph d="M155 441h78q215 0 215 -160q0 -155 -215 -155h-78v-126h-78v560h78v-119zM155 190h80q69 0 101.5 21t32.5 69q0 47 -33 68.5t-101 21.5h-80v-180z" horiz-adv-x="475" unicode="þ"/><glyph d="M183 636q-19 0 -32.5 13.5t-13.5 32.5q0 20 13.5 33.5t33.5 13.5q19 0 32 -13.5t13 -33.5q0 -19 -13.5 -32.5t-32.5 -13.5zM372 636q-19 0 -32.5 13.5t-13.5 32.5q0 20 13.5 33.5t32.5 13.5t32.5 -13.5t13.5 -33.5q0 -19 -13.5 -32.5t-32.5 -13.5zM309 0h-78v231 l-214 329h89l90 -137q20 -29 39 -58.5t29 -44.5l9 -15h2l9 15q10 14 30 44.5t39 59.5l89 136h82l-215 -329v-231z" horiz-adv-x="541" unicode="ÿ"/><glyph d="M943 0h-465q-24 -4 -75 -4q-159 0 -262 98t-103 256t103.5 256t262.5 98q45 0 73 -4h464v-76h-389v-219h307v-76h-307v-253h391v-76zM120 351q0 -129 77.5 -205t206.5 -76q38 0 68 10v542q-29 8 -68 8q-129 0 -206.5 -75t-77.5 -204z" horiz-adv-x="997" unicode="Œ"/><glyph d="M787 0h-388q-21 -3 -64 -3q-130 0 -213.5 78t-83.5 205t83.5 205t214.5 78q40 0 65 -3h381v-73h-315v-162h243v-71h-243v-181h320v-73zM117 281q0 -97 60 -155t160 -58q27 0 55 5v414q-28 5 -55 5q-100 0 -160 -57.5t-60 -153.5z" horiz-adv-x="840" unicode="œ"/><glyph d="M242 776q-19 0 -32.5 13.5t-13.5 32.5t13.5 33t32.5 14t32.5 -13.5t13.5 -33.5q0 -19 -13.5 -32.5t-32.5 -13.5zM431 776q-19 0 -32.5 13.5t-13.5 32.5q0 20 13.5 33.5t32.5 13.5t32.5 -14t13.5 -33t-13.5 -32.5t-32.5 -13.5zM369 304v-304h-82v304l-270 396h94l157 -230 q16 -22 31.5 -45t22.5 -35l8 -11h2l7 11q7 11 22 33.5t31 44.5l159 232h89z" horiz-adv-x="657" unicode="Ÿ"/><glyph d="M409 801l-38 -46l-104 88l-105 -87l-39 45l144 118z" horiz-adv-x="533" unicode="ˆ"/><glyph d="M390 869l16 -60q-22 -31 -70 -31q-27 0 -68 17t-66 17q-36 0 -61 -28l-16 60q22 34 71 34q26 0 66.5 -17.5t67.5 -17.5q31 0 60 26z" horiz-adv-x="533" unicode="˜"/><glyph horiz-adv-x="463"/><glyph horiz-adv-x="926"/><glyph horiz-adv-x="463"/><glyph horiz-adv-x="926"/><glyph horiz-adv-x="308"/><glyph horiz-adv-x="231"/><glyph horiz-adv-x="154"/><glyph horiz-adv-x="154"/><glyph horiz-adv-x="115"/><glyph horiz-adv-x="185"/><glyph horiz-adv-x="51"/><glyph d="M480 254h-380v69h380v-69z" horiz-adv-x="581" unicode="‐"/><glyph d="M480 254h-380v69h380v-69z" horiz-adv-x="581" unicode="‑"/><glyph d="M480 254h-380v69h380v-69z" horiz-adv-x="581" unicode="‒"/><glyph d="M567 254h-467v69h467v-69z" unicode="–"/><glyph d="M900 254h-800v69h800v-69z" horiz-adv-x="1001" unicode="—"/><glyph d="M116 607q20 3 33 -8.5t13 -32.5q0 -20 -14.5 -33.5t-37.5 -13.5q-27 0 -43 17.5t-16 47.5q0 37 24.5 75t66.5 52l33 -38q-22 -7 -39 -27t-20 -39z" horiz-adv-x="224" unicode="‘"/><glyph d="M108 624q-21 -3 -33.5 8.5t-12.5 32.5q0 20 14.5 33.5t37.5 13.5q27 0 42.5 -17.5t15.5 -47.5q0 -37 -24.5 -75t-65.5 -52l-33 38q21 7 38 27t21 39z" horiz-adv-x="224" unicode="’"/><glyph d="M108 -2q-21 -3 -33.5 8.5t-12.5 31.5q0 21 14 34t38 13q27 0 42.5 -17t15.5 -47q0 -37 -24.5 -75t-65.5 -53l-33 39q21 7 38 27t21 39z" horiz-adv-x="224" unicode="‚"/><glyph d="M297 607q21 3 33.5 -8.5t12.5 -32.5q0 -20 -14.5 -33.5t-37.5 -13.5q-27 0 -43 17.5t-16 47.5q0 37 24.5 75t66.5 52l33 -38q-21 -7 -38 -27t-21 -39zM114 607q20 3 32.5 -8.5t12.5 -32.5q0 -20 -14 -33.5t-37 -13.5q-27 0 -43 17.5t-16 47.5q0 37 24.5 75t66.5 52 l32 -38q-21 -7 -38 -27t-20 -39z" horiz-adv-x="407" unicode="“"/><glyph d="M108 624q-21 -3 -33.5 8.5t-12.5 32.5q0 20 14.5 33.5t37.5 13.5q27 0 42.5 -17.5t15.5 -47.5q0 -37 -24.5 -75t-65.5 -52l-33 38q21 7 38 27t21 39zM291 624q-20 -3 -32.5 8.5t-12.5 32.5q0 20 14 33.5t37 13.5q27 0 43 -17.5t16 -47.5q0 -37 -24.5 -75t-66.5 -52 l-33 38q22 7 39 27t20 39z" horiz-adv-x="407" unicode="”"/><glyph d="M108 -2q-21 -3 -33.5 8.5t-12.5 31.5q0 21 14 34t38 13q27 0 42.5 -17t15.5 -47q0 -37 -24.5 -75t-65.5 -53l-33 39q21 7 38 27t21 39zM278 -2q-21 -3 -33.5 8.5t-12.5 31.5q0 21 14 34t38 13q27 0 43 -17t16 -47q0 -37 -24.5 -75t-66.5 -53l-33 39q21 7 38 27t21 39z" horiz-adv-x="394" unicode="„"/><glyph d="M159 205q-35 0 -58.5 22.5t-23.5 57.5q0 34 23.5 56.5t58.5 22.5t58.5 -22.5t23.5 -56.5q0 -35 -23.5 -57.5t-58.5 -22.5z" horiz-adv-x="318" unicode="•"/><glyph d="M102 -11q-21 0 -33 12t-12 30t12 29.5t33 11.5t32.5 -11.5t11.5 -29.5q0 -19 -11.5 -30.5t-32.5 -11.5zM342 -11q-21 0 -33 12t-12 30t12 29.5t33 11.5t32.5 -11.5t11.5 -29.5q0 -19 -11.5 -30.5t-32.5 -11.5zM592 -11q-21 0 -33 12t-12 30t12 29.5t33 11.5t32.5 -11.5 t11.5 -29.5q0 -19 -11.5 -30.5t-32.5 -11.5z" horiz-adv-x="694" unicode="…"/><glyph horiz-adv-x="185"/><glyph d="M295 513l47 -47l-192 -186v-3l192 -186l-47 -47l-235 235z" horiz-adv-x="402" unicode="‹"/><glyph d="M107 44l-47 47l192 186v3l-192 186l47 47l235 -234z" horiz-adv-x="402" unicode="›"/><glyph horiz-adv-x="231"/><glyph d="M482 155l76 -21q-23 -64 -79.5 -105t-145.5 -41q-101 0 -164 52t-82 153h-49v61h42l-1 31v20h-40v60h46q17 101 78.5 153.5t163.5 52.5q88 0 149.5 -39.5t78.5 -116.5l-76 -21q-11 44 -47 75t-104 31q-131 0 -158 -135h173v-60h-180l-1 -19q0 -6 0.5 -16.5t0.5 -15.5h180 v-61h-171q30 -132 164 -132q109 0 146 94z" horiz-adv-x="602" unicode="€"/><glyph d="M707 375h-54v132v124h-1l-5 -10q-5 -10 -13.5 -27.5t-16.5 -32.5l-58 -112h-34l-58 112q-8 15 -17.5 33t-15.5 28l-5 10h-1l1 -125v-132h-53v325h68l71 -138q7 -12 14 -25.5t11 -20.5l3 -6h1q3 3 26 51l69 139h68v-325zM312 700v-52h-110v-273h-55v273h-110v52h275z" horiz-adv-x="784" unicode="™"/><hkern k="-7" u1="2" u2="7"/><hkern k="17" u1="þ" u2="j"/><hkern k="83" u1="“" u2="æ"/><hkern k="83" u1="“" u2="å"/><hkern k="83" u1="“" u2="ä"/><hkern k="83" u1="“" u2="ã"/><hkern k="83" u1="“" u2="â"/><hkern k="83" u1="“" u2="á"/><hkern k="83" u1="“" u2="à"/><hkern k="83" u1="“" u2="Æ"/><hkern k="83" u1="“" u2="Å"/><hkern k="83" u1="“" u2="Ä"/><hkern k="83" u1="“" u2="Ã"/><hkern k="83" u1="“" u2="Â"/><hkern k="83" u1="“" u2="Á"/><hkern k="83" u1="“" u2="À"/><hkern k="116" u1="“" u2="j"/><hkern k="83" u1="“" u2="a"/><hkern k="123" u1="“" u2="J"/><hkern k="83" u1="“" u2="A"/><hkern g1="germandbls" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="20"/><hkern g1="germandbls" g2="Y,Yacute,Ydieresis" k="80"/><hkern g1="germandbls" g2="j" k="-13"/><hkern g1="germandbls" g2="T" k="40"/><hkern g1="germandbls" g2="v,w,yen" k="33"/><hkern g1="germandbls" g2="u,ugrave,uacute,ucircumflex,udieresis" k="10"/><hkern g1="germandbls" g2="y,yacute,ydieresis" k="33"/><hkern g1="germandbls" g2="V,W" k="80"/><hkern g1="germandbls" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="50"/><hkern g1="germandbls" g2="t" k="44"/><hkern g1="r" g2="J" k="-20"/><hkern g1="r" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="37"/><hkern g1="r" g2="Y,Yacute,Ydieresis" k="74"/><hkern g1="r" g2="j" k="-20"/><hkern g1="r" g2="T" k="60"/><hkern g1="r" g2="v,w,yen" k="10"/><hkern g1="r" g2="u,ugrave,uacute,ucircumflex,udieresis" k="5"/><hkern g1="r" g2="y,yacute,ydieresis" k="22"/><hkern g1="r" g2="V,W" k="47"/><hkern g1="r" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="16"/><hkern g1="r" g2="t" k="20"/><hkern g1="r" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="3"/><hkern g1="r" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="-3"/><hkern g1="r" g2="z" k="13"/><hkern g1="r" g2="numbersign" k="-3"/><hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="J" k="17"/><hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="j" k="47"/><hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="y,yacute,ydieresis" k="7"/><hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="-10"/><hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="-3"/><hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="13"/><hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="60"/><hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="z" k="16"/><hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="dollar,s" k="7"/><hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="37"/><hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="X" k="7"/><hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="40"/><hkern g1="z" g2="Y,Yacute,Ydieresis" k="34"/><hkern g1="z" g2="j" k="-13"/><hkern g1="z" g2="T" k="40"/><hkern g1="z" g2="V,W" k="16"/><hkern g1="z" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="13"/><hkern g1="z" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="13"/><hkern g1="z" g2="guillemotleft,guilsinglleft" k="13"/><hkern g1="ordfeminine" g2="J" k="66"/><hkern g1="ordfeminine" g2="v,w,yen" k="34"/><hkern g1="ordfeminine" g2="y,yacute,ydieresis" k="46"/><hkern g1="ordfeminine" g2="t" k="50"/><hkern g1="b" g2="Y,Yacute,Ydieresis" k="77"/><hkern g1="b" g2="j" k="-7"/><hkern g1="b" g2="T" k="87"/><hkern g1="b" g2="v,w,yen" k="14"/><hkern g1="b" g2="y,yacute,ydieresis" k="40"/><hkern g1="b" g2="V,W" k="77"/><hkern g1="b" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="30"/><hkern g1="b" g2="t" k="27"/><hkern g1="b" g2="x" k="10"/><hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="J" k="-3"/><hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="7"/><hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="j" k="-3"/><hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="27"/><hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="13"/><hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="dollar,s" k="7"/><hkern g1="Z" g2="v,w,yen" k="13"/><hkern g1="Z" g2="y,yacute,ydieresis" k="13"/><hkern g1="Z" g2="t" k="27"/><hkern g1="Z" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="16"/><hkern g1="Z" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="16"/><hkern g1="Z" g2="guillemotleft,guilsinglleft" k="13"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="J" k="10"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="13"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="Y,Yacute,Ydieresis" k="100"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="j" k="17"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="T" k="103"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="v,w,yen" k="20"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="y,yacute,ydieresis" k="35"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="V,W" k="60"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="50"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="t" k="40"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="-2"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="-5"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="backslash" k="53"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="21"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="z" k="13"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="23"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="X" k="33"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="27"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="x" k="26"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="parenright" k="27"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="degree" k="34"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="slash" k="-3"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="braceright" k="37"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="bracketright" k="26"/><hkern g1="R" g2="J" k="-7"/><hkern g1="R" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="7"/><hkern g1="R" g2="Y,Yacute,Ydieresis" k="37"/><hkern g1="R" g2="j" k="-23"/><hkern g1="R" g2="T" k="23"/><hkern g1="R" g2="u,ugrave,uacute,ucircumflex,udieresis" k="3"/><hkern g1="R" g2="V,W" k="17"/><hkern g1="R" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="3"/><hkern g1="R" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="13"/><hkern g1="R" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="-3"/><hkern g1="R" g2="numbersign" k="-13"/><hkern g1="R" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="-5"/><hkern g1="R" g2="Z" k="13"/><hkern g1="g" g2="Y,Yacute,Ydieresis" k="50"/><hkern g1="g" g2="j" k="-13"/><hkern g1="g" g2="T" k="77"/><hkern g1="g" g2="v,w,yen" k="20"/><hkern g1="g" g2="y,yacute,ydieresis" k="33"/><hkern g1="g" g2="V,W" k="27"/><hkern g1="g" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="27"/><hkern g1="g" g2="t" k="23"/><hkern g1="t" g2="J" k="80"/><hkern g1="t" g2="Y,Yacute,Ydieresis" k="20"/><hkern g1="t" g2="j" k="103"/><hkern g1="t" g2="T" k="33"/><hkern g1="t" g2="four" k="30"/><hkern g1="t" g2="hyphen,uni00AD,divide,endash,emdash" k="60"/><hkern g1="t" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="40"/><hkern g1="t" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="101"/><hkern g1="t" g2="numbersign" k="40"/><hkern g1="t" g2="dollar,s" k="20"/><hkern g1="t" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="67"/><hkern g1="t" g2="X" k="30"/><hkern g1="t" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="77"/><hkern g1="t" g2="guillemotleft,guilsinglleft" k="7"/><hkern g1="t" g2="slash" k="47"/><hkern g1="t" g2="ordfeminine" k="50"/><hkern g1="t" g2="ampersand" k="27"/><hkern g1="t" g2="bullet" k="40"/><hkern g1="B" g2="J" k="-13"/><hkern g1="B" g2="Y,Yacute,Ydieresis" k="40"/><hkern g1="B" g2="T" k="43"/><hkern g1="B" g2="v,w,yen" k="20"/><hkern g1="B" g2="y,yacute,ydieresis" k="20"/><hkern g1="B" g2="V,W" k="26"/><hkern g1="B" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="-3"/><hkern g1="B" g2="X" k="10"/><hkern g1="B" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="3"/><hkern g1="l" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="37"/><hkern g1="l" g2="Y,Yacute,Ydieresis" k="130"/><hkern g1="l" g2="j" k="-27"/><hkern g1="l" g2="T" k="86"/><hkern g1="l" g2="v,w,yen" k="80"/><hkern g1="l" g2="u,ugrave,uacute,ucircumflex,udieresis" k="43"/><hkern g1="l" g2="y,yacute,ydieresis" k="97"/><hkern g1="l" g2="V,W" k="124"/><hkern g1="l" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="69"/><hkern g1="l" g2="t" k="101"/><hkern g1="l" g2="question" k="80"/><hkern g1="l" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="20"/><hkern g1="l" g2="seven" k="40"/><hkern g1="l" g2="four" k="27"/><hkern g1="l" g2="hyphen,uni00AD,divide,endash,emdash" k="80"/><hkern g1="l" g2="trademark" k="140"/><hkern g1="l" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="34"/><hkern g1="l" g2="backslash" k="100"/><hkern g1="l" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="-3"/><hkern g1="ordmasculine" g2="J" k="17"/><hkern g1="ordmasculine" g2="v,w,yen" k="-7"/><hkern g1="ordmasculine" g2="y,yacute,ydieresis" k="-20"/><hkern g1="ordmasculine" g2="V,W" k="-5"/><hkern g1="ordmasculine" g2="seven" k="-7"/><hkern g1="ordmasculine" g2="x" k="-13"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="J" k="26"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="-3"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="Y,Yacute,Ydieresis" k="50"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="j" k="30"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="T" k="40"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="V,W" k="30"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="14"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="-5"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="-2"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="43"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="z" k="13"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="30"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="X" k="33"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="27"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="parenright" k="33"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="degree" k="34"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="braceright" k="20"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="bracketright" k="20"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="Z" k="16"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="one" k="7"/><hkern g1="y,yacute,ydieresis" g2="J" k="100"/><hkern g1="y,yacute,ydieresis" g2="Y,Yacute,Ydieresis" k="7"/><hkern g1="y,yacute,ydieresis" g2="j" k="100"/><hkern g1="y,yacute,ydieresis" g2="T" k="27"/><hkern g1="y,yacute,ydieresis" g2="v,w,yen" k="-10"/><hkern g1="y,yacute,ydieresis" g2="y,yacute,ydieresis" k="-3"/><hkern g1="y,yacute,ydieresis" g2="hyphen,uni00AD,divide,endash,emdash" k="50"/><hkern g1="y,yacute,ydieresis" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="35"/><hkern g1="y,yacute,ydieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="90"/><hkern g1="y,yacute,ydieresis" g2="numbersign" k="20"/><hkern g1="y,yacute,ydieresis" g2="dollar,s" k="7"/><hkern g1="y,yacute,ydieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="90"/><hkern g1="y,yacute,ydieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="83"/><hkern g1="y,yacute,ydieresis" g2="guillemotleft,guilsinglleft" k="10"/><hkern g1="y,yacute,ydieresis" g2="x" k="7"/><hkern g1="y,yacute,ydieresis" g2="slash" k="17"/><hkern g1="y,yacute,ydieresis" g2="ordfeminine" k="46"/><hkern g1="y,yacute,ydieresis" g2="bullet" k="26"/><hkern g1="y,yacute,ydieresis" g2="ordmasculine" k="-3"/><hkern g1="y,yacute,ydieresis" g2="periodcentered" k="26"/><hkern g1="G" g2="J" k="-7"/><hkern g1="G" g2="Y,Yacute,Ydieresis" k="23"/><hkern g1="G" g2="T" k="23"/><hkern g1="G" g2="V,W" k="20"/><hkern g1="G" g2="dollar,s" k="-13"/><hkern g1="T" g2="J" k="130"/><hkern g1="T" g2="j" k="127"/><hkern g1="T" g2="v,w,yen" k="27"/><hkern g1="T" g2="u,ugrave,uacute,ucircumflex,udieresis" k="74"/><hkern g1="T" g2="y,yacute,ydieresis" k="27"/><hkern g1="T" g2="t" k="33"/><hkern g1="T" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="40"/><hkern g1="T" g2="seven" k="27"/><hkern g1="T" g2="four" k="127"/><hkern g1="T" g2="hyphen,uni00AD,divide,endash,emdash" k="83"/><hkern g1="T" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="103"/><hkern g1="T" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="110"/><hkern g1="T" g2="z" k="40"/><hkern g1="T" g2="numbersign" k="57"/><hkern g1="T" g2="dollar,s" k="84"/><hkern g1="T" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="110"/><hkern g1="T" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="80"/><hkern g1="T" g2="guillemotleft,guilsinglleft" k="80"/><hkern g1="T" g2="x" k="47"/><hkern g1="T" g2="slash" k="47"/><hkern g1="T" g2="ampersand" k="94"/><hkern g1="T" g2="bullet" k="60"/><hkern g1="T" g2="one" k="53"/><hkern g1="T" g2="periodcentered" k="47"/><hkern g1="T" g2="six" k="87"/><hkern g1="T" g2="two" k="40"/><hkern g1="T" g2="nine" k="67"/><hkern g1="T" g2="three,eight" k="67"/><hkern g1="T" g2="S" k="20"/><hkern g1="T" g2="b,d,e,f,h,i,k,l,m,n,p,r,germandbls,egrave,eacute,ecircumflex,edieresis,igrave,iacute,icircumflex,idieresis,ntilde,thorn" k="81"/><hkern g1="T" g2="five" k="67"/><hkern g1="L" g2="J" k="-14"/><hkern g1="L" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="34"/><hkern g1="L" g2="Y,Yacute,Ydieresis" k="130"/><hkern g1="L" g2="j" k="-7"/><hkern g1="L" g2="T" k="130"/><hkern g1="L" g2="v,w,yen" k="90"/><hkern g1="L" g2="u,ugrave,uacute,ucircumflex,udieresis" k="20"/><hkern g1="L" g2="y,yacute,ydieresis" k="101"/><hkern g1="L" g2="V,W" k="101"/><hkern g1="L" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="80"/><hkern g1="L" g2="t" k="94"/><hkern g1="L" g2="question" k="80"/><hkern g1="L" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="50"/><hkern g1="L" g2="hyphen,uni00AD,divide,endash,emdash" k="80"/><hkern g1="L" g2="trademark" k="140"/><hkern g1="L" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="27"/><hkern g1="L" g2="backslash" k="100"/><hkern g1="L" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="-8"/><hkern g1="L" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="-3"/><hkern g1="L" g2="S" k="20"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="J" k="-20"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="60"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="Y,Yacute,Ydieresis" k="150"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="j" k="-20"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="T" k="120"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="v,w,yen" k="78"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="u,ugrave,uacute,ucircumflex,udieresis" k="28"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="y,yacute,ydieresis" k="90"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="V,W" k="97"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="83"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="t" k="101"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="43"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="four" k="20"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="hyphen,uni00AD,divide,endash,emdash" k="43"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="trademark" k="160"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="21"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="backslash" k="127"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="-20"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="numbersign" k="-24"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="-10"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="X" k="-5"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="x" k="-10"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="bullet" k="20"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="periodcentered" k="20"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="nine" k="20"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="S" k="10"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="asterisk" k="53"/><hkern g1="seven,v,w,yen" g2="J" k="80"/><hkern g1="seven,v,w,yen" g2="Y,Yacute,Ydieresis" k="10"/><hkern g1="seven,v,w,yen" g2="j" k="70"/><hkern g1="seven,v,w,yen" g2="T" k="27"/><hkern g1="seven,v,w,yen" g2="v,w,yen" k="-14"/><hkern g1="seven,v,w,yen" g2="y,yacute,ydieresis" k="-10"/><hkern g1="seven,v,w,yen" g2="seven" k="-3"/><hkern g1="seven,v,w,yen" g2="four" k="50"/><hkern g1="seven,v,w,yen" g2="hyphen,uni00AD,divide,endash,emdash" k="30"/><hkern g1="seven,v,w,yen" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="20"/><hkern g1="seven,v,w,yen" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="78"/><hkern g1="seven,v,w,yen" g2="numbersign" k="23"/><hkern g1="seven,v,w,yen" g2="dollar,s" k="3"/><hkern g1="seven,v,w,yen" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="67"/><hkern g1="seven,v,w,yen" g2="X" k="3"/><hkern g1="seven,v,w,yen" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="74"/><hkern g1="seven,v,w,yen" g2="guillemotleft,guilsinglleft" k="10"/><hkern g1="seven,v,w,yen" g2="slash" k="84"/><hkern g1="seven,v,w,yen" g2="ordfeminine" k="34"/><hkern g1="seven,v,w,yen" g2="ordmasculine" k="-7"/><hkern g1="seven,v,w,yen" g2="six" k="37"/><hkern g1="seven,v,w,yen" g2="five" k="3"/><hkern g1="Y,Yacute,Ydieresis" g2="J" k="143"/><hkern g1="Y,Yacute,Ydieresis" g2="Y,Yacute,Ydieresis" k="-10"/><hkern g1="Y,Yacute,Ydieresis" g2="j" k="120"/><hkern g1="Y,Yacute,Ydieresis" g2="v,w,yen" k="10"/><hkern g1="Y,Yacute,Ydieresis" g2="u,ugrave,uacute,ucircumflex,udieresis" k="20"/><hkern g1="Y,Yacute,Ydieresis" g2="y,yacute,ydieresis" k="7"/><hkern g1="Y,Yacute,Ydieresis" g2="V,W" k="-10"/><hkern g1="Y,Yacute,Ydieresis" g2="t" k="20"/><hkern g1="Y,Yacute,Ydieresis" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="50"/><hkern g1="Y,Yacute,Ydieresis" g2="four" k="84"/><hkern g1="Y,Yacute,Ydieresis" g2="hyphen,uni00AD,divide,endash,emdash" k="76"/><hkern g1="Y,Yacute,Ydieresis" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="100"/><hkern g1="Y,Yacute,Ydieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="150"/><hkern g1="Y,Yacute,Ydieresis" g2="z" k="34"/><hkern g1="Y,Yacute,Ydieresis" g2="numbersign" k="110"/><hkern g1="Y,Yacute,Ydieresis" g2="dollar,s" k="53"/><hkern g1="Y,Yacute,Ydieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="107"/><hkern g1="Y,Yacute,Ydieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="83"/><hkern g1="Y,Yacute,Ydieresis" g2="guillemotleft,guilsinglleft" k="120"/><hkern g1="Y,Yacute,Ydieresis" g2="x" k="13"/><hkern g1="Y,Yacute,Ydieresis" g2="slash" k="104"/><hkern g1="Y,Yacute,Ydieresis" g2="ampersand" k="70"/><hkern g1="Y,Yacute,Ydieresis" g2="bullet" k="47"/><hkern g1="Y,Yacute,Ydieresis" g2="periodcentered" k="47"/><hkern g1="Y,Yacute,Ydieresis" g2="six" k="50"/><hkern g1="Y,Yacute,Ydieresis" g2="S" k="14"/><hkern g1="Y,Yacute,Ydieresis" g2="b,d,e,f,h,i,k,l,m,n,p,r,germandbls,egrave,eacute,ecircumflex,edieresis,igrave,iacute,icircumflex,idieresis,ntilde,thorn" k="40"/><hkern g1="Y,Yacute,Ydieresis" g2="five" k="40"/><hkern g1="Y,Yacute,Ydieresis" g2="guillemotright,guilsinglright" k="50"/><hkern g1="f" g2="J" k="76"/><hkern g1="f" g2="Y,Yacute,Ydieresis" k="7"/><hkern g1="f" g2="j" k="113"/><hkern g1="f" g2="T" k="53"/><hkern g1="f" g2="V,W" k="33"/><hkern g1="f" g2="four" k="53"/><hkern g1="f" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="16"/><hkern g1="f" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="94"/><hkern g1="f" g2="numbersign" k="33"/><hkern g1="f" g2="dollar,s" k="7"/><hkern g1="f" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="53"/><hkern g1="f" g2="X" k="20"/><hkern g1="f" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="117"/><hkern g1="f" g2="slash" k="57"/><hkern g1="f" g2="braceright" k="7"/><hkern g1="f" g2="bracketright" k="7"/><hkern g1="f" g2="ordfeminine" k="50"/><hkern g1="f" g2="ordmasculine" k="13"/><hkern g1="dollar,s" g2="J" k="-13"/><hkern g1="dollar,s" g2="Y,Yacute,Ydieresis" k="33"/><hkern g1="dollar,s" g2="j" k="-13"/><hkern g1="dollar,s" g2="T" k="80"/><hkern g1="dollar,s" g2="v,w,yen" k="3"/><hkern g1="dollar,s" g2="V,W" k="13"/><hkern g1="dollar,s" g2="t" k="20"/><hkern g1="dollar,s" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="10"/><hkern g1="dollar,s" g2="x" k="7"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="J" k="-34"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="37"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="Y,Yacute,Ydieresis" k="107"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="j" k="-7"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="T" k="110"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="v,w,yen" k="67"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="u,ugrave,uacute,ucircumflex,udieresis" k="37"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="y,yacute,ydieresis" k="90"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="V,W" k="89"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="67"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="t" k="67"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="30"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="four" k="27"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="hyphen,uni00AD,divide,endash,emdash" k="34"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="trademark" k="150"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="23"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="backslash" k="107"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="-10"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="numbersign" k="-13"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="-16"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="X" k="-16"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="guillemotleft,guilsinglleft" k="37"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="bullet" k="13"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="periodcentered" k="26"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="nine" k="54"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="asterisk" k="60"/><hkern g1="V,W" g2="J" k="100"/><hkern g1="V,W" g2="Y,Yacute,Ydieresis" k="-10"/><hkern g1="V,W" g2="j" k="103"/><hkern g1="V,W" g2="u,ugrave,uacute,ucircumflex,udieresis" k="13"/><hkern g1="V,W" g2="V,W" k="-10"/><hkern g1="V,W" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="30"/><hkern g1="V,W" g2="seven" k="-13"/><hkern g1="V,W" g2="four" k="91"/><hkern g1="V,W" g2="hyphen,uni00AD,divide,endash,emdash" k="70"/><hkern g1="V,W" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="60"/><hkern g1="V,W" g2="backslash" k="-50"/><hkern g1="V,W" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="97"/><hkern g1="V,W" g2="z" k="16"/><hkern g1="V,W" g2="numbersign" k="50"/><hkern g1="V,W" g2="dollar,s" k="37"/><hkern g1="V,W" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="89"/><hkern g1="V,W" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="76"/><hkern g1="V,W" g2="guillemotleft,guilsinglleft" k="100"/><hkern g1="V,W" g2="x" k="27"/><hkern g1="V,W" g2="slash" k="63"/><hkern g1="V,W" g2="ampersand" k="20"/><hkern g1="V,W" g2="ordmasculine" k="-5"/><hkern g1="V,W" g2="six" k="46"/><hkern g1="V,W" g2="S" k="3"/><hkern g1="V,W" g2="b,d,e,f,h,i,k,l,m,n,p,r,germandbls,egrave,eacute,ecircumflex,edieresis,igrave,iacute,icircumflex,idieresis,ntilde,thorn" k="23"/><hkern g1="V,W" g2="five" k="47"/><hkern g1="V,W" g2="guillemotright,guilsinglright" k="50"/><hkern g1="k" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="13"/><hkern g1="k" g2="Y,Yacute,Ydieresis" k="34"/><hkern g1="k" g2="j" k="-23"/><hkern g1="k" g2="T" k="53"/><hkern g1="k" g2="v,w,yen" k="7"/><hkern g1="k" g2="u,ugrave,uacute,ucircumflex,udieresis" k="13"/><hkern g1="k" g2="y,yacute,ydieresis" k="13"/><hkern g1="k" g2="V,W" k="13"/><hkern g1="k" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="30"/><hkern g1="k" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="28"/><hkern g1="k" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="-20"/><hkern g1="k" g2="dollar,s" k="10"/><hkern g1="k" g2="ampersand" k="17"/><hkern g1="c,ccedilla,Euro" g2="Y,Yacute,Ydieresis" k="73"/><hkern g1="c,ccedilla,Euro" g2="T" k="20"/><hkern g1="c,ccedilla,Euro" g2="v,w,yen" k="7"/><hkern g1="c,ccedilla,Euro" g2="y,yacute,ydieresis" k="10"/><hkern g1="c,ccedilla,Euro" g2="V,W" k="30"/><hkern g1="c,ccedilla,Euro" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="16"/><hkern g1="c,ccedilla,Euro" g2="t" k="27"/><hkern g1="c,ccedilla,Euro" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="7"/><hkern g1="c,ccedilla,Euro" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="13"/><hkern g1="c,ccedilla,Euro" g2="x" k="7"/><hkern g1="c,ccedilla,Euro" g2="b,d,e,f,h,i,k,l,m,n,p,r,germandbls,egrave,eacute,ecircumflex,edieresis,igrave,iacute,icircumflex,idieresis,ntilde,thorn" k="13"/><hkern g1="x" g2="Y,Yacute,Ydieresis" k="13"/><hkern g1="x" g2="j" k="-27"/><hkern g1="x" g2="T" k="47"/><hkern g1="x" g2="u,ugrave,uacute,ucircumflex,udieresis" k="3"/><hkern g1="x" g2="y,yacute,ydieresis" k="7"/><hkern g1="x" g2="V,W" k="27"/><hkern g1="x" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="26"/><hkern g1="x" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="-10"/><hkern g1="x" g2="dollar,s" k="7"/><hkern g1="x" g2="x" k="-10"/><hkern g1="x" g2="ordmasculine" k="-13"/><hkern g1="F" g2="J" k="146"/><hkern g1="F" g2="j" k="116"/><hkern g1="F" g2="v,w,yen" k="20"/><hkern g1="F" g2="y,yacute,ydieresis" k="27"/><hkern g1="F" g2="t" k="40"/><hkern g1="F" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="24"/><hkern g1="F" g2="four" k="70"/><hkern g1="F" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="48"/><hkern g1="F" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="110"/><hkern g1="F" g2="z" k="27"/><hkern g1="F" g2="numbersign" k="63"/><hkern g1="F" g2="dollar,s" k="27"/><hkern g1="F" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="113"/><hkern g1="F" g2="X" k="3"/><hkern g1="F" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="126"/><hkern g1="F" g2="slash" k="80"/><hkern g1="F" g2="ampersand" k="27"/><hkern g1="F" g2="six" k="44"/><hkern g1="F" g2="S" k="14"/><hkern g1="F" g2="b,d,e,f,h,i,k,l,m,n,p,r,germandbls,egrave,eacute,ecircumflex,edieresis,igrave,iacute,icircumflex,idieresis,ntilde,thorn" k="33"/><hkern g1="p,thorn" g2="J" k="60"/><hkern g1="p,thorn" g2="Y,Yacute,Ydieresis" k="64"/><hkern g1="p,thorn" g2="j" k="83"/><hkern g1="p,thorn" g2="T" k="87"/><hkern g1="p,thorn" g2="y,yacute,ydieresis" k="7"/><hkern g1="p,thorn" g2="V,W" k="23"/><hkern g1="p,thorn" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="16"/><hkern g1="p,thorn" g2="four" k="27"/><hkern g1="p,thorn" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="-3"/><hkern g1="p,thorn" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="57"/><hkern g1="p,thorn" g2="numbersign" k="27"/><hkern g1="p,thorn" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="53"/><hkern g1="p,thorn" g2="X" k="47"/><hkern g1="p,thorn" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="90"/><hkern g1="p,thorn" g2="x" k="13"/><hkern g1="p,thorn" g2="parenright" k="7"/><hkern g1="p,thorn" g2="slash" k="50"/><hkern g1="p,thorn" g2="braceright" k="13"/><hkern g1="p,thorn" g2="bracketright" k="10"/><hkern g1="p,thorn" g2="Z" k="13"/><hkern g1="p,thorn" g2="ordfeminine" k="13"/><hkern g1="S" g2="J" k="-13"/><hkern g1="S" g2="Y,Yacute,Ydieresis" k="14"/><hkern g1="S" g2="T" k="20"/><hkern g1="S" g2="X" k="5"/><hkern g1="S" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="10"/><hkern g1="h,i,m,n,sterling,igrave,iacute,icircumflex,idieresis,ntilde" g2="Y,Yacute,Ydieresis" k="40"/><hkern g1="h,i,m,n,sterling,igrave,iacute,icircumflex,idieresis,ntilde" g2="j" k="-7"/><hkern g1="h,i,m,n,sterling,igrave,iacute,icircumflex,idieresis,ntilde" g2="T" k="81"/><hkern g1="h,i,m,n,sterling,igrave,iacute,icircumflex,idieresis,ntilde" g2="V,W" k="23"/><hkern g1="K" g2="J" k="-23"/><hkern g1="K" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="20"/><hkern g1="K" g2="Y,Yacute,Ydieresis" k="13"/><hkern g1="K" g2="j" k="-16"/><hkern g1="K" g2="T" k="13"/><hkern g1="K" g2="v,w,yen" k="64"/><hkern g1="K" g2="u,ugrave,uacute,ucircumflex,udieresis" k="44"/><hkern g1="K" g2="y,yacute,ydieresis" k="70"/><hkern g1="K" g2="V,W" k="13"/><hkern g1="K" g2="t" k="70"/><hkern g1="K" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="45"/><hkern g1="K" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="44"/><hkern g1="K" g2="dollar,s" k="30"/><hkern g1="K" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="-21"/><hkern g1="j,u,ugrave,uacute,ucircumflex,udieresis" g2="Y,Yacute,Ydieresis" k="20"/><hkern g1="j,u,ugrave,uacute,ucircumflex,udieresis" g2="j" k="10"/><hkern g1="j,u,ugrave,uacute,ucircumflex,udieresis" g2="T" k="74"/><hkern g1="j,u,ugrave,uacute,ucircumflex,udieresis" g2="V,W" k="13"/><hkern g1="j,u,ugrave,uacute,ucircumflex,udieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="28"/><hkern g1="j,u,ugrave,uacute,ucircumflex,udieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="37"/><hkern g1="j,u,ugrave,uacute,ucircumflex,udieresis" g2="X" k="20"/><hkern g1="j,u,ugrave,uacute,ucircumflex,udieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="40"/><hkern g1="j,u,ugrave,uacute,ucircumflex,udieresis" g2="x" k="3"/><hkern g1="C,Ccedilla" g2="Y,Yacute,Ydieresis" k="10"/><hkern g1="C,Ccedilla" g2="T" k="30"/><hkern g1="C,Ccedilla" g2="V,W" k="10"/><hkern g1="C,Ccedilla" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="13"/><hkern g1="C,Ccedilla" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="36"/><hkern g1="C,Ccedilla" g2="numbersign" k="-20"/><hkern g1="C,Ccedilla" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="7"/><hkern g1="C,Ccedilla" g2="X" k="10"/><hkern g1="X" g2="J" k="-20"/><hkern g1="X" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="7"/><hkern g1="X" g2="v,w,yen" k="36"/><hkern g1="X" g2="u,ugrave,uacute,ucircumflex,udieresis" k="20"/><hkern g1="X" g2="y,yacute,ydieresis" k="33"/><hkern g1="X" g2="t" k="30"/><hkern g1="X" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="33"/><hkern g1="X" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="33"/><hkern g1="X" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="-5"/><hkern g1="X" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="-16"/><hkern g1="X" g2="X" k="-10"/><hkern g1="X" g2="ampersand" k="13"/><hkern g1="X" g2="S" k="5"/><hkern g1="P,Thorn" g2="J" k="103"/><hkern g1="P,Thorn" g2="Y,Yacute,Ydieresis" k="10"/><hkern g1="P,Thorn" g2="j" k="103"/><hkern g1="P,Thorn" g2="T" k="27"/><hkern g1="P,Thorn" g2="v,w,yen" k="-7"/><hkern g1="P,Thorn" g2="u,ugrave,uacute,ucircumflex,udieresis" k="-13"/><hkern g1="P,Thorn" g2="y,yacute,ydieresis" k="-7"/><hkern g1="P,Thorn" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="-10"/><hkern g1="P,Thorn" g2="four" k="47"/><hkern g1="P,Thorn" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="70"/><hkern g1="P,Thorn" g2="numbersign" k="46"/><hkern g1="P,Thorn" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="83"/><hkern g1="P,Thorn" g2="X" k="33"/><hkern g1="P,Thorn" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="107"/><hkern g1="P,Thorn" g2="slash" k="60"/><hkern g1="P,Thorn" g2="Z" k="20"/><hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="Y,Yacute,Ydieresis" k="27"/><hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="j" k="-3"/><hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="T" k="33"/><hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="u,ugrave,uacute,ucircumflex,udieresis" k="7"/><hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="20"/><hkern g1="guillemotleft,guilsinglleft" g2="V,W" k="50"/><hkern g1="guillemotleft,guilsinglleft" g2="Y,Yacute,Ydieresis" k="50"/><hkern g1="guillemotleft,guilsinglleft" g2="J" k="13"/><hkern g1="guillemotleft,guilsinglleft" g2="T" k="10"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="V,W" k="76"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="Y,Yacute,Ydieresis" k="83"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="J" k="-34"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="T" k="80"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="t" k="77"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="27"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="S" k="3"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="u,ugrave,uacute,ucircumflex,udieresis" k="40"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="four" k="55"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="y,yacute,ydieresis" k="77"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="six" k="20"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="j" k="-27"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="one" k="47"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="nine" k="60"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="v,w,yen" k="74"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="27"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="numbersign" k="-10"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="40"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="dollar,s" k="3"/><hkern g1="four" g2="Y,Yacute,Ydieresis" k="20"/><hkern g1="four" g2="T" k="70"/><hkern g1="four" g2="backslash" k="53"/><hkern g1="four" g2="slash" k="-30"/><hkern g1="four" g2="ordmasculine" k="13"/><hkern g1="four" g2="seven" k="13"/><hkern g1="ampersand" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="13"/><hkern g1="ampersand" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="27"/><hkern g1="ampersand" g2="V,W" k="34"/><hkern g1="ampersand" g2="Y,Yacute,Ydieresis" k="83"/><hkern g1="ampersand" g2="J" k="40"/><hkern g1="ampersand" g2="T" k="110"/><hkern g1="ampersand" g2="t" k="50"/><hkern g1="ampersand" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="-10"/><hkern g1="ampersand" g2="y,yacute,ydieresis" k="27"/><hkern g1="ampersand" g2="j" k="47"/><hkern g1="ampersand" g2="one" k="37"/><hkern g1="ampersand" g2="v,w,yen" k="23"/><hkern g1="ampersand" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="-10"/><hkern g1="ampersand" g2="seven" k="57"/><hkern g1="ampersand" g2="x" k="20"/><hkern g1="ampersand" g2="two" k="37"/><hkern g1="ampersand" g2="X" k="33"/><hkern g1="ampersand" g2="z" k="13"/><hkern g1="ampersand" g2="three,eight" k="30"/><hkern g1="three,eight" g2="T" k="67"/><hkern g1="three,eight" g2="backslash" k="57"/><hkern g1="three,eight" g2="slash" k="-14"/><hkern g1="braceleft" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="20"/><hkern g1="braceleft" g2="four" k="57"/><hkern g1="braceleft" g2="one" k="13"/><hkern g1="braceleft" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="44"/><hkern g1="numbersign" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="50"/><hkern g1="numbersign" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="60"/><hkern g1="numbersign" g2="V,W" k="-27"/><hkern g1="numbersign" g2="Y,Yacute,Ydieresis" k="7"/><hkern g1="numbersign" g2="T" k="-37"/><hkern g1="numbersign" g2="t" k="-30"/><hkern g1="numbersign" g2="y,yacute,ydieresis" k="-3"/><hkern g1="numbersign" g2="j" k="47"/><hkern g1="numbersign" g2="v,w,yen" k="-7"/><hkern g1="numbersign" g2="backslash" k="13"/><hkern g1="numbersign" g2="slash" k="53"/><hkern g1="numbersign" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="80"/><hkern g1="six" g2="V,W" k="70"/><hkern g1="six" g2="Y,Yacute,Ydieresis" k="64"/><hkern g1="six" g2="T" k="80"/><hkern g1="six" g2="y,yacute,ydieresis" k="46"/><hkern g1="six" g2="one" k="40"/><hkern g1="six" g2="v,w,yen" k="30"/><hkern g1="six" g2="backslash" k="73"/><hkern g1="six" g2="slash" k="-20"/><hkern g1="six" g2="seven" k="27"/><hkern g1="six" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="27"/><hkern g1="nine" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="50"/><hkern g1="nine" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="37"/><hkern g1="nine" g2="J" k="70"/><hkern g1="nine" g2="T" k="67"/><hkern g1="nine" g2="j" k="40"/><hkern g1="nine" g2="backslash" k="30"/><hkern g1="nine" g2="slash" k="13"/><hkern g1="nine" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="76"/><hkern g1="nine" g2="five" k="3"/><hkern g1="bullet" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="13"/><hkern g1="bullet" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="20"/><hkern g1="bullet" g2="Y,Yacute,Ydieresis" k="47"/><hkern g1="bullet" g2="J" k="46"/><hkern g1="bullet" g2="T" k="60"/><hkern g1="bullet" g2="t" k="40"/><hkern g1="bullet" g2="y,yacute,ydieresis" k="26"/><hkern g1="bullet" g2="j" k="56"/><hkern g1="periodcentered" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="26"/><hkern g1="periodcentered" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="20"/><hkern g1="periodcentered" g2="Y,Yacute,Ydieresis" k="47"/><hkern g1="periodcentered" g2="J" k="33"/><hkern g1="periodcentered" g2="T" k="47"/><hkern g1="periodcentered" g2="y,yacute,ydieresis" k="26"/><hkern g1="periodcentered" g2="j" k="20"/><hkern g1="slash" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="107"/><hkern g1="slash" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="127"/><hkern g1="slash" g2="t" k="-7"/><hkern g1="slash" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="7"/><hkern g1="slash" g2="S" k="26"/><hkern g1="slash" g2="four" k="133"/><hkern g1="slash" g2="six" k="100"/><hkern g1="slash" g2="j" k="53"/><hkern g1="slash" g2="one" k="80"/><hkern g1="slash" g2="nine" k="47"/><hkern g1="slash" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="83"/><hkern g1="slash" g2="numbersign" k="116"/><hkern g1="slash" g2="dollar,s" k="53"/><hkern g1="slash" g2="two" k="64"/><hkern g1="slash" g2="z" k="7"/><hkern g1="slash" g2="three,eight" k="80"/><hkern g1="slash" g2="five" k="56"/><hkern g1="two" g2="T" k="40"/><hkern g1="two" g2="backslash" k="46"/><hkern g1="two" g2="slash" k="-24"/><hkern g1="asterisk" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="60"/><hkern g1="asterisk" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="53"/><hkern g1="asterisk" g2="J" k="93"/><hkern g1="asterisk" g2="j" k="96"/><hkern g1="guillemotright,guilsinglright" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="37"/><hkern g1="guillemotright,guilsinglright" g2="V,W" k="100"/><hkern g1="guillemotright,guilsinglright" g2="Y,Yacute,Ydieresis" k="120"/><hkern g1="guillemotright,guilsinglright" g2="J" k="36"/><hkern g1="guillemotright,guilsinglright" g2="T" k="80"/><hkern g1="guillemotright,guilsinglright" g2="t" k="7"/><hkern g1="guillemotright,guilsinglright" g2="y,yacute,ydieresis" k="23"/><hkern g1="guillemotright,guilsinglright" g2="j" k="37"/><hkern g1="guillemotright,guilsinglright" g2="v,w,yen" k="23"/><hkern g1="guillemotright,guilsinglright" g2="z" k="13"/><hkern g1="guillemotright,guilsinglright" g2="Z" k="13"/><hkern g1="parenleft" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="33"/><hkern g1="parenleft" g2="four" k="60"/><hkern g1="parenleft" g2="one" k="3"/><hkern g1="parenleft" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="34"/><hkern g1="backslash" g2="V,W" k="83"/><hkern g1="backslash" g2="Y,Yacute,Ydieresis" k="104"/><hkern g1="backslash" g2="T" k="47"/><hkern g1="backslash" g2="t" k="53"/><hkern g1="backslash" g2="four" k="-7"/><hkern g1="backslash" g2="y,yacute,ydieresis" k="70"/><hkern g1="backslash" g2="j" k="-20"/><hkern g1="backslash" g2="one" k="26"/><hkern g1="backslash" g2="nine" k="36"/><hkern g1="backslash" g2="v,w,yen" k="70"/><hkern g1="backslash" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="7"/><hkern g1="backslash" g2="seven" k="27"/><hkern g1="backslash" g2="two" k="-13"/><hkern g1="backslash" g2="z" k="-40"/><hkern g1="backslash" g2="three,eight" k="7"/><hkern g1="backslash" g2="five" k="-3"/><hkern g1="one" g2="T" k="7"/><hkern g1="one" g2="slash" k="-27"/><hkern g1="five" g2="Y,Yacute,Ydieresis" k="37"/><hkern g1="five" g2="T" k="67"/><hkern g1="five" g2="one" k="13"/><hkern g1="five" g2="backslash" k="30"/><hkern g1="five" g2="slash" k="-23"/><hkern g1="five" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="27"/><hkern g1="degree" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="34"/><hkern g1="bracketleft" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="20"/><hkern g1="bracketleft" g2="four" k="57"/><hkern g1="bracketleft" g2="one" k="-7"/><hkern g1="bracketleft" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="26"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="34"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="43"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="V,W" k="70"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="Y,Yacute,Ydieresis" k="76"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="J" k="60"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="T" k="83"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="t" k="60"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="y,yacute,ydieresis" k="50"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="j" k="66"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="one" k="40"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="v,w,yen" k="30"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="seven" k="47"/><hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="96"/><hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="116"/><hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="J" k="87"/><hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="14"/><hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="S" k="37"/><hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="six" k="30"/><hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="j" k="80"/><hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="50"/><hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="-10"/><hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="dollar,s" k="50"/></font></defs></svg>

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_300.svg
=====================================================
<svg xmlns="http://www.w3.org/2000/svg"><defs><font id="WorkSans" horiz-adv-x="550"><font-face alphabetic="0" ascent="930" descent="-243" font-family="Work Sans Light" panose-1="0 0 4 0 0 0 0 0 0 0" units-per-em="1000"/><glyph glyph-name="space" horiz-adv-x="313"/><glyph d="M141 340L135 190H95L89 340V660H141V340ZM135 82T147 70T160 37Q160 17 148 5T115 -8Q95 -8 83 4T70 37Q70 57 82 69T115 82Q135 82 147 70Z" glyph-name="exclam" horiz-adv-x="230" unicode="!"/><glyph d="M248 480H208V685H262L248 480ZM115 480H75V685H129L115 480Z" glyph-name="quotedbl" horiz-adv-x="327" unicode="&quot;"/><glyph d="M466 429L436 238H568V199H429L398 0H354L386 199H205L174 0H130L162 199H31V238H168L198 429H68V468H205L235 660H279L248 468H429L459 660H503L472 468H605V429H466ZM423 429H242L212 238H392L423 429Z" glyph-name="numbersign" horiz-adv-x="636" unicode="#"/><glyph d="M285 1Q196 6 135 50T52 171L98 195Q111 131 162 91T285 43V309Q217 323 174 339T101 388T72 477Q72 525 97 566T171 632T285 659V760H328V659Q406 655 456 620T535 516L495 484Q473 548 433 579T328 616V344Q396 330 439 314T511 265T540 175Q540 99 483 52T328 1V-100H285V1ZM285 617Q208 614 164 577T120 481Q120 441 142 416T198 378T285 353V617ZM402 45T447 78T493 171Q493 211 471 236T415 275T328 300V42Q402 45 447 78Z" glyph-name="dollar" horiz-adv-x="599" unicode="$"/><glyph d="M260 665T299 616T338 490Q338 413 299 365T189 316Q119 316 80 365T40 490Q40 567 79 616T189 665Q260 665 299 616ZM596 660H645L212 0H163L596 660ZM138 625T112 588T85 490Q85 430 111 393T189 356Q240 356 266 393T293 490Q293 550 267 587T189 625Q138 625 112 588ZM690 344T729 295T769 169Q769 93 730 44T620 -5Q549 -5 510 44T470 169Q470 246 509 295T620 344Q690 344 729 295ZM569 304T542 267T515 169Q515 109 542 72T620 35Q671 35 697 72T724 169Q724 230 698 267T620 304Q569 304 542 267Z" glyph-name="percent" horiz-adv-x="809" unicode="%"/><glyph d="M514 61T542 45T605 28L593 -10Q556 -10 524 8T446 75Q369 -10 247 -10Q189 -10 144 10T73 67T47 151Q47 216 87 264T214 361Q167 422 150 456T132 528Q132 587 172 627T280 668Q343 668 383 636T424 541Q424 484 394 441T279 349Q321 294 347 261Q407 185 444 140Q471 183 484 239T496 360L537 356Q539 287 523 223T472 108Q514 61 542 45ZM233 625T206 598T179 529Q179 498 192 471T253 382Q328 422 353 458T379 540Q379 581 353 603T279 625Q233 625 206 598ZM298 31T342 50T418 106Q367 166 314 233L240 327Q160 281 127 244T94 154Q94 99 137 65T244 31Q298 31 342 50Z" glyph-name="ampersand" horiz-adv-x="599" unicode="&amp;"/><glyph d="M115 480H75V685H129L115 480Z" glyph-name="quotesingle" horiz-adv-x="194" unicode="'"/><glyph d="M285 717Q191 634 150 531T108 283Q108 139 149 36T285 -151L257 -180Q156 -94 107 20T57 283Q57 430 106 545T257 746L285 717Z" glyph-name="parenleft" horiz-adv-x="305" unicode="("/><glyph d="M148 660T197 545T247 283Q247 136 198 21T48 -180L20 -151Q114 -68 155 35T197 283Q197 427 156 530T20 717L48 746Q148 660 197 545Z" glyph-name="parenright" horiz-adv-x="305" unicode=")"/><glyph d="M347 436L421 332L388 308L312 410L271 479L231 410L155 308L122 332L196 436L248 496L170 514L50 554L62 593L183 555L257 524L250 603V730H293V603L286 524L359 555L481 593L493 554L373 514L295 496L347 436Z" glyph-name="asterisk" horiz-adv-x="543" unicode="*"/><glyph d="M540 293H326V73H279V293H64V339H279V555H326V339H540V293Z" glyph-name="plus" horiz-adv-x="604" unicode="+"/><glyph d="M137 82T151 62T166 9Q166 -33 144 -70T80 -128L52 -103Q87 -90 109 -59T130 1L127 2Q120 -8 104 -8Q89 -8 77 4T65 36Q65 55 78 68T111 82Q137 82 151 62Z" glyph-name="comma" horiz-adv-x="220" unicode=","/><glyph d="M387 240H80V291H387V240Z" glyph-name="hyphen" horiz-adv-x="466" unicode="-"/><glyph d="M130 82T142 70T155 37Q155 17 143 5T110 -8Q90 -8 78 4T65 37Q65 57 77 69T110 82Q130 82 142 70Z" glyph-name="period" horiz-adv-x="220" unicode="."/><glyph d="M79 -70H31L316 730H364L79 -70Z" glyph-name="slash" horiz-adv-x="396" unicode="/"/><glyph d="M187 -10T125 77T63 330Q63 495 125 582T304 670Q420 670 482 583T544 330Q544 165 482 78T304 -10Q187 -10 125 77ZM396 35T444 111T493 330Q493 473 445 549T304 625Q212 625 163 549T114 330Q114 187 163 111T304 35Q396 35 444 111Z" glyph-name="zero" horiz-adv-x="607" unicode="0"/><glyph d="M268 660V0H218V500Q218 529 220 591Q187 553 141 525T46 483L33 528Q81 540 139 579T223 660H268Z" glyph-name="one" horiz-adv-x="365" unicode="1"/><glyph d="M65 41Q206 151 281 219T394 347T433 469Q433 540 390 582T271 624Q194 624 147 576T94 444L50 469Q59 561 117 615T272 670Q370 670 427 616T485 469Q485 403 448 341T338 209T138 46V45L204 46H506V0H65V41Z" glyph-name="two" horiz-adv-x="560" unicode="2"/><glyph d="M368 670T420 622T473 498Q473 432 438 386T347 334V333Q410 331 449 286T489 174Q489 120 461 79T384 14T271 -10Q185 -10 129 30T48 145L94 170Q129 36 274 36Q347 36 392 75T437 178Q437 242 397 276T277 310H240V356H277Q347 356 384 392T421 490Q421 554 383 589T275 624Q214 624 174 594T118 509L71 532Q94 596 148 633T275 670Q368 670 420 622Z" glyph-name="three" horiz-adv-x="554" unicode="3"/><glyph d="M546 188H419V0H369V188H41V226L355 660H419V231H546V188ZM95 231H369V533L371 618H369Q350 585 314 531L95 231Z" glyph-name="four" horiz-adv-x="582" unicode="4"/><glyph d="M357 412T404 386T478 313T504 203Q504 106 445 48T285 -10Q102 -10 57 145L105 169Q134 36 283 36Q359 36 405 81T452 201Q451 277 407 321T289 366Q172 366 119 292H75L111 660H476V614H153L127 358L125 345H126Q184 412 296 412Q357 412 404 386Z" glyph-name="five" horiz-adv-x="560" unicode="5"/><glyph d="M391 670T437 638T509 540L463 518Q448 567 411 595T314 624Q248 624 202 582T133 470T110 316Q110 289 115 249H118Q122 298 151 334T222 388T310 407Q409 407 466 351T524 198Q524 103 465 47T306 -10Q189 -10 127 80T64 330Q64 439 96 515T186 631T317 670Q391 670 437 638ZM258 360T221 338T162 280T141 200Q141 128 186 83T305 37Q383 37 427 81T472 200Q472 273 428 316T307 360Q258 360 221 338Z" glyph-name="six" horiz-adv-x="581" unicode="6"/><glyph d="M507 660V614Q385 485 325 335T256 0H204Q220 363 452 614H32V660H507Z" glyph-name="seven" horiz-adv-x="530" unicode="7"/><glyph d="M388 669T444 624T500 502Q500 445 469 405T383 348V347Q450 330 489 284T529 174Q529 119 500 78T418 13T295 -10Q227 -10 174 13T92 77T62 174Q62 238 101 284T208 347V348Q153 365 122 405T91 502Q91 578 146 623T295 669Q388 669 444 624ZM225 623T184 589T143 497Q143 439 184 405T295 370Q364 370 406 404T448 497Q448 555 407 589T295 623Q225 623 184 589ZM377 36T427 75T477 178Q477 243 427 283T295 323Q214 323 164 283T114 178Q114 114 163 75T295 36Q377 36 427 75Z" glyph-name="eight" horiz-adv-x="591" unicode="8"/><glyph d="M403 670T466 579T530 330Q530 164 466 77T286 -10Q200 -10 144 28T66 135L116 161Q130 102 170 69T285 36Q391 36 438 121T485 346Q485 371 479 415H476Q472 362 443 326T370 271T280 253Q182 253 123 309T64 462Q64 557 124 613T285 670Q403 670 466 579ZM207 623T162 579T116 460Q116 387 161 344T284 300Q333 300 371 322T431 380T453 460Q453 532 407 577T286 623Q207 623 162 579Z" glyph-name="nine" horiz-adv-x="596" unicode="9"/><glyph d="M144 505T156 493T169 460Q169 440 157 428T124 415Q104 415 92 427T79 460Q79 480 91 492T124 505Q144 505 156 493ZM144 82T156 70T169 37Q169 17 157 5T124 -8Q104 -8 92 4T79 37Q79 57 91 69T124 82Q144 82 156 70Z" glyph-name="colon" horiz-adv-x="247" unicode=":"/><glyph d="M108 416T96 428T83 460Q83 480 95 492T128 505Q148 505 160 493T173 460Q173 440 161 428T128 416Q108 416 96 428ZM151 82T165 62T180 9Q180 -33 158 -70T94 -128L67 -103Q101 -90 123 -59T144 1L141 2Q134 -8 118 -8Q103 -8 91 4T79 36Q79 55 92 68T125 82Q151 82 165 62Z" glyph-name="semicolon" horiz-adv-x="247" unicode=";"/><glyph d="M540 504L120 300L540 95V42L80 270V329L540 557V504Z" glyph-name="less" horiz-adv-x="604" unicode="&lt;"/><glyph d="M529 386H75V432H529V386ZM529 184H75V230H529V184Z" glyph-name="equal" horiz-adv-x="604" unicode="="/><glyph d="M524 329V270L64 42V95L484 300L64 504V557L524 329Z" glyph-name="greater" horiz-adv-x="604" unicode="&gt;"/><glyph d="M350 670T407 624T464 500Q464 339 271 299V181H220V326Q325 350 368 388T412 495Q412 555 370 589T255 624Q177 624 133 586T79 476L35 500Q50 580 106 625T258 670Q350 670 407 624ZM265 82T277 70T289 37Q289 17 277 5T245 -8Q225 -8 213 4T200 37Q200 57 212 69T245 82Q265 82 277 70Z" glyph-name="question" horiz-adv-x="510" unicode="?"/><glyph d="M631 665T723 610T858 461T901 253Q901 132 859 63T745 -7Q646 -7 638 112Q614 57 567 26T453 -5Q397 -5 353 22T284 99T259 218Q259 294 289 351T371 439T485 470Q553 470 595 440T655 356L666 458H700L679 141Q674 29 753 29Q805 29 833 87T861 253Q861 359 822 443T700 577T492 627Q374 627 286 578T151 439T103 228Q103 110 152 24T288 -109T487 -155Q559 -155 615 -136T712 -83L735 -114Q631 -193 487 -193Q360 -193 263 -142T113 5T60 228Q60 358 113 457T265 610T492 665Q631 665 723 610ZM405 432T355 375T304 220Q304 134 347 84T466 34Q539 34 587 83T641 213L644 253Q648 332 609 382T490 432Q405 432 355 375Z" glyph-name="at" horiz-adv-x="966" unicode="@"/><glyph d="M470 207H154L72 0H19L283 660H342L606 0H553L470 207ZM452 253L337 541L313 611H312L288 543L173 253H452Z" glyph-name="A" horiz-adv-x="625" unicode="A"/><glyph d="M104 660H337Q445 660 498 615T552 485Q552 427 521 387T431 335V334Q495 324 532 282T570 178Q570 93 510 47T337 0H104V660ZM338 356Q499 356 499 485Q499 614 338 614H154V356H338ZM347 46Q431 46 474 80T517 178Q517 243 474 276T347 310H154V46H347Z" glyph-name="B" horiz-adv-x="632" unicode="B"/><glyph d="M598 83T529 37T362 -10Q272 -10 204 31T99 150T62 330Q62 433 99 510T204 628T361 670Q559 670 617 507L568 484Q545 554 495 589T364 624Q290 624 234 589T146 487T115 330Q115 240 145 174T231 72T362 36Q442 36 498 75T576 186L626 167Q598 83 529 37Z" glyph-name="C" horiz-adv-x="669" unicode="C"/><glyph d="M470 660T555 577T641 335Q641 173 556 87T312 0H104V660H312Q470 660 555 577ZM448 46T518 120T589 335Q589 469 519 541T316 614H154V46H316Q448 46 518 120Z" glyph-name="D" horiz-adv-x="704" unicode="D"/><glyph d="M571 46V0H104V660H555V614H154V359H471V312H154V46H571Z" glyph-name="E" horiz-adv-x="612" unicode="E"/><glyph d="M154 614V359H471V312H154V0H104V660H554V614H154Z" glyph-name="F" horiz-adv-x="584" unicode="F"/><glyph d="M629 323V0H589L587 115Q560 55 503 23T360 -10Q270 -10 203 31T99 150T62 330Q62 433 99 510T205 628T363 670Q464 670 528 630T624 508L578 484Q555 553 501 588T363 624Q289 624 233 589T146 487T115 330Q115 193 180 115T362 36Q434 36 484 64T558 139T582 239V276H358V323H629Z" glyph-name="G" horiz-adv-x="702" unicode="G"/><glyph d="M612 660V0H562V312H154V0H104V660H154V359H562V660H612Z" glyph-name="H" horiz-adv-x="716" unicode="H"/><glyph d="M154 0H104V660H154V0Z" glyph-name="I" horiz-adv-x="258" unicode="I"/><glyph d="M437 218Q437 111 382 51T227 -10Q136 -10 86 36T36 163Q36 189 40 210L87 221Q84 197 84 175Q84 36 226 36Q310 36 348 85T387 229V660H437V218Z" glyph-name="J" horiz-adv-x="534" unicode="J"/><glyph d="M286 356L154 222V0H104V660H154V290L516 660H582L321 393L589 0H528L286 356Z" glyph-name="K" horiz-adv-x="610" unicode="K"/><glyph d="M550 46V0H104V660H154V46H550Z" glyph-name="L" horiz-adv-x="572" unicode="L"/><glyph d="M718 0H670V492L676 612H675L434 0H388L147 612H146L152 492V0H104V660H179L378 160L411 59H412L444 159L643 660H718V0Z" glyph-name="M" horiz-adv-x="822" unicode="M"/><glyph d="M611 0H549L199 518L150 606H149L152 523V0H104V660H167L516 143L566 54L564 137V660H611V0Z" glyph-name="N" horiz-adv-x="715" unicode="N"/><glyph d="M459 670T527 629T633 511T670 330Q670 226 633 150T528 32T366 -10Q273 -10 205 31T99 149T62 330Q62 434 99 510T204 628T366 670Q459 670 527 629ZM289 624T233 589T146 487T115 330Q115 240 145 174T232 72T366 36Q443 36 500 71T587 173T618 330Q618 420 588 486T500 588T366 624Q289 624 233 589Z" glyph-name="O" horiz-adv-x="732" unicode="O"/><glyph d="M426 660T486 609T547 467Q547 377 487 325T323 273H154V0H104V660H323Q426 660 486 609ZM403 320T448 358T494 467Q494 537 449 575T317 614H154V320H317Q403 320 448 358Z" glyph-name="P" horiz-adv-x="587" unicode="P"/><glyph d="M570 -145T599 -136T647 -108L665 -154Q644 -173 609 -184T535 -195Q456 -195 404 -149T346 -9Q259 -5 195 37T97 155T62 330Q62 434 99 510T204 628T366 670Q459 670 527 629T633 511T670 330Q670 231 636 157T540 39T391 -9Q402 -145 536 -145Q570 -145 599 -136ZM115 240T145 174T232 72T366 36Q443 36 500 71T587 173T618 330Q618 420 588 486T500 588T366 624Q289 624 233 589T146 487T115 330Q115 240 145 174Z" glyph-name="Q" horiz-adv-x="732" unicode="Q"/><glyph d="M541 0L352 286H349H154V0H104V660H349Q448 660 506 610T565 473Q565 401 523 354T408 292L600 0H541ZM154 333H348Q428 333 470 369T513 473Q513 541 471 577T348 614H154V333Z" glyph-name="R" horiz-adv-x="640" unicode="R"/><glyph d="M494 670T557 524L514 489Q489 560 440 592T309 624Q251 624 208 606T143 557T120 487Q120 449 139 424T203 382T329 350Q458 328 512 286T566 170Q566 117 535 76T448 13T318 -10Q214 -10 143 31T45 148L89 182Q109 111 169 74T319 36Q405 36 459 71T514 167Q514 220 470 251T315 301Q222 317 168 340T91 397T67 482Q67 533 96 576T180 644T308 670Q494 670 557 524Z" glyph-name="S" horiz-adv-x="619" unicode="S"/><glyph d="M554 614H313V0H263V614H22V660H554V614Z" glyph-name="T" horiz-adv-x="576" unicode="T"/><glyph d="M605 241Q605 119 539 55T351 -10Q229 -10 163 54T96 241V660H146V251Q146 145 198 91T351 36Q451 36 503 90T555 251V660H605V241Z" glyph-name="U" horiz-adv-x="701" unicode="U"/><glyph d="M337 0H278L23 660H77L272 149L307 47L342 149L538 660H591L337 0Z" glyph-name="V" horiz-adv-x="614" unicode="V"/><glyph d="M298 0H236L30 660H84L267 41L440 660H498L671 40L856 660H907L701 0H639L506 463L469 606H468L431 463L298 0Z" glyph-name="W" horiz-adv-x="937" unicode="W"/><glyph d="M482 0L281 299L78 0H19L255 339L39 660H99L287 380L477 660H533L314 340L541 0H482Z" glyph-name="X" horiz-adv-x="566" unicode="X"/><glyph d="M297 257V0H247V257L13 660H72L272 309L472 660H531L297 257Z" glyph-name="Y" horiz-adv-x="544" unicode="Y"/><glyph d="M553 46V0H43V44L478 614H52V660H537V616L102 46H553Z" glyph-name="Z" horiz-adv-x="593" unicode="Z"/><glyph d="M129 686V-124H288V-168H82V730H288V686H129Z" glyph-name="bracketleft" horiz-adv-x="311" unicode="["/><glyph d="M80 730L365 -70H317L32 730H80Z" glyph-name="backslash" horiz-adv-x="396" unicode="\"/><glyph d="M229 -168H23V-124H182V686H23V730H229V-168Z" glyph-name="bracketright" horiz-adv-x="311" unicode="]"/><glyph d="M464 355L274 687L84 355H32L249 730H298L516 355H464Z" glyph-name="asciicircum" horiz-adv-x="547" unicode="^"/><glyph d="M520 -143H0V-97H520V-143Z" glyph-name="underscore" horiz-adv-x="520" unicode="_"/><glyph d="M275 583H233L140 741H194L275 583Z" glyph-name="grave" horiz-adv-x="523" unicode="`"/><glyph d="M516 33T530 40L527 0Q509 -10 478 -10Q443 -10 421 9T396 75Q373 35 322 13T215 -10Q141 -10 97 23T52 117Q52 233 242 267L395 294V338Q395 398 360 432T259 466Q140 466 99 360L61 388Q83 447 134 478T259 510Q346 510 395 468T445 344V86Q445 33 491 33Q516 33 530 40ZM262 34T302 48T368 91T395 160V253L258 228Q177 213 140 186T103 117Q103 77 134 56T220 34Q262 34 302 48Z" glyph-name="a" horiz-adv-x="543" unicode="a"/><glyph d="M429 510T490 441T552 250Q552 128 491 59T323 -10Q256 -10 207 22T137 112L134 0H89V730H139V394Q162 448 210 479T323 510Q429 510 490 441ZM404 34T453 91T502 250Q502 351 453 408T317 466Q239 466 191 413T139 268V232Q143 140 191 87T317 34Q404 34 453 91Z" glyph-name="b" horiz-adv-x="609" unicode="b"/><glyph d="M368 510T420 475T496 375L449 353Q432 408 392 437T292 466Q205 466 156 409T107 250Q107 148 155 91T291 34Q355 34 399 65T454 153L500 137Q480 69 425 30T292 -10Q181 -10 119 59T57 250Q57 372 119 441T293 510Q368 510 420 475Z" glyph-name="c" horiz-adv-x="545" unicode="c"/><glyph d="M520 730V0H475L472 112Q451 55 402 23T286 -10Q180 -10 119 59T57 250Q57 372 118 441T286 510Q351 510 399 479T470 394V730H520ZM370 34T418 86T470 229V271Q465 361 418 413T292 466Q205 466 156 409T107 250Q107 149 156 92T292 34Q370 34 418 86Z" glyph-name="d" horiz-adv-x="609" unicode="d"/><glyph d="M505 245T503 229H106Q111 137 160 86T293 34Q352 34 394 58T456 126L498 104Q470 49 418 20T293 -10Q182 -10 120 59T57 250Q57 372 117 441T287 510Q389 510 447 442T505 262Q505 245 503 229ZM206 466T159 416T106 274H458Q453 364 409 415T287 466Q206 466 159 416Z" glyph-name="e" horiz-adv-x="559" unicode="e"/><glyph d="M173 500H349V457H173V0H123V457H23V500H123V584Q123 654 162 694T272 735Q326 735 353 708L339 668Q314 690 276 690Q227 690 200 662T173 579V500Z" glyph-name="f" horiz-adv-x="359" unicode="f"/><glyph d="M420 51T463 20T506 -63Q506 -108 476 -142T391 -196T268 -215Q155 -215 95 -179T35 -82Q35 -43 59 -15T125 25Q95 38 78 61T60 112Q60 148 83 173T147 209Q106 230 84 265T62 347Q62 421 117 465T265 510Q329 510 378 487Q384 535 418 563T503 592L515 548Q468 548 441 527T410 467Q467 421 467 347Q467 273 412 228T265 183Q234 183 197 190Q155 185 132 166T108 119Q108 87 135 69T216 51H345Q420 51 463 20ZM112 291T153 258T265 225Q335 225 376 258T417 347Q417 403 376 435T265 468Q195 468 154 436T112 347Q112 291 153 258ZM358 -173T409 -144T461 -69Q461 -33 429 -13T334 8H205Q148 8 115 -14T81 -74Q81 -120 131 -146T273 -173Q358 -173 409 -144Z" glyph-name="g" horiz-adv-x="515" unicode="g"/><glyph d="M409 510T461 462T514 325V0H464V309Q464 388 425 427T318 467Q270 467 229 445T164 380T139 282V0H89V730H139V401Q163 454 211 482T323 510Q409 510 461 462Z" glyph-name="h" horiz-adv-x="598" unicode="h"/><glyph d="M95 597T84 608T72 639Q72 658 83 669T114 681Q133 681 144 670T156 639Q156 620 145 609T114 597Q95 597 84 608ZM139 0H89V500H139V0Z" glyph-name="i" horiz-adv-x="229" unicode="i"/><glyph d="M132 681T144 669T156 639Q156 622 144 610T114 597Q97 597 85 609T72 639Q72 657 84 669T114 681Q132 681 144 669ZM139 -57Q139 -135 98 -175T-3 -215Q-29 -215 -52 -208T-90 -187L-78 -140Q-65 -152 -46 -159T-4 -167Q39 -167 64 -138T89 -53V500H139V-57Z" glyph-name="j" horiz-adv-x="229" unicode="j"/><glyph d="M257 265L139 151V0H89V730H139V214L436 500H501L294 300L509 0H448L257 265Z" glyph-name="k" horiz-adv-x="527" unicode="k"/><glyph d="M135 121Q135 75 149 56T198 37Q218 37 232 40T264 51L257 3Q229 -10 191 -10Q137 -10 111 20T85 116V730H135V121Z" glyph-name="l" horiz-adv-x="274" unicode="l"/><glyph d="M771 511T823 463T876 325V1H826V320Q826 392 787 429T682 467Q634 467 595 444T532 380T508 288V0H458V319Q458 391 419 428T314 466Q268 466 228 444T164 380T139 283V0H89V500H134L137 400Q161 452 210 481T319 510Q383 510 431 480T498 393Q518 448 571 479T688 511Q771 511 823 463Z" glyph-name="m" horiz-adv-x="960" unicode="m"/><glyph d="M409 510T461 462T514 324V0H464V308Q464 388 425 427T318 466Q270 466 229 444T164 380T139 282V0H89V500H134L136 399Q160 453 209 481T323 510Q409 510 461 462Z" glyph-name="n" horiz-adv-x="598" unicode="n"/><glyph d="M406 510T469 441T533 250Q533 129 470 60T295 -10Q184 -10 121 59T57 250Q57 371 120 440T295 510Q406 510 469 441ZM207 467T157 409T107 250Q107 149 157 91T295 33Q383 33 433 91T483 250Q483 351 433 409T295 467Q207 467 157 409Z" glyph-name="o" horiz-adv-x="590" unicode="o"/><glyph d="M429 510T490 441T552 250Q552 128 491 59T323 -10Q259 -10 211 21T139 106V-210H89V500H134L137 387Q158 445 206 477T323 510Q429 510 490 441ZM404 34T453 91T502 250Q502 351 453 408T317 466Q239 466 191 413T139 268V232Q143 140 191 87T317 34Q404 34 453 91Z" glyph-name="p" horiz-adv-x="609" unicode="p"/><glyph d="M521 500V-210H471V106Q448 52 400 21T287 -10Q181 -10 120 59T58 250Q58 372 119 441T287 510Q354 510 403 478T473 388L476 500H521ZM371 34T418 86T471 229V271Q467 361 419 413T293 466Q206 466 157 409T108 250Q108 149 157 92T293 34Q371 34 418 86Z" glyph-name="q" horiz-adv-x="610" unicode="q"/><glyph d="M339 510T362 493L349 446Q326 464 285 464Q247 464 214 441T160 375T139 280V0H89V500H131L137 398Q158 451 199 480T299 510Q339 510 362 493Z" glyph-name="r" horiz-adv-x="378" unicode="r"/><glyph d="M176 -10T120 20T43 107L84 134Q99 84 145 59T258 34Q326 34 364 60T403 129Q403 166 370 188T254 225Q149 244 106 276T63 367Q63 406 87 439T155 491T255 510Q334 510 381 480T447 388L404 363Q376 466 255 466Q215 466 183 453T132 419T113 372Q113 331 147 308T267 270Q369 253 411 221T453 131Q453 67 399 29T252 -10Q176 -10 120 20Z" glyph-name="s" horiz-adv-x="505" unicode="s"/><glyph d="M365 32Q345 12 316 1T252 -10Q191 -10 157 23T122 125V457H22V500H122V625L172 639V500H360V457H172V132Q172 85 194 61T260 36Q310 36 347 73L365 32Z" glyph-name="t" horiz-adv-x="377" unicode="t"/><glyph d="M504 500V0H459L457 99Q432 46 382 18T264 -10Q182 -10 133 35T84 170V500H134V182Q134 34 272 34Q327 34 368 58T432 123T454 213V500H504Z" glyph-name="u" horiz-adv-x="593" unicode="u"/><glyph d="M485 500L276 0H226L17 500H73L252 51L432 500H485Z" glyph-name="v" horiz-adv-x="502" unicode="v"/><glyph d="M787 500L616 0H566L408 437L254 0H204L33 500H89L229 59L385 500H435L590 59L731 500H787Z" glyph-name="w" horiz-adv-x="820" unicode="w"/><glyph d="M419 0L250 219L84 0H24L222 256L34 500H98L255 296L407 500H467L283 259L482 0H419Z" glyph-name="x" horiz-adv-x="504" unicode="x"/><glyph d="M249 -92Q221 -160 187 -187T101 -215Q39 -215 6 -178L25 -135Q49 -171 101 -171Q136 -171 160 -152T206 -80L238 0L186 124L27 500H84L237 121L262 54L289 126L436 500H490L249 -92Z" glyph-name="y" horiz-adv-x="510" unicode="y"/><glyph d="M49 39L343 400L395 458L316 457H46V500H451V461L166 109L106 42L196 43H463V0H49V39Z" glyph-name="z" horiz-adv-x="505" unicode="z"/><glyph d="M179 -139T277 -139L270 -180Q132 -180 132 -62V162Q132 213 104 237T19 261V305Q76 305 104 329T132 404V627Q132 685 166 715T270 746L277 705Q228 705 204 686T179 631V400Q179 354 154 324T82 283Q129 272 154 242T179 166V-65Q179 -139 277 -139Z" glyph-name="braceleft" horiz-adv-x="308" unicode="{"/><glyph d="M126 -168H82V730H126V-168Z" glyph-name="bar" horiz-adv-x="207" unicode="|"/><glyph d="M176 354T204 330T289 305V261Q232 261 204 237T176 162V-62Q176 -180 38 -180L31 -139Q129 -139 129 -65V166Q129 212 154 242T225 283Q179 294 154 324T129 400V631Q129 667 105 686T31 705L38 746Q108 746 142 716T176 627V404Q176 354 204 330Z" glyph-name="braceright" horiz-adv-x="308" unicode="}"/><glyph d="M456 266T355 266Q323 266 301 276T246 306Q220 323 202 331T161 340Q104 340 91 263H43Q55 386 157 386Q188 386 211 376T266 346Q292 329 310 321T351 312Q407 312 421 389H468Q456 266 355 266Z" glyph-name="asciitilde" horiz-adv-x="511" unicode="~"/><glyph glyph-name="uni00A0" horiz-adv-x="313"/><glyph d="M91 418T79 430T66 463Q66 483 78 495T111 508Q131 508 143 496T156 463Q156 443 144 431T111 418Q91 418 79 430ZM85 160L91 310H131L137 160V-160H85V160Z" glyph-name="exclamdown" horiz-adv-x="222" unicode="¡"/><glyph d="M487 73T436 34T312 -10V-100H270V-9Q172 0 117 68T62 250Q62 363 117 431T270 509V600H312V510Q382 506 430 471T500 375L453 353Q438 406 402 435T312 468V32Q369 36 408 68T460 153L505 138Q487 73 436 34ZM110 155T151 98T270 32V467Q193 458 152 402T110 250Q110 155 151 98Z" glyph-name="cent" horiz-adv-x="553" unicode="¢"/><glyph d="M565 135Q565 63 530 27T432 -10Q389 -10 357 5T284 49Q259 22 223 6T144 -10Q97 -10 69 11T41 67Q41 101 71 123T152 146Q190 146 219 135T277 103Q290 130 290 164Q290 195 279 223T240 290H90V331H208Q174 376 160 408T146 477Q146 533 171 577T243 645T348 670Q424 670 472 631T535 519L491 496Q480 557 443 591T346 625Q275 625 234 587T192 484Q192 451 206 420T258 337L263 331H461V290H290Q311 256 320 228T329 167Q329 122 307 81Q340 56 365 44T426 31Q475 31 499 56T524 135H565ZM182 25T209 37T256 70Q229 88 205 98T153 108Q122 108 105 97T87 67Q87 47 104 36T149 25Q182 25 209 37Z" glyph-name="sterling" horiz-adv-x="601" unicode="£"/><glyph d="M512 256T473 205L569 110L537 78L441 172Q390 132 318 132Q245 132 193 173L99 78L66 110L161 206Q123 258 123 331Q123 403 161 454L66 548L99 581L193 487Q245 528 318 528Q393 528 444 486L537 581L569 548L475 453Q512 402 512 331Q512 256 473 205ZM383 177T422 219T462 331Q462 399 423 441T318 483Q253 483 213 441T173 331Q173 262 213 220T318 177Q383 177 422 219Z" glyph-name="currency" horiz-adv-x="635" unicode="¤"/><glyph d="M363 284H520V246H320V155H520V119H320V0H275V119H77V155H275V246H77V284H234L262 282L39 660H97L265 361L297 297H299L331 361L499 660H557L333 282L363 284Z" glyph-name="yen" horiz-adv-x="596" unicode="¥"/><glyph d="M132 366H88V730H132V366ZM132 -168H88V196H132V-168Z" glyph-name="brokenbar" horiz-adv-x="220" unicode="¦"/><glyph d="M539 224T510 191T435 139Q460 120 471 95T483 35Q483 -5 460 -38T392 -90T287 -110Q144 -110 91 -17L129 14Q147 -27 186 -46T287 -66Q356 -66 394 -40T433 31Q433 64 416 86T359 122T249 147Q171 158 126 176T60 221T40 291Q40 336 68 369T143 421Q119 440 108 465T96 525Q96 565 119 598T188 650T295 670Q436 670 487 577L452 547Q412 626 294 626Q224 626 185 600T146 529Q146 496 163 474T220 438T330 413Q408 402 453 384T519 339T539 269Q539 224 510 191ZM489 197T489 265Q489 308 451 331T317 367Q235 378 191 396Q90 364 90 295Q90 252 127 229T261 193Q337 183 387 164Q489 197 489 265Z" glyph-name="section" horiz-adv-x="569" unicode="§"/><glyph d="M187 671T198 660T209 630Q209 612 198 601T169 590Q151 590 140 601T128 630Q128 648 139 659T169 671Q187 671 198 660ZM376 671T387 660T399 630Q399 612 388 601T358 590Q340 590 329 601T317 630Q317 648 328 659T358 671Q376 671 387 660Z" glyph-name="dieresis" horiz-adv-x="523" unicode="¨"/><glyph d="M506 670T583 628T703 509T746 330Q746 228 704 151T584 32T404 -10Q302 -10 225 32T105 151T62 330Q62 431 104 508T224 628T404 670Q506 670 583 628ZM315 629T248 592T145 487T108 330Q108 241 144 173T248 68T404 31Q493 31 560 68T664 173T701 330Q701 419 664 487T560 592T404 629Q315 629 248 592ZM471 513T509 488T566 416L529 397Q502 475 413 475Q348 475 312 436T275 328Q275 259 311 220T413 181Q459 181 491 203T535 265L571 250Q554 200 513 172T414 143Q329 143 281 192T232 328Q232 414 280 463T414 513Q471 513 509 488Z" glyph-name="copyright" horiz-adv-x="809" unicode="©"/><glyph d="M347 359T357 364L354 334Q338 327 321 327Q268 327 262 382Q246 356 212 342T135 327Q85 327 56 348T26 409Q26 449 57 473T154 510L257 528V550Q257 588 234 609T168 630Q128 630 103 615T64 564L32 581Q44 621 79 643T170 665Q232 665 266 636T300 552V396Q300 359 332 359Q347 359 357 364ZM185 362T221 383T257 442V498L169 481Q117 471 94 455T70 412Q70 362 144 362Q185 362 221 383ZM32 246H341V211H32V246Z" glyph-name="ordfeminine" horiz-adv-x="368" unicode="ª"/><glyph d="M103 265L239 69H183L49 265L183 461H239L103 265ZM252 265L388 69H332L198 265L332 461H388L252 265Z" glyph-name="guillemotleft" horiz-adv-x="440" unicode="«"/><glyph d="M537 339V152H487V293H67V339H537Z" glyph-name="logicalnot" horiz-adv-x="604" unicode="¬"/><glyph d="M387 240H80V291H387V240Z" glyph-name="uni00AD" horiz-adv-x="466" unicode="­"/><glyph d="M506 670T583 628T703 509T746 330Q746 228 704 151T584 32T404 -10Q302 -10 225 32T105 151T62 330Q62 431 104 508T224 628T404 670Q506 670 583 628ZM493 31T560 68T664 173T701 330Q701 419 664 487T560 592T404 629Q315 629 248 592T145 487T108 330Q108 241 144 173T248 68T404 31Q493 31 560 68ZM562 359T537 332T467 296L569 143H520L422 293H322V143H279V513H432Q493 513 527 484T562 403Q562 359 537 332ZM322 326H432Q520 328 520 403Q520 479 432 479H322V326Z" glyph-name="registered" horiz-adv-x="809" unicode="®"/><glyph d="M422 600H102V642H422V600Z" glyph-name="overscore" horiz-adv-x="523" unicode="¯"/><glyph d="M141 368T99 410T56 519Q56 586 98 628T209 670Q277 670 319 628T362 519Q362 453 319 411T209 368Q141 368 99 410ZM257 409T287 440T317 519Q317 567 287 598T209 629Q161 629 131 598T100 519Q100 471 130 440T209 409Q257 409 287 440Z" glyph-name="degree" horiz-adv-x="418" unicode="°"/><glyph d="M537 406V359H326V132H279V359H67V406H279V632H326V406H537ZM67 46H537V0H67V46Z" glyph-name="plusminus" horiz-adv-x="604" unicode="±"/><glyph d="M38 366Q89 405 140 447Q203 497 231 534T260 610Q260 650 236 674T169 698Q124 698 98 671T69 596L29 609Q33 667 70 701T170 735Q234 735 270 701T306 612Q306 529 172 428L97 369V368Q117 370 143 370H318V333H38V366Z" glyph-name="uni00B2" horiz-adv-x="348" unicode="²"/><glyph d="M223 735T256 706T290 628Q290 590 268 565T214 533V532Q249 530 274 505T299 439Q299 389 261 358T161 327Q105 327 69 351T19 421L61 440Q77 364 162 364Q203 364 228 385T253 444Q253 478 231 496T164 515H139V549H162Q201 549 222 569T243 623Q243 658 222 678T161 698Q125 698 102 681T72 632L31 647Q43 689 78 712T163 735Q223 735 256 706Z" glyph-name="uni00B3" horiz-adv-x="336" unicode="³"/><glyph d="M384 741L290 583H249L329 741H384Z" glyph-name="acute" horiz-adv-x="523" unicode="´"/><glyph d="M501 500V0H459L455 101Q431 49 381 20T261 -10Q219 -10 186 7T131 58V-210H81V500H131V182Q131 107 168 71T270 34Q346 34 396 78T451 191V500H501Z" glyph-name="uni00B5" horiz-adv-x="581" unicode="µ"/><glyph d="M505 -100H460V618H326V-100H280V221Q207 221 152 248T67 325T36 440Q36 506 67 556T156 633T289 660H505V-100ZM189 618T137 570T84 440Q84 358 136 311T280 263V618Q189 618 137 570Z" glyph-name="paragraph" horiz-adv-x="591" unicode="¶"/><glyph d="M125 402T137 390T150 357Q150 337 138 325T105 313Q85 313 73 325T60 357Q60 377 72 389T105 402Q125 402 137 390Z" glyph-name="middot" horiz-adv-x="210" unicode="·"/><glyph d="M260 17Q319 -6 347 -39T376 -113Q376 -154 348 -181T273 -209Q239 -209 215 -200T170 -171L190 -136Q219 -171 267 -171Q295 -171 313 -154T332 -107Q332 -75 310 -51T226 3L260 17Z" glyph-name="cedilla" horiz-adv-x="523" unicode="¸"/><glyph d="M164 730V333H119V612Q119 644 122 680Q100 657 71 640T10 614V652Q40 660 75 682T125 730H164Z" glyph-name="uni00B9" horiz-adv-x="220" unicode="¹"/><glyph d="M30 327T30 496Q30 665 179 665Q327 665 327 496Q327 327 179 327Q30 327 30 496ZM232 363T257 396T282 496Q282 563 257 596T179 630Q126 630 101 597T75 496Q75 429 100 396T179 363Q232 363 257 396ZM40 246H317V211H40V246Z" glyph-name="ordmasculine" horiz-adv-x="357" unicode="º"/><glyph d="M105 461L239 265L105 69H49L185 265L49 461H105ZM254 461L388 265L254 69H198L334 265L198 461H254Z" glyph-name="guillemotright" horiz-adv-x="437" unicode="»"/><glyph d="M164 665V268H119V547Q119 567 121 615Q99 592 70 575T10 549V587Q40 595 75 617T125 665H164ZM543 660H594L123 0H72L543 660ZM697 105H621V-4H582V105H384V131L571 393H621V138H697V105ZM582 138V295Q582 315 584 355H582L570 335Q566 329 561 321T550 305L428 138H582Z" glyph-name="onequarter" horiz-adv-x="716" unicode="¼"/><glyph d="M164 665V268H119V547Q119 567 121 615Q99 592 70 575T10 549V587Q40 595 75 617T125 665H164ZM543 660H594L123 0H72L543 660ZM484 29Q535 68 586 110Q649 160 677 197T706 273Q706 313 682 337T615 361Q570 361 544 334T515 259L475 272Q479 330 516 364T616 398Q680 398 716 364T752 275Q752 192 618 91L543 32V31Q563 33 589 33H764V-4H484V29Z" glyph-name="onehalf" horiz-adv-x="794" unicode="½"/><glyph d="M223 670T256 641T290 563Q290 525 268 500T214 468V467Q249 465 274 440T299 374Q299 324 261 293T161 262Q105 262 69 286T19 356L61 375Q77 299 162 299Q203 299 228 320T253 379Q253 413 231 431T164 450H139V484H162Q201 484 222 504T243 558Q243 593 222 613T161 633Q125 633 102 616T72 567L31 582Q43 624 78 647T163 670Q223 670 256 641ZM659 660H710L239 0H188L659 660ZM813 105H737V-4H698V105H500V131L687 393H737V138H813V105ZM698 138V295Q698 315 700 355H698L686 335Q682 329 677 321T666 305L544 138H698Z" glyph-name="threequarters" horiz-adv-x="833" unicode="¾"/><glyph d="M242 416T230 428T218 461Q218 481 230 493T262 506Q282 506 294 494T307 461Q307 441 295 429T262 416Q242 416 230 428ZM158 -172T101 -127T43 -3Q43 159 236 199V317H288V172Q182 147 139 109T95 3Q95 -57 137 -91T252 -126Q330 -126 374 -88T428 22L472 -3Q457 -83 401 -127T249 -172Q158 -172 101 -127Z" glyph-name="questiondown" horiz-adv-x="505" unicode="¿"/><glyph d="M288 743L205 891H264L329 743H288ZM470 207H154L72 0H19L283 660H342L606 0H553L470 207ZM452 253L337 541L313 611H312L288 543L173 253H452Z" glyph-name="Agrave" horiz-adv-x="625" unicode="À"/><glyph d="M331 743H290L355 891H414L331 743ZM470 207H154L72 0H19L283 660H342L606 0H553L470 207ZM452 253L337 541L313 611H312L288 543L173 253H452Z" glyph-name="Aacute" horiz-adv-x="625" unicode="Á"/><glyph d="M220 739H173L284 895H342L453 739H407L313 861L220 739ZM470 207H154L72 0H19L283 660H342L606 0H553L470 207ZM452 253L337 541L313 611H312L288 543L173 253H452Z" glyph-name="Acircumflex" horiz-adv-x="625" unicode="Â"/><glyph d="M470 207H154L72 0H19L283 660H342L606 0H553L470 207ZM452 253L337 541L313 611H312L288 543L173 253H452ZM476 805T452 778T384 751Q356 751 339 760T300 789Q284 804 272 811T242 819Q215 819 203 803T183 750H143Q150 806 173 833T243 860Q270 860 287 851T326 822Q342 807 354 800T383 792Q410 792 423 808T443 861H483Q476 805 452 778Z" glyph-name="Atilde" horiz-adv-x="625" unicode="Ã"/><glyph d="M470 207H154L72 0H19L283 660H342L606 0H553L470 207ZM452 253L337 541L313 611H312L288 543L173 253H452ZM236 831T247 820T258 790Q258 772 247 761T218 750Q200 750 189 761T177 790Q177 808 188 819T218 831Q236 831 247 820ZM425 831T436 820T448 790Q448 772 437 761T407 750Q389 750 378 761T366 790Q366 808 377 819T407 831Q425 831 436 820Z" glyph-name="Adieresis" horiz-adv-x="625" unicode="Ä"/><glyph d="M470 207H154L72 0H19L274 636Q245 646 229 669T213 726Q213 768 240 794T313 821Q358 821 385 795T413 726Q413 693 397 670T352 636L606 0H553L470 207ZM249 698T266 681T313 663Q341 663 359 680T377 726Q377 754 359 771T313 788Q284 788 267 771T249 726Q249 698 266 681ZM452 253L337 541L313 611H312L288 543L173 253H452Z" glyph-name="Aring" horiz-adv-x="625" unicode="Å"/><glyph d="M880 46V0H445V232H196L56 0H-1L401 660H865V614H495V358H783V312H495V46H880ZM445 279V614H425L224 279H445Z" glyph-name="AE" horiz-adv-x="922" unicode="Æ"/><glyph d="M601 91T541 46T397 -8Q462 -51 462 -113Q462 -154 434 -181T359 -209Q325 -209 301 -200T256 -171L276 -136Q305 -171 353 -171Q381 -171 399 -154T418 -107Q418 -78 401 -57T336 -9Q253 -3 191 40T96 157T62 330Q62 433 99 510T204 628T361 670Q559 670 617 507L568 484Q545 554 495 589T364 624Q290 624 234 589T146 487T115 330Q115 240 145 174T231 72T362 36Q442 36 498 75T576 186L626 167Q601 91 541 46Z" glyph-name="Ccedilla" horiz-adv-x="669" unicode="Ç"/><glyph d="M321 743L238 891H297L362 743H321ZM571 46V0H104V660H555V614H154V359H471V312H154V46H571Z" glyph-name="Egrave" horiz-adv-x="612" unicode="È"/><glyph d="M343 743H301L367 891H425L343 743ZM571 46V0H104V660H555V614H154V359H471V312H154V46H571Z" glyph-name="Eacute" horiz-adv-x="612" unicode="É"/><glyph d="M236 739H189L300 895H358L469 739H423L329 861L236 739ZM571 46V0H104V660H555V614H154V359H471V312H154V46H571Z" glyph-name="Ecircumflex" horiz-adv-x="612" unicode="Ê"/><glyph d="M571 46V0H104V660H555V614H154V359H471V312H154V46H571ZM252 831T263 820T274 790Q274 772 263 761T234 750Q216 750 205 761T193 790Q193 808 204 819T234 831Q252 831 263 820ZM441 831T452 820T464 790Q464 772 453 761T423 750Q405 750 394 761T382 790Q382 808 393 819T423 831Q441 831 452 820Z" glyph-name="Edieresis" horiz-adv-x="612" unicode="Ë"/><glyph d="M145 743H104L21 891H80L145 743ZM154 0H104V660H154V0Z" glyph-name="Igrave" horiz-adv-x="258" unicode="Ì"/><glyph d="M230 891L147 743H106L171 891H230ZM154 0H104V660H154V0Z" glyph-name="Iacute" horiz-adv-x="258" unicode="Í"/><glyph d="M223 739L129 861L36 739H-11L100 895H158L269 739H223ZM154 0H104V660H154V0Z" glyph-name="Icircumflex" horiz-adv-x="258" unicode="Î"/><glyph d="M74 831T85 820T96 790Q96 772 85 761T55 750Q37 750 26 761T15 790Q15 808 26 819T55 831Q74 831 85 820ZM220 831T231 820T243 790Q243 772 232 761T202 750Q184 750 173 761T162 790Q162 808 173 819T202 831Q220 831 231 820ZM154 0H104V660H154V0Z" glyph-name="Idieresis" horiz-adv-x="258" unicode="Ï"/><glyph d="M483 660T568 577T653 335Q653 173 568 87T324 0H116V314H16V353H116V660H324Q483 660 568 577ZM460 46T530 121T601 335Q601 469 531 541T329 614H166V353H368V314H166V46H329Q460 46 530 121Z" glyph-name="Eth" horiz-adv-x="715" unicode="Ð"/><glyph d="M611 0H549L199 518L150 606H149L152 523V0H104V660H167L516 143L566 54L564 137V660H611V0ZM526 805T502 778T434 751Q406 751 389 760T350 789Q334 804 322 811T292 819Q265 819 253 803T233 750H193Q200 806 223 833T293 860Q320 860 337 851T376 822Q392 807 404 800T433 792Q460 792 473 808T493 861H533Q526 805 502 778Z" glyph-name="Ntilde" horiz-adv-x="715" unicode="Ñ"/><glyph d="M382 743H341L258 891H317L382 743ZM459 670T527 629T633 511T670 330Q670 226 633 150T528 32T366 -10Q273 -10 205 31T99 149T62 330Q62 434 99 510T204 628T366 670Q459 670 527 629ZM289 624T233 589T146 487T115 330Q115 240 145 174T232 72T366 36Q443 36 500 71T587 173T618 330Q618 420 588 486T500 588T366 624Q289 624 233 589Z" glyph-name="Ograve" horiz-adv-x="732" unicode="Ò"/><glyph d="M467 891L384 743H343L408 891H467ZM459 670T527 629T633 511T670 330Q670 226 633 150T528 32T366 -10Q273 -10 205 31T99 149T62 330Q62 434 99 510T204 628T366 670Q459 670 527 629ZM289 624T233 589T146 487T115 330Q115 240 145 174T232 72T366 36Q443 36 500 71T587 173T618 330Q618 420 588 486T500 588T366 624Q289 624 233 589Z" glyph-name="Oacute" horiz-adv-x="732" unicode="Ó"/><glyph d="M460 739L366 861L273 739H226L337 895H395L506 739H460ZM459 670T527 629T633 511T670 330Q670 226 633 150T528 32T366 -10Q273 -10 205 31T99 149T62 330Q62 434 99 510T204 628T366 670Q459 670 527 629ZM289 624T233 589T146 487T115 330Q115 240 145 174T232 72T366 36Q443 36 500 71T587 173T618 330Q618 420 588 486T500 588T366 624Q289 624 233 589Z" glyph-name="Ocircumflex" horiz-adv-x="732" unicode="Ô"/><glyph d="M459 670T527 629T633 511T670 330Q670 226 633 150T528 32T366 -10Q273 -10 205 31T99 149T62 330Q62 434 99 510T204 628T366 670Q459 670 527 629ZM289 624T233 589T146 487T115 330Q115 240 145 174T232 72T366 36Q443 36 500 71T587 173T618 330Q618 420 588 486T500 588T366 624Q289 624 233 589ZM529 805T505 778T437 751Q409 751 392 760T353 789Q337 804 325 811T295 819Q268 819 256 803T236 750H196Q203 806 226 833T296 860Q323 860 340 851T379 822Q395 807 407 800T436 792Q463 792 476 808T496 861H536Q529 805 505 778Z" glyph-name="Otilde" horiz-adv-x="732" unicode="Õ"/><glyph d="M459 670T527 629T633 511T670 330Q670 226 633 150T528 32T366 -10Q273 -10 205 31T99 149T62 330Q62 434 99 510T204 628T366 670Q459 670 527 629ZM289 624T233 589T146 487T115 330Q115 240 145 174T232 72T366 36Q443 36 500 71T587 173T618 330Q618 420 588 486T500 588T366 624Q289 624 233 589ZM289 831T300 820T311 790Q311 772 300 761T271 750Q253 750 242 761T230 790Q230 808 241 819T271 831Q289 831 300 820ZM478 831T489 820T501 790Q501 772 490 761T460 750Q442 750 431 761T419 790Q419 808 430 819T460 831Q478 831 489 820Z" glyph-name="Odieresis" horiz-adv-x="732" unicode="Ö"/><glyph d="M336 315L502 149L468 114L302 281L135 114L101 149L267 315L101 481L135 516L302 349L468 516L502 481L336 315Z" glyph-name="multiply" horiz-adv-x="604" unicode="×"/><glyph d="M622 545T646 479T670 330Q670 226 633 150T528 32T366 -10Q261 -10 188 42L134 -34H87L158 67Q112 112 87 179T62 330Q62 434 99 510T204 628T366 670Q473 670 548 615L598 686H646L577 590Q622 545 646 479ZM115 259T133 203T188 109L519 575Q456 624 366 624Q289 624 233 589T146 487T115 330Q115 259 133 203ZM443 36T500 71T587 173T618 330Q618 399 600 454T547 548L217 83Q280 36 366 36Q443 36 500 71Z" glyph-name="Oslash" horiz-adv-x="732" unicode="Ø"/><glyph d="M376 743H335L252 891H311L376 743ZM605 241Q605 119 539 55T351 -10Q229 -10 163 54T96 241V660H146V251Q146 145 198 91T351 36Q451 36 503 90T555 251V660H605V241Z" glyph-name="Ugrave" horiz-adv-x="701" unicode="Ù"/><glyph d="M452 891L369 743H328L393 891H452ZM605 241Q605 119 539 55T351 -10Q229 -10 163 54T96 241V660H146V251Q146 145 198 91T351 36Q451 36 503 90T555 251V660H605V241Z" glyph-name="Uacute" horiz-adv-x="701" unicode="Ú"/><glyph d="M445 739L351 861L258 739H211L322 895H380L491 739H445ZM605 241Q605 119 539 55T351 -10Q229 -10 163 54T96 241V660H146V251Q146 145 198 91T351 36Q451 36 503 90T555 251V660H605V241Z" glyph-name="Ucircumflex" horiz-adv-x="701" unicode="Û"/><glyph d="M605 241Q605 119 539 55T351 -10Q229 -10 163 54T96 241V660H146V251Q146 145 198 91T351 36Q451 36 503 90T555 251V660H605V241ZM274 831T285 820T296 790Q296 772 285 761T256 750Q238 750 227 761T215 790Q215 808 226 819T256 831Q274 831 285 820ZM463 831T474 820T486 790Q486 772 475 761T445 750Q427 750 416 761T404 790Q404 808 415 819T445 831Q463 831 474 820Z" glyph-name="Udieresis" horiz-adv-x="701" unicode="Ü"/><glyph d="M373 891L290 743H249L314 891H373ZM297 257V0H247V257L13 660H72L272 309L472 660H531L297 257Z" glyph-name="Yacute" horiz-adv-x="544" unicode="Ý"/><glyph d="M431 534T491 484T551 338Q551 243 491 193T312 143H154V0H104V660H154V534H312Q431 534 491 484ZM499 189T499 338Q499 488 320 488H154V189H320Q499 189 499 338Z" glyph-name="Thorn" horiz-adv-x="599" unicode="Þ"/><glyph d="M441 383T488 328T535 190Q535 134 511 89T440 17T330 -10Q298 -10 269 0T225 28L242 67Q274 35 332 35Q403 35 444 79T486 195Q486 275 437 316T301 358H260V404H301Q372 404 414 444T456 553Q456 619 417 654T306 689Q219 689 179 639T139 488V0H89V506Q89 735 311 735Q376 735 420 711T485 645T507 555Q507 511 489 473T435 411T350 386V384Q441 383 488 328Z" glyph-name="germandbls" horiz-adv-x="590" unicode="ß"/><glyph d="M516 33T530 40L527 0Q509 -10 478 -10Q443 -10 421 9T396 75Q373 35 322 13T215 -10Q141 -10 97 23T52 117Q52 233 242 267L395 294V338Q395 398 360 432T259 466Q140 466 99 360L61 388Q83 447 134 478T259 510Q346 510 395 468T445 344V86Q445 33 491 33Q516 33 530 40ZM262 34T302 48T368 91T395 160V253L258 228Q177 213 140 186T103 117Q103 77 134 56T220 34Q262 34 302 48ZM288 583H246L153 741H207L288 583Z" glyph-name="agrave" horiz-adv-x="543" unicode="à"/><glyph d="M516 33T530 40L527 0Q509 -10 478 -10Q443 -10 421 9T396 75Q373 35 322 13T215 -10Q141 -10 97 23T52 117Q52 233 242 267L395 294V338Q395 398 360 432T259 466Q140 466 99 360L61 388Q83 447 134 478T259 510Q346 510 395 468T445 344V86Q445 33 491 33Q516 33 530 40ZM262 34T302 48T368 91T395 160V253L258 228Q177 213 140 186T103 117Q103 77 134 56T220 34Q262 34 302 48ZM622 741L528 583H487L567 741H622Z" glyph-name="aacute" horiz-adv-x="543" unicode="á"/><glyph d="M516 33T530 40L527 0Q509 -10 478 -10Q443 -10 421 9T396 75Q373 35 322 13T215 -10Q141 -10 97 23T52 117Q52 233 242 267L395 294V338Q395 398 360 432T259 466Q140 466 99 360L61 388Q83 447 134 478T259 510Q346 510 395 468T445 344V86Q445 33 491 33Q516 33 530 40ZM262 34T302 48T368 91T395 160V253L258 228Q177 213 140 186T103 117Q103 77 134 56T220 34Q262 34 302 48ZM608 579L516 699L424 579H377L487 735H544L655 579H608Z" glyph-name="acircumflex" horiz-adv-x="543" unicode="â"/><glyph d="M516 33T530 40L527 0Q509 -10 478 -10Q443 -10 421 9T396 75Q373 35 322 13T215 -10Q141 -10 97 23T52 117Q52 233 242 267L395 294V338Q395 398 360 432T259 466Q140 466 99 360L61 388Q83 447 134 478T259 510Q346 510 395 468T445 344V86Q445 33 491 33Q516 33 530 40ZM262 34T302 48T368 91T395 160V253L258 228Q177 213 140 186T103 117Q103 77 134 56T220 34Q262 34 302 48ZM423 645T399 618T331 591Q303 591 286 600T247 629Q231 644 219 651T189 659Q162 659 150 643T130 590H90Q97 646 120 673T190 700Q217 700 234 691T273 662Q289 647 301 640T330 632Q357 632 370 648T390 701H430Q423 645 399 618Z" glyph-name="atilde" horiz-adv-x="543" unicode="ã"/><glyph d="M516 33T530 40L527 0Q509 -10 478 -10Q443 -10 421 9T396 75Q373 35 322 13T215 -10Q141 -10 97 23T52 117Q52 233 242 267L395 294V338Q395 398 360 432T259 466Q140 466 99 360L61 388Q83 447 134 478T259 510Q346 510 395 468T445 344V86Q445 33 491 33Q516 33 530 40ZM262 34T302 48T368 91T395 160V253L258 228Q177 213 140 186T103 117Q103 77 134 56T220 34Q262 34 302 48ZM439 671T450 660T461 630Q461 612 450 601T421 590Q403 590 392 601T380 630Q380 648 391 659T421 671Q439 671 450 660ZM628 671T639 660T651 630Q651 612 640 601T610 590Q592 590 581 601T569 630Q569 648 580 659T610 671Q628 671 639 660Z" glyph-name="adieresis" horiz-adv-x="543" unicode="ä"/><glyph d="M516 33T530 40L527 0Q509 -10 478 -10Q443 -10 421 9T396 75Q373 35 322 13T215 -10Q141 -10 97 23T52 117Q52 233 242 267L395 294V338Q395 398 360 432T259 466Q140 466 99 360L61 388Q83 447 134 478T259 510Q346 510 395 468T445 344V86Q445 33 491 33Q516 33 530 40ZM262 34T302 48T368 91T395 160V253L258 228Q177 213 140 186T103 117Q103 77 134 56T220 34Q262 34 302 48ZM303 776T332 748T362 676Q362 632 333 604T257 575Q211 575 182 603T152 676Q152 720 181 748T257 776Q303 776 332 748ZM228 743T209 724T189 676Q189 647 208 628T257 608Q287 608 306 627T326 676Q326 705 307 724T257 743Q228 743 209 724Z" glyph-name="aring" horiz-adv-x="543" unicode="å"/><glyph d="M822 255T820 237H444Q447 143 494 89T617 34Q678 34 715 57T771 126L812 104Q784 48 738 19T617 -10Q545 -10 495 25T421 130Q405 60 347 25T212 -10Q139 -10 96 23T52 117Q52 176 98 214T237 264L399 282V337Q399 398 363 432T259 466Q142 466 99 360L61 388Q83 448 134 479T260 510Q327 510 371 481T433 394Q459 449 505 479T613 510Q715 510 768 446T822 270Q822 255 820 237ZM542 466T497 418T445 282H775Q764 466 613 466Q542 466 497 418ZM264 34T305 51T372 104T399 193V243L253 224Q174 215 139 188T103 117Q103 76 135 55T221 34Q264 34 305 51Z" glyph-name="ae" horiz-adv-x="876" unicode="æ"/><glyph d="M482 75T435 37T319 -9Q384 -51 384 -113Q384 -154 356 -181T281 -209Q247 -209 223 -200T178 -171L198 -136Q227 -171 275 -171Q303 -171 321 -154T340 -107Q340 -78 322 -56T256 -8Q162 3 110 71T57 250Q57 372 119 441T293 510Q368 510 420 475T496 375L449 353Q432 408 392 437T292 466Q205 466 156 409T107 250Q107 148 155 91T291 34Q355 34 399 65T454 153L500 137Q482 75 435 37Z" glyph-name="ccedilla" horiz-adv-x="545" unicode="ç"/><glyph d="M505 245T503 229H106Q111 137 160 86T293 34Q352 34 394 58T456 126L498 104Q470 49 418 20T293 -10Q182 -10 120 59T57 250Q57 372 117 441T287 510Q389 510 447 442T505 262Q505 245 503 229ZM206 466T159 416T106 274H458Q453 364 409 415T287 466Q206 466 159 416ZM312 583H270L177 741H231L312 583Z" glyph-name="egrave" horiz-adv-x="559" unicode="è"/><glyph d="M505 245T503 229H106Q111 137 160 86T293 34Q352 34 394 58T456 126L498 104Q470 49 418 20T293 -10Q182 -10 120 59T57 250Q57 372 117 441T287 510Q389 510 447 442T505 262Q505 245 503 229ZM206 466T159 416T106 274H458Q453 364 409 415T287 466Q206 466 159 416ZM390 741L296 583H255L335 741H390Z" glyph-name="eacute" horiz-adv-x="559" unicode="é"/><glyph d="M505 245T503 229H106Q111 137 160 86T293 34Q352 34 394 58T456 126L498 104Q470 49 418 20T293 -10Q182 -10 120 59T57 250Q57 372 117 441T287 510Q389 510 447 442T505 262Q505 245 503 229ZM206 466T159 416T106 274H458Q453 364 409 415T287 466Q206 466 159 416ZM376 579L284 699L192 579H145L255 735H312L423 579H376Z" glyph-name="ecircumflex" horiz-adv-x="559" unicode="ê"/><glyph d="M505 245T503 229H106Q111 137 160 86T293 34Q352 34 394 58T456 126L498 104Q470 49 418 20T293 -10Q182 -10 120 59T57 250Q57 372 117 441T287 510Q389 510 447 442T505 262Q505 245 503 229ZM206 466T159 416T106 274H458Q453 364 409 415T287 466Q206 466 159 416ZM207 671T218 660T229 630Q229 612 218 601T189 590Q171 590 160 601T148 630Q148 648 159 659T189 671Q207 671 218 660ZM396 671T407 660T419 630Q419 612 408 601T378 590Q360 590 349 601T337 630Q337 648 348 659T378 671Q396 671 407 660Z" glyph-name="edieresis" horiz-adv-x="559" unicode="ë"/><glyph d="M139 0H89V500H139V0ZM142 583H100L7 741H61L142 583Z" glyph-name="igrave" horiz-adv-x="229" unicode="ì"/><glyph d="M139 0H89V500H139V0ZM220 741L126 583H85L165 741H220Z" glyph-name="iacute" horiz-adv-x="229" unicode="í"/><glyph d="M139 0H89V500H139V0ZM207 579L115 699L23 579H-24L86 735H143L254 579H207Z" glyph-name="icircumflex" horiz-adv-x="229" unicode="î"/><glyph d="M30 590T19 601T8 630Q8 648 19 659T48 671Q67 671 78 660T89 630Q89 612 78 601T48 590Q30 590 19 601ZM162 590T151 601T139 630Q139 648 150 659T180 671Q198 671 209 660T221 630Q221 612 210 601T180 590Q162 590 151 601ZM139 0H89V500H139V0Z" glyph-name="idieresis" horiz-adv-x="229" unicode="ï"/><glyph d="M436 611Q530 487 530 286Q530 145 469 68T293 -10Q184 -10 121 56T57 238Q57 313 86 369T168 455T288 485Q357 485 405 459T480 383Q461 516 392 601L212 559L205 591L370 626Q314 687 221 730H294Q368 690 415 637L529 665L538 633L436 611ZM381 34T430 92T482 247Q482 332 432 386T294 441Q208 441 158 387T108 238Q108 143 158 89T295 34Q381 34 430 92Z" glyph-name="eth" horiz-adv-x="600" unicode="ð"/><glyph d="M409 510T461 462T514 324V0H464V308Q464 388 425 427T318 466Q270 466 229 444T164 380T139 282V0H89V500H134L136 399Q160 453 209 481T323 510Q409 510 461 462ZM469 645T445 618T377 591Q349 591 332 600T293 629Q277 644 265 651T235 659Q208 659 196 643T176 590H136Q143 646 166 673T236 700Q263 700 280 691T319 662Q335 647 347 640T376 632Q403 632 416 648T436 701H476Q469 645 445 618Z" glyph-name="ntilde" horiz-adv-x="598" unicode="ñ"/><glyph d="M406 510T469 441T533 250Q533 129 470 60T295 -10Q184 -10 121 59T57 250Q57 371 120 440T295 510Q406 510 469 441ZM207 467T157 409T107 250Q107 149 157 91T295 33Q383 33 433 91T483 250Q483 351 433 409T295 467Q207 467 157 409ZM323 583H281L188 741H242L323 583Z" glyph-name="ograve" horiz-adv-x="590" unicode="ò"/><glyph d="M406 510T469 441T533 250Q533 129 470 60T295 -10Q184 -10 121 59T57 250Q57 371 120 440T295 510Q406 510 469 441ZM207 467T157 409T107 250Q107 149 157 91T295 33Q383 33 433 91T483 250Q483 351 433 409T295 467Q207 467 157 409ZM401 741L307 583H266L346 741H401Z" glyph-name="oacute" horiz-adv-x="590" unicode="ó"/><glyph d="M406 510T469 441T533 250Q533 129 470 60T295 -10Q184 -10 121 59T57 250Q57 371 120 440T295 510Q406 510 469 441ZM207 467T157 409T107 250Q107 149 157 91T295 33Q383 33 433 91T483 250Q483 351 433 409T295 467Q207 467 157 409ZM387 579L295 699L203 579H156L266 735H323L434 579H387Z" glyph-name="ocircumflex" horiz-adv-x="590" unicode="ô"/><glyph d="M406 510T469 441T533 250Q533 129 470 60T295 -10Q184 -10 121 59T57 250Q57 371 120 440T295 510Q406 510 469 441ZM207 467T157 409T107 250Q107 149 157 91T295 33Q383 33 433 91T483 250Q483 351 433 409T295 467Q207 467 157 409ZM458 645T434 618T366 591Q338 591 321 600T282 629Q266 644 254 651T224 659Q197 659 185 643T165 590H125Q132 646 155 673T225 700Q252 700 269 691T308 662Q324 647 336 640T365 632Q392 632 405 648T425 701H465Q458 645 434 618Z" glyph-name="otilde" horiz-adv-x="590" unicode="õ"/><glyph d="M406 510T469 441T533 250Q533 129 470 60T295 -10Q184 -10 121 59T57 250Q57 371 120 440T295 510Q406 510 469 441ZM207 467T157 409T107 250Q107 149 157 91T295 33Q383 33 433 91T483 250Q483 351 433 409T295 467Q207 467 157 409ZM218 671T229 660T240 630Q240 612 229 601T200 590Q182 590 171 601T159 630Q159 648 170 659T200 671Q218 671 229 660ZM407 671T418 660T430 630Q430 612 419 601T389 590Q371 590 360 601T348 630Q348 648 359 659T389 671Q407 671 418 660Z" glyph-name="odieresis" horiz-adv-x="590" unicode="ö"/><glyph d="M322 552T334 540T347 507Q347 487 335 475T302 462Q282 462 270 474T257 507Q257 527 269 539T302 552Q322 552 334 540ZM537 293H67V339H537V293ZM322 170T334 158T347 126Q347 106 335 94T302 81Q282 81 270 93T257 126Q257 146 269 158T302 170Q322 170 334 158Z" glyph-name="divide" horiz-adv-x="604" unicode="÷"/><glyph d="M382 510T443 465L491 526H536L470 441Q533 372 533 250Q533 129 470 60T295 -10Q210 -10 154 31L104 -34H58L125 54Q57 124 57 250Q57 371 120 440T295 510Q382 510 443 465ZM157 93L187 135L415 427Q366 467 295 467Q207 467 157 409T107 250Q107 150 156 93H157ZM383 33T433 91T483 250Q483 343 439 401H438L412 366L182 68Q226 33 295 33Q383 33 433 91Z" glyph-name="oslash" horiz-adv-x="591" unicode="ø"/><glyph d="M504 500V0H459L457 99Q432 46 382 18T264 -10Q182 -10 133 35T84 170V500H134V182Q134 34 272 34Q327 34 368 58T432 123T454 213V500H504ZM323 583H281L188 741H242L323 583Z" glyph-name="ugrave" horiz-adv-x="593" unicode="ù"/><glyph d="M504 500V0H459L457 99Q432 46 382 18T264 -10Q182 -10 133 35T84 170V500H134V182Q134 34 272 34Q327 34 368 58T432 123T454 213V500H504ZM401 741L307 583H266L346 741H401Z" glyph-name="uacute" horiz-adv-x="593" unicode="ú"/><glyph d="M504 500V0H459L457 99Q432 46 382 18T264 -10Q182 -10 133 35T84 170V500H134V182Q134 34 272 34Q327 34 368 58T432 123T454 213V500H504ZM387 579L295 699L203 579H156L266 735H323L434 579H387Z" glyph-name="ucircumflex" horiz-adv-x="593" unicode="û"/><glyph d="M504 500V0H459L457 99Q432 46 382 18T264 -10Q182 -10 133 35T84 170V500H134V182Q134 34 272 34Q327 34 368 58T432 123T454 213V500H504ZM218 671T229 660T240 630Q240 612 229 601T200 590Q182 590 171 601T159 630Q159 648 170 659T200 671Q218 671 229 660ZM407 671T418 660T430 630Q430 612 419 601T389 590Q371 590 360 601T348 630Q348 648 359 659T389 671Q407 671 418 660Z" glyph-name="udieresis" horiz-adv-x="593" unicode="ü"/><glyph d="M249 -92Q221 -160 187 -187T101 -215Q39 -215 6 -178L25 -135Q49 -171 101 -171Q136 -171 160 -152T206 -80L238 0L186 124L27 500H84L237 121L262 54L289 126L436 500H490L249 -92ZM621 741L527 583H486L566 741H621Z" glyph-name="yacute" horiz-adv-x="510" unicode="ý"/><glyph d="M429 510T490 441T552 250Q552 128 491 59T323 -10Q259 -10 211 19T139 99V-210H89V730H139V401Q163 452 211 481T323 510Q429 510 490 441ZM404 34T453 91T502 250Q502 351 453 408T317 466Q236 466 188 409T139 255V245Q139 147 187 91T317 34Q404 34 453 91Z" glyph-name="thorn" horiz-adv-x="609" unicode="þ"/><glyph d="M249 -92Q221 -160 187 -187T101 -215Q39 -215 6 -178L25 -135Q49 -171 101 -171Q136 -171 160 -152T206 -80L238 0L186 124L27 500H84L237 121L262 54L289 126L436 500H490L249 -92ZM439 671T450 660T461 630Q461 612 450 601T421 590Q403 590 392 601T380 630Q380 648 391 659T421 671Q439 671 450 660ZM628 671T639 660T651 630Q651 612 640 601T610 590Q592 590 581 601T569 630Q569 648 580 659T610 671Q628 671 639 660Z" glyph-name="ydieresis" horiz-adv-x="510" unicode="ÿ"/><glyph d="M563 242H75V289H563V242Z" glyph-name="endash" horiz-adv-x="638" unicode="–"/><glyph d="M903 242H75V289H903V242Z" glyph-name="emdash" horiz-adv-x="979" unicode="—"/><glyph d="M83 486T68 506T53 558Q53 601 74 637T139 695L167 670Q132 658 110 627T89 567L92 566Q98 575 115 575Q130 575 142 563T154 531Q154 513 141 500T109 486Q83 486 68 506Z" glyph-name="quoteleft" horiz-adv-x="217" unicode="‘"/><glyph d="M138 694T153 674T168 622Q168 579 147 543T82 485L54 510Q89 522 111 553T132 613L129 614Q123 605 106 605Q91 605 79 616T67 648Q67 667 80 680T112 694Q138 694 153 674Z" glyph-name="quoteright" horiz-adv-x="216" unicode="’"/><glyph d="M392 82T406 62T421 9Q421 -33 399 -70T335 -128L307 -103Q342 -90 364 -59T385 1L382 2Q375 -8 359 -8Q344 -8 332 4T320 36Q320 55 333 68T366 82Q392 82 406 62Z" glyph-name="quotesinglbase" horiz-adv-x="223" unicode="‚"/><glyph d="M83 486T68 506T53 558Q53 601 74 637T139 695L167 670Q132 658 110 627T89 567L92 566Q98 575 115 575Q130 575 142 563T154 531Q154 513 141 500T109 486Q83 486 68 506ZM229 486T214 506T199 558Q199 601 220 637T285 695L313 670Q278 658 256 627T235 567L238 566Q244 575 261 575Q276 575 288 563T300 531Q300 513 287 500T255 486Q229 486 214 506Z" glyph-name="quotedblleft" horiz-adv-x="362" unicode="“"/><glyph d="M138 694T153 674T168 622Q168 579 147 543T82 485L54 510Q89 522 111 553T132 613L129 614Q123 605 106 605Q91 605 79 616T67 648Q67 667 80 680T112 694Q138 694 153 674ZM284 694T299 674T314 622Q314 579 293 543T228 485L200 510Q235 522 257 553T278 613L275 614Q269 605 252 605Q237 605 225 616T213 648Q213 667 226 680T258 694Q284 694 299 674Z" glyph-name="quotedblright" horiz-adv-x="362" unicode="”"/><glyph d="M392 82T406 62T421 9Q421 -33 399 -70T335 -128L307 -103Q342 -90 364 -59T385 1L382 2Q375 -8 359 -8Q344 -8 332 4T320 36Q320 55 333 68T366 82Q392 82 406 62ZM282 82T296 62T311 9Q311 -33 289 -70T225 -128L197 -103Q232 -90 254 -59T275 1L272 2Q265 -8 249 -8Q234 -8 222 4T210 36Q210 55 223 68T256 82Q282 82 296 62Z" glyph-name="quotedblbase" horiz-adv-x="369" unicode="„"/><glyph d="M256 430T283 404T310 338Q310 298 283 272T215 246Q174 246 147 272T120 338Q120 378 147 404T215 430Q256 430 283 404Z" glyph-name="bullet" horiz-adv-x="430" unicode="•"/><glyph d="M103 265L239 69H183L49 265L183 461H239L103 265Z" glyph-name="guilsinglleft" horiz-adv-x="290" unicode="‹"/><glyph d="M107 461L242 265L107 69H51L187 265L51 461H107Z" glyph-name="guilsinglright" horiz-adv-x="290" unicode="›"/></font></defs></svg>

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_500.svg
=====================================================
<svg xmlns="http://www.w3.org/2000/svg"><defs><font id="WorkSans" horiz-adv-x="581"><font-face alphabetic="0" ascent="930" descent="-243" font-family="Work Sans Medium" panose-1="0 0 6 0 0 0 0 0 0 0" units-per-em="1000"/><glyph glyph-name="space" horiz-adv-x="325"/><glyph d="M196 396L182 210H98L84 396V660H196V396ZM174 132T194 113T215 61Q215 29 195 10T140 -9Q106 -9 86 10T66 61Q66 93 86 112T140 132Q174 132 194 113Z" glyph-name="exclam" horiz-adv-x="281" unicode="!"/><glyph d="M332 430H254V686H359L332 430ZM154 430H76V686H181L154 430Z" glyph-name="quotedbl" horiz-adv-x="416" unicode="&quot;"/><glyph d="M498 412L472 252H588V179H460L430 0H348L377 179H222L193 0H110L140 179H22V252H152L178 412H65V485H191L219 660H302L273 485H428L457 660H539L510 485H632V412H498ZM416 412H261L234 252H390L416 412Z" glyph-name="numbersign" horiz-adv-x="655" unicode="#"/><glyph d="M279 1Q102 16 41 158L118 214Q132 163 176 129T279 84V292Q213 306 169 323T95 374T65 466Q65 543 122 596T279 659V756H356V658Q433 652 483 620T571 526L500 461Q474 515 441 542T356 575V364Q422 350 466 333T540 280T570 186Q570 108 512 59T356 1V-96H279V1ZM279 575Q223 569 194 543T165 473Q165 434 194 414T279 380V575ZM471 94T471 179Q471 219 442 240T356 275V83Q471 94 471 179Z" glyph-name="dollar" horiz-adv-x="622" unicode="$"/><glyph d="M280 670T325 620T371 486Q371 403 326 353T204 302Q128 302 83 352T37 486Q37 569 82 619T204 670Q280 670 325 620ZM610 660H702L271 0H178L610 660ZM166 592T146 565T125 486Q125 436 145 409T204 381Q243 381 263 408T284 486Q284 537 264 564T204 592Q166 592 146 565ZM752 358T797 308T843 174Q843 91 798 41T676 -10Q600 -10 555 40T509 174Q509 257 554 307T676 358Q752 358 797 308ZM638 279T618 252T597 174Q597 123 617 96T676 68Q715 68 735 95T756 174Q756 224 736 251T676 279Q638 279 618 252Z" glyph-name="percent" horiz-adv-x="880" unicode="%"/><glyph d="M613 -10Q568 -10 534 4T453 62Q416 28 367 9T258 -10Q195 -10 146 12T69 73T41 164Q41 223 76 271T193 359Q151 412 135 446T119 517Q119 556 138 591T196 648T288 670Q362 670 408 634T454 528Q454 470 425 427T320 344Q361 293 381 270Q436 204 458 179Q494 244 494 327L493 350L572 344Q574 283 558 226T508 124Q544 89 570 78T632 68L613 -10ZM253 589T234 569T215 516Q215 491 226 468T276 397Q330 429 347 458T364 524Q364 556 345 572T288 589Q253 589 234 569ZM137 127T173 98T261 69Q341 69 402 115Q356 164 318 210L303 227L240 302Q179 265 158 236T137 171Q137 127 173 98Z" glyph-name="ampersand" horiz-adv-x="630" unicode="&amp;"/><glyph d="M154 430H76V686H181L154 430Z" glyph-name="quotesingle" horiz-adv-x="239" unicode="'"/><glyph d="M339 691Q245 605 206 510T166 278Q166 141 205 47T339 -134L283 -190Q174 -102 119 16T63 278Q63 423 118 541T283 747L339 691Z" glyph-name="parenleft" horiz-adv-x="362" unicode="("/><glyph d="M188 659T243 541T299 278Q299 134 244 16T80 -190L23 -134Q117 -49 156 46T196 278Q196 415 157 510T23 691L80 747Q188 659 243 541Z" glyph-name="parenright" horiz-adv-x="362" unicode=")"/><glyph d="M388 423L462 321L396 273L322 375L288 440L254 375L181 273L115 321L189 423L240 475L168 488L49 526L73 603L193 564L259 532L248 604L247 730H330L329 604L318 532L384 564L504 603L528 526L409 488L336 475L388 423Z" glyph-name="asterisk" horiz-adv-x="577" unicode="*"/><glyph d="M548 275H349V66H256V275H56V364H256V572H349V364H548V275Z" glyph-name="plus" horiz-adv-x="604" unicode="+"/><glyph d="M176 135T198 106T221 29Q221 -28 191 -75T103 -150L51 -106Q92 -92 120 -65T157 -3L152 -1Q144 -9 124 -9Q99 -9 80 9T60 61Q60 93 82 114T136 135Q176 135 198 106Z" glyph-name="comma" horiz-adv-x="273" unicode=","/><glyph d="M428 214H87V313H428V214Z" glyph-name="hyphen" horiz-adv-x="515" unicode="-"/><glyph d="M171 135T191 116T212 63Q212 30 192 10T137 -10Q103 -10 82 10T61 63Q61 96 81 115T137 135Q171 135 191 116Z" glyph-name="period" horiz-adv-x="273" unicode="."/><glyph d="M124 -70H24L322 725H422L124 -70Z" glyph-name="slash" horiz-adv-x="447" unicode="/"/><glyph d="M189 -10T125 76T60 330Q60 497 124 583T314 670Q439 670 504 584T569 330Q569 163 504 77T314 -10Q189 -10 125 76ZM386 81T423 143T460 330Q460 454 423 516T314 579Q169 579 169 330Q169 81 314 81Q386 81 423 143Z" glyph-name="zero" horiz-adv-x="628" unicode="0"/><glyph d="M324 660V0H219V488Q219 522 220 541Q186 508 143 484T54 450L34 543Q60 546 101 565T180 610T234 660H324Z" glyph-name="one" horiz-adv-x="418" unicode="1"/><glyph d="M70 79Q200 170 272 233T375 349T407 458Q407 511 374 544T282 577Q220 577 184 536T142 422L49 465Q59 560 122 615T288 670Q359 670 411 643T490 568T517 462Q517 367 447 281T212 90V88Q262 92 321 92H529V0H70V79Z" glyph-name="two" horiz-adv-x="587" unicode="2"/><glyph d="M361 670T409 647T483 583T508 494Q508 447 490 411T443 354T384 334V332Q422 332 453 313T504 259T523 178Q523 124 493 81T409 14T283 -10Q104 -10 46 150L144 197Q159 139 192 111T287 82Q347 82 381 111T415 190Q415 244 383 266T279 289H249V374H276Q400 374 400 476Q400 526 372 552T291 578Q238 578 207 553T166 480L68 520Q89 592 149 631T293 670Q361 670 409 647Z" glyph-name="three" horiz-adv-x="586" unicode="3"/><glyph d="M579 165H467V0H366V165H41V230L336 660H467V248H579V165ZM148 248H366V474L370 581H368Q344 530 304 471L148 248Z" glyph-name="four" horiz-adv-x="622" unicode="4"/><glyph d="M382 424T429 398T501 324T527 215Q527 108 463 49T292 -10Q202 -10 145 26T53 135L153 190Q168 136 198 109T290 81Q351 81 386 114T422 207Q422 269 389 302T294 336Q200 336 160 279L71 285L112 660H495V568H197L174 385L172 371H173Q221 424 319 424Q382 424 429 398Z" glyph-name="five" horiz-adv-x="582" unicode="5"/><glyph d="M413 670T466 637T548 529L454 484Q425 577 326 577Q278 577 241 544T184 453T163 323V305H167Q183 359 232 387T341 416Q406 416 456 390T533 317T561 205Q561 106 498 48T326 -10Q201 -10 133 81T65 330Q65 439 99 516T194 631T332 670Q413 670 466 637ZM268 327T233 294T197 206Q197 150 232 116T326 82Q387 82 421 114T455 206Q455 263 421 295T326 327Q268 327 233 294Z" glyph-name="six" horiz-adv-x="617" unicode="6"/><glyph d="M544 660V571Q422 446 368 307T314 0H205Q205 159 262 302T433 567H41V660H544Z" glyph-name="seven" horiz-adv-x="577" unicode="7"/><glyph d="M411 669T471 621T531 492Q531 441 506 403T434 345V344Q493 322 525 280T558 177Q558 91 491 41T310 -10Q196 -10 129 40T61 177Q61 237 94 280T186 344V345Q140 364 114 402T88 492Q88 574 148 621T310 669Q411 669 471 621ZM257 579T226 554T195 482Q195 437 226 412T310 386Q362 386 393 411T425 482Q425 527 394 553T310 579Q257 579 226 554ZM375 80T412 109T450 189Q450 240 412 269T310 299Q246 299 208 270T169 189Q169 138 207 109T310 80Q375 80 412 109Z" glyph-name="eight" horiz-adv-x="619" unicode="8"/><glyph d="M422 670T490 579T558 329Q558 161 491 76T296 -10Q206 -10 150 27T63 138L164 185Q180 133 208 108T296 82Q384 82 422 148T460 342V353H456Q442 295 393 268T280 240Q216 240 167 266T89 340T61 453Q61 554 124 612T297 670Q422 670 490 579ZM236 576T202 544T168 452Q168 395 202 363T297 331Q355 331 390 364T426 452Q426 508 391 542T297 576Q236 576 202 544Z" glyph-name="nine" horiz-adv-x="621" unicode="9"/><glyph d="M183 510T203 491T224 438Q224 405 204 385T149 365Q115 365 94 385T73 438Q73 471 93 490T149 510Q183 510 203 491ZM183 135T203 116T224 63Q224 30 204 10T149 -10Q115 -10 94 10T73 63Q73 96 93 115T149 135Q183 135 203 116Z" glyph-name="colon" horiz-adv-x="298" unicode=":"/><glyph d="M119 365T99 384T78 437Q78 471 98 490T153 510Q188 510 208 491T229 437Q229 404 209 385T153 365Q119 365 99 384ZM190 135T212 106T235 29Q235 -28 205 -75T117 -150L65 -106Q106 -92 134 -65T171 -3L166 -1Q158 -9 138 -9Q113 -9 94 9T74 61Q74 93 96 114T150 135Q190 135 212 106Z" glyph-name="semicolon" horiz-adv-x="298" unicode=";"/><glyph d="M549 470L147 299L549 128V21L68 244V353L549 576V470Z" glyph-name="less" horiz-adv-x="604" unicode="&lt;"/><glyph d="M540 366H64V454H540V366ZM540 161H64V249H540V161Z" glyph-name="equal" horiz-adv-x="604" unicode="="/><glyph d="M536 353V244L55 21V128L457 299L55 470V576L536 353Z" glyph-name="greater" horiz-adv-x="604" unicode="&gt;"/><glyph d="M387 670T450 625T514 497Q514 412 462 366T325 311L322 210H220L218 361Q316 373 358 401T400 482Q400 526 369 551T276 576Q216 576 179 543T136 451L37 498Q53 576 116 623T283 670Q387 670 450 625ZM305 133T325 114T345 62Q345 29 325 10T271 -9Q236 -9 216 10T196 62Q196 94 216 113T271 133Q305 133 325 114Z" glyph-name="question" horiz-adv-x="562" unicode="?"/><glyph d="M635 660T726 609T863 467T909 260Q909 178 885 119T817 28T717 -3Q666 -3 636 22T594 86Q567 45 524 23T424 1Q376 1 338 25T278 94T256 199Q256 282 288 342T373 434T487 466Q594 466 626 382L646 459H719L678 155Q676 137 676 129Q676 61 737 61Q787 61 814 111T842 260Q842 362 803 437T688 554T503 596Q390 596 307 551T178 421T133 223Q133 116 178 36T302 -86T476 -128Q553 -128 599 -112T688 -66L725 -116Q672 -153 618 -172T475 -192Q353 -192 259 -141T113 4T61 223Q61 352 116 451T271 605T503 660Q635 660 726 609ZM431 391T391 343T350 208Q350 146 378 112T457 77Q508 77 547 109T593 202L601 261Q603 279 603 288Q603 336 578 363T498 391Q431 391 391 343Z" glyph-name="at" horiz-adv-x="973" unicode="@"/><glyph d="M471 173H193L130 0H20L269 660H397L646 0H533L471 173ZM439 260L363 472L333 567H330L302 474L224 260H439Z" glyph-name="A" horiz-adv-x="665" unicode="A"/><glyph d="M98 660H358Q474 660 530 613T587 479Q587 425 556 385T469 335V334Q531 324 567 282T604 183Q604 97 541 49T362 0H98V660ZM350 376Q476 376 476 473Q476 570 350 570H203V376H350ZM367 89Q429 89 461 114T493 188Q493 236 461 261T367 287H203V89H367Z" glyph-name="B" horiz-adv-x="662" unicode="B"/><glyph d="M615 86T543 38T372 -10Q277 -10 207 31T99 149T61 330Q61 434 99 511T207 629T371 670Q470 670 537 629T635 508L534 463Q514 522 476 549T377 577Q284 577 229 512T173 330Q173 213 226 148T373 83Q437 83 480 115T543 209L645 175Q615 86 543 38Z" glyph-name="C" horiz-adv-x="684" unicode="C"/><glyph d="M487 660T573 574T659 330Q659 172 573 86T331 0H98V660H331Q487 660 573 574ZM435 91T491 153T547 330Q547 444 491 506T331 569H205V91H331Q435 91 491 153Z" glyph-name="D" horiz-adv-x="720" unicode="D"/><glyph d="M590 92V0H98V660H576V568H205V378H495V288H205V92H590Z" glyph-name="E" horiz-adv-x="636" unicode="E"/><glyph d="M205 568V377H495V284H205V0H98V660H575V568H205Z" glyph-name="F" horiz-adv-x="611" unicode="F"/><glyph d="M651 341V0H572L569 84Q540 39 489 15T367 -10Q275 -10 206 31T99 148T61 330Q61 434 100 510T210 628T375 670Q477 670 543 632T647 514L549 467Q530 521 485 549T377 577Q283 577 228 512T173 330Q173 211 225 147T379 82Q458 82 507 121T556 234V253H354V341H651Z" glyph-name="G" horiz-adv-x="724" unicode="G"/><glyph d="M639 660V0H531V288H205V0H98V660H205V380H531V660H639Z" glyph-name="H" horiz-adv-x="736" unicode="H"/><glyph d="M205 0H98V660H205V0Z" glyph-name="I" horiz-adv-x="303" unicode="I"/><glyph d="M493 234Q493 119 430 55T253 -10Q149 -10 94 39T39 175Q39 206 44 231L146 250Q142 212 142 199Q142 139 169 111T253 83Q326 83 356 124T386 254V660H493V234Z" glyph-name="J" horiz-adv-x="582" unicode="J"/><glyph d="M312 318L205 203V0H98V660H205V332L508 660H639L389 390L645 0H519L312 318Z" glyph-name="K" horiz-adv-x="667" unicode="K"/><glyph d="M569 92V0H98V660H205V92H569Z" glyph-name="L" horiz-adv-x="599" unicode="L"/><glyph d="M773 0H675V382L682 564H681L480 0H391L190 564H189L197 382V0H98V660H257L390 278L436 121H438L485 278L617 660H773V0Z" glyph-name="M" horiz-adv-x="871" unicode="M"/><glyph d="M639 0H512L257 416L193 538H192L196 426V0H98V660H224L478 245L543 122H544L540 234V660H639V0Z" glyph-name="N" horiz-adv-x="736" unicode="N"/><glyph d="M467 670T537 629T646 511T684 330Q684 226 646 149T538 31T372 -10Q277 -10 207 31T99 149T61 330Q61 434 99 511T207 629T372 670Q467 670 537 629ZM279 577T226 512T173 330Q173 213 226 148T372 83Q466 83 519 148T572 330Q572 447 519 512T372 577Q279 577 226 512Z" glyph-name="O" horiz-adv-x="745" unicode="O"/><glyph d="M459 660T521 605T584 454Q584 358 522 304T352 249H205V0H98V660H352Q459 660 521 605ZM405 340T439 368T473 454Q473 569 335 569H205V340H335Q405 340 439 368Z" glyph-name="P" horiz-adv-x="627" unicode="P"/><glyph d="M570 -101T601 -91T651 -63L682 -153Q658 -174 616 -186T529 -198Q441 -198 387 -152T329 -8Q204 6 133 95T61 330Q61 434 99 511T207 629T372 670Q467 670 537 629T646 511T684 330Q684 184 612 95T413 -8Q418 -62 448 -81T532 -101Q570 -101 601 -91ZM173 213T226 148T372 83Q466 83 519 148T572 330Q572 447 519 512T372 577Q279 577 226 512T173 330Q173 213 226 148Z" glyph-name="Q" horiz-adv-x="745" unicode="Q"/><glyph d="M346 264H204V0H98V660H367Q474 660 536 608T598 462Q598 391 562 344T458 276L637 0H514L346 264ZM204 353H358Q423 353 455 379T487 461Q487 516 455 542T358 569H204V353Z" glyph-name="R" horiz-adv-x="672" unicode="R"/><glyph d="M414 670T478 637T587 536L506 463Q478 523 436 550T324 577Q255 577 217 550T179 479Q179 439 216 416T348 375Q437 359 489 335T566 274T590 183Q590 125 557 81T465 14T327 -10Q126 -10 43 124L118 199Q150 139 200 111T326 83Q397 83 437 107T478 177Q478 213 442 235T314 274Q223 291 169 316T91 378T66 468Q66 524 97 570T186 643T323 670Q414 670 478 637Z" glyph-name="S" horiz-adv-x="642" unicode="S"/><glyph d="M589 568H363V0H256V568H30V660H589V568Z" glyph-name="T" horiz-adv-x="619" unicode="T"/><glyph d="M629 253Q629 123 560 57T359 -10Q227 -10 158 56T89 253V660H197V266Q197 172 236 128T359 83Q442 83 481 127T521 266V660H629V253Z" glyph-name="U" horiz-adv-x="718" unicode="U"/><glyph d="M392 0H267L22 660H136L290 221L330 90L370 220L524 660H637L392 0Z" glyph-name="V" horiz-adv-x="659" unicode="V"/><glyph d="M349 0H222L28 660H144L288 85L433 660H543L689 84L834 660H944L751 0H625L520 396L487 548H486L453 396L349 0Z" glyph-name="W" horiz-adv-x="972" unicode="W"/><glyph d="M468 0L306 257L144 0H21L250 335L39 660H166L318 415L470 660H586L373 339L595 0H468Z" glyph-name="X" horiz-adv-x="620" unicode="X"/><glyph d="M352 253V0H245V253L10 660H129L247 448L299 349L351 448L468 660H588L352 253Z" glyph-name="Y" horiz-adv-x="597" unicode="Y"/><glyph d="M583 91V0H50V87L449 569H59V660H571V573L172 91H583Z" glyph-name="Z" horiz-adv-x="631" unicode="Z"/><glyph d="M183 640V-83H330V-168H86V725H330V640H183Z" glyph-name="bracketleft" horiz-adv-x="361" unicode="["/><glyph d="M125 725L423 -70H323L25 725H125Z" glyph-name="backslash" horiz-adv-x="447" unicode="\"/><glyph d="M275 -168H31V-83H178V640H31V725H275V-168Z" glyph-name="bracketright" horiz-adv-x="361" unicode="]"/><glyph d="M448 355L288 649L128 355H26L240 728H336L549 355H448Z" glyph-name="asciicircum" horiz-adv-x="576" unicode="^"/><glyph d="M539 -181H0V-88H539V-181Z" glyph-name="underscore" horiz-adv-x="539" unicode="_"/><glyph d="M299 578H217L118 746H226L299 578Z" glyph-name="grave" horiz-adv-x="500" unicode="`"/><glyph d="M537 70T552 74L545 2Q518 -10 483 -10Q440 -10 415 7T381 64Q358 29 313 10T212 -10Q139 -10 94 24T49 121Q49 180 98 220T244 278L371 300V327Q371 373 344 399T269 426Q170 426 140 336L57 380Q75 440 130 475T267 510Q364 510 421 465T478 333V107Q478 88 486 79T515 70Q537 70 552 74ZM289 71T330 97T371 166V226L262 204Q210 194 185 176T160 128Q160 100 179 86T235 71Q289 71 330 97Z" glyph-name="a" horiz-adv-x="570" unicode="a"/><glyph d="M455 510T514 441T573 249Q573 127 514 59T352 -10Q293 -10 249 18T182 93L177 0H83V725H190V420Q213 462 255 486T352 510Q455 510 514 441ZM393 76T429 122T466 250Q466 332 430 377T328 423Q267 423 231 382T190 269V231Q194 158 230 117T328 76Q393 76 429 122Z" glyph-name="b" horiz-adv-x="629" unicode="b"/><glyph d="M467 510T520 370L420 330Q394 425 303 425Q236 425 199 379T162 249Q162 165 199 120T303 75Q354 75 385 100T426 172L524 139Q502 69 446 30T305 -10Q187 -10 121 59T54 250Q54 372 120 441T303 510Q467 510 520 370Z" glyph-name="c" horiz-adv-x="566" unicode="c"/><glyph d="M546 725V0H452L446 89Q424 44 380 17T278 -10Q175 -10 116 58T56 249Q56 371 115 440T278 510Q333 510 375 486T439 419V725H546ZM365 76T402 121T439 244V256Q439 334 402 378T302 423Q237 423 201 378T164 250Q164 168 200 122T302 76Q365 76 402 121Z" glyph-name="d" horiz-adv-x="629" unicode="d"/><glyph d="M530 236T526 210H160Q169 144 207 110T305 75Q354 75 386 92T431 143L520 106Q464 -10 305 -10Q187 -10 121 59T54 250Q54 373 118 441T298 510Q408 510 469 443T530 265Q530 236 526 210ZM240 425T205 391T160 292H430Q422 355 388 390T298 425Q240 425 205 391Z" glyph-name="e" unicode="e"/><glyph d="M225 500H387V416H228V0H121V416H27V500H121V572Q121 648 167 690T296 732Q326 732 351 726T390 708L370 630Q347 645 313 645Q225 645 225 564V500Z" glyph-name="f" horiz-adv-x="400" unicode="f"/><glyph d="M450 78T492 44T534 -50Q534 -101 501 -138T409 -195T277 -215Q158 -215 99 -180T39 -87Q39 -53 62 -28T128 9Q96 24 77 47T58 104Q58 177 136 204Q98 226 79 261T59 341Q59 391 86 429T162 489T276 510Q331 510 377 494Q391 549 427 577T524 605L542 522Q494 523 465 510T424 471Q457 448 475 415T493 341Q493 264 434 218T276 172Q230 172 193 181Q168 175 157 162T145 126Q145 103 161 91T207 78H374Q450 78 492 44ZM230 435T199 409T168 341Q168 299 199 273T276 246Q323 246 353 272T384 341Q384 383 354 409T276 435Q230 435 199 409ZM360 -135T401 -114T442 -62Q442 -37 422 -24T355 -11H220Q175 -11 153 -25T130 -64Q130 -98 169 -116T287 -135Q360 -135 401 -114Z" glyph-name="g" horiz-adv-x="554" unicode="g"/><glyph d="M435 510T487 462T540 324V0H433V290Q433 422 326 422Q270 422 230 383T190 264V0H83V725H190V420Q215 466 256 488T352 510Q435 510 487 462Z" glyph-name="h" horiz-adv-x="619" unicode="h"/><glyph d="M103 584T84 601T65 651Q65 683 84 700T137 717Q171 717 189 700T208 651Q208 619 190 602T137 584Q103 584 84 601ZM190 0H83V500H190V0Z" glyph-name="i" horiz-adv-x="274" unicode="i"/><glyph d="M169 717T188 699T208 651Q208 621 189 603T137 584Q104 584 85 602T65 651Q65 681 84 699T137 717Q169 717 188 699ZM190 -44Q190 -133 144 -174T26 -215Q-39 -215 -84 -182L-65 -96Q-31 -124 12 -124Q46 -124 64 -103T83 -34V500H190V-44Z" glyph-name="j" horiz-adv-x="273" unicode="j"/><glyph d="M289 235L190 133V0H83V725H190V255L429 500H555L364 304L567 0H443L289 235Z" glyph-name="k" horiz-adv-x="583" unicode="k"/><glyph d="M187 146Q187 109 198 95T239 80Q258 80 271 82T305 93L293 7Q259 -10 210 -10Q143 -10 112 24T80 131V725H187V146Z" glyph-name="l" horiz-adv-x="312" unicode="l"/><glyph d="M736 510T778 490T845 427T870 324V0H763V307Q763 366 735 394T660 422Q605 422 568 382T530 272V0H423V307Q423 366 395 394T320 422Q288 422 258 406T209 354T190 266V0H83V500H178L183 417Q208 463 251 486T345 510Q401 510 446 485T514 410Q537 459 584 484T686 510Q736 510 778 490Z" glyph-name="m" horiz-adv-x="949" unicode="m"/><glyph d="M435 510T487 462T540 324V0H433V290Q433 422 326 422Q270 422 230 384T190 265V0H83V500H178L183 417Q208 464 252 487T352 510Q435 510 487 462Z" glyph-name="n" horiz-adv-x="619" unicode="n"/><glyph d="M420 510T486 441T552 250Q552 128 486 59T303 -10Q186 -10 120 59T54 250Q54 372 120 441T303 510Q420 510 486 441ZM235 426T199 381T162 250Q162 165 198 120T303 74Q371 74 408 120T445 250Q445 334 408 380T303 426Q235 426 199 381Z" glyph-name="o" horiz-adv-x="606" unicode="o"/><glyph d="M455 510T514 442T573 251Q573 129 514 60T352 -10Q298 -10 256 14T190 80V-210H83V500H177L182 407Q204 454 248 482T352 510Q455 510 514 442ZM393 77T429 122T466 250Q466 332 430 378T328 424Q267 424 231 383T190 269V231Q194 159 230 118T328 77Q393 77 429 122Z" glyph-name="p" horiz-adv-x="629" unicode="p"/><glyph d="M547 500V-210H440V81Q417 39 375 15T279 -10Q176 -10 117 59T57 251Q57 373 116 441T278 510Q337 510 381 483T448 408L453 500H547ZM365 77T402 121T440 244V256Q440 334 403 379T302 424Q237 424 201 378T164 250Q164 168 200 123T302 77Q365 77 402 121Z" glyph-name="q" horiz-adv-x="630" unicode="q"/><glyph d="M376 510T396 500L379 402Q356 415 316 415Q284 415 256 398T209 347T190 265V0H83V500H174L183 410Q225 510 341 510Q376 510 396 500Z" glyph-name="r" horiz-adv-x="414" unicode="r"/><glyph d="M188 -10T130 16T41 95L113 157Q132 114 172 94T268 74Q319 74 347 90T375 134Q375 158 349 172T259 200Q148 221 103 256T58 355Q58 396 83 431T155 488T268 510Q351 510 401 483T478 397L402 341Q384 385 352 405T269 426Q224 426 195 408T165 365Q165 338 191 322T288 293Q394 274 438 239T482 141Q482 74 424 32T264 -10Q188 -10 130 16Z" glyph-name="s" horiz-adv-x="529" unicode="s"/><glyph d="M407 33Q383 13 349 2T274 -10Q205 -10 164 24T121 132V416H26V500H121V617L228 647V500H403V416H228V150Q228 114 247 97T301 79Q347 79 382 111L407 33Z" glyph-name="t" horiz-adv-x="424" unicode="t"/><glyph d="M536 500V0H441L437 81Q386 -10 259 -10Q178 -10 129 34T79 171V500H186V199Q186 133 212 106T289 78Q350 78 389 116T429 230V500H536Z" glyph-name="u" horiz-adv-x="619" unicode="u"/><glyph d="M524 500L325 0H208L8 500H126L267 87L412 500H524Z" glyph-name="v" horiz-adv-x="532" unicode="v"/><glyph d="M843 500L676 0H559L433 378L313 0H196L29 500H145L258 100L383 500H489L613 100L727 500H843Z" glyph-name="w" horiz-adv-x="871" unicode="w"/><glyph d="M399 0L273 188L143 0H22L210 252L32 500H160L280 319L399 500H522L343 255L525 0H399Z" glyph-name="x" horiz-adv-x="550" unicode="x"/><glyph d="M314 -59Q281 -145 239 -180T129 -215Q90 -215 62 -206T11 -175L42 -93Q72 -129 124 -129Q154 -129 174 -114T211 -57L233 -3L181 121L25 500H145L255 186L284 92L318 195L422 500H533L314 -59Z" glyph-name="y" horiz-adv-x="546" unicode="y"/><glyph d="M51 74L294 356L354 418L268 416H53V500H472V426L230 144L170 82L265 84H481V0H51V74Z" glyph-name="z" horiz-adv-x="528" unicode="z"/><glyph d="M237 -82T260 -97T336 -112L325 -190Q228 -190 186 -157T144 -52V133Q144 189 119 213T32 237V319Q93 319 118 343T144 423V609Q144 680 186 713T325 747L336 669Q284 669 261 654T237 607V408Q237 306 126 278Q237 252 237 149V-50Q237 -82 260 -97Z" glyph-name="braceleft" horiz-adv-x="372" unicode="{"/><glyph d="M180 -168H86V725H180V-168Z" glyph-name="bar" horiz-adv-x="266" unicode="|"/><glyph d="M228 367T253 343T340 319V237Q279 237 254 213T228 133V-52Q228 -123 186 -156T47 -190L36 -112Q88 -112 111 -98T134 -50V149Q134 252 245 278Q134 306 134 408V607Q134 639 111 654T36 669L47 747Q144 747 186 714T228 609V423Q228 367 253 343Z" glyph-name="braceright" horiz-adv-x="372" unicode="}"/><glyph d="M509 316T474 275T375 234Q341 234 316 245T263 276Q239 291 225 298T194 305Q147 305 136 235H43Q54 398 183 398Q216 398 239 388T294 357Q316 342 331 335T364 327Q410 327 421 396H514Q509 316 474 275Z" glyph-name="asciitilde" horiz-adv-x="557" unicode="~"/><glyph glyph-name="uni00A0" horiz-adv-x="325"/><glyph d="M103 368T83 387T63 439Q63 471 83 490T137 509Q172 509 192 490T212 439Q212 407 192 388T137 368Q103 368 83 387ZM81 104L95 290H179L193 104V-160H81V104Z" glyph-name="exclamdown" horiz-adv-x="274" unicode="¡"/><glyph d="M511 76T463 37T342 -9V-100H268V-7Q170 5 116 72T61 250Q61 361 115 428T268 508V600H342V509Q414 502 459 466T524 370L433 331Q410 414 342 429V70Q419 85 440 170L528 140Q511 76 463 37ZM158 174T186 129T268 72V428Q214 416 186 371T158 249Q158 174 186 129Z" glyph-name="cent" horiz-adv-x="570" unicode="¢"/><glyph d="M594 81T558 36T454 -10Q412 -10 377 5T299 48Q244 -10 158 -10Q107 -10 76 14T45 78Q45 117 78 142T166 168Q224 168 272 144Q274 160 274 170Q274 196 266 220T240 272H76V347H184Q156 384 145 411T134 469Q134 526 161 572T238 644T353 670Q438 670 490 630T563 508L474 463Q459 524 430 553T349 582Q295 582 263 554T230 478Q230 452 241 427T284 356L291 347H481V272H334Q351 230 351 185Q351 142 335 106Q363 88 386 79T437 69Q478 69 496 91T514 163L590 160Q594 81 558 36ZM218 47T247 82Q201 107 166 107Q122 107 122 78Q122 63 134 55T167 47Q218 47 247 82Z" glyph-name="sterling" horiz-adv-x="625" unicode="£"/><glyph d="M541 263T508 210L600 124L534 59L445 150Q395 119 330 119Q265 119 212 151L125 59L60 124L151 212Q118 264 118 329Q118 396 152 447L60 533L125 598L214 507Q264 538 330 538Q397 538 448 507L534 598L600 533L510 445Q541 394 541 329Q541 263 508 210ZM381 205T413 240T446 329Q446 383 414 417T330 452Q279 452 246 418T213 329Q213 275 246 240T330 205Q381 205 413 240Z" glyph-name="currency" horiz-adv-x="659" unicode="¤"/><glyph d="M434 299H561V240H368V167H561V111H368V0H270V111H78V167H270V240H78V299H203L252 295L30 660H148L271 428L318 328H320L367 429L490 660H608L385 295L434 299Z" glyph-name="yen" horiz-adv-x="637" unicode="¥"/><glyph d="M177 357H83V725H177V357ZM177 -168H83V200H177V-168Z" glyph-name="brokenbar" horiz-adv-x="260" unicode="¦"/><glyph d="M579 227T556 193T493 134Q519 99 519 46Q519 1 493 -34T417 -90T303 -110Q224 -110 172 -85T83 -10L151 48Q174 9 210 -9T302 -28Q361 -28 393 -11T425 37Q425 75 389 95T260 128Q135 143 82 179T29 285Q29 330 52 365T116 424Q90 457 90 511Q90 556 116 592T193 649T311 670Q392 670 441 645T526 570L460 513Q434 551 400 569T310 588Q250 588 217 570T184 521Q184 482 219 462T348 430Q473 415 526 379T579 273Q579 227 556 193ZM122 263T155 245T277 217Q370 206 421 185Q487 213 487 261Q487 295 453 312T331 340Q238 351 187 372Q122 344 122 297Q122 263 155 245Z" glyph-name="section" horiz-adv-x="605" unicode="§"/><glyph d="M181 700T199 683T217 637Q217 608 199 591T151 574Q122 574 104 591T86 637Q86 666 104 683T151 700Q181 700 199 683ZM383 700T401 683T419 637Q419 608 401 591T353 574Q323 574 306 591T288 637Q288 666 305 683T353 700Q383 700 401 683Z" glyph-name="dieresis" horiz-adv-x="500" unicode="¨"/><glyph d="M506 670T583 628T703 509T746 330Q746 228 704 151T584 32T403 -10Q300 -10 223 32T103 151T60 330Q60 432 102 509T222 628T403 670Q506 670 583 628ZM323 599T263 566T169 472T136 330Q136 249 169 188T262 94T403 61Q483 61 543 94T636 188T669 330Q669 411 637 472T544 566T403 599Q323 599 263 566ZM528 515T570 415L500 381Q488 410 466 424T409 438Q362 438 335 409T308 328Q308 276 335 247T409 218Q483 218 506 279L572 250Q551 196 511 169T407 142Q323 142 275 192T226 328Q226 415 274 465T407 515Q528 515 570 415Z" glyph-name="copyright" horiz-adv-x="806" unicode="©"/><glyph d="M372 378T379 382L373 331Q353 321 329 321Q300 321 281 334T256 372Q238 348 206 335T130 321Q78 321 49 342T20 404Q20 446 51 472T152 511L241 527V540Q241 569 224 585T175 601Q144 601 123 588T91 543L26 570Q36 614 75 639T179 664Q252 664 289 633T326 541V409Q326 378 356 378Q372 378 379 382ZM189 381T215 398T241 442V480L179 467Q140 459 123 448T106 416Q106 397 119 389T158 381Q189 381 215 398ZM28 250H362V186H28V250Z" glyph-name="ordfeminine" horiz-adv-x="399" unicode="ª"/><glyph d="M151 265L277 69H172L46 265L172 461H277L151 265ZM348 265L474 69H369L243 265L369 461H474L348 265Z" glyph-name="guillemotleft" horiz-adv-x="521" unicode="«"/><glyph d="M545 364V121H448V275H59V364H545Z" glyph-name="logicalnot" horiz-adv-x="604" unicode="¬"/><glyph d="M428 214H87V313H428V214Z" glyph-name="uni00AD" horiz-adv-x="515" unicode="­"/><glyph d="M506 670T583 628T703 509T746 330Q746 228 704 151T584 32T403 -10Q300 -10 223 32T103 151T60 330Q60 432 102 509T222 628T403 670Q506 670 583 628ZM483 61T543 94T636 188T669 330Q669 411 637 472T544 566T403 599Q323 599 263 566T169 472T136 330Q136 249 169 188T262 94T403 61Q483 61 543 94ZM566 353T543 324T479 284L574 146H484L403 277H347V146H270V514H429Q490 514 528 482T566 395Q566 353 543 324ZM347 333H421Q488 333 488 393Q488 453 421 453H347V333Z" glyph-name="registered" horiz-adv-x="806" unicode="®"/><glyph d="M428 588H72V666H428V588Z" glyph-name="overscore" horiz-adv-x="500" unicode="¯"/><glyph d="M155 327T106 375T56 499Q56 575 106 622T235 670Q315 670 365 623T415 499Q415 422 365 375T235 327Q155 327 106 375ZM276 406T302 432T329 499Q329 540 303 566T235 592Q195 592 169 566T142 499Q142 458 168 432T235 406Q276 406 302 432Z" glyph-name="degree" horiz-adv-x="471" unicode="°"/><glyph d="M548 447V359H347V163H258V359H56V447H258V644H347V447H548ZM56 87H548V0H56V87Z" glyph-name="plusminus" horiz-adv-x="604" unicode="±"/><glyph d="M36 390Q90 425 127 452Q197 505 222 537T248 601Q248 630 231 648T180 666Q145 666 125 643T104 578L24 603Q27 665 70 700T183 735Q259 735 298 698T338 607Q338 565 307 524T208 436Q193 426 148 400V399Q193 402 220 402H346V333H36V390Z" glyph-name="uni00B2" horiz-adv-x="373" unicode="²"/><glyph d="M251 735T289 706T327 626Q327 584 303 560T247 533V531Q283 530 309 507T336 442Q336 390 294 359T182 327Q52 327 20 424L101 458Q110 394 179 394Q211 394 229 410T248 453Q248 503 179 503H155V557H176Q207 557 223 571T239 611Q239 638 224 652T179 666Q119 666 109 609L31 636Q43 685 83 710T183 735Q251 735 289 706Z" glyph-name="uni00B3" horiz-adv-x="367" unicode="³"/><glyph d="M382 746L283 578H201L274 746H382Z" glyph-name="acute" horiz-adv-x="500" unicode="´"/><glyph d="M535 500V0H445L438 85Q390 -10 265 -10Q219 -10 185 12V-210H78V500H185V199Q185 133 211 106T289 78Q347 78 384 108T428 194V500H535Z" glyph-name="uni00B5" horiz-adv-x="613" unicode="µ"/><glyph d="M584 -100H494V574H371V-100H279V238Q166 239 103 294T39 448Q39 549 106 604T300 660H584V-100Z" glyph-name="paragraph" horiz-adv-x="668" unicode="¶"/><glyph d="M155 427T175 408T196 354Q196 321 176 302T120 282Q86 282 66 301T45 354Q45 388 65 407T120 427Q155 427 175 408Z" glyph-name="middot" horiz-adv-x="240" unicode="·"/><glyph d="M240 31Q306 15 342 -22T378 -105Q378 -153 344 -184T254 -215Q215 -215 188 -206T139 -178L172 -116Q185 -129 203 -137T242 -146Q266 -146 282 -131T298 -90Q298 -60 277 -40T197 3L240 31Z" glyph-name="cedilla" horiz-adv-x="500" unicode="¸"/><glyph d="M209 730V333H123V574Q123 604 126 643Q69 595 13 588V661Q43 666 81 687T134 730H209Z" glyph-name="uni00B9" horiz-adv-x="259" unicode="¹"/><glyph d="M110 321T68 366T25 492Q25 574 67 619T189 664Q269 664 311 619T354 492Q354 411 312 366T189 321Q110 321 68 366ZM267 384T267 492Q267 602 189 602Q112 602 112 492Q112 384 189 384Q267 384 267 492ZM36 250H343V186H36V250Z" glyph-name="ordmasculine" horiz-adv-x="379" unicode="º"/><glyph d="M151 461L277 265L151 69H46L172 265L46 461H151ZM348 461L474 265L348 69H243L369 265L243 461H348Z" glyph-name="guillemotright" horiz-adv-x="520" unicode="»"/><glyph d="M209 665V268H123V509Q123 539 126 578Q71 530 13 523V596Q43 601 81 622T134 665H209ZM578 660H669L192 0H101L578 660ZM798 91H731V-4H657V91H458V134L633 393H731V150H798V91ZM657 150V253Q657 294 660 331H657Q641 299 626 275L537 150H657Z" glyph-name="onequarter" horiz-adv-x="817" unicode="¼"/><glyph d="M209 665V268H123V509Q123 539 126 578Q71 530 13 523V596Q43 601 81 622T134 665H209ZM578 660H669L192 0H101L578 660ZM547 53Q601 88 638 115Q708 168 733 200T759 264Q759 293 742 311T691 329Q656 329 636 306T615 241L535 266Q538 328 581 363T694 398Q770 398 809 361T849 270Q849 228 818 187T719 99Q704 89 659 63V62Q704 65 731 65H857V-4H547V53Z" glyph-name="onehalf" horiz-adv-x="884" unicode="½"/><glyph d="M251 670T289 641T327 561Q327 519 303 495T247 468V466Q283 465 309 442T336 377Q336 325 294 294T182 262Q52 262 20 359L101 393Q110 329 179 329Q211 329 229 345T248 388Q248 438 179 438H155V492H176Q207 492 223 506T239 546Q239 573 224 587T179 601Q119 601 109 544L31 571Q43 620 83 645T183 670Q251 670 289 641ZM686 660H777L300 0H209L686 660ZM906 91H839V-4H765V91H566V134L741 393H839V150H906V91ZM765 150V253Q765 294 768 331H765Q749 299 734 275L645 150H765Z" glyph-name="threequarters" horiz-adv-x="925" unicode="¾"/><glyph d="M254 367T234 386T214 438Q214 471 234 490T288 509Q323 509 343 490T363 438Q363 406 343 387T288 367Q254 367 234 386ZM172 -170T109 -124T45 4Q45 89 97 135T234 190L237 290H339L342 140Q244 127 202 99T159 18Q159 -26 190 -51T283 -76Q342 -76 379 -43T423 49L522 2Q506 -76 443 -123T276 -170Q172 -170 109 -124Z" glyph-name="questiondown" horiz-adv-x="558" unicode="¿"/><glyph d="M290 737L202 888H316L372 737H290ZM471 173H193L130 0H20L269 660H397L646 0H533L471 173ZM439 260L363 472L333 567H330L302 474L224 260H439Z" glyph-name="Agrave" horiz-adv-x="665" unicode="À"/><glyph d="M364 737H282L338 888H452L364 737ZM471 173H193L130 0H20L269 660H397L646 0H533L471 173ZM439 260L363 472L333 567H330L302 474L224 260H439Z" glyph-name="Aacute" horiz-adv-x="665" unicode="Á"/><glyph d="M253 731H164L277 898H389L502 731H413L333 838L253 731ZM471 173H193L130 0H20L269 660H397L646 0H533L471 173ZM439 260L363 472L333 567H330L302 474L224 260H439Z" glyph-name="Acircumflex" horiz-adv-x="665" unicode="Â"/><glyph d="M471 173H193L130 0H20L269 660H397L646 0H533L471 173ZM439 260L363 472L333 567H330L302 474L224 260H439ZM509 736T400 736Q371 736 352 746T311 776Q294 790 285 795T264 801Q245 801 235 785T219 735H146Q155 877 265 877Q293 877 311 867T353 837Q370 823 379 818T399 812Q419 812 429 828T445 877H518Q509 736 400 736Z" glyph-name="Atilde" horiz-adv-x="665" unicode="Ã"/><glyph d="M471 173H193L130 0H20L269 660H397L646 0H533L471 173ZM439 260L363 472L333 567H330L302 474L224 260H439ZM261 860T279 843T297 797Q297 768 279 751T231 734Q202 734 184 751T166 797Q166 826 184 843T231 860Q261 860 279 843ZM463 860T481 843T499 797Q499 768 481 751T433 734Q403 734 386 751T368 797Q368 826 385 843T433 860Q463 860 481 843Z" glyph-name="Adieresis" horiz-adv-x="665" unicode="Ä"/><glyph d="M471 173H193L130 0H20L259 630Q231 645 216 671T200 733Q200 787 237 821T334 855Q394 855 430 821T466 733Q466 698 451 672T407 630L646 0H533L471 173ZM303 797T284 779T265 732Q265 703 284 685T333 667Q362 667 381 685T400 732Q400 760 381 778T333 797Q303 797 284 779ZM439 260L363 472L333 567H330L302 474L224 260H439Z" glyph-name="Aring" horiz-adv-x="665" unicode="Å"/><glyph d="M899 90V0H442V208H223L115 0H3L358 660H885V570H546V378H804V289H546V90H899ZM442 294V571H411L268 294H442Z" glyph-name="AE" horiz-adv-x="945" unicode="Æ"/><glyph d="M620 100T565 54T432 -5Q460 -25 474 -51T489 -105Q489 -153 455 -184T365 -215Q326 -215 299 -206T250 -178L283 -116Q296 -129 314 -137T353 -146Q377 -146 393 -131T409 -90Q409 -64 393 -46T335 -8Q251 -1 189 42T94 159T61 330Q61 434 99 511T207 629T371 670Q470 670 537 629T635 508L534 463Q514 522 476 549T377 577Q284 577 229 512T173 330Q173 213 226 148T373 83Q437 83 480 115T543 209L645 175Q620 100 565 54Z" glyph-name="Ccedilla" horiz-adv-x="684" unicode="Ç"/><glyph d="M309 737L221 888H335L391 737H309ZM590 92V0H98V660H576V568H205V378H495V288H205V92H590Z" glyph-name="Egrave" horiz-adv-x="636" unicode="È"/><glyph d="M366 737H284L340 888H454L366 737ZM590 92V0H98V660H576V568H205V378H495V288H205V92H590Z" glyph-name="Eacute" horiz-adv-x="636" unicode="É"/><glyph d="M254 731H165L278 898H390L503 731H414L334 838L254 731ZM590 92V0H98V660H576V568H205V378H495V288H205V92H590Z" glyph-name="Ecircumflex" horiz-adv-x="636" unicode="Ê"/><glyph d="M590 92V0H98V660H576V568H205V378H495V288H205V92H590ZM263 860T281 843T299 797Q299 768 281 751T233 734Q204 734 186 751T168 797Q168 826 186 843T233 860Q263 860 281 843ZM465 860T483 843T501 797Q501 768 483 751T435 734Q405 734 388 751T370 797Q370 826 387 843T435 860Q465 860 483 843Z" glyph-name="Edieresis" horiz-adv-x="636" unicode="Ë"/><glyph d="M190 737H108L20 888H134L190 737ZM205 0H98V660H205V0Z" glyph-name="Igrave" horiz-adv-x="303" unicode="Ì"/><glyph d="M271 888L183 737H101L157 888H271ZM205 0H98V660H205V0Z" glyph-name="Iacute" horiz-adv-x="303" unicode="Í"/><glyph d="M231 731L151 838L71 731H-18L95 898H207L320 731H231ZM205 0H98V660H205V0Z" glyph-name="Icircumflex" horiz-adv-x="303" unicode="Î"/><glyph d="M90 860T107 843T125 797Q125 768 108 751T60 734Q31 734 14 751T-4 797Q-4 826 13 843T60 860Q90 860 107 843ZM271 860T289 843T307 797Q307 769 289 752T242 734Q213 734 195 751T177 797Q177 826 195 843T242 860Q271 860 289 843ZM205 0H98V660H205V0Z" glyph-name="Idieresis" horiz-adv-x="303" unicode="Ï"/><glyph d="M505 660T591 574T677 330Q677 172 591 86T349 0H116V294H22V370H116V660H349Q505 660 591 574ZM454 91T510 153T566 330Q566 444 510 506T349 569H223V370H400V294H223V91H349Q454 91 510 153Z" glyph-name="Eth" horiz-adv-x="738" unicode="Ð"/><glyph d="M639 0H512L257 416L193 538H192L196 426V0H98V660H224L478 245L543 122H544L540 234V660H639V0ZM548 736T439 736Q410 736 391 746T350 776Q333 790 324 795T303 801Q284 801 274 785T258 735H185Q194 877 304 877Q332 877 350 867T392 837Q409 823 418 818T438 812Q458 812 468 828T484 877H557Q548 736 439 736Z" glyph-name="Ntilde" horiz-adv-x="736" unicode="Ñ"/><glyph d="M411 737H329L241 888H355L411 737ZM467 670T537 629T646 511T684 330Q684 226 646 149T538 31T372 -10Q277 -10 207 31T99 149T61 330Q61 434 99 511T207 629T372 670Q467 670 537 629ZM279 577T226 512T173 330Q173 213 226 148T372 83Q466 83 519 148T572 330Q572 447 519 512T372 577Q279 577 226 512Z" glyph-name="Ograve" horiz-adv-x="745" unicode="Ò"/><glyph d="M492 888L404 737H322L378 888H492ZM467 670T537 629T646 511T684 330Q684 226 646 149T538 31T372 -10Q277 -10 207 31T99 149T61 330Q61 434 99 511T207 629T372 670Q467 670 537 629ZM279 577T226 512T173 330Q173 213 226 148T372 83Q466 83 519 148T572 330Q572 447 519 512T372 577Q279 577 226 512Z" glyph-name="Oacute" horiz-adv-x="745" unicode="Ó"/><glyph d="M452 731L372 838L292 731H203L316 898H428L541 731H452ZM467 670T537 629T646 511T684 330Q684 226 646 149T538 31T372 -10Q277 -10 207 31T99 149T61 330Q61 434 99 511T207 629T372 670Q467 670 537 629ZM279 577T226 512T173 330Q173 213 226 148T372 83Q466 83 519 148T572 330Q572 447 519 512T372 577Q279 577 226 512Z" glyph-name="Ocircumflex" horiz-adv-x="745" unicode="Ô"/><glyph d="M467 670T537 629T646 511T684 330Q684 226 646 149T538 31T372 -10Q277 -10 207 31T99 149T61 330Q61 434 99 511T207 629T372 670Q467 670 537 629ZM279 577T226 512T173 330Q173 213 226 148T372 83Q466 83 519 148T572 330Q572 447 519 512T372 577Q279 577 226 512ZM549 736T440 736Q411 736 392 746T351 776Q334 790 325 795T304 801Q285 801 275 785T259 735H186Q195 877 305 877Q333 877 351 867T393 837Q410 823 419 818T439 812Q459 812 469 828T485 877H558Q549 736 440 736Z" glyph-name="Otilde" horiz-adv-x="745" unicode="Õ"/><glyph d="M467 670T537 629T646 511T684 330Q684 226 646 149T538 31T372 -10Q277 -10 207 31T99 149T61 330Q61 434 99 511T207 629T372 670Q467 670 537 629ZM279 577T226 512T173 330Q173 213 226 148T372 83Q466 83 519 148T572 330Q572 447 519 512T372 577Q279 577 226 512ZM301 860T319 843T337 797Q337 768 319 751T271 734Q242 734 224 751T206 797Q206 826 224 843T271 860Q301 860 319 843ZM503 860T521 843T539 797Q539 768 521 751T473 734Q443 734 426 751T408 797Q408 826 425 843T473 860Q503 860 521 843Z" glyph-name="Odieresis" horiz-adv-x="745" unicode="Ö"/><glyph d="M366 320L530 156L466 91L302 255L138 91L73 156L237 320L73 484L138 549L302 385L466 549L530 484L366 320Z" glyph-name="multiply" horiz-adv-x="604" unicode="×"/><glyph d="M638 540T661 475T684 330Q684 226 646 149T538 31T372 -10Q275 -10 204 33L156 -34H81L155 71Q110 116 86 182T61 330Q61 434 99 511T207 629T372 670Q474 670 547 623L589 682H664L595 584Q638 540 661 475ZM279 577T226 512T173 330Q173 222 218 157L488 542Q441 577 372 577Q279 577 226 512ZM466 83T519 148T572 330Q572 434 531 496L264 113Q309 83 372 83Q466 83 519 148Z" glyph-name="Oslash" horiz-adv-x="745" unicode="Ø"/><glyph d="M398 737H316L228 888H342L398 737ZM629 253Q629 123 560 57T359 -10Q227 -10 158 56T89 253V660H197V266Q197 172 236 128T359 83Q442 83 481 127T521 266V660H629V253Z" glyph-name="Ugrave" horiz-adv-x="718" unicode="Ù"/><glyph d="M478 888L390 737H308L364 888H478ZM629 253Q629 123 560 57T359 -10Q227 -10 158 56T89 253V660H197V266Q197 172 236 128T359 83Q442 83 481 127T521 266V660H629V253Z" glyph-name="Uacute" horiz-adv-x="718" unicode="Ú"/><glyph d="M439 731L359 838L279 731H190L303 898H415L528 731H439ZM629 253Q629 123 560 57T359 -10Q227 -10 158 56T89 253V660H197V266Q197 172 236 128T359 83Q442 83 481 127T521 266V660H629V253Z" glyph-name="Ucircumflex" horiz-adv-x="718" unicode="Û"/><glyph d="M629 253Q629 123 560 57T359 -10Q227 -10 158 56T89 253V660H197V266Q197 172 236 128T359 83Q442 83 481 127T521 266V660H629V253ZM287 860T305 843T323 797Q323 768 305 751T257 734Q228 734 210 751T192 797Q192 826 210 843T257 860Q287 860 305 843ZM489 860T507 843T525 797Q525 768 507 751T459 734Q429 734 412 751T394 797Q394 826 411 843T459 860Q489 860 507 843Z" glyph-name="Udieresis" horiz-adv-x="718" unicode="Ü"/><glyph d="M418 888L330 737H248L304 888H418ZM352 253V0H245V253L10 660H129L247 448L299 349L351 448L468 660H588L352 253Z" glyph-name="Yacute" horiz-adv-x="597" unicode="Ý"/><glyph d="M462 547T525 493T589 337Q589 235 526 181T339 127H205V0H98V660H205V547H339Q462 547 525 493ZM409 218T444 247T478 337Q479 397 444 426T338 456H205V218H338Q409 218 444 247Z" glyph-name="Thorn" horiz-adv-x="639" unicode="Þ"/><glyph d="M454 383T495 356T556 286T576 193Q576 139 551 93T476 18T355 -10Q321 -10 291 -1T245 23L269 102Q297 78 349 78Q408 78 440 113T473 206Q473 268 434 300T319 332H277L282 421H319Q378 421 412 452T446 534Q446 587 415 613T325 640Q250 640 220 598T190 465V0H83V486Q83 602 141 666T331 730Q406 730 456 703T529 632T553 541Q553 504 535 468T481 409T391 385V383Q454 383 495 356Z" glyph-name="germandbls" horiz-adv-x="628" unicode="ß"/><glyph d="M537 70T552 74L545 2Q518 -10 483 -10Q440 -10 415 7T381 64Q358 29 313 10T212 -10Q139 -10 94 24T49 121Q49 180 98 220T244 278L371 300V327Q371 373 344 399T269 426Q170 426 140 336L57 380Q75 440 130 475T267 510Q364 510 421 465T478 333V107Q478 88 486 79T515 70Q537 70 552 74ZM289 71T330 97T371 166V226L262 204Q210 194 185 176T160 128Q160 100 179 86T235 71Q289 71 330 97ZM325 578H243L144 746H252L325 578Z" glyph-name="agrave" horiz-adv-x="570" unicode="à"/><glyph d="M537 70T552 74L545 2Q518 -10 483 -10Q440 -10 415 7T381 64Q358 29 313 10T212 -10Q139 -10 94 24T49 121Q49 180 98 220T244 278L371 300V327Q371 373 344 399T269 426Q170 426 140 336L57 380Q75 440 130 475T267 510Q364 510 421 465T478 333V107Q478 88 486 79T515 70Q537 70 552 74ZM289 71T330 97T371 166V226L262 204Q210 194 185 176T160 128Q160 100 179 86T235 71Q289 71 330 97ZM400 746L301 578H219L292 746H400Z" glyph-name="aacute" horiz-adv-x="570" unicode="á"/><glyph d="M537 70T552 74L545 2Q518 -10 483 -10Q440 -10 415 7T381 64Q358 29 313 10T212 -10Q139 -10 94 24T49 121Q49 180 98 220T244 278L371 300V327Q371 373 344 399T269 426Q170 426 140 336L57 380Q75 440 130 475T267 510Q364 510 421 465T478 333V107Q478 88 486 79T515 70Q537 70 552 74ZM289 71T330 97T371 166V226L262 204Q210 194 185 176T160 128Q160 100 179 86T235 71Q289 71 330 97ZM356 571L276 675L196 571H108L219 740H333L444 571H356Z" glyph-name="acircumflex" horiz-adv-x="570" unicode="â"/><glyph d="M537 70T552 74L545 2Q518 -10 483 -10Q440 -10 415 7T381 64Q358 29 313 10T212 -10Q139 -10 94 24T49 121Q49 180 98 220T244 278L371 300V327Q371 373 344 399T269 426Q170 426 140 336L57 380Q75 440 130 475T267 510Q364 510 421 465T478 333V107Q478 88 486 79T515 70Q537 70 552 74ZM289 71T330 97T371 166V226L262 204Q210 194 185 176T160 128Q160 100 179 86T235 71Q289 71 330 97ZM452 576T343 576Q314 576 295 586T254 616Q237 630 228 635T207 641Q188 641 178 625T162 575H89Q98 717 208 717Q236 717 254 707T296 677Q313 663 322 658T342 652Q362 652 372 668T388 717H461Q452 576 343 576Z" glyph-name="atilde" horiz-adv-x="570" unicode="ã"/><glyph d="M537 70T552 74L545 2Q518 -10 483 -10Q440 -10 415 7T381 64Q358 29 313 10T212 -10Q139 -10 94 24T49 121Q49 180 98 220T244 278L371 300V327Q371 373 344 399T269 426Q170 426 140 336L57 380Q75 440 130 475T267 510Q364 510 421 465T478 333V107Q478 88 486 79T515 70Q537 70 552 74ZM289 71T330 97T371 166V226L262 204Q210 194 185 176T160 128Q160 100 179 86T235 71Q289 71 330 97ZM205 700T223 683T241 637Q241 608 223 591T175 574Q146 574 128 591T110 637Q110 666 128 683T175 700Q205 700 223 683ZM407 700T425 683T443 637Q443 608 425 591T377 574Q347 574 330 591T312 637Q312 666 329 683T377 700Q407 700 425 683Z" glyph-name="adieresis" horiz-adv-x="570" unicode="ä"/><glyph d="M537 70T552 74L545 2Q518 -10 483 -10Q440 -10 415 7T381 64Q358 29 313 10T212 -10Q139 -10 94 24T49 121Q49 180 98 220T244 278L371 300V327Q371 373 344 399T269 426Q170 426 140 336L57 380Q75 440 130 475T267 510Q364 510 421 465T478 333V107Q478 88 486 79T515 70Q537 70 552 74ZM289 71T330 97T371 166V226L262 204Q210 194 185 176T160 128Q160 100 179 86T235 71Q289 71 330 97ZM333 806T367 774T402 688Q402 633 368 601T275 568Q216 568 181 600T146 688Q146 741 181 773T275 806Q333 806 367 774ZM246 751T228 734T209 688Q209 660 227 642T275 624Q304 624 322 642T340 688Q340 716 322 733T275 751Q246 751 228 734Z" glyph-name="aring" horiz-adv-x="570" unicode="å"/><glyph d="M830 244T826 214H480Q487 148 524 112T616 75Q664 75 692 92T732 143L820 106Q793 48 744 19T614 -10Q548 -10 500 17T425 99Q402 45 346 18T212 -10Q137 -10 93 25T49 121Q49 180 96 219T235 273L377 295V327Q377 373 349 399T268 426Q222 426 190 404T141 337L58 378Q77 440 133 475T272 510Q331 510 373 487T440 419Q468 463 511 486T609 510Q716 510 773 444T830 274Q830 244 826 214ZM557 425T523 391T480 291H731Q718 425 611 425Q557 425 523 391ZM295 71T336 103T377 191V225L266 204Q209 193 185 176T160 128Q160 71 239 71Q295 71 336 103Z" glyph-name="ae" horiz-adv-x="883" unicode="æ"/><glyph d="M506 81T465 44T360 -5Q387 -25 401 -51T416 -105Q416 -153 382 -184T292 -215Q253 -215 226 -206T177 -178L210 -116Q223 -129 241 -137T280 -146Q304 -146 320 -131T336 -90Q336 -63 320 -45T260 -7Q162 6 108 73T54 250Q54 372 120 441T303 510Q467 510 520 370L420 330Q394 425 303 425Q236 425 199 379T162 249Q162 165 199 120T303 75Q354 75 385 100T426 172L524 139Q506 81 465 44Z" glyph-name="ccedilla" horiz-adv-x="566" unicode="ç"/><glyph d="M530 236T526 210H160Q169 144 207 110T305 75Q354 75 386 92T431 143L520 106Q464 -10 305 -10Q187 -10 121 59T54 250Q54 373 118 441T298 510Q408 510 469 443T530 265Q530 236 526 210ZM240 425T205 391T160 292H430Q422 355 388 390T298 425Q240 425 205 391ZM344 578H262L163 746H271L344 578Z" glyph-name="egrave" unicode="è"/><glyph d="M530 236T526 210H160Q169 144 207 110T305 75Q354 75 386 92T431 143L520 106Q464 -10 305 -10Q187 -10 121 59T54 250Q54 373 118 441T298 510Q408 510 469 443T530 265Q530 236 526 210ZM240 425T205 391T160 292H430Q422 355 388 390T298 425Q240 425 205 391ZM419 746L320 578H238L311 746H419Z" glyph-name="eacute" unicode="é"/><glyph d="M530 236T526 210H160Q169 144 207 110T305 75Q354 75 386 92T431 143L520 106Q464 -10 305 -10Q187 -10 121 59T54 250Q54 373 118 441T298 510Q408 510 469 443T530 265Q530 236 526 210ZM240 425T205 391T160 292H430Q422 355 388 390T298 425Q240 425 205 391ZM375 571L295 675L215 571H127L238 740H352L463 571H375Z" glyph-name="ecircumflex" unicode="ê"/><glyph d="M530 236T526 210H160Q169 144 207 110T305 75Q354 75 386 92T431 143L520 106Q464 -10 305 -10Q187 -10 121 59T54 250Q54 373 118 441T298 510Q408 510 469 443T530 265Q530 236 526 210ZM240 425T205 391T160 292H430Q422 355 388 390T298 425Q240 425 205 391ZM224 700T242 683T260 637Q260 608 242 591T194 574Q165 574 147 591T129 637Q129 666 147 683T194 700Q224 700 242 683ZM426 700T444 683T462 637Q462 608 444 591T396 574Q366 574 349 591T331 637Q331 666 348 683T396 700Q426 700 444 683Z" glyph-name="edieresis" unicode="ë"/><glyph d="M190 0H83V500H190V0ZM442 578H360L261 746H369L442 578Z" glyph-name="igrave" horiz-adv-x="274" unicode="ì"/><glyph d="M190 0H83V500H190V0ZM525 746L426 578H344L417 746H525Z" glyph-name="iacute" horiz-adv-x="274" unicode="í"/><glyph d="M190 0H83V500H190V0ZM473 571L393 675L313 571H225L336 740H450L561 571H473Z" glyph-name="icircumflex" horiz-adv-x="274" unicode="î"/><glyph d="M23 574T6 591T-12 637Q-12 666 5 683T52 701Q82 701 99 684T117 637Q117 608 100 591T52 574Q23 574 6 591ZM191 574T174 591T157 637Q157 667 174 684T222 701Q251 701 268 684T286 637Q286 608 269 591T222 574Q191 574 174 591ZM190 0H83V500H190V0Z" glyph-name="idieresis" horiz-adv-x="274" unicode="ï"/><glyph d="M457 608Q551 481 551 293Q551 149 488 70T296 -10Q185 -10 121 56T56 239Q56 315 86 371T170 458T293 488Q403 488 454 418Q432 518 375 589L195 545L185 596L339 627Q289 675 196 728H321Q382 692 425 646L537 677L552 625L457 608ZM370 75T409 122T448 239Q448 319 411 362T307 405Q239 405 202 362T165 239Q165 161 201 118T303 75Q370 75 409 122Z" glyph-name="eth" horiz-adv-x="615" unicode="ð"/><glyph d="M435 510T487 462T540 324V0H433V290Q433 422 326 422Q270 422 230 384T190 265V0H83V500H178L183 417Q208 464 252 487T352 510Q435 510 487 462ZM493 576T384 576Q355 576 336 586T295 616Q278 630 269 635T248 641Q229 641 219 625T203 575H130Q139 717 249 717Q277 717 295 707T337 677Q354 663 363 658T383 652Q403 652 413 668T429 717H502Q493 576 384 576Z" glyph-name="ntilde" horiz-adv-x="619" unicode="ñ"/><glyph d="M420 510T486 441T552 250Q552 128 486 59T303 -10Q186 -10 120 59T54 250Q54 372 120 441T303 510Q420 510 486 441ZM235 426T199 381T162 250Q162 165 198 120T303 74Q371 74 408 120T445 250Q445 334 408 380T303 426Q235 426 199 381ZM352 578H270L171 746H279L352 578Z" glyph-name="ograve" horiz-adv-x="606" unicode="ò"/><glyph d="M420 510T486 441T552 250Q552 128 486 59T303 -10Q186 -10 120 59T54 250Q54 372 120 441T303 510Q420 510 486 441ZM235 426T199 381T162 250Q162 165 198 120T303 74Q371 74 408 120T445 250Q445 334 408 380T303 426Q235 426 199 381ZM427 746L328 578H246L319 746H427Z" glyph-name="oacute" horiz-adv-x="606" unicode="ó"/><glyph d="M420 510T486 441T552 250Q552 128 486 59T303 -10Q186 -10 120 59T54 250Q54 372 120 441T303 510Q420 510 486 441ZM235 426T199 381T162 250Q162 165 198 120T303 74Q371 74 408 120T445 250Q445 334 408 380T303 426Q235 426 199 381ZM383 571L303 675L223 571H135L246 740H360L471 571H383Z" glyph-name="ocircumflex" horiz-adv-x="606" unicode="ô"/><glyph d="M420 510T486 441T552 250Q552 128 486 59T303 -10Q186 -10 120 59T54 250Q54 372 120 441T303 510Q420 510 486 441ZM235 426T199 381T162 250Q162 165 198 120T303 74Q371 74 408 120T445 250Q445 334 408 380T303 426Q235 426 199 381ZM479 576T370 576Q341 576 322 586T281 616Q264 630 255 635T234 641Q215 641 205 625T189 575H116Q125 717 235 717Q263 717 281 707T323 677Q340 663 349 658T369 652Q389 652 399 668T415 717H488Q479 576 370 576Z" glyph-name="otilde" horiz-adv-x="606" unicode="õ"/><glyph d="M420 510T486 441T552 250Q552 128 486 59T303 -10Q186 -10 120 59T54 250Q54 372 120 441T303 510Q420 510 486 441ZM235 426T199 381T162 250Q162 165 198 120T303 74Q371 74 408 120T445 250Q445 334 408 380T303 426Q235 426 199 381ZM232 700T250 683T268 637Q268 608 250 591T202 574Q173 574 155 591T137 637Q137 666 155 683T202 700Q232 700 250 683ZM434 700T452 683T470 637Q470 608 452 591T404 574Q374 574 357 591T339 637Q339 666 356 683T404 700Q434 700 452 683Z" glyph-name="odieresis" horiz-adv-x="606" unicode="ö"/><glyph d="M336 591T355 572T375 520Q375 488 356 469T303 450Q269 450 250 469T230 520Q230 553 249 572T303 591Q336 591 355 572ZM548 275H56V364H548V275ZM336 188T355 169T375 118Q375 86 356 67T303 47Q269 47 250 66T230 118Q230 150 249 169T303 188Q336 188 355 169Z" glyph-name="divide" horiz-adv-x="604" unicode="÷"/><glyph d="M389 510T448 472L487 522H554L488 438Q552 369 552 250Q552 128 486 59T303 -10Q224 -10 168 22L125 -34H58L125 54Q54 123 54 250Q54 372 120 441T303 510Q389 510 448 472ZM192 136L224 181L388 398Q354 426 303 426Q235 426 199 381T162 250Q162 180 191 136H192ZM371 74T408 120T445 250Q445 311 420 353H419L390 313L227 96Q258 74 303 74Q371 74 408 120Z" glyph-name="oslash" horiz-adv-x="607" unicode="ø"/><glyph d="M536 500V0H441L437 81Q386 -10 259 -10Q178 -10 129 34T79 171V500H186V199Q186 133 212 106T289 78Q350 78 389 116T429 230V500H536ZM356 578H274L175 746H283L356 578Z" glyph-name="ugrave" horiz-adv-x="619" unicode="ù"/><glyph d="M536 500V0H441L437 81Q386 -10 259 -10Q178 -10 129 34T79 171V500H186V199Q186 133 212 106T289 78Q350 78 389 116T429 230V500H536ZM431 746L332 578H250L323 746H431Z" glyph-name="uacute" horiz-adv-x="619" unicode="ú"/><glyph d="M536 500V0H441L437 81Q386 -10 259 -10Q178 -10 129 34T79 171V500H186V199Q186 133 212 106T289 78Q350 78 389 116T429 230V500H536ZM387 571L307 675L227 571H139L250 740H364L475 571H387Z" glyph-name="ucircumflex" horiz-adv-x="619" unicode="û"/><glyph d="M536 500V0H441L437 81Q386 -10 259 -10Q178 -10 129 34T79 171V500H186V199Q186 133 212 106T289 78Q350 78 389 116T429 230V500H536ZM236 700T254 683T272 637Q272 608 254 591T206 574Q177 574 159 591T141 637Q141 666 159 683T206 700Q236 700 254 683ZM438 700T456 683T474 637Q474 608 456 591T408 574Q378 574 361 591T343 637Q343 666 360 683T408 700Q438 700 456 683Z" glyph-name="udieresis" horiz-adv-x="619" unicode="ü"/><glyph d="M314 -59Q281 -145 239 -180T129 -215Q90 -215 62 -206T11 -175L42 -93Q72 -129 124 -129Q154 -129 174 -114T211 -57L233 -3L181 121L25 500H145L255 186L284 92L318 195L422 500H533L314 -59ZM406 746L307 578H225L298 746H406Z" glyph-name="yacute" horiz-adv-x="546" unicode="ý"/><glyph d="M453 510T513 442T573 251Q573 167 545 108T467 20T352 -10Q298 -10 257 11T190 71V-210H83V725H190V426Q214 465 256 487T353 510Q453 510 513 442ZM393 77T429 122T466 250Q466 332 430 378T328 424Q265 424 228 379T190 256V244Q190 166 227 122T328 77Q393 77 429 122Z" glyph-name="thorn" horiz-adv-x="629" unicode="þ"/><glyph d="M314 -59Q281 -145 239 -180T129 -215Q90 -215 62 -206T11 -175L42 -93Q72 -129 124 -129Q154 -129 174 -114T211 -57L233 -3L181 121L25 500H145L255 186L284 92L318 195L422 500H533L314 -59ZM211 700T229 683T247 637Q247 608 229 591T181 574Q152 574 134 591T116 637Q116 666 134 683T181 700Q211 700 229 683ZM413 700T431 683T449 637Q449 608 431 591T383 574Q353 574 336 591T318 637Q318 666 335 683T383 700Q413 700 431 683Z" glyph-name="ydieresis" horiz-adv-x="546" unicode="ÿ"/><glyph d="M592 217H81V310H592V217Z" glyph-name="endash" horiz-adv-x="672" unicode="–"/><glyph d="M931 217H81V310H931V217Z" glyph-name="emdash" horiz-adv-x="1011" unicode="—"/><glyph d="M94 412T72 441T49 519Q49 576 78 623T167 697L219 654Q178 640 150 613T113 551L118 549Q126 557 146 557Q171 557 190 539T210 487Q210 455 188 434T134 412Q94 412 72 441Z" glyph-name="quoteleft" horiz-adv-x="267" unicode="‘"/><glyph d="M177 697T199 668T222 591Q222 534 193 487T104 412L52 455Q93 470 121 497T158 558L154 561Q144 553 125 553Q100 553 81 571T61 622Q61 654 83 675T137 697Q177 697 199 668Z" glyph-name="quoteright" horiz-adv-x="267" unicode="’"/><glyph d="M430 135T452 106T475 29Q475 -28 445 -75T357 -150L305 -106Q346 -92 374 -65T411 -3L406 -1Q398 -9 378 -9Q353 -9 334 9T314 61Q314 93 336 114T390 135Q430 135 452 106Z" glyph-name="quotesinglbase" horiz-adv-x="272" unicode="‚"/><glyph d="M94 412T72 441T49 519Q49 576 78 623T167 697L219 654Q178 640 150 613T113 551L118 549Q126 557 146 557Q171 557 190 539T210 487Q210 455 188 434T134 412Q94 412 72 441ZM299 412T277 441T254 519Q254 576 283 623T372 697L424 654Q383 640 355 613T318 551L323 549Q331 557 351 557Q376 557 395 539T415 487Q415 455 393 434T339 412Q299 412 277 441Z" glyph-name="quotedblleft" horiz-adv-x="472" unicode="“"/><glyph d="M177 697T199 668T222 591Q222 534 193 487T104 412L52 455Q93 470 121 497T158 558L154 561Q144 553 125 553Q100 553 81 571T61 622Q61 654 83 675T137 697Q177 697 199 668ZM381 697T403 668T426 591Q426 534 397 487T308 412L256 455Q297 470 325 497T362 558L358 561Q348 553 329 553Q304 553 285 571T265 622Q265 654 287 675T341 697Q381 697 403 668Z" glyph-name="quotedblright" horiz-adv-x="470" unicode="”"/><glyph d="M430 135T452 106T475 29Q475 -28 445 -75T357 -150L305 -106Q346 -92 374 -65T411 -3L406 -1Q398 -9 378 -9Q353 -9 334 9T314 61Q314 93 336 114T390 135Q430 135 452 106ZM378 135T400 106T423 29Q423 -28 393 -75T305 -150L253 -106Q294 -92 322 -65T359 -3L354 -1Q346 -9 326 -9Q301 -9 282 9T262 61Q262 93 284 114T338 135Q378 135 400 106Z" glyph-name="quotedblbase" horiz-adv-x="476" unicode="„"/><glyph d="M275 465T312 429T349 336Q349 278 312 242T215 206Q156 206 119 242T81 336Q81 393 118 429T215 465Q275 465 312 429Z" glyph-name="bullet" horiz-adv-x="430" unicode="•"/><glyph d="M151 265L277 69H172L46 265L172 461H277L151 265Z" glyph-name="guilsinglleft" horiz-adv-x="324" unicode="‹"/><glyph d="M152 461L278 265L152 69H47L173 265L47 461H152Z" glyph-name="guilsinglright" horiz-adv-x="324" unicode="›"/></font></defs></svg>

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/fonts/Inconsolata.svg
=====================================================
<svg xmlns="http://www.w3.org/2000/svg"><defs><font id="Inconsolata" horiz-adv-x="499"><font-face alphabetic="0" ascent="859" descent="-190" font-family="Inconsolata" panose-1="2 11 6 9 3 0 3 0 0 0" units-per-em="1000"/><glyph glyph-name="space" horiz-adv-x="500"/><glyph d="M281 89Q299 71 299 47Q299 24 281 7T239 -11Q215 -11 198 6T180 47Q180 71 197 89T239 107Q263 107 281 89ZM241 668Q264 668 278 649T292 584Q292 573 291 558T288 522L283 470L265 194H215L200 470Q199 486 198 503T195 537T192 569T190 594Q190 629 203 648T241 668Z" glyph-name="exclam" horiz-adv-x="500" unicode="!"/><glyph d="M315 548L309 611Q309 639 322 652T352 666Q369 666 383 651T397 603Q397 572 363 478L339 412L284 425L306 493Q315 523 315 548ZM143 548L136 611Q136 639 149 652T179 666Q196 666 210 651T224 603Q224 569 191 478L167 412L111 425L133 493Q138 508 140 521T143 548Z" glyph-name="quotedbl" horiz-adv-x="500" unicode="&quot;"/><glyph d="M173 624L234 626L213 455H323L343 622L405 623L385 457H476L470 410H379L358 241H457L452 196H353L331 14L270 10L292 193H181L160 14L101 13L122 191H25L29 236H128L148 407H39L42 453H153L173 624ZM207 408L187 238H297L318 408H207Z" glyph-name="numbersign" horiz-adv-x="500" unicode="#"/><glyph d="M235 651H299Q300 650 300 648Q300 646 297 642T293 630V592Q387 581 442 515L399 461Q394 463 394 470T388 482Q353 523 293 533V340Q336 326 367 311T419 278T450 236T460 181Q460 152 449 125T416 76T363 37T293 16V-47H235V14Q127 22 60 94L103 154Q107 151 107 144T110 133Q160 79 235 72V292Q157 318 118 354T79 446Q79 473 90 497T122 541T171 573T235 591V651ZM293 273V74Q341 83 368 112T395 177Q395 213 371 234T293 273ZM235 361V534Q190 529 168 506T145 454Q145 397 235 361Z" glyph-name="dollar" horiz-adv-x="500" unicode="$"/><glyph d="M391 623H458L110 0H46L391 623ZM28 504Q28 531 37 555T61 596T96 624T140 634Q163 634 183 624T219 596T243 554T252 503Q252 446 220 410T140 373Q117 373 97 383T61 410T37 452T28 504ZM189 504Q189 547 173 564T138 582Q120 582 105 565T89 504Q89 462 105 444T140 426Q159 426 174 443T189 504ZM371 249Q394 249 414 239T450 211T473 170T482 119Q482 92 473 68T449 27T414 0T371 -10Q348 -10 328 0T292 27T268 68T259 119Q259 146 268 170T292 211T327 239T371 249ZM406 179Q389 198 370 198Q350 198 334 180T318 120Q318 77 335 59T372 40Q392 40 407 59T423 118Q423 159 406 179Z" glyph-name="percent" horiz-adv-x="500" unicode="%"/><glyph d="M413 262L412 274Q412 280 416 284L481 239Q447 179 405 123L475 32L416 -12L361 76Q330 37 286 14T192 -10Q158 -10 130 2T80 34T48 82T36 141Q36 204 70 257T162 343Q91 429 91 498Q91 526 102 550T131 591T175 619T228 629Q258 629 283 618T326 589T353 547T363 498Q363 473 355 448T333 401T299 360T255 330L367 173Q381 190 395 215T413 262ZM160 497Q160 449 221 373Q257 390 277 424T297 492Q297 525 277 547T229 570Q201 570 181 550T160 497ZM197 296Q157 271 135 231T112 152Q112 131 119 114T138 83T165 62T199 54Q215 54 232 59T263 71T290 88T309 106L324 123L197 296Z" glyph-name="ampersand" horiz-adv-x="500" unicode="&amp;"/><glyph d="M238 548L231 611Q231 639 244 652T274 666Q291 666 305 651T319 603Q318 586 311 555T286 478L261 412L206 425L228 493Q233 508 235 521T238 548Z" glyph-name="quotesingle" horiz-adv-x="500" unicode="'"/><glyph d="M414 603L403 604Q400 604 394 601Q306 549 257 460T208 256Q208 200 223 146T266 42T334 -49T425 -120L393 -173Q333 -142 286 -97T207 5T157 125T139 258Q139 326 156 388T207 504T286 599T392 666L422 605Q416 603 414 603Z" glyph-name="parenleft" horiz-adv-x="500" unicode="("/><glyph d="M78 603L97 665Q157 637 207 594T291 496T345 379T364 250Q364 183 345 120T290 1T204 -100T91 -174L72 -114Q123 -87 163 -49T233 37T277 138T293 247Q293 303 278 356T234 455T166 539T78 603Z" glyph-name="parenright" horiz-adv-x="500" unicode=")"/><glyph d="M213 519H294Q293 513 291 506T288 492L273 342L432 414L458 353L287 301L413 150L358 107L250 273L138 106L84 150L214 300L41 353L67 418L229 342L213 519Z" glyph-name="asterisk" horiz-adv-x="500" unicode="*"/><glyph d="M222 523H285V352H456V291H285V104H222V291H45V352H222V523Z" glyph-name="plus" horiz-adv-x="500" unicode="+"/><glyph d="M306 20Q306 -59 199 -168L165 -138Q193 -112 211 -82T230 -33Q230 -23 222 -15T205 2T187 20T179 44Q179 69 195 86T238 103Q264 103 285 80T306 20Z" glyph-name="comma" horiz-adv-x="500" unicode=","/><glyph d="M71 348H431V281H71V348Z" glyph-name="hyphen" horiz-adv-x="500" unicode="-"/><glyph d="M280 87Q298 69 298 46Q298 23 281 6T238 -11Q213 -11 196 5T179 46Q179 70 197 87T238 104Q261 104 280 87Z" glyph-name="period" horiz-adv-x="500" unicode="."/><glyph d="M64 -13L377 665L437 634L123 -42L64 -13Z" glyph-name="slash" horiz-adv-x="500" unicode="/"/><glyph d="M386 544Q415 505 432 442T450 301Q450 222 433 164T387 66T322 8T249 -11Q211 -11 175 12T111 76T67 176T50 306Q50 377 66 436T111 537T175 603T249 627Q327 627 386 544ZM349 485Q329 525 303 545T250 566Q225 566 201 548T157 498T127 420T115 319Q115 257 129 201L349 485ZM372 418L152 138Q176 93 202 73T255 53Q282 53 305 69T346 117T374 192T385 293Q385 328 382 359T372 418Z" glyph-name="zero" horiz-adv-x="500" unicode="0"/><glyph d="M299 624V0H230V537L104 500L88 539L251 624H299Z" glyph-name="one" horiz-adv-x="500" unicode="1"/><glyph d="M78 526Q105 574 151 600T252 627Q289 627 322 614T380 576T419 520T433 452Q433 423 425 397T402 348T370 303T331 263L271 207Q258 195 242 179T211 143T180 103T154 61H415Q420 61 425 65T436 70H439V0H73V44Q110 117 153 170T236 259L284 303Q309 326 324 345T349 383T361 417T364 451Q364 473 355 493T330 530T293 556T250 566Q224 566 204 559T168 541T143 519T133 498Q131 489 129 486L78 526Z" glyph-name="two" horiz-adv-x="500" unicode="2"/><glyph d="M411 467Q411 422 386 385T318 332Q366 315 395 271T425 171Q425 134 412 101T373 43T310 4T226 -11Q134 -11 69 60L122 123Q126 119 128 110T135 94L149 81Q157 73 181 63T232 53Q259 53 282 63T322 90T348 131T358 181Q358 235 318 266T211 298Q203 298 196 298T180 296V352Q226 352 257 361T307 387T335 424T344 471Q344 489 336 505T314 534T280 555T236 563Q172 563 129 515L90 558Q151 625 239 625Q275 625 306 613T361 578T397 528T411 467Z" glyph-name="three" horiz-adv-x="500" unicode="3"/><glyph d="M313 624H372V234H452V172H372V0H299V173H48V224L313 624ZM300 513L117 234H300V513Z" glyph-name="four" horiz-adv-x="500" unicode="4"/><glyph d="M106 623H422V560H165L155 381Q204 405 257 405Q297 405 331 391T391 349T431 283T445 196Q445 148 430 110T389 44T327 3T249 -11Q192 -11 144 14T64 85L126 131Q131 128 131 119T133 108Q137 101 147 91T172 72T208 57T253 50Q277 50 299 60T337 90T364 136T374 199Q374 234 364 261T337 308T296 337T246 347Q214 347 183 332T129 288L85 306L106 623Z" glyph-name="five" horiz-adv-x="500" unicode="5"/><glyph d="M287 630Q365 630 424 573L375 520Q366 528 363 537T349 551Q334 561 319 564T289 568Q269 568 243 559T193 523T154 450T136 327Q157 362 192 382T268 402Q303 402 334 388T388 346T425 282T439 198Q439 152 425 114T387 48T331 5T261 -10Q214 -10 178 10T118 69T80 161T67 284Q67 368 82 432T127 541T196 607T287 630ZM140 257Q139 251 139 245T139 233Q139 194 148 161T175 104T215 66T264 52Q307 52 339 89T371 197Q371 235 361 262T336 306T301 332T262 341Q226 341 193 317T140 257Z" glyph-name="six" horiz-adv-x="500" unicode="6"/><glyph d="M432 584Q369 440 315 295T214 0H135Q183 143 235 281T345 557H79V623H432V584Z" glyph-name="seven" horiz-adv-x="500" unicode="7"/><glyph d="M420 483Q420 438 393 398T321 333Q375 308 408 262T441 161Q441 125 426 94T386 39T325 3T250 -10Q210 -10 175 3T115 38T75 91T60 157Q60 211 94 258T185 331Q142 353 116 392T90 477Q90 509 103 537T139 586T192 619T257 631Q292 631 322 620T373 588T407 540T420 483ZM237 303Q192 284 162 247T132 164Q132 141 141 121T167 86T205 62T252 53Q277 53 298 61T336 84T361 118T370 161Q370 207 334 245T237 303ZM174 429Q186 409 205 395T250 367L267 358Q304 378 328 412T352 481Q352 499 345 515T324 544T292 564T253 572Q232 572 215 565T184 545T164 517T157 484Q157 454 174 429Z" glyph-name="eight" horiz-adv-x="500" unicode="8"/><glyph d="M217 -10Q137 -10 79 47L128 100Q133 97 136 88T144 76Q173 53 215 53Q290 53 327 109T368 293Q346 262 312 244T239 226Q204 226 173 240T119 281T82 343T68 424Q68 468 82 505T120 570T177 613T247 629Q338 629 387 551T437 299Q437 220 420 162T372 67T302 10T217 -10ZM364 363Q365 371 365 378T365 394Q365 433 356 465T330 519T293 554T250 567Q199 567 168 529T136 425Q136 393 145 368T168 324T201 297T240 287Q280 287 311 307T364 363Z" glyph-name="nine" horiz-adv-x="500" unicode="9"/><glyph d="M280 406Q298 388 298 365Q298 342 280 325T238 308Q215 308 197 325T179 365Q179 389 197 406T238 423Q261 423 280 406ZM280 87Q298 69 298 46Q298 23 281 6T238 -11Q213 -11 196 5T179 46Q179 70 197 87T238 104Q261 104 280 87Z" glyph-name="colon" horiz-adv-x="500" unicode=":"/><glyph d="M306 20Q306 -59 199 -168L165 -138Q193 -112 211 -82T230 -33Q230 -23 222 -15T205 2T187 20T179 44Q179 69 195 86T238 103Q264 103 285 80T306 20ZM280 406Q298 388 298 365Q298 342 280 325T238 308Q215 308 197 325T179 365Q179 389 197 406T238 423Q261 423 280 406Z" glyph-name="semicolon" horiz-adv-x="500" unicode=";"/><glyph d="M458 496L111 319L461 123V47L35 296V344L458 567V496Z" glyph-name="less" horiz-adv-x="500" unicode="&lt;"/><glyph d="M45 438H456V377H45V438ZM45 231H456V170H45V231Z" glyph-name="equal" horiz-adv-x="500" unicode="="/><glyph d="M42 496V567L466 344V296L40 47V123L389 319L42 496Z" glyph-name="greater" horiz-adv-x="500" unicode="&gt;"/><glyph d="M303 85Q320 66 320 44Q320 21 303 4T261 -13Q237 -13 220 4T202 44Q202 67 219 84T261 102Q284 102 303 85ZM64 561Q96 610 148 637T257 665Q297 665 329 651T385 613T421 557T434 489Q434 461 427 440T410 401T385 371T357 346L335 328Q306 305 299 282T292 226V185H226V226Q226 247 227 264T235 297T255 332T293 375Q328 410 341 438T355 494Q355 516 347 535T325 569T293 592T253 600Q211 600 175 577T115 513L64 561Z" glyph-name="question" horiz-adv-x="500" unicode="?"/><glyph d="M435 30Q370 -11 295 -11Q245 -11 198 8T114 67T54 168T31 313Q31 396 52 456T108 556T185 614T271 633Q313 633 348 619T410 573T450 494T465 378V175H405V213Q366 167 308 167Q279 167 255 177T213 205T185 245T175 291Q175 364 225 404T387 444H402Q402 472 392 496T363 539T320 568T268 579Q236 579 204 564T147 516T105 434T89 314Q89 246 107 196T156 112T224 63T301 46Q358 46 408 79L435 30ZM405 394H388Q310 394 274 369T237 305Q237 267 260 245T311 222Q368 222 386 259T405 375V394Z" glyph-name="at" horiz-adv-x="500" unicode="@"/><glyph d="M15 0L235 634H243L483 0H411L342 182H144L84 0H15ZM326 236L238 474L158 236H326Z" glyph-name="A" horiz-adv-x="500" unicode="A"/><glyph d="M48 623H225Q279 623 318 613T382 581T419 533T432 472Q432 428 408 389T340 334Q366 325 387 309T425 271T449 226T457 175Q457 96 401 48T224 0H48V623ZM117 564V365H215Q257 365 284 372T327 393T352 424T362 464Q360 485 353 503T329 534T288 556T226 564H117ZM117 306V61H236Q316 61 347 94T383 179Q381 207 372 230T345 270T295 297T219 306H117Z" glyph-name="B" horiz-adv-x="500" unicode="B"/><glyph d="M398 482Q398 494 395 500Q375 533 343 552T275 572Q241 572 211 555T158 504T122 422T109 313Q109 254 122 206T158 123T213 69T281 50Q318 50 352 70T408 126L460 92Q445 67 424 48T380 16T333 -3T285 -10Q231 -10 190 8T114 66T60 165T41 308Q41 400 63 461T121 560T197 612T276 628Q307 628 336 619T391 594T437 556T469 505L402 472Q398 475 398 482Z" glyph-name="C" horiz-adv-x="500" unicode="C"/><glyph d="M54 623H199Q279 623 323 601T399 538T445 439T460 308Q460 236 442 179T393 82T311 20T187 -1H54V623ZM120 564V54H184Q291 54 340 118T390 304Q389 426 345 495T195 564H120Z" glyph-name="D" horiz-adv-x="500" unicode="D"/><glyph d="M59 624H441V562H125V357H386V293H125V62H438V0H59V624Z" glyph-name="E" horiz-adv-x="500" unicode="E"/><glyph d="M78 624H437V563H148V367H381V306H148V0H78V624Z" glyph-name="F" horiz-adv-x="500" unicode="F"/><glyph d="M458 525L409 475Q403 479 396 494Q381 527 350 547T276 568Q247 568 217 556T161 515T121 439T105 319Q105 254 118 204T154 121T208 70T277 52Q342 52 395 90V238H282V299H460V55Q371 -10 277 -10Q221 -10 177 12T101 76T53 175T36 304Q36 402 60 468T124 568T203 616T277 629Q334 629 383 601T458 525Z" glyph-name="G" horiz-adv-x="500" unicode="G"/><glyph d="M54 623H132Q133 622 133 620Q133 617 131 612T127 599V356H371V623H447Q448 622 448 620Q448 616 445 612T441 601V-1H370V297H127V0H54V623Z" glyph-name="H" horiz-adv-x="500" unicode="H"/><glyph d="M88 623H397V564H274V57H403V-1H81V58H204V564H88V623Z" glyph-name="I" horiz-adv-x="500" unicode="I"/><glyph d="M172 623H457V564H361V209Q361 148 350 107T313 39T259 1T196 -11Q107 -11 49 58L96 115Q99 112 99 106T103 95L115 83Q119 78 128 73T148 63T172 55T196 51Q246 51 269 86T292 208V564H172V623Z" glyph-name="J" horiz-adv-x="500" unicode="J"/><glyph d="M42 624H126Q126 618 122 612T117 598V336L377 628Q399 623 429 623H455L219 354L471 0L381 -4L166 312L117 258V0H42V624Z" glyph-name="K" horiz-adv-x="500" unicode="K"/><glyph d="M66 623H148Q148 616 144 607T139 589V61H439V0H66V623Z" glyph-name="L" horiz-adv-x="500" unicode="L"/><glyph d="M41 623H96L250 318L407 624H460V0H394V470L259 219H232L106 467V0H41V623Z" glyph-name="M" horiz-adv-x="500" unicode="M"/><glyph d="M50 0V623H118L380 161V624H454Q454 618 451 611T447 597V0H392L117 490V0H50Z" glyph-name="N" horiz-adv-x="500" unicode="N"/><glyph d="M254 -10Q203 -10 162 13T91 79T45 181T29 313Q29 385 45 444T92 544T164 607T256 630Q300 630 338 611T407 554T455 455T471 312Q471 222 452 161T402 61T333 7T254 -10ZM150 115Q197 59 254 59Q281 59 307 70T354 111T388 189T401 314Q401 388 387 435T352 511T307 551T256 564Q225 565 199 553T150 514T113 440T98 319Q98 250 112 197T150 115Z" glyph-name="O" horiz-adv-x="500" unicode="O"/><glyph d="M59 623H259Q311 623 347 610T407 572T442 515T456 447Q454 411 443 380T409 325T351 289T264 275H131V0H59V623ZM131 557V337H256Q324 337 352 366T384 445Q382 468 375 488T352 524T314 548T257 557H131Z" glyph-name="P" horiz-adv-x="500" unicode="P"/><glyph d="M149 514Q97 455 97 323Q97 263 107 214T138 130T189 75T256 55Q281 55 307 67T356 108T391 182T404 294Q404 378 390 431T352 514T301 555T251 567Q221 567 195 552T149 514ZM471 311Q471 173 425 93T287 -7Q289 -40 304 -61T361 -82Q366 -82 377 -81T401 -80T425 -78T442 -77L440 -145H401Q352 -145 319 -140T265 -117T235 -73T226 -7Q188 -2 153 19T90 80T46 175T29 308Q29 402 50 464T105 562T177 614T251 630Q294 630 333 612T405 555T454 456T471 311Z" glyph-name="Q" horiz-adv-x="500" unicode="Q"/><glyph d="M56 623H240Q350 623 398 574T447 445Q447 418 438 392T413 342T373 302T320 278L464 0H386L248 275H127V0H56V623ZM127 557V337H248Q315 337 345 366T375 445Q375 469 367 489T345 524T306 548T248 557H127Z" glyph-name="R" horiz-adv-x="500" unicode="R"/><glyph d="M435 549L391 489Q386 491 386 497T383 507Q364 535 332 552T251 569Q205 569 175 542T144 478Q144 456 151 440T174 409T220 379T298 344Q344 325 374 307T422 267T447 223T455 170Q455 138 443 106T406 48T341 6T247 -10Q126 -10 52 70L93 142Q98 139 98 132T101 121Q124 92 163 73T257 53Q285 53 308 62T349 87T376 124T386 170Q386 189 380 204T358 233T316 260T243 292Q194 311 162 330T109 370T81 413T72 463Q72 497 86 527T126 579T187 614T262 627Q313 627 358 607T435 549Z" glyph-name="S" horiz-adv-x="500" unicode="S"/><glyph d="M31 624H463V561H279V0H208V561H31V624Z" glyph-name="T" horiz-adv-x="500" unicode="T"/><glyph d="M50 623H129Q130 623 130 621Q130 617 126 610T119 591V214Q119 162 129 134T157 87T199 59T252 48Q280 50 304 58T347 85T376 134T387 217V623H454V218Q454 157 441 115T399 45T334 3T251 -11Q206 -11 169 3T106 44T65 110T50 215V623Z" glyph-name="U" horiz-adv-x="500" unicode="U"/><glyph d="M25 624H98L258 145L409 623H478L269 -4H237L25 624Z" glyph-name="V" horiz-adv-x="500" unicode="V"/><glyph d="M17 623H82L149 202L249 577H271L372 200L429 623H488L389 -4H362L255 407L146 -4H117L17 623Z" glyph-name="W" horiz-adv-x="500" unicode="W"/><glyph d="M379 624H449L291 319L468 0H389L251 247L117 0H41L211 318L44 624H119L250 387L379 624Z" glyph-name="X" horiz-adv-x="500" unicode="X"/><glyph d="M28 623H108L261 321L399 623H473L296 246V0H220V246L28 623Z" glyph-name="Y" horiz-adv-x="500" unicode="Y"/><glyph d="M62 623H447V574L138 62H432Q439 62 447 65T463 68V0H50V49L364 560H62V623Z" glyph-name="Z" horiz-adv-x="500" unicode="Z"/><glyph d="M131 670H417V610H195V-32H418V-89H131V670Z" glyph-name="bracketleft" horiz-adv-x="500" unicode="["/><glyph d="M437 -13L378 -42L64 634L123 665L437 -13Z" glyph-name="backslash" horiz-adv-x="500" unicode="\"/><glyph d="M369 670V-89H83V-32H306V610H84V670H369Z" glyph-name="bracketright" horiz-adv-x="500" unicode="]"/><glyph d="M93 367L246 623H268L403 368L350 343L253 518L143 343L93 367Z" glyph-name="asciicircum" horiz-adv-x="500" unicode="^"/><glyph d="M35 -19H466V-80H35V-19Z" glyph-name="underscore" horiz-adv-x="500" unicode="_"/><glyph d="M164 579L139 646L191 671L217 605Q229 574 245 557T275 527T297 501T307 471Q306 451 293 443T269 434Q258 434 249 437T227 453T198 495T164 579Z" glyph-name="grave" horiz-adv-x="500" unicode="`"/><glyph d="M91 403Q152 467 254 467Q338 467 386 425T435 283V0H367V50Q294 -11 203 -11Q167 -11 139 0T90 29T60 70T49 116Q49 185 108 225T280 269H366V286Q366 354 338 381T249 408Q175 408 126 357L91 403ZM369 214H352Q338 214 326 214T301 215Q246 215 211 208T156 187T129 158T121 122Q121 90 149 67T218 44Q248 44 272 53T314 76T343 104T359 130Q369 150 369 184V214Z" glyph-name="a" horiz-adv-x="500" unicode="a"/><glyph d="M60 665H144V663Q144 658 139 654T133 643V387Q155 424 192 446T269 468Q307 468 341 454T401 410T442 336T457 233Q457 171 441 126T397 50T336 4T266 -11Q224 -11 189 8T131 60L106 0H60V665ZM185 70Q204 60 219 57T247 53Q267 53 291 60T335 87T369 138T383 219Q383 310 346 358T239 406Q214 406 186 388T145 340Q133 310 133 242Q133 200 135 171T143 123T159 91T185 70Z" glyph-name="b" horiz-adv-x="500" unicode="b"/><glyph d="M457 381L406 322Q401 325 401 328T401 338T393 353T369 377Q335 405 276 405Q247 405 221 393T174 359T142 305T130 234Q130 195 142 162T175 105T225 68T289 54Q358 54 408 110L450 61Q382 -11 283 -11Q234 -11 193 7T121 57T73 132T56 228Q56 279 73 323T120 398T193 448T286 466Q340 466 384 444T457 381Z" glyph-name="c" horiz-adv-x="500" unicode="c"/><glyph d="M371 390V665H448Q448 659 443 652T438 637L439 42Q439 18 444 0H372Q368 12 368 34V73Q346 35 308 13T231 -10Q193 -10 160 5T101 50T60 125T45 233Q45 296 62 340T106 413T168 455T237 469Q285 469 319 448T371 390ZM158 376Q115 337 115 244Q115 158 148 106T245 53Q260 53 277 58T309 75T336 101T354 135Q365 171 365 231Q365 269 362 294T353 338T336 367T311 388Q293 399 278 404T248 410Q219 410 199 402T158 376Z" glyph-name="d" horiz-adv-x="500" unicode="d"/><glyph d="M259 468Q295 468 329 455T388 416T429 348T445 251Q445 243 445 235T443 218H118Q120 170 134 138T171 85T220 57T274 48Q345 48 392 99L432 60Q374 -10 272 -10Q222 -10 181 5T110 51T65 125T49 227Q49 285 65 330T110 405T177 452T259 468ZM121 274H372Q372 278 372 281T373 290Q373 315 364 337T338 376T301 403T254 413Q207 413 169 380T121 274Z" glyph-name="e" horiz-adv-x="500" unicode="e"/><glyph d="M343 671Q430 671 483 608L450 542Q442 542 442 550T440 562Q424 585 398 599T340 614Q314 614 295 607T261 582T239 536T231 465V430H381V373H231V0H162V373H63V430H162V475Q162 528 175 565T214 626T272 660T343 671Z" glyph-name="f" horiz-adv-x="500" unicode="f"/><glyph d="M155 385Q140 370 133 352T126 314Q126 294 134 276T155 244T187 222T226 214Q247 214 265 222T297 244T319 276T327 314Q327 334 319 352T297 385T265 407T226 415Q185 415 155 385ZM339 428Q387 469 453 469H466L475 410Q468 411 462 411T448 412Q404 412 369 390Q392 355 392 313Q392 281 379 253T344 203T291 169T227 156Q199 156 169 167Q137 136 137 115Q137 98 156 89T210 79Q229 79 248 80T285 82Q330 82 362 74T415 50T445 13T455 -32Q455 -59 442 -84T403 -129T338 -160T245 -172Q190 -172 151 -164T87 -140T51 -106T38 -64Q38 -10 113 37Q76 56 76 100Q76 143 128 186Q96 207 78 240T60 310Q60 344 74 373T111 425T165 459T228 472Q295 472 339 428ZM161 24Q104 -8 104 -46Q104 -66 115 -79T146 -101T192 -114T248 -118Q309 -118 349 -96T389 -37Q387 -10 367 5T302 20Q297 20 292 20T282 19Q244 19 214 20T161 24Z" glyph-name="g" horiz-adv-x="500" unicode="g"/><glyph d="M70 0V665H153Q153 664 153 664T154 663Q154 660 150 655T143 641V376Q170 418 210 443T293 468Q324 468 349 458T394 424T423 365T433 277V0H362V275Q362 347 338 376T278 405Q255 405 232 395T188 367T155 323T143 263V0H70Z" glyph-name="h" horiz-adv-x="500" unicode="h"/><glyph d="M106 457H289V58H396V0H100V58H217V399H106V457ZM218 641Q233 656 254 656Q275 656 290 641T306 604Q306 583 291 568T254 553Q233 553 218 568T203 604Q203 626 218 641Z" glyph-name="i" horiz-adv-x="500" unicode="i"/><glyph d="M126 457H369V22Q369 -30 355 -66T317 -126T259 -160T188 -174Q100 -174 48 -110L95 -48Q100 -53 100 -58T104 -69T116 -82T146 -101Q168 -112 193 -112Q238 -112 267 -82T296 18V398H126V457ZM296 641Q311 656 333 656Q354 656 369 641T385 604Q385 583 370 568T333 553Q312 553 297 568T281 604Q281 626 296 641Z" glyph-name="j" horiz-adv-x="500" unicode="j"/><glyph d="M66 665H148Q148 659 144 652T139 639V247L368 459Q391 454 421 454H447L255 273L479 0L386 -4L199 229L139 173V0H66V665Z" glyph-name="k" horiz-adv-x="500" unicode="k"/><glyph d="M85 665H287V58H421V0H79V58H214V607H85V665Z" glyph-name="l" horiz-adv-x="500" unicode="l"/><glyph d="M38 0V457H104V412Q120 437 145 452T198 468Q227 468 249 449T278 401Q291 431 319 449T380 468Q427 468 449 435T469 351V0H403V324Q403 355 400 373T390 400T376 412T358 415Q345 415 332 405T309 378T293 342T287 302V0H220V318Q220 375 210 394T173 413Q149 413 127 385T104 305V0H38Z" glyph-name="m" horiz-adv-x="500" unicode="m"/><glyph d="M68 0V457H142V376Q168 418 208 443T291 468Q321 468 347 458T392 424T421 365T432 277V0H361V275Q361 347 337 376T277 405Q254 405 230 395T187 367T155 322T142 263V0H68Z" glyph-name="n" horiz-adv-x="500" unicode="n"/><glyph d="M254 467Q296 467 333 451T399 403T443 328T460 228Q460 172 444 128T400 53T334 5T253 -12Q209 -12 171 6T103 55T57 131T40 226Q40 277 57 322T104 398T173 448T254 467ZM388 226Q388 269 377 302T346 359T303 394T251 406Q224 406 200 394T157 359T127 304T116 230Q116 190 127 157T156 100T200 63T253 50Q281 50 305 61T348 95T377 151T388 226Z" glyph-name="o" horiz-adv-x="500" unicode="o"/><glyph d="M60 457H133V387Q156 424 194 445T272 467Q310 467 344 453T405 409T447 336T463 232Q463 172 447 126T403 50T342 4T271 -12Q229 -12 193 7T134 60V-167H60V457ZM133 190Q135 116 167 84T246 52Q271 52 296 60T342 87T375 139T388 219Q388 307 352 355T249 406Q229 406 208 399T171 375T144 330T133 259V190Z" glyph-name="p" horiz-adv-x="500" unicode="p"/><glyph d="M374 390V457H442V-167H370V73Q349 35 311 13T230 -10Q191 -10 157 7T97 57T57 134T42 234Q42 289 58 332T101 406T165 453T243 469Q327 469 367 402Q374 392 374 390ZM243 410Q217 410 194 400T154 368T126 315T115 239Q115 195 125 161T154 102T195 66T246 53Q303 53 335 96T368 235Q368 333 334 371T243 410Z" glyph-name="q" horiz-adv-x="500" unicode="q"/><glyph d="M99 457H174L172 369Q193 417 238 442T336 468Q410 468 458 418L425 349Q414 364 405 374T386 391T363 402T332 406Q299 406 270 391T220 350T185 291T172 222V-1H99V457Z" glyph-name="r" horiz-adv-x="500" unicode="r"/><glyph d="M432 396L390 333Q385 334 385 341T383 351Q365 374 332 393T257 413Q238 413 221 409T190 396T168 376T160 347Q160 335 166 326T185 307T221 289T283 269Q369 246 404 215T440 137Q440 107 427 80T389 33T329 2T250 -10Q135 -10 57 62L98 134Q101 131 102 125T109 109T131 89T180 63Q195 56 214 53T252 50Q272 50 292 55T329 69T356 92T366 123Q366 149 342 167T254 204Q210 217 196 222Q160 236 144 246T115 271T94 304T86 345Q86 369 99 391T135 430T191 457T262 468Q367 468 432 396Z" glyph-name="s" horiz-adv-x="500" unicode="s"/><glyph d="M188 579L267 592Q267 583 265 576T261 565L249 457H399V398H249Q240 309 240 231Q240 183 242 150T252 98T277 69T320 58Q366 58 422 99L444 42Q375 -9 302 -9Q230 -9 197 34T167 176Q167 212 169 268T177 398H70V457H180L188 579Z" glyph-name="t" horiz-adv-x="500" unicode="t"/><glyph d="M63 457H135V202Q135 158 143 129T165 81T198 55T239 47Q263 49 285 59T324 87T352 135T362 205V457H435V41Q435 18 440 0H364Q363 7 362 15T362 35L363 70Q341 32 304 11T221 -11Q186 -11 158 1T108 40T74 106T62 202L63 457Z" glyph-name="u" horiz-adv-x="500" unicode="u"/><glyph d="M50 432L40 457H126Q126 450 125 445T123 435Q123 433 124 432L256 98L330 268Q354 323 369 370T392 457H457Q437 373 388 257L277 -3H221L50 432Z" glyph-name="v" horiz-adv-x="500" unicode="v"/><glyph d="M16 457H89V453Q89 447 87 440T85 425Q85 421 86 419L153 90L231 414H275L372 91Q385 179 393 236T406 330T412 392T414 442V457H481Q466 341 447 227T405 -1H337L253 295L173 -1H108L16 457Z" glyph-name="w" horiz-adv-x="500" unicode="w"/><glyph d="M362 457H436L288 235L456 0H374L248 178L129 0H47L208 232L50 457H129L248 288L362 457Z" glyph-name="x" horiz-adv-x="500" unicode="x"/><glyph d="M59 425L46 457H135Q135 449 133 444T131 433Q131 429 133 427L267 91L354 336Q367 371 375 401T388 457H463Q454 431 444 398T418 325L294 -2L275 -52Q251 -119 214 -146T127 -174Q62 -174 22 -135L60 -71Q63 -74 65 -80T68 -89Q68 -89 72 -93T82 -102T99 -111T121 -115Q150 -115 172 -97T217 -32L231 2L59 425Z" glyph-name="y" horiz-adv-x="500" unicode="y"/><glyph d="M71 457H426V408L148 62H419Q426 62 434 65T450 68V0H50V49L333 394H71V457Z" glyph-name="z" horiz-adv-x="500" unicode="z"/><glyph d="M159 16L163 116Q163 182 140 205T73 228H53V284H72Q118 284 141 309T165 391L163 463Q163 637 345 637H408V580H326Q233 580 233 474L235 404Q235 293 148 256Q233 228 233 101L230 17Q230 -51 259 -77T356 -103H407V-159H371Q323 -159 285 -156T215 -129Q159 -85 159 16Z" glyph-name="braceleft" horiz-adv-x="500" unicode="{"/><glyph d="M217 652H284V-151H217V652Z" glyph-name="bar" horiz-adv-x="500" unicode="|"/><glyph d="M338 463L335 391Q335 334 359 309T428 284H448V228H427Q384 228 361 205T338 116L341 16Q341 -73 301 -116T175 -159H93V-103H148Q170 -103 183 -102T205 -99T219 -93T230 -86Q271 -57 271 17L268 101Q268 227 352 256Q265 293 265 404L268 474Q268 531 243 555T167 580H92V637H123Q157 637 195 635T265 613T317 559T338 463Z" glyph-name="braceright" horiz-adv-x="500" unicode="}"/><glyph d="M91 342L41 375Q65 414 101 439T172 464Q207 464 231 453T271 427Q312 389 339 389Q367 389 386 405T430 454L476 416Q464 398 448 381T415 352T380 332T344 324Q310 324 286 336T248 364Q211 404 174 404Q129 404 91 342Z" glyph-name="asciitilde" horiz-adv-x="500" unicode="~"/><glyph glyph-name="nbspace" horiz-adv-x="500"/><glyph d="M197 567Q180 583 180 608Q180 632 198 650T239 668Q262 668 280 650T299 608Q299 585 281 568T239 550Q214 550 197 567ZM238 -11Q215 -11 201 9T187 72Q187 83 188 98T191 134L196 186L214 463H264L279 186Q280 171 281 154T284 120T287 87T289 61Q289 26 275 8T238 -11Z" glyph-name="exclamdown" horiz-adv-x="500" unicode="¡"/><glyph d="M285 624L352 617Q352 611 348 604T343 589L333 507Q410 492 451 430L407 373Q403 376 403 385T399 399Q370 434 325 447L279 97Q354 97 410 153L446 104Q381 33 278 33H270L255 -79L198 -72L212 41Q137 62 93 124T48 280Q48 327 64 368T110 440T180 491T271 512L285 624ZM220 108L263 454Q231 452 205 439T160 404T130 353T119 288Q119 218 146 172T220 108Z" glyph-name="cent" horiz-adv-x="500" unicode="¢"/><glyph d="M418 572L374 517Q366 525 364 533T349 547Q325 566 290 566Q269 566 250 559T214 537T189 499T179 443Q179 418 187 378H287V321H201Q214 265 214 224Q214 148 178 90Q185 91 194 91T215 92Q225 92 245 86T288 72T334 58T373 51Q410 51 444 79L470 27Q417 -15 366 -15Q352 -15 329 -8T280 7T227 23T180 30Q136 30 65 -8L39 49Q62 60 75 66T95 78T105 88T113 100Q148 155 148 222Q148 259 133 321H67V378H119Q112 412 112 442Q112 483 126 516T164 573T220 610T288 623Q362 623 418 572Z" glyph-name="sterling" horiz-adv-x="500" unicode="£"/><glyph d="M68 492L104 527L160 471Q201 500 251 500Q298 500 340 472L396 527L432 492L376 437Q406 395 406 345Q406 295 377 254L432 199L396 164L341 219Q321 204 298 197T251 190Q201 190 159 220L104 164L68 199L124 256Q110 276 103 299T96 345Q96 369 103 392T125 435L68 492ZM321 416Q291 446 250 446Q230 446 212 438T180 416T158 384T150 345Q150 325 158 307T179 275T211 253T250 245Q271 245 289 253T321 275T343 307T351 345Q351 386 321 416Z" glyph-name="currency" horiz-adv-x="500" unicode="¤"/><glyph d="M36 624H114L259 363L392 623H466L292 295V274H426V217H292V154H426V98H292V0H224V98H84V154H224V217H84V274H224V295L36 624Z" glyph-name="yen" horiz-adv-x="500" unicode="¥"/><glyph d="M217 652H284V295H217V652ZM284 -151H217V196H284V-151Z" glyph-name="brokenbar" horiz-adv-x="500" unicode="¦"/><glyph d="M413 583L356 533Q351 538 350 544Q348 557 341 569T320 591T291 607T256 613Q238 613 222 607T193 591T174 566T167 536Q167 512 176 498T204 471T254 447T326 419Q418 375 418 305Q418 275 398 249T344 209Q408 166 408 98Q408 65 395 37T360 -11T306 -42T238 -54Q187 -54 142 -33T65 31L117 92Q123 90 124 87T126 79T133 64T154 41Q185 12 234 12Q283 12 310 35T337 91Q337 108 332 121T313 146T277 168T220 188Q143 213 111 242T79 316Q79 349 101 376T161 417Q94 457 94 530Q94 559 106 584T141 629T193 660T257 672Q306 672 347 649T413 583ZM197 399Q177 392 165 375T152 336Q152 303 176 282T256 244Q273 239 286 236T307 228Q343 247 343 292Q343 325 319 345T240 384L197 399Z" glyph-name="section" horiz-adv-x="500" unicode="§"/><glyph d="M198 650Q213 635 213 614Q213 594 198 579T163 564Q142 564 127 579T112 614Q112 634 127 649T163 665Q183 665 198 650ZM376 650Q391 635 391 614Q391 594 376 579T341 564Q320 564 306 578T291 614Q291 635 305 650T341 665Q361 665 376 650Z" glyph-name="dieresis" horiz-adv-x="500" unicode="¨"/><glyph d="M387 331L335 312Q331 319 331 324T331 334T324 346T302 364Q285 374 262 374Q248 374 232 369T203 353T180 324T171 281Q171 259 178 240T198 206T228 183T265 174Q289 174 309 186T340 219L384 190Q363 158 330 140T261 122Q230 122 204 134T158 168T127 217T115 276Q115 307 127 334T159 381T203 412T254 424Q308 424 342 399T387 331ZM426 93Q355 19 255 19Q205 19 161 39T85 94T33 175T14 274Q14 327 33 373T85 455T162 510T256 530Q305 530 349 510T426 455T478 374T498 274Q498 168 426 93ZM257 488Q216 488 180 472T117 426T75 358T59 274Q59 230 74 191T117 124T180 79T257 62Q297 62 333 79T396 125T439 192T455 275Q455 319 440 357T397 425T334 471T257 488Z" glyph-name="copyright" horiz-adv-x="500" unicode="©"/><glyph d="M325 488Q325 569 251 569Q189 569 157 525L123 566Q173 622 257 622Q320 620 354 589T389 495V485V267H326V300Q280 257 224 257Q169 257 136 288T102 362Q102 404 133 434T219 472Q251 475 273 475T311 476H325V488ZM328 424H312Q270 424 242 422T197 413T173 394T166 363Q166 344 182 328T231 311Q244 311 261 316T293 332T318 361T328 406V424ZM76 206H425V152H76V206Z" glyph-name="ordfeminine" horiz-adv-x="500" unicode="ª"/><glyph d="M249 253L400 400L439 359L318 241L446 101L406 61L249 230V253ZM67 253L219 400L258 359L137 241L265 101L225 61L67 230V253Z" glyph-name="guillemotleft" horiz-adv-x="500" unicode="«"/><glyph d="M91 347H414V157H350V284H91V347Z" glyph-name="logicalnot" horiz-adv-x="500" unicode="¬"/><glyph d="M71 348H431V281H71V348Z" glyph-name="softhyphen" horiz-adv-x="500" unicode="­"/><glyph d="M426 93Q355 19 255 19Q205 19 161 39T85 94T33 175T14 274Q14 327 33 373T85 455T162 510T256 530Q305 530 349 510T426 455T478 374T498 274Q498 168 426 93ZM257 488Q216 488 180 472T117 426T75 358T59 274Q59 230 74 191T117 124T180 79T257 62Q297 62 333 79T396 125T439 192T455 275Q455 319 440 357T397 425T334 471T257 488ZM155 133V425H249Q314 425 341 401T369 340Q369 315 355 293T312 263L376 138L329 131L267 256H201V133H155ZM253 296Q324 296 324 340Q324 384 250 384H201V296H253Z" glyph-name="registered" horiz-adv-x="500" unicode="®"/><glyph d="M123 621H377V565H123V621Z" glyph-name="overscore" horiz-adv-x="500" unicode="¯"/><glyph d="M351 599Q391 560 391 504Q391 477 381 453T352 410T309 381T256 370Q228 370 204 380T161 409T132 451T121 504Q121 532 132 557T161 600T204 628T256 639Q312 639 351 599ZM309 562Q288 586 257 586Q242 586 228 580T204 562T188 536T182 505Q182 473 203 449T256 425Q288 425 309 449T331 505Q331 537 309 562Z" glyph-name="degree" horiz-adv-x="500" unicode="°"/><glyph d="M46 80H457V17H46V80ZM222 575H285V404H456V343H285V155H222V343H45V404H222V575Z" glyph-name="plusminus" horiz-adv-x="500" unicode="±"/><glyph d="M111 554Q134 593 173 615T264 637Q289 637 312 629T353 605T381 569T392 523Q392 503 387 488T370 458T336 426T280 383Q254 363 233 345T194 307H376Q381 307 386 311T397 316H400V253H121V297Q148 333 177 362T252 425L280 447Q306 467 318 487T331 525Q331 550 311 568T260 586Q201 586 168 544Q165 540 163 534T158 523L111 554Z" glyph-name="uni00B2" horiz-adv-x="500" unicode="²"/><glyph d="M258 638Q285 638 309 630T351 606T379 572T389 530Q389 503 373 482T332 452Q364 447 385 423T406 366Q406 342 394 322T361 285T313 260T255 251Q169 251 112 316L159 368Q163 363 165 354T173 340Q206 307 249 307Q292 307 318 326T344 372Q344 398 321 412T256 427Q248 427 241 427T226 425V476Q231 475 236 475T246 475Q291 475 310 490T329 527Q329 549 308 567T255 585Q198 585 161 539L125 576Q178 638 258 638Z" glyph-name="uni00B3" horiz-adv-x="500" unicode="³"/><glyph d="M292 699L355 657L254 522L204 552L292 699Z" glyph-name="acute" horiz-adv-x="500" unicode="´"/><glyph d="M372 116Q372 47 412 47Q426 47 440 59T461 84L467 96L494 45Q457 -10 406 -10Q374 -10 351 12T324 67Q307 28 273 9T201 -10Q164 -10 133 7T87 60Q87 3 87 -53T86 -167H24Q24 -153 25 -125T29 -62T34 12T39 87T42 153T44 202V457H110V186Q110 144 118 118T139 75T170 52T207 43Q226 45 244 53T276 78T299 121T308 183V192V457H372V116Z" glyph-name="micro" horiz-adv-x="500" unicode="µ"/><glyph d="M436 665V-68H378V608H302V-68H243V322Q205 324 173 339T116 377T78 431T64 496Q64 530 76 561T118 615T195 652T311 665H436Z" glyph-name="paragraph" horiz-adv-x="500" unicode="¶"/><glyph d="M280 371Q298 354 298 331Q298 308 281 291T238 274Q213 274 196 290T179 331Q179 355 197 371T238 388Q261 388 280 371Z" glyph-name="middot" horiz-adv-x="500" unicode="·"/><glyph d="M327 -109Q327 -85 280 -85H250L261 0H305L299 -47L316 -48Q384 -53 384 -103Q384 -131 356 -154T268 -177Q209 -177 157 -140L182 -98Q225 -134 281 -134Q307 -134 317 -127T327 -109Z" glyph-name="cedilla" horiz-adv-x="500" unicode="¸"/><glyph d="M299 633V253H235V553L138 528L122 559L255 633H299Z" glyph-name="uni00B9" horiz-adv-x="500" unicode="¹"/><glyph d="M96 434Q96 476 108 510T142 569T191 608T249 622Q280 622 307 610T354 575T385 519T397 441Q397 398 385 364T351 305T303 269T245 256Q214 256 187 269T140 305T108 361T96 434ZM247 566Q210 566 183 532T156 438Q156 378 183 346T246 314Q283 314 310 345T337 437Q337 498 311 532T247 566ZM76 206H425V152H76V206Z" glyph-name="ordmasculine" horiz-adv-x="500" unicode="º"/><glyph d="M265 253V230L107 61L67 101L195 241L74 359L113 400L265 253ZM446 253V230L288 61L249 101L376 241L255 359L294 400L446 253Z" glyph-name="guillemotright" horiz-adv-x="500" unicode="»"/><glyph d="M76 -16L389 665L437 638L123 -42L76 -16ZM396 242H427V45H477V8H427V-70H381V8H236V37L396 242ZM382 164L288 45H382V164ZM146 677V374H95V614L18 594L5 619L112 677H146Z" glyph-name="onequarter" horiz-adv-x="500" unicode="¼"/><glyph d="M76 -16L389 665L437 638L123 -42L76 -16ZM263 168Q282 200 313 217T389 235Q410 235 427 228T458 207T479 178T487 143Q487 127 484 115T471 91T444 65T398 31Q354 -1 329 -29H475Q479 -29 484 -26T494 -22V-73H270V-38Q288 -14 314 12T375 65L398 82Q439 117 439 140Q439 165 423 179T379 194Q333 194 308 160Q305 157 304 152T300 143L263 168ZM146 677V374H95V614L18 594L5 619L112 677H146Z" glyph-name="onehalf" horiz-adv-x="500" unicode="½"/><glyph d="M81 -16L394 665L442 638L128 -42L81 -16ZM128 684Q150 684 169 677T202 659T224 632T232 598Q232 576 220 559T187 535Q213 531 229 512T246 467Q246 447 236 431T210 401T171 381T125 374Q57 374 11 426L49 468Q52 464 54 457T60 445Q74 431 90 425T123 419Q152 419 174 433T197 467Q197 491 181 503T126 515Q120 515 114 515T102 514V554Q107 552 113 552T124 553Q156 553 170 565T185 594Q185 611 169 626T125 642Q80 642 51 604L22 634Q64 684 128 684ZM396 242H427V45H477V8H427V-70H381V8H236V37L396 242ZM382 164L288 45H382V164Z" glyph-name="threequarters" horiz-adv-x="500" unicode="¾"/><glyph d="M198 567Q181 583 181 608Q181 632 199 648T240 665Q263 665 281 648T300 608Q300 585 283 568T240 551Q215 551 198 567ZM438 91Q406 42 354 15T245 -13Q203 -13 170 1T114 39T79 95T67 163Q67 215 90 248T144 307L166 325Q194 348 202 371T210 426V468H275V426Q275 403 274 387T266 354T246 320T209 278Q173 240 160 214T146 158Q146 136 154 117T177 83T209 61T248 52Q290 52 326 75T387 139L438 91Z" glyph-name="questiondown" horiz-adv-x="500" unicode="¿"/><glyph d="M15 0L235 634H243L483 0H411L342 182H144L84 0H15ZM326 236L238 474L158 236H326ZM439 791L592 702L569 660L399 721L439 791Z" glyph-name="Agrave" horiz-adv-x="500" unicode="À"/><glyph d="M15 0L235 634H243L483 0H411L342 182H144L84 0H15ZM326 236L238 474L158 236H326ZM565 791L605 721L436 660L413 702L565 791Z" glyph-name="Aacute" horiz-adv-x="500" unicode="Á"/><glyph d="M15 0L235 634H243L483 0H411L342 182H144L84 0H15ZM326 236L238 474L158 236H326ZM359 692L490 791H512L635 693L602 655L499 726L387 658L359 692Z" glyph-name="Acircumflex" horiz-adv-x="500" unicode="Â"/><glyph d="M15 0L235 634H243L483 0H411L342 182H144L84 0H15ZM326 236L238 474L158 236H326ZM131 683L86 715Q141 802 199 802Q217 802 236 791T273 765T304 739T325 727Q348 727 359 742T387 780L425 740Q395 704 373 687T328 669Q305 669 287 681T254 707T225 733T200 745Q178 745 165 732T131 683Z" glyph-name="Atilde" horiz-adv-x="500" unicode="Ã"/><glyph d="M15 0L235 634H243L483 0H411L342 182H144L84 0H15ZM326 236L238 474L158 236H326ZM187 774Q202 759 202 738Q202 718 187 703T151 688Q131 688 116 703T101 738Q101 758 116 773T151 789Q172 789 187 774ZM365 774Q380 759 380 738Q380 718 365 703T329 688Q309 688 295 702T280 738Q280 759 294 774T329 789Q350 789 365 774Z" glyph-name="Adieresis" horiz-adv-x="500" unicode="Ä"/><glyph d="M241 753Q224 753 212 740T199 707Q199 688 211 675T241 662Q258 662 270 675T282 707Q282 727 270 740T241 753ZM326 236L238 474L158 236H326ZM248 619L483 0H411L342 182H144L84 -1H15L230 619Q195 623 172 648T148 708Q148 726 155 741T174 769T204 788T240 795Q259 795 275 788T304 769T324 742T331 708Q331 673 308 648T248 619Z" glyph-name="Aring" horiz-adv-x="500" unicode="Å"/><glyph d="M200 624H484V562H313V357H458V293H313V62H482V0H252V169H122L68 0H4L200 624ZM252 562H241L136 227H252V562Z" glyph-name="AE" horiz-adv-x="500" unicode="Æ"/><glyph d="M327 -109Q327 -85 280 -85H250L260 -10Q218 -6 179 14T108 72T59 167T41 303Q41 399 64 462T121 561T197 613T276 628Q307 628 336 619T391 594T437 556T469 505L402 472Q398 475 398 482Q398 494 395 500Q375 533 343 552T275 572Q241 572 211 555T159 504T123 422T109 313Q109 254 122 206T158 123T213 69T281 50Q318 50 352 70T408 126L460 92Q434 50 393 24T304 -9L299 -47L316 -48Q384 -53 384 -103Q384 -131 356 -154T268 -177Q209 -177 157 -140L182 -98Q225 -134 281 -134Q307 -134 317 -127T327 -109Z" glyph-name="Ccedilla" horiz-adv-x="500" unicode="Ç"/><glyph d="M59 624H441V562H125V357H386V293H125V62H438V0H59V624ZM439 791L592 702L569 660L399 721L439 791Z" glyph-name="Egrave" horiz-adv-x="500" unicode="È"/><glyph d="M59 624H441V562H125V357H386V293H125V62H438V0H59V624ZM325 791L365 721L196 660L173 702L325 791Z" glyph-name="Eacute" horiz-adv-x="500" unicode="É"/><glyph d="M59 624H441V562H125V357H386V293H125V62H438V0H59V624ZM367 692L498 791H520L643 693L610 655L507 726L395 658L367 692Z" glyph-name="Ecircumflex" horiz-adv-x="500" unicode="Ê"/><glyph d="M59 624H441V562H125V357H386V293H125V62H438V0H59V624ZM193 774Q208 759 208 738Q208 718 193 703T157 688Q137 688 122 703T107 738Q107 758 122 773T157 789Q178 789 193 774ZM371 774Q386 759 386 738Q386 718 371 703T335 688Q315 688 301 702T286 738Q286 759 300 774T335 789Q356 789 371 774Z" glyph-name="Edieresis" horiz-adv-x="500" unicode="Ë"/><glyph d="M88 623H397V564H274V57H403V-1H81V58H204V564H88V623ZM439 791L592 702L569 660L399 721L439 791Z" glyph-name="Igrave" horiz-adv-x="500" unicode="Ì"/><glyph d="M88 623H397V564H274V57H403V-1H81V58H204V564H88V623ZM325 791L365 721L196 660L173 702L325 791Z" glyph-name="Iacute" horiz-adv-x="500" unicode="Í"/><glyph d="M88 623H397V564H274V57H403V-1H81V58H204V564H88V623ZM358 692L489 791H511L634 693L601 655L498 726L386 658L358 692Z" glyph-name="Icircumflex" horiz-adv-x="500" unicode="Î"/><glyph d="M88 623H397V564H274V57H403V-1H81V58H204V564H88V623ZM190 774Q205 759 205 738Q205 718 190 703T154 688Q134 688 119 703T104 738Q104 758 119 773T154 789Q175 789 190 774ZM368 774Q383 759 383 738Q383 718 368 703T332 688Q312 688 298 702T283 738Q283 759 297 774T332 789Q353 789 368 774Z" glyph-name="Idieresis" horiz-adv-x="500" unicode="Ï"/><glyph d="M79 623H218Q286 623 332 600T408 536T452 436T466 306Q466 261 456 217T428 134T382 65T319 18Q280 -1 206 -1H79V301H30V359H79V623ZM143 301V57H203Q299 57 349 122T399 306Q399 426 355 495T214 564H143V359H248V301H143Z" glyph-name="Eth" horiz-adv-x="500" unicode="Ð"/><glyph d="M50 0V623H118L380 161V624H454Q454 618 451 611T447 597V0H392L117 490V0H50ZM136 683L91 715Q146 802 204 802Q222 802 241 791T278 765T309 739T330 727Q353 727 364 742T392 780L430 740Q400 704 378 687T333 669Q310 669 292 681T259 707T230 733T205 745Q183 745 170 732T136 683Z" glyph-name="Ntilde" horiz-adv-x="500" unicode="Ñ"/><glyph d="M254 -10Q203 -10 162 13T91 79T45 181T29 313Q29 385 45 444T92 544T164 607T256 630Q300 630 338 611T407 554T455 455T471 312Q471 222 452 161T402 61T333 7T254 -10ZM150 115Q197 59 254 59Q281 59 307 70T354 111T388 189T401 314Q401 388 387 435T352 511T307 551T256 564Q225 565 199 553T150 514T113 440T98 319Q98 250 112 197T150 115ZM439 791L592 702L569 660L399 721L439 791Z" glyph-name="Ograve" horiz-adv-x="500" unicode="Ò"/><glyph d="M254 -10Q203 -10 162 13T91 79T45 181T29 313Q29 385 45 444T92 544T164 607T256 630Q300 630 338 611T407 554T455 455T471 312Q471 222 452 161T402 61T333 7T254 -10ZM150 115Q197 59 254 59Q281 59 307 70T354 111T388 189T401 314Q401 388 387 435T352 511T307 551T256 564Q225 565 199 553T150 514T113 440T98 319Q98 250 112 197T150 115ZM325 791L365 721L196 660L173 702L325 791Z" glyph-name="Oacute" horiz-adv-x="500" unicode="Ó"/><glyph d="M254 -10Q203 -10 162 13T91 79T45 181T29 313Q29 385 45 444T92 544T164 607T256 630Q300 630 338 611T407 554T455 455T471 312Q471 222 452 161T402 61T333 7T254 -10ZM150 115Q197 59 254 59Q281 59 307 70T354 111T388 189T401 314Q401 388 387 435T352 511T307 551T256 564Q225 565 199 553T150 514T113 440T98 319Q98 250 112 197T150 115ZM114 692L245 791H267L390 693L357 655L254 726L142 658L114 692Z" glyph-name="Ocircumflex" horiz-adv-x="500" unicode="Ô"/><glyph d="M254 -10Q203 -10 162 13T91 79T45 181T29 313Q29 385 45 444T92 544T164 607T256 630Q300 630 338 611T407 554T455 455T471 312Q471 222 452 161T402 61T333 7T254 -10ZM150 115Q197 59 254 59Q281 59 307 70T354 111T388 189T401 314Q401 388 387 435T352 511T307 551T256 564Q225 565 199 553T150 514T113 440T98 319Q98 250 112 197T150 115ZM136 683L91 715Q146 802 204 802Q222 802 241 791T278 765T309 739T330 727Q353 727 364 742T392 780L430 740Q400 704 378 687T333 669Q310 669 292 681T259 707T230 733T205 745Q183 745 170 732T136 683Z" glyph-name="Otilde" horiz-adv-x="500" unicode="Õ"/><glyph d="M254 -10Q203 -10 162 13T91 79T45 181T29 313Q29 385 45 444T92 544T164 607T256 630Q300 630 338 611T407 554T455 455T471 312Q471 222 452 161T402 61T333 7T254 -10ZM150 115Q197 59 254 59Q281 59 307 70T354 111T388 189T401 314Q401 388 387 435T352 511T307 551T256 564Q225 565 199 553T150 514T113 440T98 319Q98 250 112 197T150 115ZM193 774Q208 759 208 738Q208 718 193 703T157 688Q137 688 122 703T107 738Q107 758 122 773T157 789Q178 789 193 774ZM371 774Q386 759 386 738Q386 718 371 703T335 688Q315 688 301 702T286 738Q286 759 300 774T335 789Q356 789 371 774Z" glyph-name="Odieresis" horiz-adv-x="500" unicode="Ö"/><glyph d="M382 503L430 459L300 325L427 191L381 145L254 278L129 149L85 193L211 324L85 457L132 503L256 372L382 503Z" glyph-name="multiply" horiz-adv-x="500" unicode="×"/><glyph d="M150 513Q127 487 113 438T98 322Q98 212 132 145L336 528Q298 564 252 564Q226 564 200 552T150 513ZM413 545Q471 466 471 310Q471 218 452 157T402 59T332 6T254 -10Q225 -10 196 -1T138 30L88 -63L36 -36L95 74Q29 159 29 313Q29 384 45 442T90 542T161 607T254 630Q284 630 313 620T369 590L415 677L469 648L413 545ZM374 472L171 92Q208 59 248 59Q323 59 362 121T401 314Q401 413 374 472Z" glyph-name="Oslash" horiz-adv-x="500" unicode="Ø"/><glyph d="M50 623H129Q130 623 130 621Q130 617 126 610T119 591V214Q119 162 129 134T157 87T199 59T252 48Q280 50 304 58T347 85T376 134T387 217V623H454V218Q454 157 441 115T399 45T334 3T251 -11Q206 -11 169 3T106 44T65 110T50 215V623ZM438 791L591 702L568 660L398 721L438 791Z" glyph-name="Ugrave" horiz-adv-x="500" unicode="Ù"/><glyph d="M50 623H129Q130 623 130 621Q130 617 126 610T119 591V214Q119 162 129 134T157 87T199 59T252 48Q280 50 304 58T347 85T376 134T387 217V623H454V218Q454 157 441 115T399 45T334 3T251 -11Q206 -11 169 3T106 44T65 110T50 215V623ZM325 791L365 721L196 660L173 702L325 791Z" glyph-name="Uacute" horiz-adv-x="500" unicode="Ú"/><glyph d="M50 623H129Q130 623 130 621Q130 617 126 610T119 591V214Q119 162 129 134T157 87T199 59T252 48Q280 50 304 58T347 85T376 134T387 217V623H454V218Q454 157 441 115T399 45T334 3T251 -11Q206 -11 169 3T106 44T65 110T50 215V623ZM114 692L245 791H267L390 693L357 655L254 726L142 658L114 692Z" glyph-name="Ucircumflex" horiz-adv-x="500" unicode="Û"/><glyph d="M50 623H129Q130 623 130 621Q130 617 126 610T119 591V214Q119 162 129 134T157 87T199 59T252 48Q280 50 304 58T347 85T376 134T387 217V623H454V218Q454 157 441 115T399 45T334 3T251 -11Q206 -11 169 3T106 44T65 110T50 215V623ZM201 774Q216 759 216 738Q216 718 201 703T165 688Q145 688 130 703T115 738Q115 758 130 773T165 789Q186 789 201 774ZM379 774Q394 759 394 738Q394 718 379 703T343 688Q323 688 309 702T294 738Q294 759 308 774T343 789Q364 789 379 774Z" glyph-name="Udieresis" horiz-adv-x="500" unicode="Ü"/><glyph d="M28 623H108L261 321L399 623H473L296 246V0H220V246L28 623ZM325 791L365 721L196 660L173 702L325 791Z" glyph-name="Yacute" horiz-adv-x="500" unicode="Ý"/><glyph d="M59 623H137Q139 621 139 620Q139 617 135 611T129 595V506H259Q311 506 347 492T407 454T442 398T456 330Q454 294 443 263T409 208T351 172T264 158H129V0H59V623ZM129 440V219H264Q296 219 318 227T354 250T375 285T384 328Q382 351 375 371T352 407T314 431T257 440H129Z" glyph-name="Thorn" horiz-adv-x="500" unicode="Þ"/><glyph d="M55 0V423Q55 547 105 608T239 669Q276 669 309 655T366 616T405 560T420 493Q420 450 399 414T341 359Q369 350 392 333T431 293T455 241T464 181Q464 140 450 106T411 45T353 5T281 -10Q223 -10 177 21L212 77Q242 53 285 53Q306 53 326 63T363 90T388 128T398 173Q396 207 387 235T359 282T313 312T244 323H214V380H250Q268 380 286 387T319 409T343 446T352 501Q352 522 344 542T320 577T283 602T237 611Q210 611 189 598T153 560T131 501T123 425V0H55Z" glyph-name="germandbls" horiz-adv-x="500" unicode="ß"/><glyph d="M91 403Q152 467 254 467Q338 467 386 425T435 283V0H367V50Q294 -11 203 -11Q167 -11 139 0T90 29T60 70T49 116Q49 185 108 225T280 269H366V286Q366 354 338 381T249 408Q175 408 126 357L91 403ZM369 214H352Q338 214 326 214T301 215Q246 215 211 208T156 187T129 158T121 122Q121 90 149 67T218 44Q248 44 272 53T314 76T343 104T359 130Q369 150 369 184V214ZM243 699L331 552L281 522L180 657L243 699Z" glyph-name="agrave" horiz-adv-x="500" unicode="à"/><glyph d="M91 403Q152 467 254 467Q338 467 386 425T435 283V0H367V50Q294 -11 203 -11Q167 -11 139 0T90 29T60 70T49 116Q49 185 108 225T280 269H366V286Q366 354 338 381T249 408Q175 408 126 357L91 403ZM369 214H352Q338 214 326 214T301 215Q246 215 211 208T156 187T129 158T121 122Q121 90 149 67T218 44Q248 44 272 53T314 76T343 104T359 130Q369 150 369 184V214ZM292 699L355 657L254 522L204 552L292 699Z" glyph-name="aacute" horiz-adv-x="500" unicode="á"/><glyph d="M91 403Q152 467 254 467Q338 467 386 425T435 283V0H367V50Q294 -11 203 -11Q167 -11 139 0T90 29T60 70T49 116Q49 185 108 225T280 269H366V286Q366 354 338 381T249 408Q175 408 126 357L91 403ZM369 214H352Q338 214 326 214T301 215Q246 215 211 208T156 187T129 158T121 122Q121 90 149 67T218 44Q248 44 272 53T314 76T343 104T359 130Q369 150 369 184V214ZM141 545L252 685H274L384 544L338 509L260 612L179 510L141 545Z" glyph-name="acircumflex" horiz-adv-x="500" unicode="â"/><glyph d="M91 403Q152 467 254 467Q338 467 386 425T435 283V0H367V50Q294 -11 203 -11Q167 -11 139 0T90 29T60 70T49 116Q49 185 108 225T280 269H366V286Q366 354 338 381T249 408Q175 408 126 357L91 403ZM369 214H352Q338 214 326 214T301 215Q246 215 211 208T156 187T129 158T121 122Q121 90 149 67T218 44Q248 44 272 53T314 76T343 104T359 130Q369 150 369 184V214ZM144 557L100 589Q154 676 213 676Q231 676 251 665T288 639T317 613T338 601Q350 601 358 605T373 616T386 633T401 654L438 614Q408 578 387 561T342 543Q319 543 301 555T268 581T240 607T214 619Q192 619 179 606T144 557Z" glyph-name="atilde" horiz-adv-x="500" unicode="ã"/><glyph d="M91 403Q152 467 254 467Q338 467 386 425T435 283V0H367V50Q294 -11 203 -11Q167 -11 139 0T90 29T60 70T49 116Q49 185 108 225T280 269H366V286Q366 354 338 381T249 408Q175 408 126 357L91 403ZM369 214H352Q338 214 326 214T301 215Q246 215 211 208T156 187T129 158T121 122Q121 90 149 67T218 44Q248 44 272 53T314 76T343 104T359 130Q369 150 369 184V214ZM210 650Q225 635 225 614Q225 594 210 579T175 564Q154 564 139 579T124 614Q124 634 139 649T175 665Q195 665 210 650ZM388 650Q403 635 403 614Q403 594 388 579T353 564Q332 564 318 578T303 614Q303 635 317 650T353 665Q373 665 388 650Z" glyph-name="adieresis" horiz-adv-x="500" unicode="ä"/><glyph d="M91 403Q152 467 254 467Q338 467 386 425T435 283V0H367V50Q294 -11 203 -11Q167 -11 139 0T90 29T60 70T49 116Q49 185 108 225T280 269H366V286Q366 354 338 381T249 408Q175 408 126 357L91 403ZM369 214H352Q338 214 326 214T301 215Q246 215 211 208T156 187T129 158T121 122Q121 90 149 67T218 44Q248 44 272 53T314 76T343 104T359 130Q369 150 369 184V214ZM321 667Q348 640 348 605Q348 587 341 571T321 543T291 524T256 517Q238 517 222 524T193 543T173 571T165 605Q165 623 172 639T192 667T221 686T256 693Q293 693 321 667ZM257 652Q240 652 228 639T216 606Q216 587 228 574T257 560Q274 560 286 573T299 606Q299 625 287 638T257 652Z" glyph-name="aring" horiz-adv-x="500" unicode="å"/><glyph d="M31 412Q74 467 147 467Q183 467 212 451T258 405Q275 434 303 450T362 467Q430 467 460 414T490 268V230L282 223V175Q282 117 310 82T386 47Q432 47 459 84L494 42Q450 -11 380 -11Q342 -11 309 7T255 58Q238 26 208 8T142 -11Q113 -11 89 1T47 32T20 75T10 123Q10 192 61 233T198 278L221 279V305Q221 354 199 382T142 411Q97 411 66 368L31 412ZM221 219L199 218Q162 216 138 209T100 189T80 159T74 122Q74 108 80 96T96 73T118 56T144 50Q187 50 204 76T222 158Q222 164 222 169T221 181V219ZM282 279L432 284V305Q432 354 414 382T362 411Q326 411 304 378T282 296V279Z" glyph-name="ae" horiz-adv-x="500" unicode="æ"/><glyph d="M327 -109Q327 -85 280 -85H250L260 -10Q216 -6 179 13T114 64T72 138T56 231Q56 280 73 323T120 398T193 448T286 466Q340 466 384 444T457 381L406 322Q401 325 401 328T400 338T394 353T369 377Q335 405 276 405Q247 405 221 393T174 359T142 305T130 234Q130 195 142 162T175 105T225 68T289 54Q358 54 408 110L450 61Q391 -2 304 -10L299 -47L316 -48Q384 -53 384 -103Q384 -131 356 -154T268 -177Q209 -177 157 -140L182 -98Q225 -134 281 -134Q307 -134 317 -127T327 -109Z" glyph-name="ccedilla" horiz-adv-x="500" unicode="ç"/><glyph d="M259 468Q295 468 329 455T388 416T429 348T445 251Q445 243 445 235T443 218H118Q120 170 134 138T171 85T220 57T274 48Q345 48 392 99L432 60Q374 -10 272 -10Q222 -10 181 5T110 51T65 125T49 227Q49 285 65 330T110 405T177 452T259 468ZM121 274H372Q372 278 372 281T373 290Q373 315 364 337T338 376T301 403T254 413Q207 413 169 380T121 274ZM243 699L331 552L281 522L180 657L243 699Z" glyph-name="egrave" horiz-adv-x="500" unicode="è"/><glyph d="M259 468Q295 468 329 455T388 416T429 348T445 251Q445 243 445 235T443 218H118Q120 170 134 138T171 85T220 57T274 48Q345 48 392 99L432 60Q374 -10 272 -10Q222 -10 181 5T110 51T65 125T49 227Q49 285 65 330T110 405T177 452T259 468ZM121 274H372Q372 278 372 281T373 290Q373 315 364 337T338 376T301 403T254 413Q207 413 169 380T121 274ZM292 699L355 657L254 522L204 552L292 699Z" glyph-name="eacute" horiz-adv-x="500" unicode="é"/><glyph d="M259 468Q295 468 329 455T388 416T429 348T445 251Q445 243 445 235T443 218H118Q120 170 134 138T171 85T220 57T274 48Q345 48 392 99L432 60Q374 -10 272 -10Q222 -10 181 5T110 51T65 125T49 227Q49 285 65 330T110 405T177 452T259 468ZM121 274H372Q372 278 372 281T373 290Q373 315 364 337T338 376T301 403T254 413Q207 413 169 380T121 274ZM134 545L245 685H267L377 544L331 509L253 612L172 510L134 545Z" glyph-name="ecircumflex" horiz-adv-x="500" unicode="ê"/><glyph d="M259 468Q295 468 329 455T388 416T429 348T445 251Q445 243 445 235T443 218H118Q120 170 134 138T171 85T220 57T274 48Q345 48 392 99L432 60Q374 -10 272 -10Q222 -10 181 5T110 51T65 125T49 227Q49 285 65 330T110 405T177 452T259 468ZM121 274H372Q372 278 372 281T373 290Q373 315 364 337T338 376T301 403T254 413Q207 413 169 380T121 274ZM199 650Q214 635 214 614Q214 594 199 579T164 564Q143 564 128 579T113 614Q113 634 128 649T164 665Q184 665 199 650ZM377 650Q392 635 392 614Q392 594 377 579T342 564Q321 564 307 578T292 614Q292 635 306 650T342 665Q362 665 377 650Z" glyph-name="edieresis" horiz-adv-x="500" unicode="ë"/><glyph d="M106 457H289V58H396V0H100V58H217V399H106V457ZM449 699L537 552L487 522L386 657L449 699Z" glyph-name="igrave" horiz-adv-x="500" unicode="ì"/><glyph d="M106 457H289V58H396V0H100V58H217V399H106V457ZM540 699L603 657L502 522L452 552L540 699Z" glyph-name="iacute" horiz-adv-x="500" unicode="í"/><glyph d="M106 457H289V58H396V0H100V58H217V399H106V457ZM370 545L481 685H503L613 544L567 509L489 612L408 510L370 545Z" glyph-name="icircumflex" horiz-adv-x="500" unicode="î"/><glyph d="M106 457H289V58H396V0H100V58H217V399H106V457ZM446 650Q461 635 461 614Q461 594 446 579T411 564Q390 564 375 579T360 614Q360 634 375 649T411 665Q431 665 446 650ZM624 650Q639 635 639 614Q639 594 624 579T589 564Q568 564 554 578T539 614Q539 635 553 650T589 665Q609 665 624 650Z" glyph-name="idieresis" horiz-adv-x="500" unicode="ï"/><glyph d="M256 50Q281 50 304 60T346 93T376 150T387 232Q387 280 375 313T344 367T301 397T253 406Q229 406 205 395T161 362T129 308T117 232Q117 191 128 158T157 100T201 63T256 50ZM347 570Q460 442 460 253Q460 193 447 144T408 61T344 7T256 -12Q212 -12 173 5T105 54T58 129T40 223Q40 273 57 317T102 395T167 447T242 467Q320 467 369 415Q353 453 332 487T283 552L155 516L137 564L241 592Q196 630 139 656L220 672Q265 647 307 610L415 639L432 595L347 570Z" glyph-name="eth" horiz-adv-x="500" unicode="ð"/><glyph d="M68 0V457H142V376Q168 418 208 443T291 468Q321 468 347 458T392 424T421 365T432 277V0H361V275Q361 347 337 376T277 405Q254 405 230 395T187 367T155 322T142 263V0H68ZM387 557L343 589Q397 676 456 676Q474 676 494 665T531 639T560 613T581 601Q593 601 601 605T616 616T629 633T644 654L681 614Q651 578 630 561T585 543Q562 543 544 555T511 581T483 607T457 619Q435 619 422 606T387 557Z" glyph-name="ntilde" horiz-adv-x="500" unicode="ñ"/><glyph d="M254 467Q296 467 333 451T399 403T443 328T460 228Q460 172 444 128T400 53T334 5T253 -12Q209 -12 171 6T103 55T57 131T40 226Q40 277 57 322T104 398T173 448T254 467ZM388 226Q388 269 377 302T346 359T303 394T251 406Q224 406 200 394T157 359T127 304T116 230Q116 190 127 157T156 100T200 63T253 50Q281 50 305 61T348 95T377 151T388 226ZM243 699L331 552L281 522L180 657L243 699Z" glyph-name="ograve" horiz-adv-x="500" unicode="ò"/><glyph d="M254 467Q296 467 333 451T399 403T443 328T460 228Q460 172 444 128T400 53T334 5T253 -12Q209 -12 171 6T103 55T57 131T40 226Q40 277 57 322T104 398T173 448T254 467ZM388 226Q388 269 377 302T346 359T303 394T251 406Q224 406 200 394T157 359T127 304T116 230Q116 190 127 157T156 100T200 63T253 50Q281 50 305 61T348 95T377 151T388 226ZM292 699L355 657L254 522L204 552L292 699Z" glyph-name="oacute" horiz-adv-x="500" unicode="ó"/><glyph d="M254 467Q296 467 333 451T399 403T443 328T460 228Q460 172 444 128T400 53T334 5T253 -12Q209 -12 171 6T103 55T57 131T40 226Q40 277 57 322T104 398T173 448T254 467ZM388 226Q388 269 377 302T346 359T303 394T251 406Q224 406 200 394T157 359T127 304T116 230Q116 190 127 157T156 100T200 63T253 50Q281 50 305 61T348 95T377 151T388 226ZM134 545L245 685H267L377 544L331 509L253 612L172 510L134 545Z" glyph-name="ocircumflex" horiz-adv-x="500" unicode="ô"/><glyph d="M254 467Q296 467 333 451T399 403T443 328T460 228Q460 172 444 128T400 53T334 5T253 -12Q209 -12 171 6T103 55T57 131T40 226Q40 277 57 322T104 398T173 448T254 467ZM388 226Q388 269 377 302T346 359T303 394T251 406Q224 406 200 394T157 359T127 304T116 230Q116 190 127 157T156 100T200 63T253 50Q281 50 305 61T348 95T377 151T388 226ZM135 557L91 589Q145 676 204 676Q222 676 242 665T279 639T308 613T329 601Q341 601 349 605T364 616T377 633T392 654L429 614Q399 578 378 561T333 543Q310 543 292 555T259 581T231 607T205 619Q183 619 170 606T135 557Z" glyph-name="otilde" horiz-adv-x="500" unicode="õ"/><glyph d="M254 467Q296 467 333 451T399 403T443 328T460 228Q460 172 444 128T400 53T334 5T253 -12Q209 -12 171 6T103 55T57 131T40 226Q40 277 57 322T104 398T173 448T254 467ZM388 226Q388 269 377 302T346 359T303 394T251 406Q224 406 200 394T157 359T127 304T116 230Q116 190 127 157T156 100T200 63T253 50Q281 50 305 61T348 95T377 151T388 226ZM198 650Q213 635 213 614Q213 594 198 579T163 564Q142 564 127 579T112 614Q112 634 127 649T163 665Q183 665 198 650ZM376 650Q391 635 391 614Q391 594 376 579T341 564Q320 564 306 578T291 614Q291 635 305 650T341 665Q361 665 376 650Z" glyph-name="odieresis" horiz-adv-x="500" unicode="ö"/><glyph d="M71 348H431V281H71V348ZM287 498Q300 483 300 466Q300 448 287 435T255 422Q237 422 224 435T211 466Q211 485 224 498T255 512Q273 512 287 498ZM287 190Q300 175 300 158Q300 140 287 127T256 114Q238 114 224 126T210 158Q210 178 224 191T256 204Q273 204 287 190Z" glyph-name="divide" horiz-adv-x="500" unicode="÷"/><glyph d="M252 406Q225 406 201 394T157 359T127 305T116 235Q116 159 150 110L304 393Q279 406 252 406ZM386 417Q460 349 460 233Q460 175 444 130T400 53T335 5T255 -12Q205 -12 162 10L122 -64L70 -37L114 44Q40 115 40 221Q40 275 57 320T104 397T173 448T257 467Q296 467 335 450L372 519L425 490L386 417ZM351 354L194 67Q223 50 255 50Q282 50 306 62T348 96T377 151T388 223Q388 305 351 354Z" glyph-name="oslash" horiz-adv-x="500" unicode="ø"/><glyph d="M63 457H135V202Q135 158 143 129T165 81T198 55T239 47Q263 49 285 59T324 87T352 135T362 205V457H435V41Q435 18 440 0H364Q363 7 362 15T362 35L363 70Q341 32 304 11T221 -11Q186 -11 158 1T108 40T74 106T62 202L63 457ZM243 699L331 552L281 522L180 657L243 699Z" glyph-name="ugrave" horiz-adv-x="500" unicode="ù"/><glyph d="M63 457H135V202Q135 158 143 129T165 81T198 55T239 47Q263 49 285 59T324 87T352 135T362 205V457H435V41Q435 18 440 0H364Q363 7 362 15T362 35L363 70Q341 32 304 11T221 -11Q186 -11 158 1T108 40T74 106T62 202L63 457ZM292 699L355 657L254 522L204 552L292 699Z" glyph-name="uacute" horiz-adv-x="500" unicode="ú"/><glyph d="M63 457H135V202Q135 158 143 129T165 81T198 55T239 47Q263 49 285 59T324 87T352 135T362 205V457H435V41Q435 18 440 0H364Q363 7 362 15T362 35L363 70Q341 32 304 11T221 -11Q186 -11 158 1T108 40T74 106T62 202L63 457ZM134 545L245 685H267L377 544L331 509L253 612L172 510L134 545Z" glyph-name="ucircumflex" horiz-adv-x="500" unicode="û"/><glyph d="M63 457H135V202Q135 158 143 129T165 81T198 55T239 47Q263 49 285 59T324 87T352 135T362 205V457H435V41Q435 18 440 0H364Q363 7 362 15T362 35L363 70Q341 32 304 11T221 -11Q186 -11 158 1T108 40T74 106T62 202L63 457ZM198 650Q213 635 213 614Q213 594 198 579T163 564Q142 564 127 579T112 614Q112 634 127 649T163 665Q183 665 198 650ZM376 650Q391 635 391 614Q391 594 376 579T341 564Q320 564 306 578T291 614Q291 635 305 650T341 665Q361 665 376 650Z" glyph-name="udieresis" horiz-adv-x="500" unicode="ü"/><glyph d="M59 425L46 457H135Q135 449 133 444T131 433Q131 429 133 427L267 91L354 336Q367 371 375 401T388 457H463Q454 431 444 398T418 325L294 -2L275 -52Q251 -119 214 -146T127 -174Q62 -174 22 -135L60 -71Q63 -74 65 -80T68 -89Q68 -89 72 -93T82 -102T99 -111T121 -115Q150 -115 172 -97T217 -32L231 2L59 425ZM292 699L355 657L254 522L204 552L292 699Z" glyph-name="yacute" horiz-adv-x="500" unicode="ý"/><glyph d="M60 665H140Q140 658 137 649T133 632V387Q156 424 194 445T272 467Q310 467 344 453T405 409T447 336T463 232Q463 172 447 126T403 50T342 4T271 -12Q229 -12 193 7T134 60V-167H60V665ZM133 190Q135 116 167 84T246 52Q271 52 296 60T341 87T375 139T388 219Q388 307 352 356T249 406Q229 406 208 399T171 375T144 330T133 259V190Z" glyph-name="thorn" horiz-adv-x="500" unicode="þ"/><glyph d="M59 425L46 457H135Q135 449 133 444T131 433Q131 429 133 427L267 91L354 336Q367 371 375 401T388 457H463Q454 431 444 398T418 325L294 -2L275 -52Q251 -119 214 -146T127 -174Q62 -174 22 -135L60 -71Q63 -74 65 -80T68 -89Q68 -89 72 -93T82 -102T99 -111T121 -115Q150 -115 172 -97T217 -32L231 2L59 425ZM198 650Q213 635 213 614Q213 594 198 579T163 564Q142 564 127 579T112 614Q112 634 127 649T163 665Q183 665 198 650ZM376 650Q391 635 391 614Q391 594 376 579T341 564Q320 564 306 578T291 614Q291 635 305 650T341 665Q361 665 376 650Z" glyph-name="ydieresis" horiz-adv-x="500" unicode="ÿ"/><glyph d="M182 450Q182 531 288 638L323 607Q295 582 277 552T258 502Q258 492 266 484T283 467T301 449T309 425Q309 401 293 384T250 367Q224 367 203 390T182 450Z" glyph-name="quoteleft" horiz-adv-x="500" unicode="‘"/><glyph d="M306 555Q306 476 199 367L165 397Q193 423 211 453T230 502Q230 512 222 521T204 538T187 556T179 579Q179 604 195 621T238 638Q264 638 285 615T306 555Z" glyph-name="quoteright" horiz-adv-x="500" unicode="’"/><glyph d="M306 20Q306 -59 199 -168L165 -138Q193 -112 211 -82T230 -33Q230 -23 222 -15T205 2T187 20T179 44Q179 69 195 86T238 103Q264 103 285 80T306 20Z" glyph-name="quotesinglbase" horiz-adv-x="500" unicode="‚"/><glyph d="M286 450Q286 531 392 638L426 607Q398 582 380 552T361 502Q361 492 369 484T387 468T405 449T413 425Q413 401 396 384T353 367Q327 367 307 390T286 450ZM79 450Q79 531 185 638L219 607Q191 582 173 552T154 502Q154 492 162 484T180 468T198 449T206 425Q206 401 189 384T146 367Q120 367 100 390T79 450Z" glyph-name="quotedblleft" horiz-adv-x="500" unicode="“"/><glyph d="M202 555Q202 474 96 367L61 397Q90 423 108 453T126 502Q126 512 118 521T100 538T83 556T75 579Q75 604 91 621T134 638Q161 638 181 615T202 555ZM409 555Q409 474 303 367L268 397Q297 423 315 453T333 502Q333 512 326 521T308 538T290 556T282 579Q282 604 298 621T341 638Q368 638 388 615T409 555Z" glyph-name="quotedblright" horiz-adv-x="500" unicode="”"/><glyph d="M409 20Q409 -61 303 -168L268 -138Q297 -112 315 -82T333 -33Q333 -23 325 -15T308 2T290 20T282 44Q282 69 298 86T341 103Q368 103 388 80T409 20ZM202 20Q202 -61 96 -168L61 -138Q90 -112 108 -82T126 -33Q126 -23 118 -15T101 3T83 21T75 44Q75 69 91 86T134 103Q161 103 181 80T202 20Z" glyph-name="quotedblbase" horiz-adv-x="500" unicode="„"/><glyph d="M316 355Q341 330 341 296Q341 262 316 238T256 213Q221 213 196 237T171 296Q171 331 196 355T256 380Q289 380 316 355Z" glyph-name="bullet" horiz-adv-x="500" unicode="•"/><glyph d="M145 253L297 400L336 359L215 241L343 101L303 61L145 230V253Z" glyph-name="guilsinglleft" horiz-adv-x="500" unicode="‹"/><glyph d="M343 253V230L185 61L145 101L273 241L152 359L191 400L343 253Z" glyph-name="guilsinglright" horiz-adv-x="500" unicode="›"/></font></defs></svg>

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/fonts/Work_Sans_200.svg
=====================================================
<svg xmlns="http://www.w3.org/2000/svg"><defs><font id="WorkSans" horiz-adv-x="532"><font-face alphabetic="0" ascent="930" descent="-243" font-family="Work Sans ExtraLight" panose-1="0 0 3 0 0 0 0 0 0 0" units-per-em="1000"/><glyph glyph-name="space" horiz-adv-x="292"/><glyph d="M114 316L112 177H87L85 316V660H114V316ZM113 54T121 46T130 24Q130 11 122 3T99 -6Q86 -6 78 2T69 24Q69 37 77 45T99 54Q113 54 121 46Z" glyph-name="exclam" horiz-adv-x="199" unicode="!"/><glyph d="M200 506H175V682H205L200 506ZM94 506H69V682H99L94 506Z" glyph-name="quotedbl" horiz-adv-x="271" unicode="&quot;"/><glyph d="M453 438L421 231H562V208H417L385 0H359L391 208H200L168 0H142L174 208H39V231H178L210 438H71V461H213L244 660H270L239 461H430L461 660H487L456 461H595V438H453ZM427 438H236L204 231H395L427 438Z" glyph-name="numbersign" horiz-adv-x="634" unicode="#"/><glyph d="M289 0Q199 4 138 48T55 171L81 185Q96 113 152 71T289 24V315Q217 330 174 345T101 394T71 484Q71 531 97 570T173 634T289 660V760H313V660Q394 656 446 621T522 514L499 496Q479 564 433 598T313 636V336Q384 322 427 307T499 258T529 168Q529 94 471 48T313 0V-100H289V0ZM289 636Q202 635 151 593T99 485Q99 438 124 410T188 368T289 341V636ZM396 26T449 63T502 167Q502 213 477 241T413 283T313 310V24Q396 26 449 63Z" glyph-name="dollar" horiz-adv-x="587" unicode="$"/><glyph d="M252 662T288 613T324 491Q324 419 288 371T182 323Q112 323 76 371T39 491Q39 564 75 613T182 662Q252 662 288 613ZM593 660H622L180 0H151L593 660ZM125 639T96 597T66 491Q66 427 95 387T182 346Q240 346 269 386T298 491Q298 555 269 597T182 639Q125 639 96 597ZM663 337T699 289T735 167Q735 94 699 46T593 -2Q523 -2 486 46T449 167Q449 240 486 288T593 337Q663 337 699 289ZM535 314T506 273T476 167Q476 104 505 63T593 21Q650 21 679 62T708 167Q708 231 679 272T593 314Q535 314 506 273Z" glyph-name="percent" horiz-adv-x="774" unicode="%"/><glyph d="M497 49T526 31T588 12L583 -10Q548 -10 516 10T438 81Q364 -10 239 -10Q154 -10 100 31T46 143Q46 212 88 258T220 357Q169 424 151 458T133 531Q133 592 172 629T276 667Q338 667 376 635T414 545Q414 489 381 445T257 350Q281 317 327 258Q406 157 436 120Q466 166 481 229T495 364L519 362Q520 288 504 220T452 101Q497 49 526 31ZM223 643T192 613T160 532Q160 508 166 489T189 444T242 370Q327 417 357 456T388 545Q388 590 358 616T276 643Q223 643 192 613ZM354 14T421 100Q390 137 310 241L235 337Q178 305 144 279T92 220T73 144Q73 85 119 50T236 14Q354 14 421 100Z" glyph-name="ampersand" horiz-adv-x="582" unicode="&amp;"/><glyph d="M94 506H69V682H99L94 506Z" glyph-name="quotesingle" horiz-adv-x="165" unicode="'"/><glyph d="M258 725Q167 648 125 540T82 284Q82 136 124 29T258 -157L243 -174Q147 -92 101 20T55 284Q55 436 101 548T243 742L258 725Z" glyph-name="parenleft" horiz-adv-x="271" unicode="("/><glyph d="M124 660T170 548T217 284Q217 133 171 21T28 -174L13 -157Q105 -79 147 28T189 284Q189 433 147 540T13 725L28 742Q124 660 170 548Z" glyph-name="parenright" horiz-adv-x="271" unicode=")"/><glyph d="M323 446L400 339L380 324L302 430L261 494L219 430L142 324L121 339L199 446L246 505L172 525L47 566L55 590L180 550L252 522L248 598V730H274V598L270 522L341 550L467 590L474 566L349 525L275 505L323 446Z" glyph-name="asterisk" horiz-adv-x="522" unicode="*"/><glyph d="M536 303H316V77H289V303H68V329H289V549H316V329H536V303Z" glyph-name="plus" horiz-adv-x="604" unicode="+"/><glyph d="M114 54T124 39T135 -1Q135 -35 117 -66T67 -114L49 -100Q76 -89 95 -62T114 -10Q114 -5 112 5H110Q104 -6 91 -6Q79 -6 71 2T63 24Q63 36 72 45T94 54Q114 54 124 39Z" glyph-name="comma" horiz-adv-x="186" unicode=","/><glyph d="M362 254H72V283H362V254Z" glyph-name="hyphen" horiz-adv-x="434" unicode="-"/><glyph d="M107 54T115 46T123 24Q123 11 115 3T93 -6Q80 -6 72 2T63 24Q63 38 71 46T93 54Q107 54 115 46Z" glyph-name="period" horiz-adv-x="186" unicode="."/><glyph d="M62 -70H34L303 730H331L62 -70Z" glyph-name="slash" horiz-adv-x="366" unicode="/"/><glyph d="M183 -10T122 78T61 330Q61 494 122 582T298 670Q413 670 474 582T535 330Q535 166 474 78T298 -10Q183 -10 122 78ZM399 15T453 96T507 330Q507 483 453 564T298 645Q197 645 144 564T90 330Q90 177 143 96T298 15Q399 15 453 96Z" glyph-name="zero" horiz-adv-x="596" unicode="0"/><glyph d="M240 660V0H212V512Q212 581 213 616Q183 573 137 542T38 494L30 518Q85 537 137 575T213 660H240Z" glyph-name="one" horiz-adv-x="333" unicode="1"/><glyph d="M58 24Q207 145 281 212T399 344T443 473Q443 552 395 598T264 645Q180 645 129 593T73 453L48 466Q54 559 111 614T264 670Q360 670 415 617T471 473Q471 405 430 340T315 207T101 26V25H142H497V0H58V24Z" glyph-name="two" horiz-adv-x="543" unicode="2"/><glyph d="M353 670T404 624T455 498Q455 434 421 388T328 333V332Q391 328 431 283T471 171Q471 118 444 77T370 13T265 -10Q176 -10 120 30T45 142L70 157Q85 91 134 53T266 15Q343 15 393 58T443 174Q443 241 400 280T277 320H232V346H277Q348 346 387 387T426 494Q426 565 383 605T263 645Q200 645 156 612T94 520L66 534Q89 597 141 633T263 670Q353 670 404 624Z" glyph-name="three" horiz-adv-x="533" unicode="3"/><glyph d="M534 199H399V0H371V199H39V221L362 660H399V223H534V199ZM70 223H371V565L372 634H370Q351 605 323 565L70 223Z" glyph-name="four" horiz-adv-x="561" unicode="4"/><glyph d="M346 404T393 378T466 306T492 199Q492 138 465 91T390 17T278 -10Q88 -10 52 148L78 160Q91 87 142 51T278 15Q332 15 374 38T440 103T464 198Q463 279 414 329T283 379Q158 379 98 298H73L105 660H466V635H128L102 345L101 327H102Q159 404 286 404Q346 404 393 378Z" glyph-name="five" horiz-adv-x="544" unicode="5"/><glyph d="M443 670T488 546L462 534Q447 585 408 615T307 645Q230 645 180 600T107 480T84 317Q84 281 92 213H95Q95 269 123 311T198 376T295 399Q392 399 447 343T503 194Q503 101 446 46T291 -10Q176 -10 117 77T58 330Q58 440 90 516T178 631T308 670Q443 670 488 546ZM241 374T199 349T134 282T111 196Q111 145 133 104T197 40T290 16Q375 16 424 65T474 196Q474 275 425 324T294 374Q241 374 199 349Z" glyph-name="six" horiz-adv-x="555" unicode="6"/><glyph d="M493 660V635Q372 505 308 349T231 0H202Q214 188 277 346T462 635H25V660H493Z" glyph-name="seven" horiz-adv-x="507" unicode="7"/><glyph d="M377 670T431 625T486 506Q486 446 451 405T353 348V347Q427 332 471 285T515 171Q515 118 486 77T405 13T286 -10Q219 -10 167 13T86 77T57 171Q57 238 101 285T220 347V348Q157 362 122 403T86 506Q86 580 140 625T286 670Q377 670 431 625ZM208 644T161 606T114 504Q114 439 161 400T286 360Q364 360 411 399T458 504Q458 568 411 606T286 644Q208 644 161 606ZM345 15T390 35T461 90T486 172Q486 219 461 255T391 312T286 333Q228 333 183 313T112 256T86 172Q86 126 111 91T181 35T286 15Q345 15 390 35Z" glyph-name="eight" horiz-adv-x="572" unicode="8"/><glyph d="M391 670T453 581T515 330Q515 164 451 77T277 -10Q194 -10 138 28T64 132L93 147Q105 86 151 51T277 15Q388 15 438 107T489 338Q489 393 479 451H477Q477 392 448 349T371 284T272 261Q175 261 117 316T59 466Q59 559 118 614T276 670Q391 670 453 581ZM190 644T139 595T88 464Q88 384 138 336T274 287Q327 287 370 312T437 379T462 464Q462 515 439 556T373 620T277 644Q190 644 139 595Z" glyph-name="nine" horiz-adv-x="577" unicode="9"/><glyph d="M120 502T128 494T136 472Q136 459 128 451T106 442Q93 442 85 450T76 472Q76 486 84 494T106 502Q120 502 128 494ZM120 54T128 46T136 24Q136 11 128 3T106 -6Q93 -6 85 2T76 24Q76 38 84 46T106 54Q120 54 128 46Z" glyph-name="colon" horiz-adv-x="212" unicode=":"/><glyph d="M96 442T88 450T79 472Q79 486 87 494T109 502Q123 502 131 494T139 472Q139 459 131 451T109 442Q96 442 88 450ZM126 54T136 39T147 -1Q147 -35 130 -66T79 -114L61 -100Q88 -89 107 -62T126 -10Q126 -5 124 5H122Q116 -6 103 -6Q91 -6 83 2T75 24Q75 36 84 45T106 54Q126 54 136 39Z" glyph-name="semicolon" horiz-adv-x="212" unicode=";"/><glyph d="M536 516L110 300L536 83V52L87 283V316L536 547V516Z" glyph-name="less" horiz-adv-x="604" unicode="&lt;"/><glyph d="M521 400H83V426H521V400ZM521 197H83V222H521V197Z" glyph-name="equal" horiz-adv-x="604" unicode="="/><glyph d="M517 316V283L68 52V83L494 300L68 516V547L517 316Z" glyph-name="greater" horiz-adv-x="604" unicode="&gt;"/><glyph d="M335 670T389 625T443 501Q443 417 395 365T247 287V161H219V303Q293 324 335 349T396 411T415 499Q415 567 369 606T247 645Q78 645 56 488L32 501Q61 670 248 670Q335 670 389 625ZM246 54T254 46T263 24Q263 11 255 3T233 -6Q220 -6 212 2T203 24Q203 38 211 46T233 54Q246 54 254 46Z" glyph-name="question" horiz-adv-x="486" unicode="?"/><glyph d="M624 668T715 610T849 458T891 248Q891 127 855 59T755 -9Q703 -9 680 25T654 130Q633 65 584 29T465 -8Q402 -8 354 21T279 103T252 229Q252 303 280 358T360 443T476 473Q547 473 594 438T660 339L664 457H685L678 135Q677 77 697 45T760 13Q810 13 838 74T866 248Q866 358 827 447T702 591T482 646Q361 646 271 596T131 451T82 232Q82 108 133 18T276 -121T489 -169Q556 -169 618 -149T720 -92L735 -111Q690 -148 625 -170T489 -192Q360 -192 262 -141T110 5T56 232Q56 363 108 462T257 614T482 668Q624 668 715 610ZM387 451T333 391T279 230Q279 132 330 74T469 15Q523 15 565 41T630 113T655 218L656 252Q657 308 636 353T575 425T478 451Q387 451 333 391Z" glyph-name="at" horiz-adv-x="952" unicode="@"/><glyph d="M464 224H136L44 0H15L284 660H316L585 0H556L464 224ZM453 250L320 577L300 631L280 578L146 250H453Z" glyph-name="A" horiz-adv-x="600" unicode="A"/><glyph d="M101 660H333Q436 660 488 617T540 490Q540 428 508 388T412 334V333Q481 323 519 281T558 172Q558 88 501 44T333 0H101V660ZM333 346Q421 346 466 382T511 489Q511 561 466 598T333 635H129V346H333ZM337 25Q432 25 480 62T529 173Q529 246 481 283T337 320H129V25H337Z" glyph-name="B" horiz-adv-x="617" unicode="B"/><glyph d="M590 82T521 36T354 -10Q266 -10 199 31T95 150T58 330Q58 433 94 510T198 628T353 670Q558 670 609 500L582 487Q534 645 354 645Q274 645 214 607T121 497T87 330Q87 234 120 163T214 54T354 15Q443 15 504 57T588 176L616 166Q590 82 521 36Z" glyph-name="C" horiz-adv-x="656" unicode="C"/><glyph d="M465 660T548 578T632 338Q632 172 549 86T306 0H101V660H306Q465 660 548 578ZM452 25T527 105T603 338Q603 483 528 559T307 635H129V25H307Q452 25 527 105Z" glyph-name="D" horiz-adv-x="691" unicode="D"/><glyph d="M559 25V0H101V660H543V635H129V349H459V324H129V25H559Z" glyph-name="E" horiz-adv-x="593" unicode="E"/><glyph d="M129 635V349H459V324H129V0H101V660H542V635H129Z" glyph-name="F" horiz-adv-x="565" unicode="F"/><glyph d="M617 315V0H592V140Q568 69 507 30T350 -10Q262 -10 196 31T94 150T58 330Q58 433 95 510T199 628T354 670Q457 670 520 628T612 500L587 487Q537 645 354 645Q274 645 214 607T121 497T87 330Q87 234 119 163T211 54T351 15Q436 15 489 50T566 138T590 242V290H355V315H617Z" glyph-name="G" horiz-adv-x="685" unicode="G"/><glyph d="M602 660V0H574V324H129V0H101V660H129V349H574V660H602Z" glyph-name="H" horiz-adv-x="703" unicode="H"/><glyph d="M129 0H101V660H129V0Z" glyph-name="I" horiz-adv-x="229" unicode="I"/><glyph d="M417 212Q417 108 366 49T217 -10Q129 -10 81 35T32 160Q32 181 35 203L62 213Q59 189 59 169Q59 94 99 55T217 15Q303 15 346 68T389 216V660H417V212Z" glyph-name="J" horiz-adv-x="511" unicode="J"/><glyph d="M271 374L129 230V0H101V660H129V269L513 660H551L292 395L560 0H525L271 374Z" glyph-name="K" horiz-adv-x="576" unicode="K"/><glyph d="M538 25V0H101V660H129V25H538Z" glyph-name="L" horiz-adv-x="553" unicode="L"/><glyph d="M698 0H671V549L673 628L414 0H385L126 628H125L128 549V0H101V660H141L380 88L399 33H400L419 87L658 660H698V0Z" glyph-name="M" horiz-adv-x="799" unicode="M"/><glyph d="M601 0H564L161 574L127 631H126L128 564V0H101V660H137L541 86L575 30L574 96V660H601V0Z" glyph-name="N" horiz-adv-x="702" unicode="N"/><glyph d="M452 670T520 629T625 511T662 330Q662 226 626 150T521 32T360 -10Q268 -10 200 31T95 149T58 330Q58 434 95 510T200 628T360 670Q452 670 520 629ZM277 645T215 607T120 497T87 330Q87 234 120 163T215 54T360 15Q443 15 505 53T600 163T633 330Q633 426 600 497T505 606T360 645Q277 645 215 607Z" glyph-name="O" horiz-adv-x="720" unicode="O"/><glyph d="M415 660T475 610T535 472Q535 384 475 335T310 285H129V0H101V660H310Q415 660 475 610ZM402 310T454 352T506 472Q506 549 454 592T308 635H129V310H308Q402 310 454 352Z" glyph-name="P" horiz-adv-x="570" unicode="P"/><glyph d="M607 -168T643 -131L654 -156Q634 -175 604 -185T536 -195Q458 -195 408 -147T353 -10Q263 -8 197 34T94 152T58 330Q58 434 95 510T200 628T360 670Q452 670 520 629T625 511T662 330Q662 230 628 155T529 37T378 -10Q383 -89 425 -128T536 -168Q607 -168 643 -131ZM87 234T120 163T215 54T360 15Q443 15 505 53T600 163T633 330Q633 426 600 497T505 606T360 645Q277 645 215 607T120 497T87 330Q87 234 120 163Z" glyph-name="Q" horiz-adv-x="720" unicode="Q"/><glyph d="M552 0L356 295H342H129V0H101V660H342Q440 660 496 612T553 478Q553 403 510 356T388 298L584 0H552ZM429 321T477 362T525 478Q525 552 477 593T342 635H129V321H342Q429 321 477 362Z" glyph-name="R" horiz-adv-x="621" unicode="R"/><glyph d="M494 670T543 519L520 501Q498 575 443 610T300 645Q237 645 190 625T117 569T91 490Q91 449 112 421T183 373T321 338Q407 323 457 301T531 245T554 163Q554 113 524 74T438 12T312 -10Q206 -10 135 33T43 160L68 177Q83 98 149 57T313 15Q406 15 466 54T526 163Q526 222 478 256T314 310Q219 326 165 349T87 405T63 489Q63 538 91 579T174 645T300 670Q494 670 543 519Z" glyph-name="S" horiz-adv-x="603" unicode="S"/><glyph d="M540 635H292V0H264V635H15V660H540V635Z" glyph-name="T" horiz-adv-x="555" unicode="T"/><glyph d="M595 237Q595 118 529 54T344 -10Q225 -10 159 54T93 237V660H121V241Q121 132 179 74T344 15Q450 15 508 74T567 241V660H595V237Z" glyph-name="U" horiz-adv-x="688" unicode="U"/><glyph d="M312 0H277L19 660H49L265 109L295 28L325 109L541 660H570L312 0Z" glyph-name="V" horiz-adv-x="590" unicode="V"/><glyph d="M275 0H239L25 660H55L257 25L443 660H477L662 24L864 660H893L680 0H644L500 488L460 627H459L420 488L275 0Z" glyph-name="W" horiz-adv-x="919" unicode="W"/><glyph d="M487 0L270 316L49 0H14L253 341L35 660H69L271 364L478 660H512L288 340L520 0H487Z" glyph-name="X" horiz-adv-x="540" unicode="X"/><glyph d="M276 256V0H248V256L15 660H48L177 434L262 286L475 660H508L276 256Z" glyph-name="Y" horiz-adv-x="523" unicode="Y"/><glyph d="M537 25V0H34V25L486 635H42V660H518V635L67 25H537Z" glyph-name="Z" horiz-adv-x="567" unicode="Z"/><glyph d="M104 706V-144H268V-168H78V730H268V706H104Z" glyph-name="bracketleft" horiz-adv-x="283" unicode="["/><glyph d="M63 730L332 -70H304L35 730H63Z" glyph-name="backslash" horiz-adv-x="366" unicode="\"/><glyph d="M205 -168H15V-144H179V706H15V730H205V-168Z" glyph-name="bracketright" horiz-adv-x="283" unicode="]"/><glyph d="M472 355L269 704L66 355H35L254 730H284L503 355H472Z" glyph-name="asciicircum" horiz-adv-x="538" unicode="^"/><glyph d="M507 -122H0V-97H507V-122Z" glyph-name="underscore" horiz-adv-x="507" unicode="_"/><glyph d="M262 583H238L148 734H179L262 583Z" glyph-name="grave" horiz-adv-x="541" unicode="`"/><glyph d="M509 14T521 22L519 -1Q504 -10 479 -10Q403 -10 403 86V87Q382 41 326 16T207 -10Q133 -10 91 22T48 111Q48 170 92 205T234 258L403 289V345Q403 412 364 449T252 486Q186 486 144 459T80 372L58 388Q103 510 252 510Q338 510 384 469T431 347V79Q431 47 444 31T483 14Q509 14 521 22ZM254 15T298 30T373 77T403 154V265L247 236Q157 220 117 190T77 111Q77 65 112 40T212 15Q254 15 298 30Z" glyph-name="a" horiz-adv-x="526" unicode="a"/><glyph d="M418 510T479 441T540 250Q540 128 479 59T311 -10Q237 -10 186 28T114 135L113 0H87V730H115V368Q135 435 186 472T311 510Q418 510 479 441ZM404 15T458 77T512 250Q512 361 458 423T307 486Q219 486 167 424T115 254V246Q115 139 167 77T307 15Q404 15 458 77Z" glyph-name="b" horiz-adv-x="593" unicode="b"/><glyph d="M360 510T412 475T484 374L459 361Q443 421 398 453T285 486Q189 486 135 423T81 250Q81 139 134 77T283 15Q352 15 402 50T463 146L488 137Q473 70 417 30T283 -10Q174 -10 114 59T53 250Q53 372 114 441T285 510Q360 510 412 475Z" glyph-name="c" unicode="c"/><glyph d="M507 730V0H481L480 134Q460 66 408 28T282 -10Q175 -10 114 59T53 250Q53 372 114 441T282 510Q355 510 407 473T479 367V730H507ZM372 15T424 75T479 239V261Q477 365 425 425T286 486Q189 486 135 424T81 250Q81 139 135 77T286 15Q372 15 424 75Z" glyph-name="d" horiz-adv-x="593" unicode="d"/><glyph d="M492 235H81Q85 131 138 73T285 15Q346 15 394 42T465 119L488 107Q461 52 408 21T285 -10Q176 -10 115 59T53 250Q53 372 113 441T279 510Q380 510 436 441T493 252L492 235ZM188 486T136 427T81 261H467Q464 367 416 426T279 486Q188 486 136 427Z" glyph-name="e" horiz-adv-x="543" unicode="e"/><glyph d="M144 500H326V476H144V0H116V476H16V500H116V583Q116 654 152 694T255 735Q306 735 333 706L323 684Q310 698 295 704T256 710Q203 710 174 677T144 582V500Z" glyph-name="f" horiz-adv-x="334" unicode="f"/><glyph d="M408 42T452 12T497 -70Q497 -112 468 -145T386 -196T265 -215Q157 -215 96 -178T34 -81Q34 -41 62 -12T138 27Q104 38 84 61T63 113Q63 150 90 175T160 209Q113 228 87 264T61 351Q61 423 115 466T260 510Q331 510 379 483Q383 533 414 562T495 592L503 568Q456 568 429 543T398 471Q459 427 459 351Q459 278 405 235T260 192Q228 192 199 198Q150 194 120 172T90 117Q90 84 120 63T208 42H333Q408 42 452 12ZM89 289T135 252T260 215Q338 215 384 252T431 351Q431 413 385 449T260 486Q182 486 136 450T89 351Q89 289 135 252ZM327 -191T373 -176T445 -134T471 -73Q471 -31 433 -7T328 18H200Q138 18 100 -8T61 -77Q61 -129 116 -160T269 -191Q327 -191 373 -176Z" glyph-name="g" horiz-adv-x="503" unicode="g"/><glyph d="M401 511T451 463T502 328V1H474V321Q474 400 430 443T310 486Q256 486 212 461T141 393T115 295V0H87V730H115V381Q135 441 188 476T314 511Q401 511 451 463Z" glyph-name="h" horiz-adv-x="582" unicode="h"/><glyph d="M87 598T79 606T71 627Q71 640 79 648T101 656Q114 656 122 648T130 627Q130 614 122 606T101 598Q87 598 79 606ZM115 0H87V500H115V0Z" glyph-name="i" horiz-adv-x="201" unicode="i"/><glyph d="M113 656T121 648T130 627Q130 614 122 606T101 598Q88 598 80 606T71 627Q71 640 79 648T101 656Q113 656 121 648ZM115 -62Q115 -134 77 -174T-21 -215Q-69 -215 -98 -191L-90 -165Q-78 -177 -60 -183T-21 -189Q28 -189 57 -155T87 -60V500H115V-62Z" glyph-name="j" horiz-adv-x="201" unicode="j"/><glyph d="M241 278L115 158V0H87V730H115V195L439 500H478L262 297L484 0H449L241 278Z" glyph-name="k" horiz-adv-x="498" unicode="k"/><glyph d="M111 112Q111 61 127 39T180 16Q200 16 212 18T241 28L238 2Q214 -10 177 -10Q129 -10 106 19T83 110V730H111V112Z" glyph-name="l" horiz-adv-x="250" unicode="l"/><glyph d="M783 512T834 464T885 329V2H857V326Q857 403 813 445T694 487Q640 487 596 462T526 393T500 298V0H472V324Q472 401 428 443T309 486Q256 486 212 461T141 392T115 295V0H87V500H113L114 381Q135 440 189 475T313 510Q385 510 433 475T495 375Q513 436 569 474T698 512Q783 512 834 464Z" glyph-name="m" horiz-adv-x="965" unicode="m"/><glyph d="M401 510T451 462T502 327V0H474V320Q474 400 430 443T310 486Q256 486 212 461T141 392T115 294V0H87V500H113V380Q134 440 188 475T314 510Q401 510 451 462Z" glyph-name="n" horiz-adv-x="582" unicode="n"/><glyph d="M398 510T460 441T523 250Q523 128 461 59T289 -10Q179 -10 116 59T53 250Q53 371 116 440T289 510Q398 510 460 441ZM192 486T137 423T81 250Q81 140 136 77T289 14Q385 14 440 77T495 250Q495 360 440 423T289 486Q192 486 137 423Z" glyph-name="o" horiz-adv-x="576" unicode="o"/><glyph d="M418 510T479 441T540 250Q540 128 479 59T311 -10Q238 -10 187 27T115 132V-210H87V500H113L114 365Q134 433 185 471T311 510Q418 510 479 441ZM404 15T458 77T512 250Q512 361 458 423T307 486Q219 486 167 424T115 254V246Q115 139 167 77T307 15Q404 15 458 77Z" glyph-name="p" horiz-adv-x="593" unicode="p"/><glyph d="M508 500V-210H480V133Q460 65 408 28T283 -10Q176 -10 115 59T54 250Q54 372 115 441T283 510Q357 510 409 472T481 366L482 500H508ZM374 15T426 75T480 239V261Q478 365 426 425T287 486Q190 486 136 424T82 250Q82 139 136 77T287 15Q374 15 426 75Z" glyph-name="q" horiz-adv-x="594" unicode="q"/><glyph d="M322 510T345 489L335 464Q323 474 309 479T271 485Q228 485 193 458T136 385T115 287V0H87V500H112L114 381Q133 439 176 474T277 510Q322 510 345 489Z" glyph-name="r" horiz-adv-x="355" unicode="r"/><glyph d="M166 -10T111 21T39 110L63 124Q77 70 126 43T248 15Q324 15 368 45T412 126Q412 169 376 194T249 235Q145 253 103 284T61 371Q61 410 85 441T151 491T248 510Q327 510 373 480T435 386L411 372Q385 486 248 486Q203 486 167 472T110 432T89 376Q89 329 126 303T257 260Q358 243 399 213T440 127Q440 64 387 27T244 -10Q166 -10 111 21Z" glyph-name="s" horiz-adv-x="488" unicode="s"/><glyph d="M341 29Q323 12 296 1T238 -10Q178 -10 147 24T115 126V476H15V500H115V628L143 636V500H334V476H143V128Q143 15 241 15Q293 15 329 52L341 29Z" glyph-name="t" horiz-adv-x="346" unicode="t"/><glyph d="M488 500V0H462L461 119Q440 60 386 25T257 -10Q175 -10 128 36T81 168V500H109V174Q109 96 148 56T262 15Q325 15 369 43T437 115T460 202V500H488Z" glyph-name="u" horiz-adv-x="574" unicode="u"/><glyph d="M468 500L259 0H230L20 500H52L244 31L438 500H468Z" glyph-name="v" horiz-adv-x="488" unicode="v"/><glyph d="M763 500L595 0H567L396 463L226 0H198L31 500H61L213 35L382 500H411L581 35L732 500H763Z" glyph-name="w" horiz-adv-x="793" unicode="w"/><glyph d="M431 0L240 237L56 0H21L223 259L29 500H67L242 282L410 500H445L259 261L469 0H431Z" glyph-name="x" horiz-adv-x="483" unicode="x"/><glyph d="M224 -98Q197 -163 165 -189T84 -215Q24 -215 0 -181L12 -158Q34 -191 84 -191Q122 -191 149 -170T199 -92L236 -1L24 500H56L229 81L250 31L270 84L439 500H470L224 -98Z" glyph-name="y" horiz-adv-x="491" unicode="y"/><glyph d="M42 23L360 424L405 476H36V500H437V477L134 92L76 24H451V0H42V23Z" glyph-name="z" horiz-adv-x="484" unicode="z"/><glyph d="M152 -103T178 -126T252 -150L250 -174Q190 -174 158 -144T125 -59V177Q125 224 96 248T12 273V297Q67 297 96 321T125 392V628Q125 682 157 712T250 742L252 719Q204 719 178 695T152 629V391Q152 350 131 323T68 285Q109 274 130 247T152 178V-60Q152 -103 178 -126Z" glyph-name="braceleft" horiz-adv-x="276" unicode="{"/><glyph d="M103 -168H78V730H103V-168Z" glyph-name="bar" horiz-adv-x="181" unicode="|"/><glyph d="M151 346T180 322T265 297V273Q210 273 181 248T151 177V-59Q151 -113 119 -143T26 -174L24 -150Q72 -150 98 -127T124 -60V178Q124 219 146 246T209 285Q168 296 146 323T124 391V629Q124 671 98 695T24 719L26 742Q86 742 118 712T151 628V392Q151 346 180 322Z" glyph-name="braceright" horiz-adv-x="276" unicode="}"/><glyph d="M435 289T346 289Q316 289 293 298T238 328Q211 346 191 354T146 363Q113 363 95 344T70 284H43Q57 388 145 388Q176 388 199 378T253 349Q281 331 300 323T344 314Q377 314 395 333T420 393H447Q435 289 346 289Z" glyph-name="asciitilde" horiz-adv-x="490" unicode="~"/><glyph glyph-name="uni00A0" horiz-adv-x="292"/><glyph d="M82 446T74 454T65 476Q65 489 73 497T95 506Q109 506 117 498T126 476Q126 463 118 455T95 446Q82 446 74 454ZM81 185L83 323H108L110 185V-160H81V185Z" glyph-name="exclamdown" horiz-adv-x="191" unicode="¡"/><glyph d="M479 72T424 32T294 -10V-100H270V-9Q169 -4 114 64T58 250Q58 366 114 434T270 509V600H294V510Q368 509 419 474T489 374L463 361Q447 420 403 452T294 486V14Q360 16 409 51T468 146L493 137Q479 72 424 32ZM85 144T133 82T270 14V486Q182 479 134 417T85 250Q85 144 133 82Z" glyph-name="cent" horiz-adv-x="543" unicode="¢"/><glyph d="M547 122Q547 56 512 23T416 -10Q371 -10 340 5T272 51Q247 23 211 7T132 -10Q88 -10 62 9T35 60Q35 93 63 113T140 133Q180 133 208 120T269 83Q289 117 289 158Q289 194 277 225T232 298H93V322H213Q174 372 159 407T144 484Q144 568 198 619T340 670Q414 670 461 631T517 523L492 511Q484 572 443 608T339 645Q262 645 217 602T171 487Q171 449 186 415T241 327L245 322H452V298H262Q290 258 301 227T313 160Q313 110 286 69Q319 41 347 27T414 13Q521 13 523 122H547ZM172 12T203 25T255 64Q228 86 202 98T141 110Q104 110 83 97T61 60Q61 38 81 25T134 12Q172 12 203 25Z" glyph-name="sterling" horiz-adv-x="583" unicode="£"/><glyph d="M489 255T449 206L550 105L532 86L431 187Q383 142 307 142Q231 142 183 187L83 86L64 106L164 206Q124 257 124 332Q124 406 162 455L64 554L83 573L181 475Q229 520 307 520Q383 520 433 475L532 573L550 555L451 454Q489 407 489 332Q489 255 449 206ZM377 167T419 212T461 332Q461 406 419 450T307 495Q236 495 194 451T152 332Q152 257 194 212T307 167Q377 167 419 212Z" glyph-name="currency" horiz-adv-x="614" unicode="¤"/><glyph d="M329 275H506V252H302V150H506V128H302V0H276V128H72V150H276V252H72V275H249L267 274L42 660H75L268 320L288 281H290L310 320L503 660H536L311 274L329 275Z" glyph-name="yen" horiz-adv-x="578" unicode="¥"/><glyph d="M110 365H85V730H110V365ZM110 -168H85V197H110V-168Z" glyph-name="brokenbar" horiz-adv-x="195" unicode="¦"/><glyph d="M516 221T483 189T397 141Q432 123 448 96T464 31Q464 -8 442 -40T378 -91T277 -110Q135 -110 95 -22L117 -6Q147 -86 277 -86Q352 -86 394 -54T436 29Q436 65 418 89T359 129T246 156Q135 172 91 203T46 293Q46 339 78 371T164 418Q129 437 114 464T98 529Q98 568 120 600T184 651T285 670Q355 670 401 648T466 582L445 566Q414 646 285 646Q210 646 168 614T126 531Q126 478 168 450T316 405Q426 389 471 358T516 267Q516 221 483 189ZM418 167T453 194T488 266Q488 313 449 338T309 379Q240 388 195 405Q143 392 109 365T74 294Q74 262 90 241T145 206T252 181Q326 170 365 155Q418 167 453 194Z" glyph-name="section" horiz-adv-x="548" unicode="§"/><glyph d="M191 652T199 645T207 624Q207 611 199 603T178 595Q165 595 157 603T149 624Q149 637 157 644T178 652Q191 652 199 645ZM377 652T384 645T392 624Q392 611 385 603T364 595Q351 595 343 603T335 624Q335 637 343 644T364 652Q377 652 384 645Z" glyph-name="dieresis" horiz-adv-x="541" unicode="¨"/><glyph d="M502 670T579 628T699 508T742 330Q742 229 700 152T580 33T400 -10Q299 -10 221 32T101 152T58 330Q58 431 100 508T221 627T400 670Q502 670 579 628ZM306 646T235 607T125 496T85 330Q85 236 124 165T235 54T400 14Q494 14 565 53T676 164T716 330Q716 424 677 495T566 606T400 646Q306 646 235 607ZM527 513T562 414L539 403Q512 490 410 490Q337 490 296 447T255 328Q255 252 296 209T410 166Q460 166 496 191T544 261L566 252Q552 202 510 173T411 143Q326 143 278 192T229 328Q229 415 277 464T411 513Q527 513 562 414Z" glyph-name="copyright" horiz-adv-x="801" unicode="©"/><glyph d="M340 347T350 352L349 333Q337 326 320 326Q269 326 269 388V389Q255 359 218 343T139 326Q89 326 60 347T31 408Q31 447 61 471T157 506L267 525V554Q267 596 242 620T169 644Q125 644 98 627T57 574L37 583Q50 622 84 643T169 665Q227 665 260 637T293 556V388Q293 347 325 347Q340 347 350 352ZM170 348T199 358T247 388T267 437V506L167 487Q109 477 83 458T57 408Q57 379 79 364T142 348Q170 348 199 358ZM36 240H337V219H36V240Z" glyph-name="ordfeminine" horiz-adv-x="358" unicode="ª"/><glyph d="M79 265L221 69H188L47 265L188 461H221L79 265ZM208 265L350 69H317L176 265L317 461H350L208 265Z" glyph-name="guillemotleft" horiz-adv-x="400" unicode="«"/><glyph d="M530 329V168H502V303H74V329H530Z" glyph-name="logicalnot" horiz-adv-x="604" unicode="¬"/><glyph d="M362 254H72V283H362V254Z" glyph-name="uni00AD" horiz-adv-x="434" unicode="­"/><glyph d="M502 670T579 628T699 508T742 330Q742 229 700 152T580 33T400 -10Q299 -10 221 32T101 152T58 330Q58 431 100 508T221 627T400 670Q502 670 579 628ZM494 14T565 53T676 164T716 330Q716 424 677 495T566 606T400 646Q306 646 235 607T125 496T85 330Q85 236 124 165T235 54T400 14Q494 14 565 53ZM554 363T529 337T454 306L561 143H532L427 305H303V143H277V513H431Q491 513 522 487T554 409Q554 363 529 337ZM303 325H431Q530 327 530 409Q530 492 431 492H303V325Z" glyph-name="registered" horiz-adv-x="801" unicode="®"/><glyph d="M420 603H121V627H420V603Z" glyph-name="overscore" horiz-adv-x="541" unicode="¯"/><glyph d="M130 389T92 428T53 529Q53 592 91 631T193 670Q256 670 295 631T334 529Q334 467 296 428T193 389Q130 389 92 428ZM245 412T276 444T308 529Q308 581 277 613T193 646Q142 646 111 614T79 529Q79 477 110 445T193 412Q245 412 276 444Z" glyph-name="degree" horiz-adv-x="387" unicode="°"/><glyph d="M530 385V360H316V115H289V360H74V385H289V625H316V385H530ZM74 25H530V0H74V25Z" glyph-name="plusminus" horiz-adv-x="604" unicode="±"/><glyph d="M37 354Q91 398 147 446Q203 492 233 533T264 615Q264 660 237 686T162 713Q114 713 85 684T54 604L30 611Q34 667 69 701T163 735Q222 735 256 702T290 615Q290 533 164 431L72 356V355H105H305V333H37V354Z" glyph-name="uni00B2" horiz-adv-x="336" unicode="²"/><glyph d="M205 735T237 706T269 629Q269 592 250 568T195 534V532Q231 528 254 502T278 438Q278 388 242 358T149 327Q97 327 63 351T16 419L39 431Q48 392 75 371T150 349Q195 349 223 373T252 439Q252 478 227 500T154 522H129V543H154Q195 543 218 567T242 627Q242 667 218 690T149 713Q110 713 85 694T51 642L28 652Q38 690 71 712T149 735Q205 735 237 706Z" glyph-name="uni00B3" horiz-adv-x="317" unicode="³"/><glyph d="M393 734L303 583H279L362 734H393Z" glyph-name="acute" horiz-adv-x="541" unicode="´"/><glyph d="M484 500V0H458L457 120Q436 61 382 26T253 -10Q202 -10 163 13T104 80V-210H76V500H104V174Q104 97 146 56T258 15Q313 15 358 39T429 105T456 196V500H484Z" glyph-name="uni00B5" horiz-adv-x="560" unicode="µ"/><glyph d="M460 -100H433V636H296V-100H270V242Q199 242 145 268T62 341T32 451Q32 513 61 560T145 634T270 660H460V-100ZM174 636T117 586T59 451Q59 367 116 317T270 266V636Q174 636 117 586Z" glyph-name="paragraph" horiz-adv-x="542" unicode="¶"/><glyph d="M113 389T121 381T129 359Q129 346 121 338T99 329Q86 329 78 337T69 359Q69 373 77 381T99 389Q113 389 121 381Z" glyph-name="middot" horiz-adv-x="198" unicode="·"/><glyph d="M269 8Q328 -19 353 -49T379 -116Q379 -155 353 -179T285 -204Q253 -204 230 -195T188 -164L200 -144Q217 -165 237 -174T283 -183Q314 -183 333 -165T353 -115Q353 -82 330 -56T244 3L269 8Z" glyph-name="cedilla" horiz-adv-x="541" unicode="¸"/><glyph d="M146 730V333H120V632Q120 654 122 698Q103 675 73 656T11 626V648Q41 657 75 680T124 730H146Z" glyph-name="uni00B9" horiz-adv-x="203" unicode="¹"/><glyph d="M105 327T70 368T35 496Q35 582 70 623T178 665Q251 665 285 624T320 496Q320 410 286 369T178 327Q105 327 70 368ZM238 349T266 385T294 496Q294 571 266 607T178 644Q118 644 90 608T61 496Q61 421 89 385T178 349Q238 349 266 385ZM43 240H313V219H43V240Z" glyph-name="ordmasculine" horiz-adv-x="355" unicode="º"/><glyph d="M80 461L221 265L80 69H47L189 265L47 461H80ZM209 461L350 265L209 69H176L318 265L176 461H209Z" glyph-name="guillemotright" horiz-adv-x="397" unicode="»"/><glyph d="M146 665V268H120V567Q120 611 122 633Q103 610 73 591T11 561V583Q41 592 75 615T124 665H146ZM527 660H557L90 0H60L527 660ZM644 112H565V-4H541V112H343V130L533 393H565V133H644V112ZM541 133V321Q541 353 542 369H540L508 322L369 133H541Z" glyph-name="onequarter" horiz-adv-x="664" unicode="¼"/><glyph d="M146 665V268H120V567Q120 611 122 633Q103 610 73 591T11 561V583Q41 592 75 615T124 665H146ZM527 660H557L90 0H60L527 660ZM451 17Q505 61 561 109Q617 155 647 196T678 278Q678 323 651 349T576 376Q528 376 499 347T468 267L444 274Q448 330 483 364T577 398Q636 398 670 365T704 278Q704 196 578 94L486 19V18H519H719V-4H451V17Z" glyph-name="onehalf" horiz-adv-x="749" unicode="½"/><glyph d="M205 670T237 641T269 564Q269 527 250 503T195 469V467Q231 463 254 437T278 373Q278 323 242 293T149 262Q97 262 63 286T16 354L39 366Q48 327 75 306T150 284Q195 284 223 308T252 374Q252 413 227 435T154 457H129V478H154Q195 478 218 502T242 562Q242 602 218 625T149 648Q110 648 85 629T51 577L28 587Q38 625 71 647T149 670Q205 670 237 641ZM641 660H671L204 0H174L641 660ZM758 112H679V-4H655V112H457V130L647 393H679V133H758V112ZM655 133V321Q655 353 656 369H654L622 322L483 133H655Z" glyph-name="threequarters" horiz-adv-x="777" unicode="¾"/><glyph d="M238 442T230 450T221 472Q221 485 229 493T251 502Q265 502 273 494T281 472Q281 459 273 451T251 442Q238 442 230 450ZM149 -174T95 -129T41 -5Q41 79 88 131T237 209V335H265V193Q191 172 149 147T88 85T69 -3Q69 -71 115 -110T237 -149Q406 -149 427 8L452 -5Q423 -174 236 -174Q149 -174 95 -129Z" glyph-name="questiondown" horiz-adv-x="482" unicode="¿"/><glyph d="M280 743L200 891H233L304 743H280ZM464 224H136L44 0H15L284 660H316L585 0H556L464 224ZM453 250L320 577L300 631L280 578L146 250H453Z" glyph-name="Agrave" horiz-adv-x="600" unicode="À"/><glyph d="M316 743H292L363 891H396L316 743ZM464 224H136L44 0H15L284 660H316L585 0H556L464 224ZM453 250L320 577L300 631L280 578L146 250H453Z" glyph-name="Aacute" horiz-adv-x="600" unicode="Á"/><glyph d="M201 741H174L283 888H317L427 741H399L300 868L201 741ZM464 224H136L44 0H15L284 660H316L585 0H556L464 224ZM453 250L320 577L300 631L280 578L146 250H453Z" glyph-name="Acircumflex" horiz-adv-x="600" unicode="Â"/><glyph d="M464 224H136L44 0H15L284 660H316L585 0H556L464 224ZM453 250L320 577L300 631L280 578L146 250H453ZM455 802T434 779T373 756Q346 756 329 765T293 793Q275 809 262 817T228 825Q198 825 184 809T162 755H138Q146 803 167 825T229 848Q256 848 273 839T309 811Q325 796 339 788T373 780Q403 780 417 796T439 849H463Q455 802 434 779Z" glyph-name="Atilde" horiz-adv-x="600" unicode="Ã"/><glyph d="M464 224H136L44 0H15L284 660H316L585 0H556L464 224ZM453 250L320 577L300 631L280 578L146 250H453ZM219 812T227 805T235 784Q235 771 227 763T206 755Q193 755 185 763T177 784Q177 797 185 804T206 812Q219 812 227 805ZM405 812T412 805T420 784Q420 771 413 763T392 755Q379 755 371 763T363 784Q363 797 371 804T392 812Q405 812 412 805Z" glyph-name="Adieresis" horiz-adv-x="600" unicode="Ä"/><glyph d="M464 224H136L44 0H15L277 643Q250 649 234 669T218 719Q218 755 240 776T300 798Q337 798 359 777T382 719Q382 690 366 670T323 643L585 0H556L464 224ZM241 693T257 677T300 661Q326 661 342 677T359 719Q359 746 343 762T300 778Q274 778 258 762T241 719Q241 693 257 677ZM453 250L320 577L300 631L280 578L146 250H453Z" glyph-name="Aring" horiz-adv-x="600" unicode="Å"/><glyph d="M864 25V0H440V246H182L29 0H-5L408 660H848V635H468V348H770V322H468V25H864ZM440 272V635H422L197 272H440Z" glyph-name="AE" horiz-adv-x="898" unicode="Æ"/><glyph d="M591 86T527 41T371 -10Q411 -32 428 -58T446 -116Q446 -155 420 -179T352 -204Q320 -204 297 -195T255 -164L267 -144Q284 -165 304 -174T350 -183Q381 -183 400 -165T420 -115Q420 -85 402 -62T334 -9Q251 -5 189 38T92 156T58 330Q58 433 94 510T198 628T353 670Q558 670 609 500L582 487Q534 645 354 645Q274 645 214 607T121 497T87 330Q87 234 120 163T214 54T354 15Q443 15 504 57T588 176L616 166Q591 86 527 41Z" glyph-name="Ccedilla" horiz-adv-x="656" unicode="Ç"/><glyph d="M320 743L240 891H273L344 743H320ZM559 25V0H101V660H543V635H129V349H459V324H129V25H559Z" glyph-name="Egrave" horiz-adv-x="593" unicode="È"/><glyph d="M329 743H304L376 891H408L329 743ZM559 25V0H101V660H543V635H129V349H459V324H129V25H559Z" glyph-name="Eacute" horiz-adv-x="593" unicode="É"/><glyph d="M222 741H195L304 888H338L448 741H420L321 868L222 741ZM559 25V0H101V660H543V635H129V349H459V324H129V25H559Z" glyph-name="Ecircumflex" horiz-adv-x="593" unicode="Ê"/><glyph d="M559 25V0H101V660H543V635H129V349H459V324H129V25H559ZM240 812T248 805T256 784Q256 771 248 763T227 755Q214 755 206 763T198 784Q198 797 206 804T227 812Q240 812 248 805ZM426 812T433 805T441 784Q441 771 434 763T413 755Q400 755 392 763T384 784Q384 797 392 804T413 812Q426 812 433 805Z" glyph-name="Edieresis" horiz-adv-x="593" unicode="Ë"/><glyph d="M119 743H95L15 891H48L119 743ZM129 0H101V660H129V0Z" glyph-name="Igrave" horiz-adv-x="229" unicode="Ì"/><glyph d="M210 891L130 743H106L177 891H210ZM129 0H101V660H129V0Z" glyph-name="Iacute" horiz-adv-x="229" unicode="Í"/><glyph d="M214 741L115 868L16 741H-12L98 888H132L242 741H214ZM129 0H101V660H129V0Z" glyph-name="Icircumflex" horiz-adv-x="229" unicode="Î"/><glyph d="M64 812T71 805T79 784Q79 771 72 763T51 755Q38 755 30 763T22 784Q22 797 30 804T51 812Q64 812 71 805ZM192 812T199 805T207 784Q207 771 200 763T179 755Q166 755 158 763T150 784Q150 797 158 804T179 812Q192 812 199 805ZM129 0H101V660H129V0Z" glyph-name="Idieresis" horiz-adv-x="229" unicode="Ï"/><glyph d="M475 660T558 578T641 338Q641 172 558 86T315 0H110V323H9V345H110V660H315Q475 660 558 578ZM462 25T537 105T613 338Q613 483 538 559T317 635H138V345H343V323H138V25H317Q462 25 537 105Z" glyph-name="Eth" horiz-adv-x="700" unicode="Ð"/><glyph d="M601 0H564L161 574L127 631H126L128 564V0H101V660H137L541 86L575 30L574 96V660H601V0ZM511 802T490 779T429 756Q402 756 385 765T349 793Q331 809 318 817T284 825Q254 825 240 809T218 755H194Q202 803 223 825T285 848Q312 848 329 839T365 811Q381 796 395 788T429 780Q459 780 473 796T495 849H519Q511 802 490 779Z" glyph-name="Ntilde" horiz-adv-x="702" unicode="Ñ"/><glyph d="M364 743H340L260 891H293L364 743ZM452 670T520 629T625 511T662 330Q662 226 626 150T521 32T360 -10Q268 -10 200 31T95 149T58 330Q58 434 95 510T200 628T360 670Q452 670 520 629ZM277 645T215 607T120 497T87 330Q87 234 120 163T215 54T360 15Q443 15 505 53T600 163T633 330Q633 426 600 497T505 606T360 645Q277 645 215 607Z" glyph-name="Ograve" horiz-adv-x="720" unicode="Ò"/><glyph d="M456 891L376 743H352L423 891H456ZM452 670T520 629T625 511T662 330Q662 226 626 150T521 32T360 -10Q268 -10 200 31T95 149T58 330Q58 434 95 510T200 628T360 670Q452 670 520 629ZM277 645T215 607T120 497T87 330Q87 234 120 163T215 54T360 15Q443 15 505 53T600 163T633 330Q633 426 600 497T505 606T360 645Q277 645 215 607Z" glyph-name="Oacute" horiz-adv-x="720" unicode="Ó"/><glyph d="M459 741L360 868L261 741H234L343 888H377L487 741H459ZM452 670T520 629T625 511T662 330Q662 226 626 150T521 32T360 -10Q268 -10 200 31T95 149T58 330Q58 434 95 510T200 628T360 670Q452 670 520 629ZM277 645T215 607T120 497T87 330Q87 234 120 163T215 54T360 15Q443 15 505 53T600 163T633 330Q633 426 600 497T505 606T360 645Q277 645 215 607Z" glyph-name="Ocircumflex" horiz-adv-x="720" unicode="Ô"/><glyph d="M452 670T520 629T625 511T662 330Q662 226 626 150T521 32T360 -10Q268 -10 200 31T95 149T58 330Q58 434 95 510T200 628T360 670Q452 670 520 629ZM277 645T215 607T120 497T87 330Q87 234 120 163T215 54T360 15Q443 15 505 53T600 163T633 330Q633 426 600 497T505 606T360 645Q277 645 215 607ZM515 802T494 779T433 756Q406 756 389 765T353 793Q335 809 322 817T288 825Q258 825 244 809T222 755H198Q206 803 227 825T289 848Q316 848 333 839T369 811Q385 796 399 788T433 780Q463 780 477 796T499 849H523Q515 802 494 779Z" glyph-name="Otilde" horiz-adv-x="720" unicode="Õ"/><glyph d="M452 670T520 629T625 511T662 330Q662 226 626 150T521 32T360 -10Q268 -10 200 31T95 149T58 330Q58 434 95 510T200 628T360 670Q452 670 520 629ZM277 645T215 607T120 497T87 330Q87 234 120 163T215 54T360 15Q443 15 505 53T600 163T633 330Q633 426 600 497T505 606T360 645Q277 645 215 607ZM280 812T288 805T296 784Q296 771 288 763T267 755Q254 755 246 763T238 784Q238 797 246 804T267 812Q280 812 288 805ZM466 812T473 805T481 784Q481 771 474 763T453 755Q440 755 432 763T424 784Q424 797 432 804T453 812Q466 812 473 805Z" glyph-name="Odieresis" horiz-adv-x="720" unicode="Ö"/><glyph d="M322 313L488 148L467 127L302 293L136 127L116 148L281 313L116 479L136 499L302 334L467 499L488 479L322 313Z" glyph-name="multiply" horiz-adv-x="604" unicode="×"/><glyph d="M612 549T637 482T662 330Q662 226 626 150T521 32T360 -10Q250 -10 174 49L116 -31H86L156 65Q108 110 83 177T58 330Q58 434 95 510T200 628T360 670Q473 670 548 610L605 689H634L566 594Q612 549 637 482ZM87 252T109 191T172 88L532 587Q461 645 360 645Q277 645 215 607T120 497T87 330Q87 252 109 191ZM443 15T505 53T600 163T633 330Q633 407 612 468T549 571L190 72Q258 15 360 15Q443 15 505 53Z" glyph-name="Oslash" horiz-adv-x="720" unicode="Ø"/><glyph d="M364 743H340L260 891H293L364 743ZM595 237Q595 118 529 54T344 -10Q225 -10 159 54T93 237V660H121V241Q121 132 179 74T344 15Q450 15 508 74T567 241V660H595V237Z" glyph-name="Ugrave" horiz-adv-x="688" unicode="Ù"/><glyph d="M439 891L359 743H335L406 891H439ZM595 237Q595 118 529 54T344 -10Q225 -10 159 54T93 237V660H121V241Q121 132 179 74T344 15Q450 15 508 74T567 241V660H595V237Z" glyph-name="Uacute" horiz-adv-x="688" unicode="Ú"/><glyph d="M443 741L344 868L245 741H218L327 888H361L471 741H443ZM595 237Q595 118 529 54T344 -10Q225 -10 159 54T93 237V660H121V241Q121 132 179 74T344 15Q450 15 508 74T567 241V660H595V237Z" glyph-name="Ucircumflex" horiz-adv-x="688" unicode="Û"/><glyph d="M595 237Q595 118 529 54T344 -10Q225 -10 159 54T93 237V660H121V241Q121 132 179 74T344 15Q450 15 508 74T567 241V660H595V237ZM263 812T271 805T279 784Q279 771 271 763T250 755Q237 755 229 763T221 784Q221 797 229 804T250 812Q263 812 271 805ZM449 812T456 805T464 784Q464 771 457 763T436 755Q423 755 415 763T407 784Q407 797 415 804T436 812Q449 812 456 805Z" glyph-name="Udieresis" horiz-adv-x="688" unicode="Ü"/><glyph d="M357 891L277 743H253L324 891H357ZM276 256V0H248V256L15 660H48L177 434L262 286L475 660H508L276 256Z" glyph-name="Yacute" horiz-adv-x="523" unicode="Ý"/><glyph d="M417 528T476 480T536 339Q536 247 477 199T300 151H129V0H101V660H129V528H300Q417 528 476 480ZM507 176T507 339Q507 503 309 503H129V176H309Q507 176 507 339Z" glyph-name="Thorn" horiz-adv-x="578" unicode="Þ"/><glyph d="M421 376T468 324T516 185Q516 98 464 44T324 -10Q290 -10 263 1T219 32L230 52Q265 14 324 14Q399 14 444 61T489 187Q489 275 437 320T295 366H252V391H295Q369 391 414 436T459 559Q459 631 417 670T298 710Q114 710 114 499V0H87V512Q87 621 139 678T299 735Q389 735 438 687T488 559Q488 484 445 434T332 381V380Q421 376 468 324Z" glyph-name="germandbls" horiz-adv-x="567" unicode="ß"/><glyph d="M509 14T521 22L519 -1Q504 -10 479 -10Q403 -10 403 86V87Q382 41 326 16T207 -10Q133 -10 91 22T48 111Q48 170 92 205T234 258L403 289V345Q403 412 364 449T252 486Q186 486 144 459T80 372L58 388Q103 510 252 510Q338 510 384 469T431 347V79Q431 47 444 31T483 14Q509 14 521 22ZM254 15T298 30T373 77T403 154V265L247 236Q157 220 117 190T77 111Q77 65 112 40T212 15Q254 15 298 30ZM265 583H241L151 734H182L265 583Z" glyph-name="agrave" horiz-adv-x="526" unicode="à"/><glyph d="M509 14T521 22L519 -1Q504 -10 479 -10Q403 -10 403 86V87Q382 41 326 16T207 -10Q133 -10 91 22T48 111Q48 170 92 205T234 258L403 289V345Q403 412 364 449T252 486Q186 486 144 459T80 372L58 388Q103 510 252 510Q338 510 384 469T431 347V79Q431 47 444 31T483 14Q509 14 521 22ZM254 15T298 30T373 77T403 154V265L247 236Q157 220 117 190T77 111Q77 65 112 40T212 15Q254 15 298 30ZM604 734L514 583H490L573 734H604Z" glyph-name="aacute" horiz-adv-x="526" unicode="á"/><glyph d="M509 14T521 22L519 -1Q504 -10 479 -10Q403 -10 403 86V87Q382 41 326 16T207 -10Q133 -10 91 22T48 111Q48 170 92 205T234 258L403 289V345Q403 412 364 449T252 486Q186 486 144 459T80 372L58 388Q103 510 252 510Q338 510 384 469T431 347V79Q431 47 444 31T483 14Q509 14 521 22ZM254 15T298 30T373 77T403 154V265L247 236Q157 220 117 190T77 111Q77 65 112 40T212 15Q254 15 298 30ZM602 582L504 707L407 582H380L488 728H520L629 582H602Z" glyph-name="acircumflex" horiz-adv-x="526" unicode="â"/><glyph d="M509 14T521 22L519 -1Q504 -10 479 -10Q403 -10 403 86V87Q382 41 326 16T207 -10Q133 -10 91 22T48 111Q48 170 92 205T234 258L403 289V345Q403 412 364 449T252 486Q186 486 144 459T80 372L58 388Q103 510 252 510Q338 510 384 469T431 347V79Q431 47 444 31T483 14Q509 14 521 22ZM254 15T298 30T373 77T403 154V265L247 236Q157 220 117 190T77 111Q77 65 112 40T212 15Q254 15 298 30ZM659 642T638 619T577 596Q550 596 533 605T497 633Q479 649 466 657T432 665Q402 665 388 649T366 595H342Q350 643 371 665T433 688Q460 688 477 679T513 651Q529 636 543 628T577 620Q607 620 621 636T643 689H667Q659 642 638 619Z" glyph-name="atilde" horiz-adv-x="526" unicode="ã"/><glyph d="M509 14T521 22L519 -1Q504 -10 479 -10Q403 -10 403 86V87Q382 41 326 16T207 -10Q133 -10 91 22T48 111Q48 170 92 205T234 258L403 289V345Q403 412 364 449T252 486Q186 486 144 459T80 372L58 388Q103 510 252 510Q338 510 384 469T431 347V79Q431 47 444 31T483 14Q509 14 521 22ZM254 15T298 30T373 77T403 154V265L247 236Q157 220 117 190T77 111Q77 65 112 40T212 15Q254 15 298 30ZM424 652T432 645T440 624Q440 611 432 603T411 595Q398 595 390 603T382 624Q382 637 390 644T411 652Q424 652 432 645ZM610 652T617 645T625 624Q625 611 618 603T597 595Q584 595 576 603T568 624Q568 637 576 644T597 652Q610 652 617 645Z" glyph-name="adieresis" horiz-adv-x="526" unicode="ä"/><glyph d="M509 14T521 22L519 -1Q504 -10 479 -10Q403 -10 403 86V87Q382 41 326 16T207 -10Q133 -10 91 22T48 111Q48 170 92 205T234 258L403 289V345Q403 412 364 449T252 486Q186 486 144 459T80 372L58 388Q103 510 252 510Q338 510 384 469T431 347V79Q431 47 444 31T483 14Q509 14 521 22ZM254 15T298 30T373 77T403 154V265L247 236Q157 220 117 190T77 111Q77 65 112 40T212 15Q254 15 298 30ZM541 749T566 725T592 662Q592 624 567 600T502 575Q463 575 438 599T412 662Q412 700 437 724T502 749Q541 749 566 725ZM474 729T455 710T435 662Q435 634 454 615T502 596Q530 596 549 615T569 662Q569 691 550 710T502 729Q474 729 455 710Z" glyph-name="aring" horiz-adv-x="526" unicode="å"/><glyph d="M430 250V235Q434 132 484 74T616 15Q744 15 787 119L810 107Q785 50 738 20T616 -10Q542 -10 491 30T419 146Q407 67 346 29T205 -10Q133 -10 91 21T48 111Q48 171 93 209T232 257L404 275V342Q404 411 365 448T252 486Q187 486 145 458T80 372L58 388Q104 510 252 510Q327 510 372 476T427 378Q451 441 499 475T614 510Q715 510 767 448T819 266V250H430ZM534 486T485 431T430 276H794Q788 486 614 486Q534 486 485 431ZM257 15T300 32T374 88T404 190V252L245 235Q157 226 117 194T77 111Q77 64 114 40T212 15Q257 15 300 32Z" glyph-name="ae" horiz-adv-x="869" unicode="æ"/><glyph d="M474 72T420 32T292 -10Q332 -33 349 -59T367 -116Q367 -155 341 -179T273 -204Q241 -204 218 -195T176 -164L188 -144Q205 -165 225 -174T271 -183Q302 -183 321 -165T341 -115Q341 -85 322 -61T253 -9Q157 1 105 68T53 250Q53 372 114 441T285 510Q360 510 412 475T484 374L459 361Q443 421 398 453T285 486Q189 486 135 423T81 250Q81 139 134 77T283 15Q352 15 402 50T463 146L488 137Q474 72 420 32Z" glyph-name="ccedilla" unicode="ç"/><glyph d="M492 235H81Q85 131 138 73T285 15Q346 15 394 42T465 119L488 107Q461 52 408 21T285 -10Q176 -10 115 59T53 250Q53 372 113 441T279 510Q380 510 436 441T493 252L492 235ZM188 486T136 427T81 261H467Q464 367 416 426T279 486Q188 486 136 427ZM292 583H268L178 734H209L292 583Z" glyph-name="egrave" horiz-adv-x="543" unicode="è"/><glyph d="M492 235H81Q85 131 138 73T285 15Q346 15 394 42T465 119L488 107Q461 52 408 21T285 -10Q176 -10 115 59T53 250Q53 372 113 441T279 510Q380 510 436 441T493 252L492 235ZM188 486T136 427T81 261H467Q464 367 416 426T279 486Q188 486 136 427ZM631 734L541 583H517L600 734H631Z" glyph-name="eacute" horiz-adv-x="543" unicode="é"/><glyph d="M492 235H81Q85 131 138 73T285 15Q346 15 394 42T465 119L488 107Q461 52 408 21T285 -10Q176 -10 115 59T53 250Q53 372 113 441T279 510Q380 510 436 441T493 252L492 235ZM188 486T136 427T81 261H467Q464 367 416 426T279 486Q188 486 136 427ZM373 582L275 707L178 582H151L259 728H291L400 582H373Z" glyph-name="ecircumflex" horiz-adv-x="543" unicode="ê"/><glyph d="M492 235H81Q85 131 138 73T285 15Q346 15 394 42T465 119L488 107Q461 52 408 21T285 -10Q176 -10 115 59T53 250Q53 372 113 441T279 510Q380 510 436 441T493 252L492 235ZM188 486T136 427T81 261H467Q464 367 416 426T279 486Q188 486 136 427ZM195 652T203 645T211 624Q211 611 203 603T182 595Q169 595 161 603T153 624Q153 637 161 644T182 652Q195 652 203 645ZM381 652T388 645T396 624Q396 611 389 603T368 595Q355 595 347 603T339 624Q339 637 347 644T368 652Q381 652 388 645Z" glyph-name="edieresis" horiz-adv-x="543" unicode="ë"/><glyph d="M115 0H87V500H115V0ZM117 583H93L3 734H34L117 583Z" glyph-name="igrave" horiz-adv-x="201" unicode="ì"/><glyph d="M115 0H87V500H115V0ZM200 734L110 583H86L169 734H200Z" glyph-name="iacute" horiz-adv-x="201" unicode="í"/><glyph d="M115 0H87V500H115V0ZM198 582L100 707L3 582H-24L84 728H116L225 582H198Z" glyph-name="icircumflex" horiz-adv-x="201" unicode="î"/><glyph d="M32 595T24 603T16 624Q16 637 24 644T45 652Q58 652 66 645T74 624Q74 611 66 603T45 595Q32 595 24 603ZM143 595T135 603T127 624Q127 637 135 644T156 652Q169 652 177 645T185 624Q185 611 177 603T156 595Q143 595 135 603ZM115 0H87V500H115V0Z" glyph-name="idieresis" horiz-adv-x="201" unicode="ï"/><glyph d="M425 613Q518 488 518 284Q518 140 458 65T289 -10Q180 -10 117 57T53 237Q53 312 82 368T162 454T282 485Q361 485 414 451T491 353Q475 508 398 607L222 569L217 588L384 624Q325 692 233 730H279Q361 690 411 629L527 656L533 636L425 613ZM383 15T436 78T492 253Q492 309 468 356T397 432T284 461Q192 461 137 400T82 237Q82 135 138 75T290 15Q383 15 436 78Z" glyph-name="eth" horiz-adv-x="585" unicode="ð"/><glyph d="M401 510T451 462T502 327V0H474V320Q474 400 430 443T310 486Q256 486 212 461T141 392T115 294V0H87V500H113V380Q134 440 188 475T314 510Q401 510 451 462ZM453 642T432 619T371 596Q344 596 327 605T291 633Q273 649 260 657T226 665Q196 665 182 649T160 595H136Q144 643 165 665T227 688Q254 688 271 679T307 651Q323 636 337 628T371 620Q401 620 415 636T437 689H461Q453 642 432 619Z" glyph-name="ntilde" horiz-adv-x="582" unicode="ñ"/><glyph d="M398 510T460 441T523 250Q523 128 461 59T289 -10Q179 -10 116 59T53 250Q53 371 116 440T289 510Q398 510 460 441ZM192 486T137 423T81 250Q81 140 136 77T289 14Q385 14 440 77T495 250Q495 360 440 423T289 486Q192 486 137 423ZM305 583H281L191 734H222L305 583Z" glyph-name="ograve" horiz-adv-x="576" unicode="ò"/><glyph d="M398 510T460 441T523 250Q523 128 461 59T289 -10Q179 -10 116 59T53 250Q53 371 116 440T289 510Q398 510 460 441ZM192 486T137 423T81 250Q81 140 136 77T289 14Q385 14 440 77T495 250Q495 360 440 423T289 486Q192 486 137 423ZM644 734L554 583H530L613 734H644Z" glyph-name="oacute" horiz-adv-x="576" unicode="ó"/><glyph d="M398 510T460 441T523 250Q523 128 461 59T289 -10Q179 -10 116 59T53 250Q53 371 116 440T289 510Q398 510 460 441ZM192 486T137 423T81 250Q81 140 136 77T289 14Q385 14 440 77T495 250Q495 360 440 423T289 486Q192 486 137 423ZM386 582L288 707L191 582H164L272 728H304L413 582H386Z" glyph-name="ocircumflex" horiz-adv-x="576" unicode="ô"/><glyph d="M398 510T460 441T523 250Q523 128 461 59T289 -10Q179 -10 116 59T53 250Q53 371 116 440T289 510Q398 510 460 441ZM192 486T137 423T81 250Q81 140 136 77T289 14Q385 14 440 77T495 250Q495 360 440 423T289 486Q192 486 137 423ZM444 642T423 619T362 596Q335 596 318 605T282 633Q264 649 251 657T217 665Q187 665 173 649T151 595H127Q135 643 156 665T218 688Q245 688 262 679T298 651Q314 636 328 628T362 620Q392 620 406 636T428 689H452Q444 642 423 619Z" glyph-name="otilde" horiz-adv-x="576" unicode="õ"/><glyph d="M398 510T460 441T523 250Q523 128 461 59T289 -10Q179 -10 116 59T53 250Q53 371 116 440T289 510Q398 510 460 441ZM192 486T137 423T81 250Q81 140 136 77T289 14Q385 14 440 77T495 250Q495 360 440 423T289 486Q192 486 137 423ZM208 652T216 645T224 624Q224 611 216 603T195 595Q182 595 174 603T166 624Q166 637 174 644T195 652Q208 652 216 645ZM394 652T401 645T409 624Q409 611 402 603T381 595Q368 595 360 603T352 624Q352 637 360 644T381 652Q394 652 401 645Z" glyph-name="odieresis" horiz-adv-x="576" unicode="ö"/><glyph d="M316 534T324 526T332 504Q332 491 324 483T302 474Q289 474 281 482T272 504Q272 518 280 526T302 534Q316 534 324 526ZM530 303H74V329H530V303ZM316 160T324 152T332 130Q332 117 324 109T302 100Q289 100 281 108T272 130Q272 144 280 152T302 160Q316 160 324 152Z" glyph-name="divide" horiz-adv-x="604" unicode="÷"/><glyph d="M381 510T441 459L495 529H525L458 444Q523 376 523 250Q523 128 461 59T289 -10Q200 -10 140 37L86 -31H56L122 53Q53 124 53 250Q53 371 116 440T289 510Q381 510 441 459ZM140 75L167 111L425 438Q371 486 289 486Q192 486 137 423T81 250Q81 136 139 75H140ZM385 14T440 77T495 250Q495 359 441 422H440L419 394L156 58Q209 14 289 14Q385 14 440 77Z" glyph-name="oslash" horiz-adv-x="577" unicode="ø"/><glyph d="M488 500V0H462L461 119Q440 60 386 25T257 -10Q175 -10 128 36T81 168V500H109V174Q109 96 148 56T262 15Q325 15 369 43T437 115T460 202V500H488ZM302 583H278L188 734H219L302 583Z" glyph-name="ugrave" horiz-adv-x="574" unicode="ù"/><glyph d="M488 500V0H462L461 119Q440 60 386 25T257 -10Q175 -10 128 36T81 168V500H109V174Q109 96 148 56T262 15Q325 15 369 43T437 115T460 202V500H488ZM641 734L551 583H527L610 734H641Z" glyph-name="uacute" horiz-adv-x="574" unicode="ú"/><glyph d="M488 500V0H462L461 119Q440 60 386 25T257 -10Q175 -10 128 36T81 168V500H109V174Q109 96 148 56T262 15Q325 15 369 43T437 115T460 202V500H488ZM383 582L285 707L188 582H161L269 728H301L410 582H383Z" glyph-name="ucircumflex" horiz-adv-x="574" unicode="û"/><glyph d="M488 500V0H462L461 119Q440 60 386 25T257 -10Q175 -10 128 36T81 168V500H109V174Q109 96 148 56T262 15Q325 15 369 43T437 115T460 202V500H488ZM205 652T213 645T221 624Q221 611 213 603T192 595Q179 595 171 603T163 624Q163 637 171 644T192 652Q205 652 213 645ZM391 652T398 645T406 624Q406 611 399 603T378 595Q365 595 357 603T349 624Q349 637 357 644T378 652Q391 652 398 645Z" glyph-name="udieresis" horiz-adv-x="574" unicode="ü"/><glyph d="M224 -98Q197 -163 165 -189T84 -215Q24 -215 0 -181L12 -158Q34 -191 84 -191Q122 -191 149 -170T199 -92L236 -1L24 500H56L229 81L250 31L270 84L439 500H470L224 -98ZM605 734L515 583H491L574 734H605Z" glyph-name="yacute" horiz-adv-x="491" unicode="ý"/><glyph d="M418 510T479 441T540 250Q540 128 479 59T311 -10Q238 -10 187 26T115 129V-210H87V730H115V372Q136 437 187 473T311 510Q418 510 479 441ZM404 15T458 77T512 250Q512 361 458 423T307 486Q219 486 167 424T115 254V246Q115 139 167 77T307 15Q404 15 458 77Z" glyph-name="thorn" horiz-adv-x="593" unicode="þ"/><glyph d="M224 -98Q197 -163 165 -189T84 -215Q24 -215 0 -181L12 -158Q34 -191 84 -191Q122 -191 149 -170T199 -92L236 -1L24 500H56L229 81L250 31L270 84L439 500H470L224 -98ZM425 652T433 645T441 624Q441 611 433 603T412 595Q399 595 391 603T383 624Q383 637 391 644T412 652Q425 652 433 645ZM611 652T618 645T626 624Q626 611 619 603T598 595Q585 595 577 603T569 624Q569 637 577 644T598 652Q611 652 618 645Z" glyph-name="ydieresis" horiz-adv-x="491" unicode="ÿ"/><glyph d="M549 255H71V282H549V255Z" glyph-name="endash" horiz-adv-x="619" unicode="–"/><glyph d="M882 255H71V282H882V255Z" glyph-name="emdash" horiz-adv-x="953" unicode="—"/><glyph d="M75 523T65 538T54 578Q54 613 71 644T122 692L140 677Q112 666 94 640T75 588Q75 583 77 573L79 572Q85 584 98 584Q109 584 117 576T126 554Q126 541 117 532T95 523Q75 523 65 538Z" glyph-name="quoteleft" horiz-adv-x="188" unicode="‘"/><glyph d="M118 690T128 675T139 636Q139 601 122 570T71 522L53 536Q81 548 99 574T118 626Q118 631 116 641H114Q109 630 95 630Q84 630 76 638T68 660Q68 672 76 681T99 690Q118 690 128 675Z" glyph-name="quoteright" horiz-adv-x="188" unicode="’"/><glyph d="M114 54T124 39T135 -1Q135 -35 117 -66T67 -114L49 -100Q76 -89 95 -62T114 -10Q114 -5 112 5H110Q104 -6 91 -6Q79 -6 71 2T63 24Q63 36 72 45T94 54Q114 54 124 39Z" glyph-name="quotesinglbase" horiz-adv-x="192" unicode="‚"/><glyph d="M75 523T65 538T54 578Q54 613 71 644T122 692L140 677Q112 666 94 640T75 588Q75 583 77 573L79 572Q85 584 98 584Q109 584 117 576T126 554Q126 541 117 532T95 523Q75 523 65 538ZM190 523T180 538T169 578Q169 613 186 644T237 692L255 677Q227 666 209 640T190 588Q190 583 192 573L194 572Q200 584 213 584Q224 584 232 576T241 554Q241 541 232 532T210 523Q190 523 180 538Z" glyph-name="quotedblleft" horiz-adv-x="303" unicode="“"/><glyph d="M118 690T128 675T139 636Q139 601 122 570T71 522L53 536Q81 548 99 574T118 626Q118 631 116 641H114Q109 630 95 630Q84 630 76 638T68 660Q68 672 76 681T99 690Q118 690 128 675ZM233 690T243 675T254 636Q254 601 237 570T186 522L168 536Q196 548 214 574T233 626Q233 631 231 641H229Q224 630 210 630Q199 630 191 638T183 660Q183 672 191 681T214 690Q233 690 243 675Z" glyph-name="quotedblright" horiz-adv-x="302" unicode="”"/><glyph d="M114 54T124 39T135 -1Q135 -35 117 -66T67 -114L49 -100Q76 -89 95 -62T114 -10Q114 -5 112 5H110Q104 -6 91 -6Q79 -6 71 2T63 24Q63 36 72 45T94 54Q114 54 124 39ZM229 54T239 39T250 -1Q250 -35 232 -66T182 -114L164 -100Q191 -89 210 -62T229 -10Q229 -5 227 5H225Q219 -6 206 -6Q194 -6 186 2T178 24Q178 36 187 45T209 54Q229 54 239 39Z" glyph-name="quotedblbase" horiz-adv-x="307" unicode="„"/><glyph d="M246 410T266 390T287 339Q287 308 267 288T215 267Q184 267 164 287T143 339Q143 370 163 390T215 410Q246 410 266 390Z" glyph-name="bullet" horiz-adv-x="430" unicode="•"/><glyph d="M79 265L221 69H188L47 265L188 461H221L79 265Z" glyph-name="guilsinglleft" horiz-adv-x="271" unicode="‹"/><glyph d="M84 461L224 265L84 69H50L192 265L50 461H84Z" glyph-name="guilsinglright" horiz-adv-x="271" unicode="›"/></font></defs></svg>

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.svg
=====================================================
<svg xmlns="http://www.w3.org/2000/svg"><metadata/><defs><font id="novecento_sans_wideultralight" horiz-adv-x="207"><font-face ascent="821" descent="-179" units-per-em="1000"/><glyph horiz-adv-x="1000"/><glyph horiz-adv-x="1000"/><glyph horiz-adv-x="1000"/><glyph horiz-adv-x="250"/><glyph horiz-adv-x="250"/><glyph horiz-adv-x="250"/><glyph d="M117 700v-563h-27v563h27zM104 -10q-16 0 -25 9.5t-9 23.5t9.5 23t24.5 9q16 0 25 -9.5t9 -22.5q0 -15 -9 -24t-25 -9z" unicode="!"/><glyph d="M75 700l-2 -217h-23l-2 217h27zM169 700l-2 -217h-23l-2 217h27z" horiz-adv-x="220" unicode="&quot;"/><glyph d="M423 154h113l-6 -23h-114l-35 -131h-25l35 131h-207l-35 -131h-25l35 131h-114l6 23h115l68 254h-112l6 23h112l35 129h25l-35 -129h207l35 129h25l-35 -129h116l-6 -23h-116zM259 408l-68 -254h207l68 254h-207z" horiz-adv-x="658" unicode="#"/><glyph d="M415 141q0 -69 -45.5 -110t-124.5 -43v-78h-25v78q-159 9 -180 150l25 7q7 -64 53 -97.5t118 -33.5q70 0 111 33.5t41 93.5q0 36 -14 61.5t-42 40t-53 22t-62 15.5q-7 1 -11 2q-25 5 -40 9.5t-39.5 15.5t-38 25t-24.5 38.5t-11 56.5q0 62 42 101t117 43v79h25v-79 q148 -5 174 -134l-26 -7q-13 56 -49.5 85.5t-106.5 29.5q-71 0 -110 -32t-39 -85q0 -59 39 -84.5t114 -40.5q29 -6 47.5 -10.5t47 -16.5t45 -28t29.5 -43.5t13 -63.5z" horiz-adv-x="455" unicode="$"/><glyph d="M155 214q-119 0 -119 178t119 178t119 -178t-119 -178zM452 560l-189 -560h-29l189 560h29zM155 238q95 0 95 154t-95 154t-95 -154t95 -154zM533 -7q-119 0 -119 178q0 179 119 179t119 -179q0 -178 -119 -178zM533 17q95 0 95 154t-95 154t-95 -154t95 -154z" horiz-adv-x="688" unicode="%"/><glyph d="M481 280v-96q0 -97 -54.5 -146.5t-157.5 -49.5q-99 0 -152.5 43.5t-53.5 116.5q0 62 37 100t91 45v2q-47 9 -83 43t-36 93q0 66 47 103t136 37q53 0 96 -12t80 -47.5t48 -92.5l-25 -7q-31 133 -198 133q-157 0 -157 -112q0 -55 41.5 -90.5t116.5 -35.5h317v-26zM454 281 h-196q-74 0 -121 -34t-47 -99q0 -62 45.5 -98t133.5 -36q185 0 185 170v97z" horiz-adv-x="604" unicode="&amp;"/><glyph d="M75 700l-2 -217h-23l-2 217h27z" horiz-adv-x="126" unicode="'"/><glyph d="M295 796l13 -24q-109 -40 -165 -154.5t-56 -323.5t56 -323.5t165 -154.5l-13 -24q-122 44 -178.5 168t-56.5 334t56.5 334t178.5 168z" horiz-adv-x="320" unicode="("/><glyph d="M25 -208l-13 24q109 40 165 154.5t56 323.5t-56 323.5t-165 154.5l13 24q122 -44 178.5 -168t56.5 -334t-56.5 -334t-178.5 -168z" horiz-adv-x="320" unicode=")"/><glyph d="M276 527l85 -124l-21 -14l-87 122l-87 -122l-21 14l85 124l-140 45l8 23l142 -43v148h26v-148l142 43l8 -23z" horiz-adv-x="506" unicode="*"/><glyph d="M515 281h-167v-179h-29v179h-167v26h167v177h29v-177h167v-26z" horiz-adv-x="668" unicode="+"/><glyph d="M105 -9q-17 -4 -28 4t-11 24q0 32 34 32q35 0 35 -42q0 -30 -19.5 -65.5t-53.5 -48.5l-14 13q25 10 41 36.5t16 46.5z" horiz-adv-x="186" unicode=","/><glyph d="M475 281h-363v26h363v-26z" horiz-adv-x="588" unicode="-"/><glyph d="M93 -10q-16 0 -25 9.5t-9 23.5t9.5 23t24.5 9q16 0 25 -9.5t9 -22.5q0 -15 -9.5 -24t-24.5 -9z" horiz-adv-x="186" unicode="."/><glyph d="M418 700l-358 -700h-30l358 700h30z" horiz-adv-x="448" unicode="/"/><glyph d="M254 571q105 0 159.5 -76t54.5 -215t-54.5 -215.5t-159.5 -76.5q-106 0 -160 76t-54 216q0 139 54 215t160 76zM254 545q-94 0 -140.5 -69t-46.5 -196t46.5 -196.5t140.5 -69.5t140.5 69.5t46.5 196.5t-46.5 196t-140.5 69z" horiz-adv-x="508" unicode="0"/><glyph d="M190 0v447q0 18 1 39t1 32l1 12h-1l-9 -10q-9 -10 -20.5 -22t-15.5 -16l-79 -82l-18 18l141 142h26v-560h-27z" horiz-adv-x="307" unicode="1"/><glyph d="M51 0v31l212 174q72 59 102.5 102t30.5 94q0 62 -42 103t-121 41q-77 0 -116 -38.5t-42 -94.5l-25 7q6 76 59 114t128 38q87 0 136.5 -48t49.5 -125q0 -54 -31 -99.5t-111 -111.5l-195 -160l1 -1h82h257v-26h-375z" horiz-adv-x="476" unicode="2"/><glyph d="M312 295v-3q52 -7 85 -43t33 -95q0 -75 -53.5 -120.5t-135.5 -45.5t-137.5 45.5t-63.5 116.5l24 7q10 -68 58.5 -105.5t121.5 -37.5q77 0 117.5 41t40.5 101q0 62 -43 93.5t-120 31.5h-50v26h50q158 0 158 118q0 58 -40 89t-115 31q-86 0 -121.5 -37t-42.5 -96l-25 7 q9 78 61 115t132 37q88 0 133 -40t45 -103q0 -53 -31 -89t-81 -44z" horiz-adv-x="470" unicode="3"/><glyph d="M367 0h-27v163h-305v29l297 368h35v-371h84v-26h-84v-163zM340 406v124h-1l-276 -340l1 -1h108h168v217z" horiz-adv-x="501" unicode="4"/><glyph d="M94 294l1 -1q17 26 59 48t99 22q85 0 139.5 -51.5t54.5 -136.5t-55 -136t-140 -51q-77 0 -132 43.5t-70 119.5l25 6q12 -68 60.5 -105.5t116.5 -37.5q74 0 121 43.5t47 118.5q0 74 -47.5 117.5t-126.5 43.5q-62 0 -101.5 -25.5t-53.5 -60.5l-23 7l49 302h293v-26h-273 l-22 -133q-3 -18 -6 -35.5t-5.5 -29.5t-5 -22t-3.5 -15z" horiz-adv-x="497" unicode="5"/><glyph d="M96 301l2 -1q51 65 147 65q88 0 143 -52t55 -133q0 -84 -56.5 -138t-145.5 -54q-88 0 -143.5 54t-55.5 142t62 169l160 207h33zM242 14q77 0 125 45.5t49 120.5q1 72 -46.5 115.5t-127.5 43.5q-79 0 -126 -43.5t-47 -116.5q0 -74 47.5 -119.5t125.5 -45.5z" horiz-adv-x="488" unicode="6"/><glyph d="M418 536l-302 -536h-30l270 482q7 13 15.5 25.5t12.5 19.5l5 7l-1 1q-38 -1 -71 -1h-287v26h388v-24z" horiz-adv-x="443" unicode="7"/><glyph d="M40 148q0 64 42.5 102t100.5 42v2q-36 3 -76.5 38t-40.5 93q0 62 47.5 104t131.5 42q82 0 130.5 -42t48.5 -103q0 -41 -23 -72.5t-48.5 -44.5t-44.5 -15v-2q57 -4 99.5 -42.5t42.5 -101.5q0 -72 -56.5 -116t-148.5 -44t-148.5 44t-56.5 116zM92 424q0 -55 43.5 -87.5 t109.5 -31.5q69 1 111 34.5t42 85.5t-41.5 86t-111.5 34q-72 0 -112.5 -34t-40.5 -87zM67 149q0 -63 48 -99t130 -36t130 36t48 99q0 62 -47.5 96t-130.5 34t-130.5 -34t-47.5 -96z" horiz-adv-x="490" unicode="8"/><glyph d="M397 255l-1 1q-60 -66 -153 -66q-89 0 -143.5 52.5t-54.5 136.5q0 85 56.5 138.5t146.5 53.5q89 0 146.5 -52t57.5 -142q0 -55 -26.5 -107.5t-90.5 -129.5l-120 -140h-33zM248 545q-74 0 -125 -42t-51 -125q0 -82 50.5 -122t125.5 -40q77 0 127 42t50 122q0 82 -51 123.5 t-126 41.5z" horiz-adv-x="497" unicode="9"/><glyph d="M93 349q-16 0 -25 9.5t-9 23.5t9.5 23t24.5 9q16 0 25 -9.5t9 -22.5q0 -14 -9.5 -23.5t-24.5 -9.5zM93 -10q-16 0 -25 9.5t-9 23.5t9.5 23t24.5 9q16 0 25 -9.5t9 -22.5q0 -15 -9.5 -24t-24.5 -9z" horiz-adv-x="186" unicode=":"/><glyph d="M93 349q-16 0 -25 9.5t-9 23.5t9.5 23t24.5 9q16 0 25 -9.5t9 -22.5q0 -14 -9.5 -23.5t-24.5 -9.5zM105 -9q-17 -4 -28 4t-11 24q0 32 34 32q35 0 35 -42q0 -30 -19.5 -65.5t-53.5 -48.5l-14 13q25 10 41 36.5t16 46.5z" horiz-adv-x="186" unicode=";"/><glyph d="M539 47l-451 232v32l451 232v-30l-425 -217v-2l425 -217v-30z" horiz-adv-x="668" unicode="&lt;"/><glyph d="M515 358h-363v26h363v-26zM515 205h-363v26h363v-26z" horiz-adv-x="668" unicode="="/><glyph d="M554 294v2l-425 217v30l451 -232v-32l-451 -232v30z" horiz-adv-x="668" unicode="&gt;"/><glyph d="M248 137v182q128 48 180.5 94.5t52.5 112.5q0 65 -45 113t-150 48q-176 0 -216 -163l-25 7q21 91 84 137t160 46q113 0 167 -55.5t54 -130.5q0 -44 -19 -81t-54.5 -63.5t-72.5 -45t-87 -36.5v-165h-29zM261 -10q-16 0 -25 9.5t-9 23.5t9.5 23t24.5 9q16 0 25 -9.5 t9 -22.5q0 -15 -9.5 -24t-24.5 -9z" horiz-adv-x="555" unicode="?"/><glyph d="M536 419v-228q0 -87 72 -87q48 0 75 43t27 121q0 143 -90.5 236.5t-229.5 93.5q-138 0 -228 -93.5t-90 -240.5q0 -146 85 -239t226 -93q154 0 233 79l20 -16q-48 -49 -120.5 -69t-131.5 -20q-154 0 -246.5 101.5t-92.5 257.5q0 155 98.5 257t247.5 102t247.5 -102 t98.5 -255q0 -88 -34.5 -138t-94.5 -50q-37 0 -64 23t-31 65h-2q-16 -42 -52.5 -65t-83.5 -23q-65 0 -112.5 48.5t-47.5 127.5q0 78 43.5 130t116.5 52q34 0 61 -10t41.5 -24.5t21.5 -25.5t9 -19h2v61h26zM375 105q61 0 95 38.5t40 98.5v30q0 62 -37 100.5t-98 38.5 q-64 0 -98.5 -43t-34.5 -113t37 -110t96 -40z" horiz-adv-x="782" unicode="@"/><glyph d="M552 230h-389l-104 -230h-29l315 700h25l315 -700h-29zM541 255l-95 211q-13 29 -35 80t-37 86l-16 36h-1l-15 -36q-16 -35 -38 -86t-35 -80l-95 -211h367z" horiz-adv-x="715" unicode="A"/><glyph d="M395 377v-3q27 -2 55.5 -12t57 -30t47 -57t18.5 -85q0 -93 -61 -141.5t-169 -48.5h-253v700h220q96 0 151.5 -45.5t55.5 -120.5q0 -70 -36 -108.5t-86 -48.5zM117 385h200q78 0 125.5 37.5t47.5 109.5q0 66 -49 104t-135 38h-189v-289zM117 26h228q92 0 146.5 40.5 t54.5 120.5t-60 126t-144 46h-225v-333z" horiz-adv-x="618" unicode="B"/><glyph d="M701 197l25 -7q-42 -95 -128 -148.5t-196 -53.5q-153 0 -255 100.5t-102 263.5q0 165 101 263.5t257 98.5q115 0 196.5 -52.5t116.5 -131.5l-25 -8q-10 22 -27.5 45t-50 53t-87 49t-121.5 19q-147 0 -240 -90.5t-93 -245.5q0 -154 94.5 -246t235.5 -92q98 0 178 48.5 t121 134.5z" horiz-adv-x="781" unicode="C"/><glyph d="M90 700h207q168 0 270.5 -95t102.5 -258q0 -161 -100.5 -254t-262.5 -93h-217v700zM117 26h190q147 0 241.5 84.5t94.5 236.5q0 154 -95.5 240.5t-250.5 86.5h-180v-648z" horiz-adv-x="715" unicode="D"/><glyph d="M90 0v700h446v-26h-419v-289h336v-26h-336v-333h419v-26h-446z" horiz-adv-x="591" unicode="E"/><glyph d="M536 674h-419v-297h336v-26h-336v-351h-27v700h446v-26z" horiz-adv-x="576" unicode="F"/><glyph d="M727 0h-26q0 46 0.5 76.5t0.5 43v14.5h-1q-15 -21 -36.5 -41.5t-58 -46.5t-90 -42t-114.5 -16q-153 0 -255 100t-102 263q0 165 102 264t258 99q115 0 196.5 -52.5t116.5 -131.5l-25 -8q-10 22 -27.5 45t-50 53t-87 49t-121.5 19q-148 0 -241.5 -90.5t-93.5 -244.5 q0 -155 94 -247t236 -92q106 0 188.5 50.5t110.5 108.5v142h-229v26h255v-341z" horiz-adv-x="797" unicode="G"/><glyph d="M576 0v359h-459v-359h-27v700h27v-315h459v315h27v-700h-27z" horiz-adv-x="693" unicode="H"/><glyph d="M90 0v700h27v-700h-27z" unicode="I"/><glyph d="M385 700v-440q0 -131 -55.5 -201.5t-160.5 -70.5q-102 0 -169 86l14 24q60 -84 156 -84q91 0 139 62.5t48 179.5v444h28z" horiz-adv-x="470" unicode="J"/><glyph d="M561 0l-297 402l-147 -149v-253h-27v700h27v-234v-44v-39t-0.5 -32.5t-0.5 -26.5v-19v-13v-4h1l138 141l269 271h34l-274 -278l309 -423z" horiz-adv-x="613" unicode="K"/><glyph d="M90 0v700h27v-674h403v-26h-430z" horiz-adv-x="560" unicode="L"/><glyph d="M676 0v406v36t0.5 45.5t1 48.5t0.5 47t0.5 39.5t0.5 27.5v11h-1l-3 -7q-3 -6 -11 -21.5t-19 -36.5t-30 -56t-42 -75l-166 -293h-21l-164 289q-23 41 -43 77t-31 57.5t-19 37t-11 21.5l-3 7h-1v-11q0 -10 0.5 -27.5t1 -39.5t0.5 -47t0.5 -48.5t0.5 -45.5v-36v-406h-27v700 h28l278 -497h1l278 497h28v-700h-27z" horiz-adv-x="793" unicode="M"/><glyph d="M596 0l-481 665h-1v-5q0 -5 0.5 -13t1 -19.5t0.5 -26t0.5 -30t0.5 -34v-35.5v-502h-27v700h27l481 -661h1v5q0 5 -0.5 13t-0.5 19.5t-0.5 26t-1 30t-0.5 33.5v35v499h27v-700h-27z" horiz-adv-x="713" unicode="N"/><glyph d="M45 351q0 162 103 262.5t255 100.5t255.5 -100.5t103.5 -262.5t-103.5 -262.5t-255.5 -100.5t-255 100.5t-103 262.5zM72 351q0 -154 94.5 -245.5t236.5 -91.5t237 91.5t95 245.5t-95 245.5t-237 91.5t-236.5 -91.5t-94.5 -245.5z" horiz-adv-x="807" unicode="O"/><glyph d="M90 700h181q120 0 185.5 -51t65.5 -152q0 -99 -66 -151t-185 -52h-154v-294h-27v700zM117 320h154q110 0 167 45t57 132q0 177 -224 177h-154v-354z" horiz-adv-x="552" unicode="P"/><glyph d="M762 351q0 -158 -98.5 -258t-246.5 -105v-120h-29v120q-147 5 -245 105.5t-98 257.5q0 162 103 262.5t255 100.5t255.5 -100.5t103.5 -262.5zM403 14q142 0 237 91.5t95 245.5t-95 245.5t-237 91.5t-236.5 -91.5t-94.5 -245.5t94.5 -245.5t236.5 -91.5z" horiz-adv-x="807" unicode="Q"/><glyph d="M491 0l-177 303q-18 -1 -82 -1h-115v-302h-27v700h182q118 0 184 -54t66 -152q0 -163 -178 -188l181 -306h-34zM117 327h160q218 0 218 167q0 91 -59.5 135.5t-165.5 44.5h-153v-347z" horiz-adv-x="575" unicode="R"/><glyph d="M40 190l26 7q3 -92 68.5 -137.5t167.5 -45.5q96 0 149 40.5t53 120.5q0 27 -6.5 49t-15.5 37.5t-26.5 28.5t-29.5 20.5t-36.5 15t-36 10.5t-38.5 8t-34 7q-39 9 -61 14.5t-56.5 20.5t-53.5 32.5t-34 48.5t-15 70q0 83 57 130t161 47q96 0 158.5 -42t81.5 -127l-26 -7 q-34 150 -213 150q-93 0 -142.5 -39t-49.5 -109q0 -41 16 -70.5t48.5 -47t62 -27t75.5 -18.5q31 -6 47.5 -9.5t46 -12t46.5 -17t39 -24t33.5 -34t20 -45.5t8.5 -59q0 -92 -60.5 -140t-171.5 -48q-47 0 -88 9t-79.5 30.5t-63 63t-28.5 99.5z" horiz-adv-x="571" unicode="S"/><glyph d="M583 674h-258v-674h-27v674h-258v26h543v-26z" horiz-adv-x="623" unicode="T"/><glyph d="M607 700v-420q0 -292 -264 -292q-263 0 -263 292v420h27v-424q0 -262 236 -262q121 0 179 65.5t58 196.5v424h27z" horiz-adv-x="687" unicode="U"/><glyph d="M339 0h-23l-296 700h28l166 -390q18 -43 36.5 -87t31.5 -76t23.5 -58t16.5 -40l5 -14h1l6 13q5 14 15 39.5t23 57t31 75t36 85.5l168 395h28z" horiz-adv-x="655" unicode="V"/><glyph d="M633 0l-109 333q-15 47 -31.5 101.5t-25.5 84.5l-9 30h-1l-9 -31q-9 -30 -25.5 -86t-33.5 -106l-107 -326h-23l-239 700h27l121 -354q18 -53 43.5 -129t42 -124.5t16.5 -49.5h1q0 1 14.5 48.5t35.5 114l33 104.5l91 278h25l91 -278l33 -104.5t35.5 -114t14.5 -48.5h1 q0 1 16 49.5t40 122.5t42 125l125 360h27l-239 -700h-23z" horiz-adv-x="915" unicode="W"/><glyph d="M578 0l-158 210q-32 42 -59 79t-36 49l-9 11h-1q-3 0 -108 -141l-154 -208h-33l278 367l-250 333h32l151 -201q86 -115 88 -115h1q1 0 84 115l147 201h32l-248 -335l276 -365h-33z" horiz-adv-x="631" unicode="X"/><glyph d="M324 322v-322h-27v322l-277 378h32l187 -255l72 -97h1l8 11q8 11 25 34.5t35 48.5l190 258h32z" horiz-adv-x="622" unicode="Y"/><glyph d="M601 676l-440 -550q-18 -23 -34 -42.5t-24 -29.5t-14 -17t-8 -9l-2 -3l1 -1h4q4 0 10.5 0.5t15.5 1t21 0.5h25h445v-26h-556v24l442 552q24 31 45 55.5t29 33.5l8 9l-1 1h-2h-4t-7 -0.5t-10.5 -0.5h-14h-18h-22.5h-435v26h546v-24z" horiz-adv-x="646" unicode="Z"/><glyph d="M279 -182v-26h-184v1004h184v-26h-154v-952h154z" horiz-adv-x="320" unicode="["/><glyph d="M418 0h-30l-358 700h30z" horiz-adv-x="448" unicode="\"/><glyph d="M41 770v26h184v-1004h-184v26h154v952h-154z" horiz-adv-x="320" unicode="]"/><glyph d="M334 685l-247 -320l-22 15l253 328h32l253 -328l-22 -15z" horiz-adv-x="668" unicode="^"/><glyph d="M633 -21h-543v21h543v-21z" horiz-adv-x="723" unicode="_"/><glyph d="M214 902l99 -148h-30l-96 138z" horiz-adv-x="500" unicode="`"/><glyph d="M440 182h-302l-79 -182h-29l247 560h25l247 -560h-29zM429 208l-70 160q-68 155 -68 163h-2q0 -4 -73 -170l-67 -153h280z" horiz-adv-x="579" unicode="a"/><glyph d="M345 299v-3q53 -4 98 -39.5t45 -104.5t-49.5 -110.5t-130.5 -41.5h-218v560h196q71 0 116 -38.5t45 -94.5q0 -105 -102 -128zM117 307h164q54 0 96.5 30t42.5 87q0 47 -38 78.5t-100 31.5h-165v-227zM117 26h192q66 0 109 33t43 91q0 60 -45.5 95.5t-112.5 35.5h-186 v-255z" horiz-adv-x="533" unicode="b"/><glyph d="M575 158l26 -7q-36 -75 -106.5 -119t-158.5 -44q-124 0 -207.5 83t-83.5 209q0 125 83.5 208t206.5 83q83 0 154 -41t106 -124l-26 -7q-76 146 -231 146q-116 0 -191 -74t-75 -191t75 -191.5t189 -74.5q81 0 143 39.5t96 104.5z" horiz-adv-x="656" unicode="c"/><glyph d="M90 560h170q138 0 222.5 -76.5t84.5 -205.5q0 -128 -83 -203t-216 -75h-178v560zM117 26h150q120 0 196.5 66.5t76.5 185.5q0 120 -77 188t-204 68h-142v-508z" horiz-adv-x="612" unicode="d"/><glyph d="M90 0v560h363v-26h-336v-227h270v-26h-270v-255h341v-26h-368z" horiz-adv-x="513" unicode="e"/><glyph d="M453 534h-336v-235h254v-26h-254v-273h-27v560h363v-26z" horiz-adv-x="493" unicode="f"/><glyph d="M605 0h-26v31.5v25t0.5 18.5t0.5 13.5v9v4.5v2h-1q-91 -116 -239 -116q-129 0 -212 82.5t-83 208.5t83 209t205 83q80 0 152.5 -39.5t109.5 -125.5l-26 -7q-25 58 -84.5 102t-148.5 44q-114 0 -189 -74.5t-75 -191.5t75 -191t190 -74q87 0 152.5 40.5t89.5 87.5v97h-186 v26h212v-265z" horiz-adv-x="675" unicode="g"/><glyph d="M523 0h-27v281h-379v-281h-27v560h27v-253h379v253h27v-560z" horiz-adv-x="613" unicode="h"/><glyph d="M90 0v560h27v-560h-27z" unicode="i"/><glyph d="M317 560v-354q0 -105 -46 -161.5t-131 -56.5q-88 0 -140 65l15 21q47 -60 125 -60q73 0 111.5 48.5t38.5 140.5v357h27z" horiz-adv-x="402" unicode="j"/><glyph d="M478 0l-241 317l-120 -117v-200h-27v560h27v-185v-35v-30.5t-0.5 -26t-0.5 -21.5v-15.5v-10.5v-3h1q53 53 93 92l240 235h36l-230 -224l255 -336h-33z" horiz-adv-x="531" unicode="k"/><glyph d="M90 0v560h27v-534h321v-26h-348z" horiz-adv-x="478" unicode="l"/><glyph d="M569 0v316l1 206h-1l-215 -384h-24l-214 385h-1v-9q0 -8 0.5 -22t0.5 -32v-38t0.5 -39t0.5 -37v-30v-316h-27v560h34l145 -258q21 -39 40 -73.5t26 -48.5l7 -13h2l7 13q7 14 26 49t41 74l144 257h34v-560h-27z" horiz-adv-x="686" unicode="m"/><glyph d="M523 0h-26l-381 521h-1v-4q0 -4 0.5 -10.5t0.5 -15.5v-21t0.5 -24t0.5 -27v-29v-390h-27v560h27l380 -516h1v4q0 4 -0.5 10.5t-0.5 15v20t-0.5 24t-0.5 26.5v28v388h27v-560z" horiz-adv-x="613" unicode="n"/><glyph d="M45 279q0 126 83.5 209t204.5 83t205 -83.5t84 -208.5t-84 -208t-205 -83t-204.5 83t-83.5 208zM72 279q0 -116 75 -190.5t186 -74.5t186.5 74.5t75.5 190.5q0 117 -75.5 191.5t-186.5 74.5t-186 -74.5t-75 -191.5z" horiz-adv-x="667" unicode="o"/><glyph d="M90 560h151q101 0 154 -42t53 -117t-53 -116.5t-154 -41.5h-124v-243h-27v560zM117 269h125q87 0 133 35t46 97q0 63 -46 98t-133 35h-125v-265z" horiz-adv-x="478" unicode="p"/><glyph d="M622 279q0 -121 -79.5 -203.5t-196.5 -87.5v-104h-27v104q-116 5 -195 87.5t-79 203.5q0 126 83.5 209t204.5 83t205 -83.5t84 -208.5zM333 14q111 0 186.5 74.5t75.5 190.5q0 117 -75.5 191.5t-186.5 74.5t-186 -74.5t-75 -191.5q0 -116 75 -190.5t186 -74.5z" horiz-adv-x="667" unicode="q"/><glyph d="M426 0l-153 251q-30 -2 -69 -2h-87v-249h-27v560h152q98 0 152 -39t54 -114q0 -65 -39 -104.5t-107 -48.5l155 -254h-31zM117 275h124q180 0 180 130q0 129 -180 129h-124v-259z" horiz-adv-x="507" unicode="r"/><glyph d="M40 138l25 7q7 -64 56 -97.5t126 -33.5q75 0 118 32t43 95q0 30 -10.5 52.5t-27 36t-40 23t-47.5 15.5t-51 11q-11 2 -17 3q-26 5 -42.5 9.5t-41.5 15.5t-40 25t-26 39t-11 56q0 68 47.5 106t134.5 38q166 0 195 -134l-26 -7q-13 56 -52 85.5t-114 29.5q-76 0 -117 -30.5 t-41 -86.5q0 -59 41.5 -84.5t120.5 -40.5q91 -17 128 -40q64 -41 64 -122q0 -74 -50 -113.5t-138 -39.5q-34 0 -64 6.5t-61.5 21.5t-53 46.5t-28.5 75.5z" horiz-adv-x="475" unicode="s"/><glyph d="M481 534h-207v-534h-27v534h-207v26h441v-26z" horiz-adv-x="521" unicode="t"/><glyph d="M516 560v-339q0 -233 -219 -233q-217 0 -217 233v339h27v-342q0 -204 191 -204t191 204v342h27z" horiz-adv-x="596" unicode="u"/><glyph d="M300 0h-24l-256 560h29l141 -307q19 -42 36.5 -80t28 -62t18.5 -41.5t11 -25.5l4 -9h1l3 8q4 8 11.5 25t18 40.5t27.5 61t37 80.5l143 310h28z" horiz-adv-x="577" unicode="v"/><glyph d="M523 0l-78 235q-17 51 -33 101t-23 73l-7 23h-1l-7 -24q-8 -23 -24 -73t-33 -101l-77 -234h-24l-196 560h28l101 -291q22 -62 41.5 -121t27.5 -86l9 -26h1l8 26q8 25 25 77t33 101l76 232h23l76 -232q16 -49 33 -101t25 -77l8 -26h1l8 26q9 27 28.5 86t41.5 121l101 291 h28l-196 -560h-24z" horiz-adv-x="763" unicode="w"/><glyph d="M487 0l-125 157q-27 34 -52.5 66t-33.5 42l-8 10h-1q-1 0 -95 -121l-120 -154h-32l230 293l-210 267h32l100 -126q27 -34 53 -67t35 -45l10 -12h1l9 12q10 13 36.5 47t53.5 69l95 122h32l-211 -269l234 -291h-33z" horiz-adv-x="540" unicode="x"/><glyph d="M268 0h-27v256l-221 304h32l110 -152l92 -126h1q3 3 94 127l109 151h31l-221 -304v-256z" horiz-adv-x="509" unicode="y"/><glyph d="M502 536l-313 -381l-109 -129l1 -1q22 1 63 1h358v-26h-457v24l322 388q36 43 62 74t33 40l7 8h-1h-64h-351v26h449v-24z" horiz-adv-x="547" unicode="z"/><glyph d="M183 606v-154q0 -126 -65 -158q11 -5 23 -15t27 -48.5t15 -95.5v-153q0 -92 35.5 -128t98.5 -36v-26q-76 0 -118.5 45.5t-42.5 154.5v148q0 38 -6 66t-13.5 41.5t-18 21.5t-16 9.5t-11.5 2.5h-1v26q27 5 41 26q25 36 25 115v148q0 109 42.5 154.5t118.5 45.5v-26 q-63 0 -98.5 -36t-35.5 -128z" horiz-adv-x="360" unicode="{"/><glyph d="M60 775h27v-849h-27v849z" horiz-adv-x="147" unicode="|"/><glyph d="M177 -18v154q0 126 65 158q-11 5 -23 15t-27 48.5t-15 95.5v153q0 92 -35.5 128t-98.5 36v26q76 0 118.5 -45.5t42.5 -154.5v-148q0 -38 6 -66t13.5 -41.5t18 -21.5t16 -9.5t11.5 -2.5h1v-26q-27 -5 -41 -26q-25 -36 -25 -115v-148q0 -109 -42.5 -154.5t-118.5 -45.5v26 q63 0 98.5 36t35.5 128z" horiz-adv-x="360" unicode="}"/><glyph d="M531 334l5 -26q-35 -45 -107 -45q-35 0 -96 22.5t-98 22.5q-51 0 -96 -48l-7 25q43 50 108 50q35 0 95.5 -22.5t97.5 -22.5q54 0 98 44z" horiz-adv-x="668" unicode="~"/><glyph d="M104 710q16 0 25 -9.5t9 -23.5t-9.5 -23t-24.5 -9q-16 0 -25 9.5t-9 22.5q0 15 9 24t25 9zM91 0v563h27v-563h-27z" unicode="¡"/><glyph d="M299 49q68 0 122 33t82 92l25 -8q-29 -65 -86.5 -102t-128.5 -41v-111h-25v111q-107 4 -175 74t-68 182q0 111 67 181.5t175 75.5v104h26v-104q74 -3 134 -42t87 -115l-25 -7q-23 62 -76 100t-129 38q-104 0 -168 -63t-64 -167t64 -167.5t163 -63.5z" horiz-adv-x="589" unicode="¢"/><glyph d="M452 26v-26h-416v26q45 8 60.5 38.5t15.5 83.5q0 37 -8 123h-68v26h65q-8 82 -8 107q0 86 45.5 126.5t122.5 40.5q155 0 175 -149l-25 -7q-10 62 -44.5 96t-105.5 34q-141 0 -141 -140q0 -24 8 -108h222v-26h-219q8 -84 8 -122q0 -105 -56 -124l1 -1h32q31 1 80 1.5 t92 0.5h164z" horiz-adv-x="496" unicode="£"/><glyph d="M574 530l-72 -72q73 -75 73 -179q0 -93 -61 -165l77 -78l-18 -18l-76 77q-77 -72 -179 -72q-100 0 -179 72l-77 -77l-17 18l78 79q-61 71 -61 164q0 104 72 179l-73 72l18 18l75 -73q73 61 164 61q94 0 165 -60l74 72zM318 510q-96 0 -162.5 -67.5t-66.5 -163.5 t66.5 -163t162.5 -67t163 67t67 163t-67 163.5t-163 67.5z" horiz-adv-x="636" unicode="¤"/><glyph d="M300 335h113v-26h-130l-35 -53v-7h165v-26h-165v-223h-27v223h-165v26h165v7l-35 53h-130v26h113l-149 225h32l121 -185l61 -93h1q6 6 62 93l121 185h31z" horiz-adv-x="469" unicode="¥"/><glyph d="M87 490h-27v285h27v-285zM87 -74h-27v285h27v-285z" horiz-adv-x="147" unicode="¦"/><glyph d="M460 249q52 -15 78.5 -42.5t26.5 -75.5q0 -73 -59 -108t-162 -35q-42 0 -78.5 5.5t-76.5 19.5t-65 43.5t-29 72.5l26 7q8 -122 222 -122q195 0 195 117q0 25 -10.5 43t-25 29t-48 20.5t-60.5 14t-83 13.5q-29 4 -46 7.5t-45.5 10.5t-46 16t-36 22t-27.5 32t-9 43 q0 45 32.5 72.5t86.5 37.5q-109 32 -109 109q0 33 18.5 56.5t50 35t64.5 16.5t70 5q204 0 229 -143l-25 -7q-15 68 -68 95.5t-140 27.5q-172 0 -172 -86q0 -18 6.5 -31.5t21 -24t30 -17.5t43 -13.5t49 -10.5t58.5 -10q50 -8 75 -13t59 -15t49 -22t26.5 -32.5t11.5 -48.5 q0 -90 -107 -114zM128 381q0 -26 14 -44t45.5 -30t61.5 -18.5t83 -14.5q50 -7 78 -13q59 8 94.5 33t35.5 66q0 20 -7 35.5t-23.5 26.5t-31.5 18.5t-42.5 13t-44 8.5t-47.5 7q-5 1 -7.5 1t-7 1t-7.5 1q-45 7 -53 9q-141 -17 -141 -100z" horiz-adv-x="668" unicode="§"/><glyph d="M162 785q-11 0 -19.5 8.5t-8.5 20.5t8.5 20.5t19.5 8.5q12 0 20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM336 785q-12 0 -20.5 8.5t-8.5 20.5t8.5 20.5t20.5 8.5t20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5z" horiz-adv-x="500" unicode="¨"/><glyph d="M408 629q153 0 258.5 -103.5t105.5 -260.5t-105.5 -260.5t-258.5 -103.5q-152 0 -257.5 103.5t-105.5 260.5t105.5 260.5t257.5 103.5zM408 603q-145 0 -240.5 -93t-95.5 -244t95.5 -245t240.5 -94t241 93.5t96 245.5t-96 244.5t-241 92.5zM554 189l25 -8 q-23 -49 -71 -77.5t-108 -28.5q-84 0 -138 54t-54 137q0 85 56 138t139 53q60 0 108.5 -29.5t65.5 -85.5l-25 -7q-6 30 -43 63.5t-104 33.5q-75 0 -122.5 -45t-47.5 -120q0 -74 46 -120t120 -46q52 0 92 24t61 64z" horiz-adv-x="817" unicode="©"/><glyph d="M62 235h-27l147 325h19l147 -325h-27l-43 94h-173zM192 525h-1l-5 -12q-5 -12 -15.5 -37t-21.5 -49l-34 -74h153l-34 74q-11 24 -21.5 49t-15.5 37zM35 164h313v-26h-313v26z" horiz-adv-x="383" unicode="ª"/><glyph d="M295 511l19 -18l-218 -215v-2l218 -215l-19 -18l-235 234zM511 511l19 -18l-218 -215v-2l218 -215l-19 -18l-235 234z" horiz-adv-x="590" unicode="«"/><glyph d="M475 281h-363v26h363v-26z" horiz-adv-x="588" unicode="­"/><glyph d="M408 629q153 0 258.5 -103.5t105.5 -260.5t-105.5 -260.5t-258.5 -103.5q-152 0 -257.5 103.5t-105.5 260.5t105.5 260.5t257.5 103.5zM408 603q-145 0 -240.5 -93t-95.5 -244t95.5 -245t240.5 -94t241 93.5t96 245.5t-96 244.5t-241 92.5zM518 82l-97 162q-18 -2 -43 -2 h-51v-160h-27v369h104q64 0 100 -26.5t36 -76.5q0 -42 -24.5 -68t-67.5 -33l99 -165h-29zM327 268h77q109 0 109 78q0 79 -109 79h-77v-157z" horiz-adv-x="817" unicode="®"/><glyph d="M383 787h-266v25h266v-25z" horiz-adv-x="500" unicode="¯"/><glyph d="M117 604q-42 0 -69.5 28t-27.5 70t27.5 70t69.5 28t69.5 -28t27.5 -70t-27.5 -70t-69.5 -28zM117 629q32 0 52.5 21t20.5 52q0 32 -20 52.5t-53 20.5t-53 -20.5t-20 -52.5q0 -31 20.5 -52t52.5 -21z" horiz-adv-x="234" unicode="°"/><glyph d="M515 321v-26h-167v-179h-29v179h-167v26h167v177h29v-177h167zM152 26h363v-26h-363v26z" horiz-adv-x="668" unicode="±"/><glyph d="M33 469v26l185 150q60 49 60 110q0 40 -27 64.5t-77 24.5q-48 0 -73 -19.5t-36 -63.5l-24 7q22 102 133 102q60 0 95.5 -32.5t35.5 -84.5q0 -68 -79 -132q-28 -23 -66.5 -53t-65 -50.5t-28.5 -22.5l1 -3q21 3 89 3h152v-26h-275z" horiz-adv-x="340" unicode="²"/><glyph d="M217 675v-3q41 -5 67 -31t26 -67q0 -50 -38 -81.5t-94 -31.5q-59 0 -101 34.5t-46 90.5l28 6q1 -46 34 -75.5t86 -29.5q50 0 77 25.5t27 61.5q0 38 -30 62.5t-79 24.5h-37v24h37q48 0 77 23.5t29 58.5q0 31 -25 54t-83 23q-52 0 -74 -20.5t-31 -62.5l-24 7 q17 102 132 102q66 0 99 -29t33 -72q0 -39 -26 -65.5t-64 -28.5z" horiz-adv-x="340" unicode="³"/><glyph d="M217 754h-30l99 148l27 -10z" horiz-adv-x="500" unicode="´"/><glyph d="M391 -140v674h-104v-674h-27v354q-108 0 -161.5 47.5t-53.5 125.5t53.5 125.5t161.5 47.5h158v-700h-27z" horiz-adv-x="508" unicode="¶"/><glyph d="M93 249q-16 0 -25 9.5t-9 23.5t9.5 23t24.5 9q16 0 25 -9.5t9 -22.5q0 -14 -9.5 -23.5t-24.5 -9.5z" horiz-adv-x="186" unicode="·"/><glyph d="M354 -97q0 -34 -26.5 -53t-74.5 -19q-49 0 -77 18v27q27 -19 76 -19q75 0 75 47q0 27 -25.5 39t-78.5 14v43h27v-22q104 -10 104 -75z" horiz-adv-x="500" unicode="¸"/><glyph d="M293 469h-231v26h102v241v19t0.5 24t1 23t0.5 18v8h-2l-30 -30l-56 -55l-18 18l105 101h26v-367h102v-26z" horiz-adv-x="340" unicode="¹"/><glyph d="M35 396q0 75 50.5 125t123.5 50t124 -50t51 -125q0 -74 -51 -124t-124 -50t-123.5 50t-50.5 124zM61 396q0 -64 42.5 -106t105.5 -42t105.5 42t42.5 106t-42.5 106.5t-105.5 42.5t-105.5 -42.5t-42.5 -106.5zM375 138h-329v26h329v-26z" horiz-adv-x="419" unicode="º"/><glyph d="M79 43l-19 18l218 215v2l-218 215l19 18l235 -234zM295 43l-19 18l218 215v2l-218 215l19 18l235 -234z" horiz-adv-x="590" unicode="»"/><glyph d="M293 307h-231v26h102v241v19t0.5 24t1 23t0.5 18v8h-2l-30 -30l-56 -55l-18 18l105 101h26v-367h102v-26zM518 700l-210 -700h-28l209 700h29zM703 0h-27v111h-199v30l199 252h27v-256h77v-26h-77v-111zM676 137v103q0 14 0.5 28t0.5 25t0.5 21t1.5 17.5t1 13v8.5l1 3h-2 q-1 0 -86 -108.5t-85 -109.5l1 -2h3h10t13.5 0.5t17.5 0.5h20h103z" horiz-adv-x="798" unicode="¼"/><glyph d="M293 307h-231v26h102v241v19t0.5 24t1 23t0.5 18v8h-2l-30 -30l-56 -55l-18 18l105 101h26v-367h102v-26zM518 700l-210 -700h-28l209 700h29zM491 0v26l185 150q60 49 60 110q0 40 -27 64.5t-77 24.5q-48 0 -73 -19.5t-36 -63.5l-24 7q22 102 133 102q60 0 95.5 -32.5 t35.5 -84.5q0 -68 -79 -132q-28 -23 -66.5 -53t-65 -50.5t-28.5 -22.5l1 -3q21 3 89 3h152v-26h-275z" horiz-adv-x="798" unicode="½"/><glyph d="M217 513v-3q41 -5 67 -31t26 -67q0 -50 -38 -81.5t-94 -31.5q-59 0 -101 34.5t-46 90.5l28 6q1 -46 34 -75.5t86 -29.5q50 0 77 25.5t27 61.5q0 38 -30 62.5t-79 24.5h-37v24h37q48 0 77 23.5t29 58.5q0 31 -25 54t-83 23q-52 0 -74 -20.5t-31 -62.5l-24 7 q17 102 132 102q66 0 99 -29t33 -72q0 -39 -26 -65.5t-64 -28.5zM518 700l-210 -700h-28l209 700h29zM703 0h-27v111h-199v30l199 252h27v-256h77v-26h-77v-111zM676 137v103q0 14 0.5 28t0.5 25t0.5 21t1.5 17.5t1 13v8.5l1 3h-2q-1 0 -86 -108.5t-85 -109.5l1 -2h3h10 t13.5 0.5t17.5 0.5h20h103z" horiz-adv-x="798" unicode="¾"/><glyph d="M294 710q16 0 25 -9.5t9 -23.5t-9.5 -23t-24.5 -9q-16 0 -25 9.5t-9 22.5q0 15 9 24t25 9zM307 563v-182q-128 -48 -180.5 -94.5t-52.5 -112.5q0 -65 45 -113t150 -48q176 0 216 163l25 -7q-21 -91 -84 -137t-160 -46q-113 0 -167 55.5t-54 130.5q0 44 19 81t54.5 63.5 t72.5 45t87 36.5v165h29z" horiz-adv-x="555" unicode="¿"/><glyph d="M355 754l-96 138l27 10l99 -148h-30zM552 230h-389l-104 -230h-29l315 700h25l315 -700h-29zM541 255l-95 211q-13 29 -35 80t-37 86l-16 36h-1l-15 -36q-16 -35 -38 -86t-35 -80l-95 -211h367z" horiz-adv-x="715" unicode="À"/><glyph d="M350 754h-30l99 148l27 -10zM552 230h-389l-104 -230h-29l315 700h25l315 -700h-29zM541 255l-95 211q-13 29 -35 80t-37 86l-16 36h-1l-15 -36q-16 -35 -38 -86t-35 -80l-95 -211h367z" horiz-adv-x="715" unicode="Á"/><glyph d="M253 767l-17 18l121 110l120 -111l-17 -18l-103 96zM552 230h-389l-104 -230h-29l315 700h25l315 -700h-29zM541 255l-95 211q-13 29 -35 80t-37 86l-16 36h-1l-15 -36q-16 -35 -38 -86t-35 -80l-95 -211h367z" horiz-adv-x="715" unicode="Â"/><glyph d="M289 824q-40 0 -60 -29l-12 20l3 3q3 4 4 5.5t4.5 5t6 5.5t7 5t9 5t10.5 3.5t12.5 2.5t14.5 1q25 0 64 -18.5t67 -18.5q35 0 58 25l12 -20q-28 -32 -71 -32q-26 0 -65.5 18.5t-63.5 18.5zM552 230h-389l-104 -230h-29l315 700h25l315 -700h-29zM541 255l-95 211 q-13 29 -35 80t-37 86l-16 36h-1l-15 -36q-16 -35 -38 -86t-35 -80l-95 -211h367z" horiz-adv-x="715" unicode="Ã"/><glyph d="M270 785q-11 0 -19.5 8.5t-8.5 20.5t8.5 20.5t19.5 8.5q12 0 20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM444 785q-12 0 -20.5 8.5t-8.5 20.5t8.5 20.5t20.5 8.5t20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM552 230h-389l-104 -230h-29l315 700h25l315 -700h-29z M541 255l-95 211q-13 29 -35 80t-37 86l-16 36h-1l-15 -36q-16 -35 -38 -86t-35 -80l-95 -211h367z" horiz-adv-x="715" unicode="Ä"/><glyph d="M357 744q-35 0 -56.5 22t-21.5 54t21.5 54t56.5 22t56.5 -22t21.5 -54t-21.5 -54t-56.5 -22zM357 873q-24 0 -39 -15t-15 -38t15 -38t39 -15t39 15t15 38t-15 38t-39 15zM552 230h-389l-104 -230h-29l315 700h25l315 -700h-29zM541 255l-95 211q-13 29 -35 80t-37 86 l-16 36h-1l-15 -36q-16 -35 -38 -86t-35 -80l-95 -211h367z" horiz-adv-x="715" unicode="Å"/><glyph d="M497 674v-289h336v-26h-336v-333h419v-26h-446v230h-308l-103 -230h-29l316 700h570v-26h-419zM470 255v419h-109l-188 -419h297z" horiz-adv-x="971" unicode="Æ"/><glyph d="M701 197l25 -7q-41 -93 -124 -146.5t-190 -55.5v-10q104 -10 104 -75q0 -34 -26.5 -53t-74.5 -19q-49 0 -77 18v27q27 -19 76 -19q75 0 75 47q0 27 -25.5 39t-78.5 14v31q-147 6 -243.5 105.5t-96.5 258.5q0 165 101 263.5t257 98.5q115 0 196.5 -52.5t116.5 -131.5 l-25 -8q-10 22 -27.5 45t-50 53t-87 49t-121.5 19q-147 0 -240 -90.5t-93 -245.5q0 -154 94.5 -246t235.5 -92q98 0 178 48.5t121 134.5z" horiz-adv-x="781" unicode="Ç"/><glyph d="M247 902l99 -148h-30l-96 138zM90 0v700h446v-26h-419v-289h336v-26h-336v-333h419v-26h-446z" horiz-adv-x="591" unicode="È"/><glyph d="M311 754h-30l99 148l27 -10zM90 0v700h446v-26h-419v-289h336v-26h-336v-333h419v-26h-446z" horiz-adv-x="591" unicode="É"/><glyph d="M438 784l-17 -18l-103 96l-104 -95l-17 18l121 110zM90 0v700h446v-26h-419v-289h336v-26h-336v-333h419v-26h-446z" horiz-adv-x="591" unicode="Ê"/><glyph d="M231 785q-11 0 -19.5 8.5t-8.5 20.5t8.5 20.5t19.5 8.5q12 0 20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM405 785q-12 0 -20.5 8.5t-8.5 20.5t8.5 20.5t20.5 8.5t20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM90 0v700h446v-26h-419v-289h336v-26h-336v-333h419v-26 h-446z" horiz-adv-x="591" unicode="Ë"/><glyph d="M33 902l99 -148h-30l-96 138zM90 0v700h27v-700h-27z" unicode="Ì"/><glyph d="M97 754h-30l99 148l27 -10zM90 0v700h27v-700h-27z" unicode="Í"/><glyph d="M205 784l-17 -18l-84 92l-84 -91l-17 18l101 110zM90 0v700h27v-700h-27z" unicode="Î"/><glyph d="M57 785q-11 0 -19.5 8.5t-8.5 20.5t8.5 20.5t19.5 8.5q12 0 20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM151 785q-12 0 -20.5 8.5t-8.5 20.5t8.5 20.5t20.5 8.5t20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM90 0v700h27v-700h-27z" unicode="Ï"/><glyph d="M90 700h207q168 0 270.5 -95t102.5 -258q0 -161 -100.5 -254t-262.5 -93h-217v359h-78v26h78v315zM117 26h190q147 0 241.5 84.5t94.5 236.5q0 154 -95.5 240.5t-250.5 86.5h-180v-289h198v-26h-198v-333z" horiz-adv-x="715" unicode="Ð"/><glyph d="M486 839l12 -20q-28 -32 -71 -32q-26 0 -65.5 18.5t-63.5 18.5q-40 0 -60 -29l-12 20l3 3q3 4 4 5.5t4.5 5t6 5.5t7 5t9 5t10.5 3.5t12.5 2.5t14.5 1q25 0 64 -18.5t67 -18.5q35 0 58 25zM596 0l-481 665h-1v-5q0 -5 0.5 -13t1 -19.5t0.5 -26t0.5 -30t0.5 -34v-35.5v-502 h-27v700h27l481 -661h1v5q0 5 -0.5 13t-0.5 19.5t-0.5 26t-1 30t-0.5 33.5v35v499h27v-700h-27z" horiz-adv-x="713" unicode="Ñ"/><glyph d="M333 902l99 -148h-30l-96 138zM45 351q0 162 103 262.5t255 100.5t255.5 -100.5t103.5 -262.5t-103.5 -262.5t-255.5 -100.5t-255 100.5t-103 262.5zM72 351q0 -154 94.5 -245.5t236.5 -91.5t237 91.5t95 245.5t-95 245.5t-237 91.5t-236.5 -91.5t-94.5 -245.5z" horiz-adv-x="807" unicode="Ò"/><glyph d="M397 754h-30l99 148l27 -10zM45 351q0 162 103 262.5t255 100.5t255.5 -100.5t103.5 -262.5t-103.5 -262.5t-255.5 -100.5t-255 100.5t-103 262.5zM72 351q0 -154 94.5 -245.5t236.5 -91.5t237 91.5t95 245.5t-95 245.5t-237 91.5t-236.5 -91.5t-94.5 -245.5z" horiz-adv-x="807" unicode="Ó"/><glyph d="M524 784l-17 -18l-103 96l-104 -95l-17 18l121 110zM45 351q0 162 103 262.5t255 100.5t255.5 -100.5t103.5 -262.5t-103.5 -262.5t-255.5 -100.5t-255 100.5t-103 262.5zM72 351q0 -154 94.5 -245.5t236.5 -91.5t237 91.5t95 245.5t-95 245.5t-237 91.5t-236.5 -91.5 t-94.5 -245.5z" horiz-adv-x="807" unicode="Ô"/><glyph d="M524 839l12 -20q-28 -32 -71 -32q-26 0 -65.5 18.5t-63.5 18.5q-40 0 -60 -29l-12 20l3 3q3 4 4 5.5t4.5 5t6 5.5t7 5t9 5t10.5 3.5t12.5 2.5t14.5 1q25 0 64 -18.5t67 -18.5q35 0 58 25zM45 351q0 162 103 262.5t255 100.5t255.5 -100.5t103.5 -262.5t-103.5 -262.5 t-255.5 -100.5t-255 100.5t-103 262.5zM72 351q0 -154 94.5 -245.5t236.5 -91.5t237 91.5t95 245.5t-95 245.5t-237 91.5t-236.5 -91.5t-94.5 -245.5z" horiz-adv-x="807" unicode="Õ"/><glyph d="M317 785q-11 0 -19.5 8.5t-8.5 20.5t8.5 20.5t19.5 8.5q12 0 20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM491 785q-12 0 -20.5 8.5t-8.5 20.5t8.5 20.5t20.5 8.5t20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM45 351q0 162 103 262.5t255 100.5t255.5 -100.5 t103.5 -262.5t-103.5 -262.5t-255.5 -100.5t-255 100.5t-103 262.5zM72 351q0 -154 94.5 -245.5t236.5 -91.5t237 91.5t95 245.5t-95 245.5t-237 91.5t-236.5 -91.5t-94.5 -245.5z" horiz-adv-x="807" unicode="Ö"/><glyph d="M352 296l133 -133l-18 -17l-133 133l-133 -133l-17 17l133 133l-133 134l17 17l133 -133l133 132l17 -17z" horiz-adv-x="668" unicode="×"/><glyph d="M706 724l-69 -91q125 -105 125 -282q0 -162 -103.5 -262.5t-255.5 -100.5q-118 0 -208 62l-72 -94l-19 15l71 94q-130 104 -130 286q0 162 103 262.5t255 100.5q122 0 215 -67l69 91zM72 351q0 -173 118 -266l413 542q-85 61 -200 61q-142 0 -236.5 -91.5t-94.5 -245.5z M403 14q142 0 237 91.5t95 245.5q0 167 -113 262l-412 -543q84 -56 193 -56z" horiz-adv-x="807" unicode="Ø"/><glyph d="M271 902l99 -148h-30l-96 138zM607 700v-420q0 -292 -264 -292q-263 0 -263 292v420h27v-424q0 -262 236 -262q121 0 179 65.5t58 196.5v424h27z" horiz-adv-x="687" unicode="Ù"/><glyph d="M335 754h-30l99 148l27 -10zM607 700v-420q0 -292 -264 -292q-263 0 -263 292v420h27v-424q0 -262 236 -262q121 0 179 65.5t58 196.5v424h27z" horiz-adv-x="687" unicode="Ú"/><glyph d="M462 784l-17 -18l-103 96l-104 -95l-17 18l121 110zM607 700v-420q0 -292 -264 -292q-263 0 -263 292v420h27v-424q0 -262 236 -262q121 0 179 65.5t58 196.5v424h27z" horiz-adv-x="687" unicode="Û"/><glyph d="M255 785q-11 0 -19.5 8.5t-8.5 20.5t8.5 20.5t19.5 8.5q12 0 20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM429 785q-12 0 -20.5 8.5t-8.5 20.5t8.5 20.5t20.5 8.5t20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM607 700v-420q0 -292 -264 -292q-263 0 -263 292v420h27 v-424q0 -262 236 -262q121 0 179 65.5t58 196.5v424h27z" horiz-adv-x="687" unicode="Ü"/><glyph d="M306 754h-30l99 148l27 -10zM324 322v-322h-27v322l-277 378h32l187 -255l72 -97h1l8 11q8 11 25 34.5t35 48.5l190 258h32z" horiz-adv-x="622" unicode="Ý"/><glyph d="M117 544h143q118 0 181 -48.5t63 -140.5t-63 -140t-181 -48h-143v-167h-27v700h27v-156zM117 193h143q217 0 217 162q0 163 -217 163h-143v-325z" horiz-adv-x="534" unicode="Þ"/><glyph d="M336 331h7q80 0 132.5 -44t52.5 -122t-51 -127.5t-132 -49.5q-80 0 -135 43l15 21q48 -39 119 -39q69 0 113 42t44 108q0 64 -41.5 104t-109.5 40h-44v27l118 199l-1 1h-63h-243v-534h-27v560h381l-135 -228v-1z" horiz-adv-x="563" unicode="ß"/><glyph d="M288 614l-96 138l27 10l99 -148h-30zM440 182h-302l-79 -182h-29l247 560h25l247 -560h-29zM429 208l-70 160q-68 155 -68 163h-2q0 -4 -73 -170l-67 -153h280z" horiz-adv-x="579" unicode="à"/><glyph d="M283 614h-30l99 148l27 -10zM440 182h-302l-79 -182h-29l247 560h25l247 -560h-29zM429 208l-70 160q-68 155 -68 163h-2q0 -4 -73 -170l-67 -153h280z" horiz-adv-x="579" unicode="á"/><glyph d="M206 627l-17 18l101 110l101 -111l-17 -18l-84 92zM440 182h-302l-79 -182h-29l247 560h25l247 -560h-29zM429 208l-70 160q-68 155 -68 163h-2q0 -4 -73 -170l-67 -153h280z" horiz-adv-x="579" unicode="â"/><glyph d="M225 684q-33 0 -50 -29l-11 22q24 34 62 34q24 0 59.5 -18.5t60.5 -18.5q8 0 14.5 1.5t11 3t8.5 5t6 5t5 5.5t4 5l11 -22q-23 -30 -61 -30q-25 0 -61.5 18.5t-58.5 18.5zM440 182h-302l-79 -182h-29l247 560h25l247 -560h-29zM429 208l-70 160q-68 155 -68 163h-2 q0 -4 -73 -170l-67 -153h280z" horiz-adv-x="579" unicode="ã"/><glyph d="M203 645q-11 0 -19.5 8.5t-8.5 20.5t8.5 20.5t19.5 8.5q12 0 20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM377 645q-12 0 -20.5 8.5t-8.5 20.5t8.5 20.5t20.5 8.5t20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM440 182h-302l-79 -182h-29l247 560h25l247 -560h-29z M429 208l-70 160q-68 155 -68 163h-2q0 -4 -73 -170l-67 -153h280z" horiz-adv-x="579" unicode="ä"/><glyph d="M290 604q-35 0 -56.5 22t-21.5 54t21.5 54t56.5 22t56.5 -22t21.5 -54t-21.5 -54t-56.5 -22zM290 733q-24 0 -39 -15t-15 -38t15 -38t39 -15t39 15t15 38t-15 38t-39 15zM440 182h-302l-79 -182h-29l247 560h25l247 -560h-29zM429 208l-70 160q-68 155 -68 163h-2 q0 -4 -73 -170l-67 -153h280z" horiz-adv-x="579" unicode="å"/><glyph d="M745 26v-26h-368v182h-239l-79 -182h-29l247 560h463v-26h-336v-227h270v-26h-270v-255h341zM377 208v326h-85l-142 -326h227z" horiz-adv-x="800" unicode="æ"/><glyph d="M575 158l26 -7q-34 -71 -100 -115t-148 -48v-13q104 -10 104 -75q0 -34 -26.5 -53t-74.5 -19q-49 0 -77 18v27q27 -19 76 -19q75 0 75 47q0 27 -25.5 39t-78.5 14v34q-120 4 -200.5 86.5t-80.5 205.5q0 125 83.5 208t206.5 83q83 0 154 -41t106 -124l-26 -7 q-76 146 -231 146q-116 0 -191 -74t-75 -191t75 -191.5t189 -74.5q81 0 143 39.5t96 104.5z" horiz-adv-x="656" unicode="ç"/><glyph d="M202 762l99 -148h-30l-96 138zM90 0v560h363v-26h-336v-227h270v-26h-270v-255h341v-26h-368z" horiz-adv-x="513" unicode="è"/><glyph d="M266 614h-30l99 148l27 -10zM90 0v560h363v-26h-336v-227h270v-26h-270v-255h341v-26h-368z" horiz-adv-x="513" unicode="é"/><glyph d="M393 644l-17 -18l-103 96l-104 -95l-17 18l121 110zM90 0v560h363v-26h-336v-227h270v-26h-270v-255h341v-26h-368z" horiz-adv-x="513" unicode="ê"/><glyph d="M186 645q-11 0 -19.5 8.5t-8.5 20.5t8.5 20.5t19.5 8.5q12 0 20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM360 645q-12 0 -20.5 8.5t-8.5 20.5t8.5 20.5t20.5 8.5t20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM90 0v560h363v-26h-336v-227h270v-26h-270v-255h341v-26 h-368z" horiz-adv-x="513" unicode="ë"/><glyph d="M33 762l99 -148h-30l-96 138zM90 0v560h27v-560h-27z" unicode="ì"/><glyph d="M97 614h-30l99 148l27 -10zM90 0v560h27v-560h-27z" unicode="í"/><glyph d="M205 644l-17 -18l-84 92l-84 -91l-17 18l101 110zM90 0v560h27v-560h-27z" unicode="î"/><glyph d="M57 645q-11 0 -19.5 8.5t-8.5 20.5t8.5 20.5t19.5 8.5q12 0 20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM151 645q-12 0 -20.5 8.5t-8.5 20.5t8.5 20.5t20.5 8.5t20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM90 0v560h27v-560h-27z" unicode="ï"/><glyph d="M90 560h170q138 0 222.5 -76.5t84.5 -205.5q0 -128 -83 -203t-216 -75h-178v281h-78v26h78v253zM117 26h150q120 0 196.5 66.5t76.5 185.5q0 120 -77 188t-204 68h-142v-227h198v-26h-198v-255z" horiz-adv-x="612" unicode="ð"/><glyph d="M407 699l11 -22q-23 -30 -61 -30q-25 0 -61.5 18.5t-58.5 18.5q-33 0 -50 -29l-11 22q24 34 62 34q24 0 59.5 -18.5t60.5 -18.5q8 0 14.5 1.5t11 3t8.5 5t6 5t5 5.5t4 5zM523 0h-26l-381 521h-1v-4q0 -4 0.5 -10.5t0.5 -15.5v-21t0.5 -24t0.5 -27v-29v-390h-27v560h27 l380 -516h1v4q0 4 -0.5 10.5t-0.5 15v20t-0.5 24t-0.5 26.5v28v388h27v-560z" horiz-adv-x="613" unicode="ñ"/><glyph d="M264 762l99 -148h-30l-96 138zM45 279q0 126 83.5 209t204.5 83t205 -83.5t84 -208.5t-84 -208t-205 -83t-204.5 83t-83.5 208zM72 279q0 -116 75 -190.5t186 -74.5t186.5 74.5t75.5 190.5q0 117 -75.5 191.5t-186.5 74.5t-186 -74.5t-75 -191.5z" horiz-adv-x="667" unicode="ò"/><glyph d="M328 614h-30l99 148l27 -10zM45 279q0 126 83.5 209t204.5 83t205 -83.5t84 -208.5t-84 -208t-205 -83t-204.5 83t-83.5 208zM72 279q0 -116 75 -190.5t186 -74.5t186.5 74.5t75.5 190.5q0 117 -75.5 191.5t-186.5 74.5t-186 -74.5t-75 -191.5z" horiz-adv-x="667" unicode="ó"/><glyph d="M455 644l-17 -18l-103 96l-104 -95l-17 18l121 110zM45 279q0 126 83.5 209t204.5 83t205 -83.5t84 -208.5t-84 -208t-205 -83t-204.5 83t-83.5 208zM72 279q0 -116 75 -190.5t186 -74.5t186.5 74.5t75.5 190.5q0 117 -75.5 191.5t-186.5 74.5t-186 -74.5t-75 -191.5z" horiz-adv-x="667" unicode="ô"/><glyph d="M440 699l11 -22q-23 -30 -61 -30q-25 0 -61.5 18.5t-58.5 18.5q-33 0 -50 -29l-11 22q24 34 62 34q24 0 59.5 -18.5t60.5 -18.5q8 0 14.5 1.5t11 3t8.5 5t6 5t5 5.5t4 5zM45 279q0 126 83.5 209t204.5 83t205 -83.5t84 -208.5t-84 -208t-205 -83t-204.5 83t-83.5 208z M72 279q0 -116 75 -190.5t186 -74.5t186.5 74.5t75.5 190.5q0 117 -75.5 191.5t-186.5 74.5t-186 -74.5t-75 -191.5z" horiz-adv-x="667" unicode="õ"/><glyph d="M248 645q-11 0 -19.5 8.5t-8.5 20.5t8.5 20.5t19.5 8.5q12 0 20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM422 645q-12 0 -20.5 8.5t-8.5 20.5t8.5 20.5t20.5 8.5t20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM45 279q0 126 83.5 209t204.5 83t205 -83.5t84 -208.5 t-84 -208t-205 -83t-204.5 83t-83.5 208zM72 279q0 -116 75 -190.5t186 -74.5t186.5 74.5t75.5 190.5q0 117 -75.5 191.5t-186.5 74.5t-186 -74.5t-75 -191.5z" horiz-adv-x="667" unicode="ö"/><glyph d="M334 440q-16 0 -25 9.5t-9 23.5t9.5 23t24.5 9q16 0 25 -9.5t9 -22.5q0 -15 -9 -24t-25 -9zM515 281h-363v26h363v-26zM334 88q-16 0 -25 9.5t-9 23.5t9.5 23t24.5 9q16 0 25 -9.5t9 -22.5q0 -15 -9 -24t-25 -9z" horiz-adv-x="668" unicode="÷"/><glyph d="M583 584l-62 -80q101 -85 101 -225q0 -125 -84 -208t-205 -83q-97 0 -171 55l-64 -82l-19 15l64 82q-98 85 -98 221q0 126 83.5 209t204.5 83q94 0 168 -52l63 80zM72 279q0 -125 86 -201l328 420q-67 47 -153 47q-111 0 -186 -74.5t-75 -191.5zM333 14q111 0 186.5 74.5 t75.5 190.5q0 128 -90 205l-328 -421q68 -49 156 -49z" horiz-adv-x="667" unicode="ø"/><glyph d="M229 762l99 -148h-30l-96 138zM516 560v-339q0 -233 -219 -233q-217 0 -217 233v339h27v-342q0 -204 191 -204t191 204v342h27z" horiz-adv-x="596" unicode="ù"/><glyph d="M293 614h-30l99 148l27 -10zM516 560v-339q0 -233 -219 -233q-217 0 -217 233v339h27v-342q0 -204 191 -204t191 204v342h27z" horiz-adv-x="596" unicode="ú"/><glyph d="M420 644l-17 -18l-103 96l-104 -95l-17 18l121 110zM516 560v-339q0 -233 -219 -233q-217 0 -217 233v339h27v-342q0 -204 191 -204t191 204v342h27z" horiz-adv-x="596" unicode="û"/><glyph d="M213 645q-11 0 -19.5 8.5t-8.5 20.5t8.5 20.5t19.5 8.5q12 0 20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM387 645q-12 0 -20.5 8.5t-8.5 20.5t8.5 20.5t20.5 8.5t20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM516 560v-339q0 -233 -219 -233q-217 0 -217 233v339h27 v-342q0 -204 191 -204t191 204v342h27z" horiz-adv-x="596" unicode="ü"/><glyph d="M250 614h-30l99 148l27 -10zM268 0h-27v256l-221 304h32l110 -152l92 -126h1q3 3 94 127l109 151h31l-221 -304v-256z" horiz-adv-x="509" unicode="ý"/><glyph d="M117 425h90q102 0 152.5 -33t50.5 -106t-50.5 -105.5t-152.5 -32.5h-90v-148h-27v560h27v-135zM117 174h90q92 0 134 25t42 87t-43 87.5t-133 25.5h-90v-225z" horiz-adv-x="440" unicode="þ"/><glyph d="M170 645q-11 0 -19.5 8.5t-8.5 20.5t8.5 20.5t19.5 8.5q12 0 20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM344 645q-12 0 -20.5 8.5t-8.5 20.5t8.5 20.5t20.5 8.5t20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM268 0h-27v256l-221 304h32l110 -152l92 -126h1q3 3 94 127 l109 151h31l-221 -304v-256z" horiz-adv-x="509" unicode="ÿ"/><glyph d="M501 674v-289h336v-26h-336v-333h419v-26h-441q-28 -4 -71 -4q-162 0 -262.5 98t-100.5 256t100.5 256t263.5 98q27 0 65 -4h446v-26h-419zM72 351q0 -151 92 -240t244 -89q29 0 66 5v646q-35 5 -66 5q-153 0 -244.5 -88t-91.5 -239z" horiz-adv-x="980" unicode="Œ"/><glyph d="M766 26v-26h-368q-27 -3 -58 -3q-131 0 -213 78.5t-82 204.5t82 204.5t214 78.5q33 0 58 -3h362v-26h-336v-227h270v-26h-270v-255h341zM341 23q33 0 57 4v506q-25 4 -57 4q-122 0 -195.5 -69t-73.5 -187t74 -188t195 -70z" horiz-adv-x="826" unicode="œ"/><glyph d="M226 785q-11 0 -19.5 8.5t-8.5 20.5t8.5 20.5t19.5 8.5q12 0 20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM400 785q-12 0 -20.5 8.5t-8.5 20.5t8.5 20.5t20.5 8.5t20.5 -8.5t8.5 -20.5t-8.5 -20.5t-20.5 -8.5zM324 322v-322h-27v322l-277 378h32l187 -255l72 -97h1l8 11 q8 11 25 34.5t35 48.5l190 258h32z" horiz-adv-x="622" unicode="Ÿ"/><glyph d="M370 784l-17 -18l-103 96l-104 -95l-17 18l121 110z" horiz-adv-x="500" unicode="ˆ"/><glyph d="M359 839l11 -22q-22 -30 -61 -30q-25 0 -61.5 18.5t-58.5 18.5q-33 0 -50 -29l-11 22q24 34 62 34q24 0 59.5 -18.5t60.5 -18.5q8 0 14.5 1.5t11 3t8.5 5t6 5t5 5.5t4 5z" horiz-adv-x="500" unicode="˜"/><glyph horiz-adv-x="451"/><glyph horiz-adv-x="902"/><glyph horiz-adv-x="451"/><glyph horiz-adv-x="902"/><glyph horiz-adv-x="300"/><glyph horiz-adv-x="225"/><glyph horiz-adv-x="150"/><glyph horiz-adv-x="150"/><glyph horiz-adv-x="112"/><glyph horiz-adv-x="180"/><glyph horiz-adv-x="50"/><glyph d="M475 281h-363v26h363v-26z" horiz-adv-x="588" unicode="‐"/><glyph d="M475 281h-363v26h363v-26z" horiz-adv-x="588" unicode="‑"/><glyph d="M475 281h-363v26h363v-26z" horiz-adv-x="588" unicode="‒"/><glyph d="M555 281h-443v26h443v-26z" horiz-adv-x="668" unicode="–"/><glyph d="M916 281h-804v26h804v-26z" horiz-adv-x="1029" unicode="—"/><glyph d="M81 615q17 4 28 -4t11 -24q0 -32 -34 -32q-35 0 -35 42q0 30 19.5 66.5t53.5 49.5l14 -19q-23 -9 -40 -34.5t-17 -44.5z" horiz-adv-x="186" unicode="‘"/><glyph d="M105 652q-17 -4 -28 4t-11 24q0 32 34 32q35 0 35 -42q0 -30 -19.5 -66.5t-53.5 -49.5l-14 19q23 9 40 34.5t17 44.5z" horiz-adv-x="186" unicode="’"/><glyph d="M105 -13q-17 -4 -28 4t-11 24q0 32 34 32q35 0 35 -42q0 -30 -19.5 -66.5t-53.5 -49.5l-14 19q23 9 40 34.5t17 44.5z" horiz-adv-x="186" unicode="‚"/><glyph d="M78 615q17 4 28 -4t11 -24q0 -32 -34 -32q-35 0 -35 42q0 30 19.5 66.5t53.5 49.5l14 -19q-23 -9 -40 -34.5t-17 -44.5zM232 615q17 4 28 -4t11 -24q0 -32 -34 -32q-35 0 -35 42q0 30 19.5 66.5t53.5 49.5l14 -19q-23 -9 -40 -34.5t-17 -44.5z" horiz-adv-x="340" unicode="“"/><glyph d="M105 652q-17 -4 -28 4t-11 24q0 32 34 32q35 0 35 -42q0 -30 -19.5 -66.5t-53.5 -49.5l-14 19q23 9 40 34.5t17 44.5zM259 652q-17 -4 -28 4t-11 24q0 32 34 32q35 0 35 -42q0 -30 -19.5 -66.5t-53.5 -49.5l-14 19q23 9 40 34.5t17 44.5z" horiz-adv-x="340" unicode="”"/><glyph d="M105 -13q-17 -4 -28 4t-11 24q0 32 34 32q35 0 35 -42q0 -30 -19.5 -66.5t-53.5 -49.5l-14 19q23 9 40 34.5t17 44.5zM237 -13q-17 -4 -28 4t-11 24q0 32 34 32q35 0 35 -42q0 -30 -19.5 -66.5t-53.5 -49.5l-14 19q23 9 40 34.5t17 44.5z" horiz-adv-x="318" unicode="„"/><glyph d="M152 223q-26 0 -44 18t-18 44t18 44t44 18t44 -18t18 -44t-18 -44t-44 -18z" horiz-adv-x="304" unicode="•"/><glyph d="M87 -11q-28 0 -28 27q0 26 28 26q13 0 20.5 -7.5t7.5 -18.5q0 -12 -7.5 -19.5t-20.5 -7.5zM317 -11q-28 0 -28 27q0 26 28 26q13 0 20.5 -7.5t7.5 -18.5q0 -12 -7.5 -19.5t-20.5 -7.5zM557 -11q-28 0 -28 27q0 26 28 26q13 0 20.5 -7.5t7.5 -18.5q0 -12 -7.5 -19.5 t-20.5 -7.5z" horiz-adv-x="643" unicode="…"/><glyph horiz-adv-x="180"/><glyph d="M295 511l19 -18l-218 -215v-2l218 -215l-19 -18l-235 234z" horiz-adv-x="374" unicode="‹"/><glyph d="M79 43l-19 18l218 215v2l-218 215l19 18l235 -234z" horiz-adv-x="374" unicode="›"/><glyph horiz-adv-x="225"/><glyph d="M531 137l25 -8q-53 -141 -217 -141q-107 0 -169.5 62t-75.5 173h-49v26h47q-1 11 -1 34l1 26h-47v26h49q11 111 71.5 173.5t166.5 62.5q84 0 143.5 -38.5t74.5 -109.5l-25 -7q-12 50 -57.5 89.5t-132.5 39.5q-97 0 -150.5 -55.5t-63.5 -154.5h224v-26h-226l-1 -26 q0 -23 1 -34h226v-26h-224q12 -100 67 -154t153 -54q142 0 190 122z" horiz-adv-x="611" unicode="€"/><glyph d="M295 700v-25h-115v-300h-26v300h-114v25h255zM671 375h-27v157v26v27v26.5t0.5 24.5t0.5 19.5v13.5v5h-1l-4 -10q-5 -11 -13.5 -28.5t-16.5 -32.5l-79 -153h-27l-79 153q-8 15 -17 32.5t-14 28.5l-5 10h-1v-5v-13.5v-19.5t0.5 -24.5t0.5 -26.5v-27v-26v-157h-27v325h42 l88 -175l25 -50h1q1 1 25 49l88 176h40v-325z" horiz-adv-x="761" unicode="™"/><hkern k="90" u1="“" u2="æ"/><hkern k="90" u1="“" u2="å"/><hkern k="90" u1="“" u2="ä"/><hkern k="90" u1="“" u2="ã"/><hkern k="90" u1="“" u2="â"/><hkern k="90" u1="“" u2="á"/><hkern k="90" u1="“" u2="à"/><hkern k="80" u1="“" u2="Æ"/><hkern k="80" u1="“" u2="Å"/><hkern k="80" u1="“" u2="Ä"/><hkern k="80" u1="“" u2="Ã"/><hkern k="80" u1="“" u2="Â"/><hkern k="80" u1="“" u2="Á"/><hkern k="80" u1="“" u2="À"/><hkern k="120" u1="“" u2="j"/><hkern k="90" u1="“" u2="a"/><hkern k="120" u1="“" u2="J"/><hkern k="80" u1="“" u2="A"/><hkern g1="germandbls" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="20"/><hkern g1="germandbls" g2="Y,Yacute,Ydieresis" k="100"/><hkern g1="germandbls" g2="j" k="-20"/><hkern g1="germandbls" g2="T" k="40"/><hkern g1="germandbls" g2="v,w,yen" k="30"/><hkern g1="germandbls" g2="u,ugrave,uacute,ucircumflex,udieresis" k="10"/><hkern g1="germandbls" g2="y,yacute,ydieresis" k="30"/><hkern g1="germandbls" g2="V,W" k="100"/><hkern g1="germandbls" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="50"/><hkern g1="germandbls" g2="t" k="40"/><hkern g1="r" g2="J" k="-20"/><hkern g1="r" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="40"/><hkern g1="r" g2="Y,Yacute,Ydieresis" k="70"/><hkern g1="r" g2="j" k="-20"/><hkern g1="r" g2="T" k="70"/><hkern g1="r" g2="y,yacute,ydieresis" k="10"/><hkern g1="r" g2="V,W" k="40"/><hkern g1="r" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="20"/><hkern g1="r" g2="t" k="20"/><hkern g1="r" g2="z" k="20"/><hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="j" k="40"/><hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="y,yacute,ydieresis" k="10"/><hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="-10"/><hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="20"/><hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="z" k="20"/><hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="dollar,s" k="10"/><hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="60"/><hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="30"/><hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="40"/><hkern g1="z" g2="Y,Yacute,Ydieresis" k="40"/><hkern g1="z" g2="j" k="-20"/><hkern g1="z" g2="T" k="60"/><hkern g1="z" g2="V,W" k="20"/><hkern g1="z" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="20"/><hkern g1="z" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="20"/><hkern g1="z" g2="guillemotleft,guilsinglleft" k="20"/><hkern g1="ordfeminine" g2="J" k="80"/><hkern g1="ordfeminine" g2="v,w,yen" k="40"/><hkern g1="ordfeminine" g2="y,yacute,ydieresis" k="50"/><hkern g1="ordfeminine" g2="t" k="60"/><hkern g1="b" g2="Y,Yacute,Ydieresis" k="90"/><hkern g1="b" g2="j" k="-10"/><hkern g1="b" g2="T" k="110"/><hkern g1="b" g2="v,w,yen" k="10"/><hkern g1="b" g2="y,yacute,ydieresis" k="40"/><hkern g1="b" g2="V,W" k="90"/><hkern g1="b" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="30"/><hkern g1="b" g2="t" k="40"/><hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="10"/><hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="20"/><hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="30"/><hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="dollar,s" k="10"/><hkern g1="Z" g2="v,w,yen" k="20"/><hkern g1="Z" g2="y,yacute,ydieresis" k="20"/><hkern g1="Z" g2="t" k="40"/><hkern g1="Z" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="20"/><hkern g1="Z" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="20"/><hkern g1="Z" g2="guillemotleft,guilsinglleft" k="20"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="20"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="Y,Yacute,Ydieresis" k="100"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="j" k="10"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="T" k="120"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="v,w,yen" k="20"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="y,yacute,ydieresis" k="40"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="V,W" k="60"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="50"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="t" k="50"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="-5"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="backslash" k="50"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="z" k="20"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="20"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="30"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="30"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="parenright" k="30"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="x" k="20"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="degree" k="40"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="X" k="30"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="braceright" k="30"/><hkern g1="zero,d,o,q,copyright,registered,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash" g2="bracketright" k="20"/><hkern g1="R" g2="Y,Yacute,Ydieresis" k="30"/><hkern g1="R" g2="j" k="-20"/><hkern g1="R" g2="T" k="20"/><hkern g1="R" g2="V,W" k="10"/><hkern g1="R" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="20"/><hkern g1="R" g2="Z" k="20"/><hkern g1="g" g2="Y,Yacute,Ydieresis" k="40"/><hkern g1="g" g2="j" k="-20"/><hkern g1="g" g2="T" k="90"/><hkern g1="g" g2="v,w,yen" k="20"/><hkern g1="g" g2="y,yacute,ydieresis" k="30"/><hkern g1="g" g2="V,W" k="40"/><hkern g1="g" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="30"/><hkern g1="g" g2="t" k="30"/><hkern g1="t" g2="J" k="70"/><hkern g1="t" g2="Y,Yacute,Ydieresis" k="20"/><hkern g1="t" g2="j" k="90"/><hkern g1="t" g2="T" k="50"/><hkern g1="t" g2="hyphen,uni00AD,divide,endash,emdash" k="90"/><hkern g1="t" g2="four" k="30"/><hkern g1="t" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="50"/><hkern g1="t" g2="dollar,s" k="30"/><hkern g1="t" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="110"/><hkern g1="t" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="70"/><hkern g1="t" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="70"/><hkern g1="t" g2="X" k="30"/><hkern g1="t" g2="slash" k="60"/><hkern g1="t" g2="ordfeminine" k="60"/><hkern g1="t" g2="ampersand" k="40"/><hkern g1="t" g2="numbersign" k="40"/><hkern g1="t" g2="bullet" k="60"/><hkern g1="B" g2="J" k="-20"/><hkern g1="B" g2="Y,Yacute,Ydieresis" k="40"/><hkern g1="B" g2="T" k="50"/><hkern g1="B" g2="v,w,yen" k="20"/><hkern g1="B" g2="y,yacute,ydieresis" k="20"/><hkern g1="B" g2="V,W" k="20"/><hkern g1="l" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="40"/><hkern g1="l" g2="Y,Yacute,Ydieresis" k="150"/><hkern g1="l" g2="j" k="-30"/><hkern g1="l" g2="T" k="80"/><hkern g1="l" g2="v,w,yen" k="80"/><hkern g1="l" g2="u,ugrave,uacute,ucircumflex,udieresis" k="50"/><hkern g1="l" g2="y,yacute,ydieresis" k="100"/><hkern g1="l" g2="V,W" k="140"/><hkern g1="l" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="50"/><hkern g1="l" g2="t" k="110"/><hkern g1="l" g2="hyphen,uni00AD,divide,endash,emdash" k="100"/><hkern g1="l" g2="trademark" k="140"/><hkern g1="l" g2="four" k="40"/><hkern g1="l" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="40"/><hkern g1="l" g2="backslash" k="100"/><hkern g1="l" g2="question" k="80"/><hkern g1="l" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="20"/><hkern g1="l" g2="seven" k="50"/><hkern g1="ordmasculine" g2="v,w,yen" k="-10"/><hkern g1="ordmasculine" g2="y,yacute,ydieresis" k="-25"/><hkern g1="ordmasculine" g2="x" k="-20"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="J" k="20"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="Y,Yacute,Ydieresis" k="50"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="j" k="30"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="T" k="50"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="V,W" k="30"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="10"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="-5"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="z" k="20"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="50"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="30"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="30"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="parenright" k="30"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="degree" k="40"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="X" k="20"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="braceright" k="30"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="bracketright" k="20"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="Z" k="20"/><hkern g1="parenright,at,D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="one" k="10"/><hkern g1="y,yacute,ydieresis" g2="J" k="100"/><hkern g1="y,yacute,ydieresis" g2="Y,Yacute,Ydieresis" k="10"/><hkern g1="y,yacute,ydieresis" g2="j" k="90"/><hkern g1="y,yacute,ydieresis" g2="T" k="40"/><hkern g1="y,yacute,ydieresis" g2="v,w,yen" k="-10"/><hkern g1="y,yacute,ydieresis" g2="hyphen,uni00AD,divide,endash,emdash" k="60"/><hkern g1="y,yacute,ydieresis" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="40"/><hkern g1="y,yacute,ydieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="90"/><hkern g1="y,yacute,ydieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="100"/><hkern g1="y,yacute,ydieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="80"/><hkern g1="y,yacute,ydieresis" g2="x" k="10"/><hkern g1="y,yacute,ydieresis" g2="ordfeminine" k="50"/><hkern g1="y,yacute,ydieresis" g2="bullet" k="20"/><hkern g1="y,yacute,ydieresis" g2="periodcentered" k="20"/><hkern g1="G" g2="J" k="-10"/><hkern g1="G" g2="Y,Yacute,Ydieresis" k="20"/><hkern g1="G" g2="T" k="30"/><hkern g1="G" g2="V,W" k="20"/><hkern g1="G" g2="dollar,s" k="-20"/><hkern g1="T" g2="J" k="120"/><hkern g1="T" g2="j" k="140"/><hkern g1="T" g2="v,w,yen" k="40"/><hkern g1="T" g2="u,ugrave,uacute,ucircumflex,udieresis" k="110"/><hkern g1="T" g2="y,yacute,ydieresis" k="40"/><hkern g1="T" g2="t" k="50"/><hkern g1="T" g2="hyphen,uni00AD,divide,endash,emdash" k="90"/><hkern g1="T" g2="four" k="160"/><hkern g1="T" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="120"/><hkern g1="T" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="50"/><hkern g1="T" g2="seven" k="40"/><hkern g1="T" g2="z" k="60"/><hkern g1="T" g2="dollar,s" k="100"/><hkern g1="T" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="130"/><hkern g1="T" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="110"/><hkern g1="T" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="70"/><hkern g1="T" g2="guillemotleft,guilsinglleft" k="80"/><hkern g1="T" g2="x" k="70"/><hkern g1="T" g2="slash" k="40"/><hkern g1="T" g2="ampersand" k="130"/><hkern g1="T" g2="numbersign" k="60"/><hkern g1="T" g2="bullet" k="60"/><hkern g1="T" g2="one" k="80"/><hkern g1="T" g2="periodcentered" k="40"/><hkern g1="T" g2="six" k="130"/><hkern g1="T" g2="two" k="60"/><hkern g1="T" g2="nine" k="100"/><hkern g1="T" g2="three,eight" k="100"/><hkern g1="T" g2="S" k="30"/><hkern g1="T" g2="b,d,e,f,h,i,k,l,m,n,p,r,germandbls,egrave,eacute,ecircumflex,edieresis,igrave,iacute,icircumflex,idieresis,ntilde,thorn" k="110"/><hkern g1="T" g2="five" k="100"/><hkern g1="L" g2="J" k="-10"/><hkern g1="L" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="40"/><hkern g1="L" g2="Y,Yacute,Ydieresis" k="140"/><hkern g1="L" g2="T" k="140"/><hkern g1="L" g2="v,w,yen" k="100"/><hkern g1="L" g2="u,ugrave,uacute,ucircumflex,udieresis" k="20"/><hkern g1="L" g2="y,yacute,ydieresis" k="110"/><hkern g1="L" g2="V,W" k="110"/><hkern g1="L" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="80"/><hkern g1="L" g2="t" k="100"/><hkern g1="L" g2="hyphen,uni00AD,divide,endash,emdash" k="100"/><hkern g1="L" g2="trademark" k="140"/><hkern g1="L" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="40"/><hkern g1="L" g2="backslash" k="100"/><hkern g1="L" g2="question" k="80"/><hkern g1="L" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="60"/><hkern g1="L" g2="S" k="30"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="J" k="-20"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="60"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="Y,Yacute,Ydieresis" k="160"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="j" k="-20"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="T" k="130"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="v,w,yen" k="80"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="u,ugrave,uacute,ucircumflex,udieresis" k="20"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="y,yacute,ydieresis" k="90"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="V,W" k="100"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="90"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="t" k="110"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="hyphen,uni00AD,divide,endash,emdash" k="60"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="trademark" k="160"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="four" k="30"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="20"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="backslash" k="140"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="50"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="-20"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="-10"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="x" k="-10"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="numbersign" k="-10"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="bullet" k="20"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="periodcentered" k="20"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="nine" k="30"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="S" k="10"/><hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="asterisk" k="60"/><hkern g1="seven,v,w,yen" g2="J" k="80"/><hkern g1="seven,v,w,yen" g2="Y,Yacute,Ydieresis" k="10"/><hkern g1="seven,v,w,yen" g2="j" k="60"/><hkern g1="seven,v,w,yen" g2="T" k="40"/><hkern g1="seven,v,w,yen" g2="v,w,yen" k="-10"/><hkern g1="seven,v,w,yen" g2="y,yacute,ydieresis" k="-10"/><hkern g1="seven,v,w,yen" g2="hyphen,uni00AD,divide,endash,emdash" k="40"/><hkern g1="seven,v,w,yen" g2="four" k="60"/><hkern g1="seven,v,w,yen" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="20"/><hkern g1="seven,v,w,yen" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="80"/><hkern g1="seven,v,w,yen" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="70"/><hkern g1="seven,v,w,yen" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="70"/><hkern g1="seven,v,w,yen" g2="slash" k="100"/><hkern g1="seven,v,w,yen" g2="ordfeminine" k="40"/><hkern g1="seven,v,w,yen" g2="numbersign" k="20"/><hkern g1="seven,v,w,yen" g2="six" k="40"/><hkern g1="seven,v,w,yen" g2="ordmasculine" k="-10"/><hkern g1="Y,Yacute,Ydieresis" g2="J" k="130"/><hkern g1="Y,Yacute,Ydieresis" g2="Y,Yacute,Ydieresis" k="-10"/><hkern g1="Y,Yacute,Ydieresis" g2="j" k="100"/><hkern g1="Y,Yacute,Ydieresis" g2="v,w,yen" k="10"/><hkern g1="Y,Yacute,Ydieresis" g2="u,ugrave,uacute,ucircumflex,udieresis" k="20"/><hkern g1="Y,Yacute,Ydieresis" g2="y,yacute,ydieresis" k="10"/><hkern g1="Y,Yacute,Ydieresis" g2="V,W" k="-10"/><hkern g1="Y,Yacute,Ydieresis" g2="t" k="20"/><hkern g1="Y,Yacute,Ydieresis" g2="hyphen,uni00AD,divide,endash,emdash" k="80"/><hkern g1="Y,Yacute,Ydieresis" g2="four" k="100"/><hkern g1="Y,Yacute,Ydieresis" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="100"/><hkern g1="Y,Yacute,Ydieresis" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="50"/><hkern g1="Y,Yacute,Ydieresis" g2="z" k="40"/><hkern g1="Y,Yacute,Ydieresis" g2="dollar,s" k="60"/><hkern g1="Y,Yacute,Ydieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="160"/><hkern g1="Y,Yacute,Ydieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="110"/><hkern g1="Y,Yacute,Ydieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="70"/><hkern g1="Y,Yacute,Ydieresis" g2="guillemotleft,guilsinglleft" k="120"/><hkern g1="Y,Yacute,Ydieresis" g2="x" k="20"/><hkern g1="Y,Yacute,Ydieresis" g2="slash" k="110"/><hkern g1="Y,Yacute,Ydieresis" g2="ampersand" k="80"/><hkern g1="Y,Yacute,Ydieresis" g2="numbersign" k="120"/><hkern g1="Y,Yacute,Ydieresis" g2="bullet" k="40"/><hkern g1="Y,Yacute,Ydieresis" g2="periodcentered" k="40"/><hkern g1="Y,Yacute,Ydieresis" g2="six" k="50"/><hkern g1="Y,Yacute,Ydieresis" g2="S" k="10"/><hkern g1="Y,Yacute,Ydieresis" g2="b,d,e,f,h,i,k,l,m,n,p,r,germandbls,egrave,eacute,ecircumflex,edieresis,igrave,iacute,icircumflex,idieresis,ntilde,thorn" k="50"/><hkern g1="Y,Yacute,Ydieresis" g2="five" k="40"/><hkern g1="Y,Yacute,Ydieresis" g2="guillemotright,guilsinglright" k="50"/><hkern g1="f" g2="J" k="80"/><hkern g1="f" g2="j" k="120"/><hkern g1="f" g2="T" k="80"/><hkern g1="f" g2="V,W" k="50"/><hkern g1="f" g2="four" k="80"/><hkern g1="f" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="20"/><hkern g1="f" g2="dollar,s" k="10"/><hkern g1="f" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="100"/><hkern g1="f" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="50"/><hkern g1="f" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="130"/><hkern g1="f" g2="X" k="30"/><hkern g1="f" g2="slash" k="60"/><hkern g1="f" g2="ordfeminine" k="60"/><hkern g1="f" g2="numbersign" k="50"/><hkern g1="f" g2="ordmasculine" k="20"/><hkern g1="dollar,s" g2="J" k="-20"/><hkern g1="dollar,s" g2="Y,Yacute,Ydieresis" k="50"/><hkern g1="dollar,s" g2="j" k="-20"/><hkern g1="dollar,s" g2="T" k="100"/><hkern g1="dollar,s" g2="V,W" k="20"/><hkern g1="dollar,s" g2="t" k="30"/><hkern g1="dollar,s" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="10"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="J" k="-40"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="30"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="Y,Yacute,Ydieresis" k="110"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="T" k="110"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="v,w,yen" k="70"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="u,ugrave,uacute,ucircumflex,udieresis" k="40"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="y,yacute,ydieresis" k="100"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="V,W" k="80"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="60"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="t" k="70"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="hyphen,uni00AD,divide,endash,emdash" k="40"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="trademark" k="160"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="four" k="40"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="30"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="backslash" k="110"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="30"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="-10"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="-20"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="guillemotleft,guilsinglleft" k="30"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="X" k="-20"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="bullet" k="20"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="periodcentered" k="20"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="nine" k="70"/><hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="asterisk" k="60"/><hkern g1="V,W" g2="J" k="90"/><hkern g1="V,W" g2="Y,Yacute,Ydieresis" k="-10"/><hkern g1="V,W" g2="j" k="100"/><hkern g1="V,W" g2="u,ugrave,uacute,ucircumflex,udieresis" k="20"/><hkern g1="V,W" g2="V,W" k="-10"/><hkern g1="V,W" g2="hyphen,uni00AD,divide,endash,emdash" k="80"/><hkern g1="V,W" g2="four" k="110"/><hkern g1="V,W" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="60"/><hkern g1="V,W" g2="backslash" k="-50"/><hkern g1="V,W" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="30"/><hkern g1="V,W" g2="z" k="20"/><hkern g1="V,W" g2="dollar,s" k="40"/><hkern g1="V,W" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="100"/><hkern g1="V,W" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="80"/><hkern g1="V,W" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="60"/><hkern g1="V,W" g2="guillemotleft,guilsinglleft" k="100"/><hkern g1="V,W" g2="x" k="40"/><hkern g1="V,W" g2="slash" k="60"/><hkern g1="V,W" g2="ampersand" k="20"/><hkern g1="V,W" g2="numbersign" k="40"/><hkern g1="V,W" g2="six" k="50"/><hkern g1="V,W" g2="b,d,e,f,h,i,k,l,m,n,p,r,germandbls,egrave,eacute,ecircumflex,edieresis,igrave,iacute,icircumflex,idieresis,ntilde,thorn" k="30"/><hkern g1="V,W" g2="five" k="40"/><hkern g1="V,W" g2="guillemotright,guilsinglright" k="50"/><hkern g1="k" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="20"/><hkern g1="k" g2="Y,Yacute,Ydieresis" k="40"/><hkern g1="k" g2="j" k="-30"/><hkern g1="k" g2="T" k="80"/><hkern g1="k" g2="v,w,yen" k="10"/><hkern g1="k" g2="u,ugrave,uacute,ucircumflex,udieresis" k="20"/><hkern g1="k" g2="y,yacute,ydieresis" k="20"/><hkern g1="k" g2="V,W" k="20"/><hkern g1="k" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="20"/><hkern g1="k" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="30"/><hkern g1="k" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="-20"/><hkern g1="k" g2="ampersand" k="15"/><hkern g1="c,ccedilla,Euro" g2="Y,Yacute,Ydieresis" k="80"/><hkern g1="c,ccedilla,Euro" g2="T" k="10"/><hkern g1="c,ccedilla,Euro" g2="v,w,yen" k="10"/><hkern g1="c,ccedilla,Euro" g2="y,yacute,ydieresis" k="10"/><hkern g1="c,ccedilla,Euro" g2="V,W" k="40"/><hkern g1="c,ccedilla,Euro" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="20"/><hkern g1="c,ccedilla,Euro" g2="t" k="40"/><hkern g1="c,ccedilla,Euro" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="10"/><hkern g1="c,ccedilla,Euro" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="20"/><hkern g1="c,ccedilla,Euro" g2="b,d,e,f,h,i,k,l,m,n,p,r,germandbls,egrave,eacute,ecircumflex,edieresis,igrave,iacute,icircumflex,idieresis,ntilde,thorn" k="20"/><hkern g1="x" g2="Y,Yacute,Ydieresis" k="20"/><hkern g1="x" g2="j" k="-40"/><hkern g1="x" g2="T" k="70"/><hkern g1="x" g2="y,yacute,ydieresis" k="10"/><hkern g1="x" g2="V,W" k="40"/><hkern g1="x" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="20"/><hkern g1="x" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="-10"/><hkern g1="x" g2="x" k="-10"/><hkern g1="x" g2="ordmasculine" k="-20"/><hkern g1="F" g2="J" k="150"/><hkern g1="F" g2="j" k="120"/><hkern g1="F" g2="v,w,yen" k="30"/><hkern g1="F" g2="y,yacute,ydieresis" k="40"/><hkern g1="F" g2="t" k="60"/><hkern g1="F" g2="four" k="90"/><hkern g1="F" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="50"/><hkern g1="F" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="26"/><hkern g1="F" g2="z" k="40"/><hkern g1="F" g2="dollar,s" k="30"/><hkern g1="F" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="120"/><hkern g1="F" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="120"/><hkern g1="F" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="120"/><hkern g1="F" g2="slash" k="80"/><hkern g1="F" g2="ampersand" k="40"/><hkern g1="F" g2="numbersign" k="50"/><hkern g1="F" g2="six" k="40"/><hkern g1="F" g2="S" k="10"/><hkern g1="F" g2="b,d,e,f,h,i,k,l,m,n,p,r,germandbls,egrave,eacute,ecircumflex,edieresis,igrave,iacute,icircumflex,idieresis,ntilde,thorn" k="50"/><hkern g1="p,thorn" g2="J" k="60"/><hkern g1="p,thorn" g2="Y,Yacute,Ydieresis" k="70"/><hkern g1="p,thorn" g2="j" k="80"/><hkern g1="p,thorn" g2="T" k="110"/><hkern g1="p,thorn" g2="V,W" k="20"/><hkern g1="p,thorn" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="20"/><hkern g1="p,thorn" g2="four" k="40"/><hkern g1="p,thorn" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="60"/><hkern g1="p,thorn" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="60"/><hkern g1="p,thorn" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="90"/><hkern g1="p,thorn" g2="X" k="40"/><hkern g1="p,thorn" g2="slash" k="50"/><hkern g1="p,thorn" g2="Z" k="20"/><hkern g1="p,thorn" g2="ordfeminine" k="20"/><hkern g1="p,thorn" g2="numbersign" k="40"/><hkern g1="S" g2="J" k="-20"/><hkern g1="S" g2="Y,Yacute,Ydieresis" k="10"/><hkern g1="S" g2="T" k="30"/><hkern g1="S" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="10"/><hkern g1="h,i,m,n,sterling,igrave,iacute,icircumflex,idieresis,ntilde" g2="Y,Yacute,Ydieresis" k="50"/><hkern g1="h,i,m,n,sterling,igrave,iacute,icircumflex,idieresis,ntilde" g2="j" k="-10"/><hkern g1="h,i,m,n,sterling,igrave,iacute,icircumflex,idieresis,ntilde" g2="T" k="110"/><hkern g1="h,i,m,n,sterling,igrave,iacute,icircumflex,idieresis,ntilde" g2="V,W" k="30"/><hkern g1="K" g2="J" k="-30"/><hkern g1="K" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="20"/><hkern g1="K" g2="Y,Yacute,Ydieresis" k="20"/><hkern g1="K" g2="j" k="-20"/><hkern g1="K" g2="T" k="20"/><hkern g1="K" g2="v,w,yen" k="70"/><hkern g1="K" g2="u,ugrave,uacute,ucircumflex,udieresis" k="40"/><hkern g1="K" g2="y,yacute,ydieresis" k="70"/><hkern g1="K" g2="V,W" k="20"/><hkern g1="K" g2="t" k="70"/><hkern g1="K" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="40"/><hkern g1="K" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="35"/><hkern g1="K" g2="dollar,s" k="30"/><hkern g1="K" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="-20"/><hkern g1="j,u,ugrave,uacute,ucircumflex,udieresis" g2="Y,Yacute,Ydieresis" k="20"/><hkern g1="j,u,ugrave,uacute,ucircumflex,udieresis" g2="T" k="110"/><hkern g1="j,u,ugrave,uacute,ucircumflex,udieresis" g2="V,W" k="20"/><hkern g1="j,u,ugrave,uacute,ucircumflex,udieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="20"/><hkern g1="j,u,ugrave,uacute,ucircumflex,udieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="40"/><hkern g1="j,u,ugrave,uacute,ucircumflex,udieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="40"/><hkern g1="j,u,ugrave,uacute,ucircumflex,udieresis" g2="X" k="20"/><hkern g1="C,Ccedilla" g2="T" k="45"/><hkern g1="C,Ccedilla" g2="V,W" k="10"/><hkern g1="C,Ccedilla" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="20"/><hkern g1="C,Ccedilla" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="50"/><hkern g1="C,Ccedilla" g2="numbersign" k="-30"/><hkern g1="X" g2="J" k="-30"/><hkern g1="X" g2="v,w,yen" k="50"/><hkern g1="X" g2="u,ugrave,uacute,ucircumflex,udieresis" k="20"/><hkern g1="X" g2="y,yacute,ydieresis" k="50"/><hkern g1="X" g2="t" k="30"/><hkern g1="X" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="30"/><hkern g1="X" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="20"/><hkern g1="X" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="-20"/><hkern g1="X" g2="X" k="-10"/><hkern g1="X" g2="ampersand" k="20"/><hkern g1="P,Thorn" g2="J" k="90"/><hkern g1="P,Thorn" g2="j" k="100"/><hkern g1="P,Thorn" g2="T" k="40"/><hkern g1="P,Thorn" g2="v,w,yen" k="-10"/><hkern g1="P,Thorn" g2="u,ugrave,uacute,ucircumflex,udieresis" k="-20"/><hkern g1="P,Thorn" g2="four" k="60"/><hkern g1="P,Thorn" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="-10"/><hkern g1="P,Thorn" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="80"/><hkern g1="P,Thorn" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="90"/><hkern g1="P,Thorn" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="100"/><hkern g1="P,Thorn" g2="X" k="20"/><hkern g1="P,Thorn" g2="slash" k="60"/><hkern g1="P,Thorn" g2="Z" k="30"/><hkern g1="P,Thorn" g2="numbersign" k="50"/><hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="Y,Yacute,Ydieresis" k="30"/><hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="T" k="50"/><hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="u,ugrave,uacute,ucircumflex,udieresis" k="10"/><hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="20"/><hkern g1="guillemotleft,guilsinglleft" g2="V,W" k="50"/><hkern g1="guillemotleft,guilsinglleft" g2="Y,Yacute,Ydieresis" k="50"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="V,W" k="60"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="Y,Yacute,Ydieresis" k="70"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="J" k="-40"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="four" k="83"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="y,yacute,ydieresis" k="70"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="t" k="70"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="30"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="six" k="20"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="j" k="-40"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="u,ugrave,uacute,ucircumflex,udieresis" k="40"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="T" k="70"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="nine" k="60"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="v,w,yen" k="70"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="30"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="40"/><hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="one" k="40"/><hkern g1="four" g2="Y,Yacute,Ydieresis" k="20"/><hkern g1="four" g2="T" k="90"/><hkern g1="four" g2="slash" k="-30"/><hkern g1="four" g2="backslash" k="60"/><hkern g1="four" g2="ordmasculine" k="20"/><hkern g1="four" g2="seven" k="20"/><hkern g1="ampersand" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="20"/><hkern g1="ampersand" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="30"/><hkern g1="ampersand" g2="V,W" k="40"/><hkern g1="ampersand" g2="Y,Yacute,Ydieresis" k="90"/><hkern g1="ampersand" g2="J" k="40"/><hkern g1="ampersand" g2="y,yacute,ydieresis" k="30"/><hkern g1="ampersand" g2="t" k="70"/><hkern g1="ampersand" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="-10"/><hkern g1="ampersand" g2="j" k="40"/><hkern g1="ampersand" g2="T" k="130"/><hkern g1="ampersand" g2="v,w,yen" k="30"/><hkern g1="ampersand" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="-10"/><hkern g1="ampersand" g2="one" k="30"/><hkern g1="ampersand" g2="seven" k="60"/><hkern g1="ampersand" g2="x" k="20"/><hkern g1="ampersand" g2="two" k="40"/><hkern g1="ampersand" g2="X" k="30"/><hkern g1="ampersand" g2="z" k="20"/><hkern g1="ampersand" g2="three,eight" k="30"/><hkern g1="three,eight" g2="T" k="100"/><hkern g1="three,eight" g2="slash" k="-10"/><hkern g1="three,eight" g2="backslash" k="60"/><hkern g1="braceleft" g2="four" k="60"/><hkern g1="braceleft" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="40"/><hkern g1="braceleft" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="30"/><hkern g1="braceleft" g2="one" k="15"/><hkern g1="numbersign" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="50"/><hkern g1="numbersign" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="70"/><hkern g1="numbersign" g2="V,W" k="-40"/><hkern g1="numbersign" g2="t" k="-30"/><hkern g1="numbersign" g2="j" k="40"/><hkern g1="numbersign" g2="T" k="-40"/><hkern g1="numbersign" g2="slash" k="60"/><hkern g1="numbersign" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="80"/><hkern g1="six" g2="V,W" k="70"/><hkern g1="six" g2="Y,Yacute,Ydieresis" k="70"/><hkern g1="six" g2="y,yacute,ydieresis" k="50"/><hkern g1="six" g2="T" k="120"/><hkern g1="six" g2="v,w,yen" k="30"/><hkern g1="six" g2="one" k="40"/><hkern g1="six" g2="slash" k="-20"/><hkern g1="six" g2="backslash" k="90"/><hkern g1="six" g2="seven" k="30"/><hkern g1="six" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="30"/><hkern g1="nine" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="50"/><hkern g1="nine" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="40"/><hkern g1="nine" g2="J" k="70"/><hkern g1="nine" g2="j" k="40"/><hkern g1="nine" g2="T" k="100"/><hkern g1="nine" g2="backslash" k="30"/><hkern g1="nine" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="80"/><hkern g1="bullet" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="20"/><hkern g1="bullet" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="20"/><hkern g1="bullet" g2="Y,Yacute,Ydieresis" k="40"/><hkern g1="bullet" g2="J" k="50"/><hkern g1="bullet" g2="y,yacute,ydieresis" k="20"/><hkern g1="bullet" g2="t" k="60"/><hkern g1="bullet" g2="j" k="50"/><hkern g1="bullet" g2="T" k="60"/><hkern g1="periodcentered" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="20"/><hkern g1="periodcentered" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="20"/><hkern g1="periodcentered" g2="Y,Yacute,Ydieresis" k="40"/><hkern g1="periodcentered" g2="J" k="20"/><hkern g1="periodcentered" g2="y,yacute,ydieresis" k="20"/><hkern g1="periodcentered" g2="j" k="20"/><hkern g1="periodcentered" g2="T" k="40"/><hkern g1="slash" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="110"/><hkern g1="slash" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="140"/><hkern g1="slash" g2="four" k="150"/><hkern g1="slash" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="90"/><hkern g1="slash" g2="six" k="100"/><hkern g1="slash" g2="j" k="50"/><hkern g1="slash" g2="numbersign" k="120"/><hkern g1="slash" g2="nine" k="40"/><hkern g1="slash" g2="one" k="90"/><hkern g1="slash" g2="two" k="70"/><hkern g1="slash" g2="three,eight" k="90"/><hkern g1="slash" g2="five" k="50"/><hkern g1="slash" g2="S" k="20"/><hkern g1="slash" g2="dollar,s" k="60"/><hkern g1="two" g2="T" k="60"/><hkern g1="two" g2="slash" k="-10"/><hkern g1="two" g2="backslash" k="50"/><hkern g1="asterisk" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="60"/><hkern g1="asterisk" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="60"/><hkern g1="asterisk" g2="J" k="80"/><hkern g1="asterisk" g2="j" k="80"/><hkern g1="guillemotright,guilsinglright" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="30"/><hkern g1="guillemotright,guilsinglright" g2="V,W" k="100"/><hkern g1="guillemotright,guilsinglright" g2="Y,Yacute,Ydieresis" k="120"/><hkern g1="guillemotright,guilsinglright" g2="J" k="20"/><hkern g1="guillemotright,guilsinglright" g2="y,yacute,ydieresis" k="20"/><hkern g1="guillemotright,guilsinglright" g2="j" k="30"/><hkern g1="guillemotright,guilsinglright" g2="T" k="80"/><hkern g1="guillemotright,guilsinglright" g2="v,w,yen" k="20"/><hkern g1="guillemotright,guilsinglright" g2="z" k="20"/><hkern g1="guillemotright,guilsinglright" g2="Z" k="20"/><hkern g1="parenleft" g2="four" k="70"/><hkern g1="parenleft" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="40"/><hkern g1="parenleft" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="30"/><hkern g1="backslash" g2="V,W" k="90"/><hkern g1="backslash" g2="Y,Yacute,Ydieresis" k="110"/><hkern g1="backslash" g2="y,yacute,ydieresis" k="80"/><hkern g1="backslash" g2="t" k="60"/><hkern g1="backslash" g2="j" k="-20"/><hkern g1="backslash" g2="T" k="40"/><hkern g1="backslash" g2="nine" k="50"/><hkern g1="backslash" g2="v,w,yen" k="80"/><hkern g1="backslash" g2="one" k="20"/><hkern g1="backslash" g2="seven" k="30"/><hkern g1="backslash" g2="z" k="-40"/><hkern g1="backslash" g2="three,eight" k="10"/><hkern g1="one" g2="T" k="10"/><hkern g1="one" g2="slash" k="-30"/><hkern g1="five" g2="Y,Yacute,Ydieresis" k="40"/><hkern g1="five" g2="T" k="100"/><hkern g1="five" g2="one" k="20"/><hkern g1="five" g2="slash" k="-20"/><hkern g1="five" g2="backslash" k="40"/><hkern g1="five" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="40"/><hkern g1="degree" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="40"/><hkern g1="bracketleft" g2="four" k="60"/><hkern g1="bracketleft" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="20"/><hkern g1="bracketleft" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="20"/><hkern g1="bracketleft" g2="one" k="-10"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="40"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="60"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="V,W" k="80"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="Y,Yacute,Ydieresis" k="80"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="J" k="60"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="y,yacute,ydieresis" k="60"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="t" k="90"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="j" k="80"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="T" k="90"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="v,w,yen" k="40"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="one" k="60"/><hkern g1="hyphen,uni00AD,divide,endash,emdash" g2="seven" k="70"/><hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" k="90"/><hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="120"/><hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="J" k="70"/><hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="zero,c,g,o,q,cent,copyright,registered,ccedilla,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe,Euro" k="50"/><hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="six" k="20"/><hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="j" k="60"/><hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="parenleft,at,C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="10"/><hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="-10"/><hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="S" k="40"/><hkern g1="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" g2="dollar,s" k="50"/></font></defs></svg>

=====================================================
== File: docs/document/themes/hugo-theme-learn/static/images/clippy.svg
=====================================================
<svg xmlns="http://www.w3.org/2000/svg" width="896" height="1024"><path d="M128 768h256v64H128v-64zm320-384H128v64h320v-64zm128 192V448L384 640l192 192V704h320V576H576zm-288-64H128v64h160v-64zM128 704h160v-64H128v64zm576 64h64v128c-1 18-7 33-19 45s-27 18-45 19H64c-35 0-64-29-64-64V192c0-35 29-64 64-64h192C256 57 313 0 384 0s128 57 128 128h192c35 0 64 29 64 64v320h-64V320H64v576h640V768zM128 256h512c0-35-29-64-64-64h-64c-35 0-64-29-64-64s-29-64-64-64-64 29-64 64-29 64-64 64h-64c-35 0-64 29-64 64z"/></svg>

=====================================================
== File: docs/document/themes/hugo-theme-learn/theme.toml
=====================================================
# theme.toml template for a Hugo theme
# See https://github.com/spf13/hugoThemes#themetoml for an example

name = "Learn"
license = "MIT"
licenselink = "https://github.com/matcornic/hugo-theme-learn/blob/master/LICENSE.md"
description = "Documentation theme for Hugo, based on Grav Learn theme"
homepage = "https://github.com/matcornic/hugo-theme-learn/"
repo = "https://github.com/matcornic/hugo-theme-learn"
tags = ["documentation", "grav", "learn", "doc", "search"]
features = ["documentation", "menu", "nested sections", "search", "mermaid"]
min_version = 0.25

[author]
  name = "Mathieu Cornic"
  homepage = "https://matcornic.github.io/"

[original]
  name = "Grav Learn"
  homepage = "https://learn.getgrav.org/"
  repo = "https://github.com/getgrav/grav-learn"

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/_default/list.html
=====================================================
{{ partial "header.html" . }}

{{ .TableOfContents }}

{{ if eq .Kind "section" }}
	{{ .Content }}
{{end}}

{{ if or (eq .Kind "taxonomy") (eq .Kind "term") }}
<ul>
	{{ range .Pages }}
		<li><a href="{{.RelPermalink}}">{{.Title}}</a></li>
	{{ end }}
</ul>
{{end}}

<footer class=" footline" >
	{{with .Params.LastModifierDisplayName}}
	    <i class='fas fa-user'></i> <a href="mailto:{{ $.Params.LastModifierEmail }}">{{ . }}</a> {{with $.Date}} <i class='fas fa-calendar'></i> {{ .Format "02/01/2006" }}{{end}}
	    </div>
	{{end}}
</footer>

{{ partial "footer.html" . }}

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/_default/single.html
=====================================================
{{ partial "header.html" . }}

{{ .TableOfContents }}

{{ .Content }}

<footer class="footline">
	{{with .Params.LastModifierDisplayName}}
	    <i class='fas fa-user'></i> <a href="mailto:{{ $.Params.LastModifierEmail }}">{{ . }}</a> {{with $.Date}} <i class='fas fa-calendar'></i> {{ .Format "02/01/2006" }}{{end}}
	    </div>
	{{end}}
</footer>

{{ partial "footer.html" . }}

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/404.html
=====================================================
<!DOCTYPE html>
<html lang="{{ .Page.Language | default "en" }}" class="js csstransforms3d">

<head>
  <meta charset="utf-8"> {{ partial "meta.html" . }} {{ partial "favicon.html" . }} {{ .Scratch.Add "title" "" }}{{ if eq .Site.Data.titles .Title }}{{ .Scratch.Set "title" (index .Site.Data.titles .Title).title }}{{ else }}{{ .Scratch.Set "title" .Title}}{{end}}
  <title>{{ .Scratch.Get "title" }}</title>

   {{ $assetBusting := not .Site.Params.disableAssetsBusting }}
    <link href="{{"css/nucleus.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/fontawesome-all.min.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/hybrid.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/featherlight.min.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/perfect-scrollbar.min.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/theme.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/hugo-theme.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    {{with .Site.Params.themeVariant}}
      <link href="{{(printf "css/theme-%s.css" .) | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    {{end}}
<style>
    :root #header + #content > #left > #rlblock_left {
      display: none !important;
    }

    p,
    li,
    ul {
      text-align: center
    }

    ul {
      list-style-type: none;
    }
</style>
{{ partial "custom-header.html" . }}
</head>

  <body class="" data-url="/">

    <section id="body" style="margin-left:0px;">
      <div id="overlay"></div>
      <div id="chapter">
        <div id="body-inner">
          <h1>{{T "title-404"}}</h1>
          <p>
          </p>
          <p>{{T "message-404"}}</p>
          <p></p>
          <p><a href='{{ "" | relLangURL }}'>{{T "Go-to-homepage"}}</a></p>
          <p><img src='{{ "/images/gopher-404.jpg" | relURL }}' style="width:50%" alt="Page not found!"></p>
        </div>

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/partials/logo.html
=====================================================
<a id="logo" href='{{ (cond (and (ne .Site.Params.landingPageURL nil) (.Site.IsMultiLingual)) .Site.Params.landingPageURL "/") }}'>
  <svg id="grav-logo" style="width:100%; height:100%;" viewBox="0 0 504 140" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;">
    <path
       id="path189"
       style="fill:#000000;stroke-width:0.204716"
       d="m 82.052734,5.96875 c -0.854728,0.206286 -1.398833,1.0426648 -2.119991,1.5136522 -1.191736,0.9811717 -2.382712,1.9632671 -3.575321,2.9433788 2.594183,0.350428 5.145702,0.867699 7.545412,1.808313 5.15394,2.088262 10.087847,4.726839 15.416602,6.374822 1.147804,0.40744 2.285264,0.842546 3.422754,1.277803 1.75942,-1.384373 3.51938,-2.768062 5.27734,-4.154297 -5.15508,-1.970902 -10.472419,-3.533913 -15.466989,-5.9135627 -3.304489,-1.4459104 -6.569291,-3.1504213 -10.136525,-3.8383905 -0.121039,-0.00522 -0.24197,-0.024031 -0.363282,-0.011719 z" />
    <path
       id="path450"
       style="fill:#000000;stroke-width:0.204716"
       d="m 196.30273,32.138672 c -1.55372,1.106817 -3.11032,2.209608 -4.66406,3.316406 4.11763,4.405283 7.13993,9.726972 9.45954,15.262663 1.56282,4.287959 2.2182,8.808703 2.86451,13.292499 0.38887,3.231143 0.62551,6.590222 0.0466,9.712715 -0.96049,4.643178 -2.51468,9.199787 -4.84902,13.336481 -1.78789,2.835013 -4.77216,5.01731 -8.11326,5.529767 -2.16053,0.194334 -4.25815,-1.330295 -4.80458,-3.419166 -0.29054,-0.914485 -0.51906,-1.850946 -0.67999,-2.79699 2.1261,-1.148168 4.25191,-2.296867 6.37891,-3.443359 0.78567,-2.636208 1.75001,-5.564844 0.60547,-8.248047 -0.53525,-1.298746 -2.07776,-1.892115 -3.39901,-1.607978 -1.67519,0.02941 -3.3829,0.406643 -4.74129,1.430853 -2.09614,1.168313 -4.10099,2.916619 -4.64291,5.358765 -0.73735,2.904669 -0.11138,5.915639 0.29727,8.820042 0.49411,2.882218 1.53935,5.996824 4.13517,7.643151 2.35305,1.561098 5.48511,1.763546 8.04109,0.579307 3.30354,-1.331591 6.21912,-3.456703 8.96703,-5.688008 1.96663,-1.643363 3.42478,-3.806368 4.42597,-6.15213 2.06828,-4.393527 3.59057,-9.083525 4.21247,-13.907794 0.54472,-5.741127 -0.61574,-11.455157 -1.66588,-17.071718 -0.80064,-3.920321 -2.18078,-7.71884 -4.16423,-11.197019 -2.05596,-3.912809 -4.48616,-7.631847 -7.30162,-11.041456 -0.13607,0.097 -0.27214,0.194011 -0.40821,0.291016 z m -8.92578,46.195312 c 0.2043,1.815935 -0.60122,3.548925 -1.07929,5.263081 -0.26336,0.819832 -0.52694,1.639598 -0.78985,2.459576 -0.30945,-2.140868 -0.59564,-4.349894 -0.22997,-6.496983 0.18103,-0.524926 0.30215,-1.38075 1.03046,-1.299978 0.29126,0.03359 1.0366,-0.341949 1.06865,0.0743 z" />
    <path
       id="path452"
       style="fill:#000000;stroke-width:0.204716"
       d="m 194.86719,31.490234 c -1.70711,1.334537 -3.41328,2.670271 -5.1211,4.003907 2.86943,0.883205 5.775,2.063806 7.95683,4.093286 4.34216,3.834897 7.82362,8.740548 9.94201,14.191942 1.76448,4.476901 2.8312,9.131581 3.98461,13.784118 0.98733,4.367667 1.90544,8.806141 3.88594,12.856576 1.24292,2.622586 2.70301,5.245971 5.0027,7.092602 2.86039,2.399492 6.23621,4.055842 9.38886,6.021597 2.04982,1.173006 4.12056,2.42864 6.39784,3.079398 1.45651,0.10626 2.44267,-1.215991 3.58737,-1.828292 0.94383,-0.603205 1.48969,-1.756053 1.1938,-2.859996 -0.26262,-3.334359 -1.79835,-6.420037 -2.55184,-9.603237 -1.082,-3.641846 -2.12776,-7.319367 -2.61203,-11.103361 -1.00164,-5.999038 -1.25683,-12.026556 -1.07049,-18.099458 0.15781,-3.468309 0.76516,-7.086829 1.79952,-10.394254 0.64699,-1.974316 1.63337,-3.824169 2.48746,-5.7485 1.81963,1.486138 2.86594,3.671816 3.9004,5.728955 0.64108,1.500012 0.97375,3.161278 0.76757,4.790577 -0.65333,-0.253181 -1.39605,-0.122429 -1.84271,0.440021 -1.42475,1.127514 -2.85059,2.25365 -4.27448,3.382244 1.88905,0.912209 4.07218,1.774111 6.16993,1.046875 1.41721,-0.500184 2.61209,-1.460186 3.82031,-2.322265 1.61109,-1.433166 2.12717,-3.722659 1.84286,-5.796283 -0.25541,-3.407249 -2.01838,-6.471843 -3.90241,-9.234739 -1.20503,-1.564932 -2.69095,-3.179269 -4.68989,-3.629264 -2.29359,-0.240154 -4.23277,1.369272 -5.7447,2.892708 -1.43661,2.020458 -2.19043,4.395461 -3.26252,6.599693 -1.49815,3.623296 -2.20417,7.528274 -2.57907,11.414395 -0.28341,3.951365 -0.19329,7.924341 0.002,11.877608 0.33001,4.919807 0.95661,9.833736 2.05577,14.642753 0.86678,3.567725 1.99782,7.062219 3.05361,10.576879 -3.15033,-1.782655 -6.31477,-3.575686 -9.24095,-5.712379 -2.79226,-2.230651 -4.33102,-5.569215 -5.59547,-8.821527 -1.43467,-3.856976 -2.08138,-7.93959 -3.1517,-11.901307 -1.2033,-4.621024 -2.39596,-9.284022 -4.32968,-13.665113 -2.65871,-5.844039 -6.70058,-11.067953 -11.71736,-15.073502 -1.61991,-1.219808 -3.40929,-2.21157 -5.31445,-2.910157 -0.0794,0.0625 -0.15886,0.125 -0.23828,0.1875 z" />
    <path
       id="path454"
       style="fill:#000000;stroke-width:0.204716"
       d="m 254.32422,60.896484 c -2.83006,0.191036 -5.03358,2.200857 -7.25961,3.693573 -2.47583,1.745762 -4.35875,4.322203 -5.13274,7.262544 -0.87682,3.10457 -0.8925,6.386041 -0.66333,9.580213 0.28103,2.760325 1.40168,5.413874 3.21193,7.520311 1.70594,2.226415 3.96523,4.02624 6.58223,5.060539 1.96205,0.825143 4.24546,1.477142 6.30644,0.60157 0.53052,-0.223408 -0.579,0.488221 -0.79955,0.696267 -3.55669,2.717013 -6.96075,5.643309 -10.03806,8.898339 -3.00732,3.02489 -5.58812,6.54712 -7.09012,10.56555 -1.52988,3.64022 -2.18897,7.75831 -1.16537,11.62585 1.1817,4.89934 4.89376,9.02479 9.55065,10.89607 3.31904,1.41685 6.8989,2.15208 10.47421,2.53862 1.33062,0.14817 2.74633,-0.0804 3.79142,-0.97127 1.26107,-0.73033 2.85276,-1.49217 3.09455,-3.10504 0.98221,-4.40417 0.4144,-8.94054 0.57187,-13.40766 0.0559,-9.78704 -0.13373,-19.58303 0.15814,-29.363921 0.22294,-0.322518 0.70593,-0.47792 0.98565,-0.786323 3.15772,-2.482196 6.24325,-5.094621 9.44181,-7.481219 0.59962,-0.562387 1.37371,-1.333493 1.12122,-2.214688 -0.58838,-1.019752 -1.9005,-0.72381 -2.80832,-0.393333 -1.78507,0.665067 -3.47142,1.597264 -4.9082,2.856236 -1.27226,0.954663 -2.48458,2.004466 -3.71388,2.992226 0.0582,-1.808273 -0.2238,-3.702052 0.46966,-5.419967 1.29511,-4.12273 1.38265,-8.583115 0.37497,-12.777365 -0.40543,-2.092479 -0.5444,-4.224875 -0.57901,-6.349544 -0.12138,-1.041696 -1.27545,-1.792292 -2.25563,-1.339589 -0.44131,0.07748 -0.73882,0.621708 -1.12056,0.653678 -2.66594,-1.25476 -5.64308,-1.684906 -8.56131,-1.835573 z m 0.33203,5.285157 c 2.01725,0.246306 4.08801,0.70676 5.74023,1.958984 0.49385,-0.198426 0.10745,1.069897 0.2356,1.480834 0.0141,5.004454 0.0397,10.022836 -0.26491,15.015164 -0.54725,1.610021 -1.37948,3.119937 -2.27537,4.560643 -0.29357,0.413619 -0.64502,0.972024 -1.23854,0.753886 -2.97677,-0.555212 -5.7871,-2.226129 -7.55638,-4.708964 -1.73668,-1.945495 -2.4821,-4.544038 -2.47151,-7.147851 -0.0102,-2.492946 0.0306,-4.99488 0.91085,-7.343489 0.73261,-1.875515 1.96563,-3.730677 3.8265,-4.614744 1.01134,-0.351459 2.06471,-0.0229 3.09353,0.04554 z m 5.48437,34.769529 c -0.0724,10.74931 0.0496,21.50087 -0.0827,32.24888 -0.0316,0.50518 -0.0784,1.00973 -0.14971,1.51089 -3.6299,-0.36444 -7.17132,-1.2816 -10.41387,-2.97137 -3.31505,-1.88151 -5.62981,-5.38503 -6.00686,-9.18451 -0.34732,-2.69647 0.25495,-5.42026 1.34629,-7.88372 1.31942,-3.35117 3.42797,-6.40619 5.95909,-8.88755 2.88063,-3.07638 6.02153,-5.910197 9.37903,-8.457618 -0.0104,1.208333 -0.0208,2.416667 -0.0313,3.624998 z" />
    <path
       id="path456"
       style="fill:#000000;stroke-width:0.204716"
       d="m 286.45117,62.744141 c -0.66276,0.0108 -1.0893,0.579612 -1.58984,0.919921 -2.93216,-0.416883 -6.1457,-0.03654 -8.52713,1.859521 -1.32775,0.839426 -2.71795,1.775792 -3.34291,3.285064 -1.96619,3.59837 -2.81372,7.799977 -2.48463,11.879219 0.58618,4.391569 3.77417,8.360576 8.02068,9.714478 3.09823,1.057475 6.42957,1.208399 9.67383,1.054687 2.00132,-0.177732 3.83824,-1.164999 5.41409,-2.288612 1.93792,-1.221245 3.80495,-2.745567 4.75664,-4.887712 1.27631,-2.582436 2.06687,-5.395576 2.51547,-8.233505 0.29359,-2.654253 -1.0275,-5.228394 -2.7852,-7.132573 -2.12288,-2.207611 -4.88968,-3.643737 -7.64514,-4.897051 -1.24663,-0.488298 -2.51233,-0.998051 -3.82059,-1.270293 -0.0615,0.0067 -0.12392,-0.01566 -0.18527,-0.0031 z m -0.76172,5.544921 c 1.33874,0.466153 2.72682,1.108914 3.99146,1.820734 2.3343,1.241606 4.77095,2.977239 5.44214,5.689032 0.34285,2.011522 -0.5266,3.97606 -1.06266,5.878051 -0.57623,1.593021 -1.21802,3.351886 -2.6703,4.347853 -1.85437,0.702929 -3.8863,0.346015 -5.81627,0.291151 -2.9267,-0.216886 -6.09721,-1.13898 -7.8626,-3.659801 -1.58319,-2.125298 -1.94862,-4.931501 -1.41712,-7.483183 0.34601,-2.202505 0.95334,-4.411407 2.16488,-6.305711 1.72955,-0.549238 3.55003,-0.159042 5.2991,0.01258 0.58196,0.0145 1.07248,-0.33425 1.44114,-0.750866 0.16341,0.05339 0.32682,0.106771 0.49023,0.160156 z" />
    <path
       id="path458"
       style="fill:#000000;stroke-width:0.204716"
       d="m 312.22656,63.080078 c -2.51287,-0.06687 -4.65817,1.475076 -6.57812,2.91211 -2.04617,1.597902 -3.36366,3.956301 -3.96106,6.457589 -0.69758,2.785863 -0.78555,5.72098 -0.38894,8.557054 0.45501,2.562579 1.62143,5.141346 3.83069,6.648159 2.22165,1.784303 4.86213,3.031589 7.67199,3.533149 3.55108,0.707794 7.20025,0.635324 10.80301,0.591013 2.16637,-0.158142 4.39539,-0.452498 6.36267,-1.410011 2.07587,-1.747288 3.95151,-3.712247 5.70312,-5.78125 -2.79921,0.445598 -5.49844,1.330936 -8.26339,1.923705 -3.39336,0.425307 -6.83433,0.249648 -10.23012,-0.04257 -3.24745,-0.407049 -6.52917,-1.646109 -8.82841,-4.041056 -0.87222,-1.044913 -1.21587,-2.282305 -1.45637,-3.562052 -0.26964,-2.262109 -0.13957,-4.588823 0.36966,-6.808958 0.33731,-1.374369 0.93104,-2.721367 1.91644,-3.756179 2.37937,-0.429241 4.84399,0.104078 7.07813,0.939453 1.11063,0.442475 2.11782,1.117109 2.96875,1.955078 1.69271,-1.222252 3.38676,-2.442646 5.08008,-3.664062 -2.66632,-2.652709 -6.35737,-4.016762 -10.05096,-4.376845 -0.67268,-0.08546 -1.35003,-0.09118 -2.02717,-0.07433 z" />
    <path
       id="path460"
       style="fill:#000000;stroke-width:0.204716"
       d="m 286.07422,99.496094 c -1.07934,-0.0024 -1.82247,0.939246 -2.52539,1.519526 -0.851,0.70779 -1.76177,1.34363 -2.75,1.84571 0.10409,1.4247 1.00637,2.71545 2.30403,3.3049 1.0993,0.9205 2.58927,1.76482 4.04753,1.17752 1.90839,-0.57603 3.60529,-2.60159 3.03127,-4.66604 -0.24239,-1.55382 -1.36304,-3.209315 -3.09377,-3.187476 -0.33817,0.0088 -0.67622,-0.02649 -1.01367,0.0059 z" />
    <path
       id="path464"
       style="fill:#000000;stroke-width:0.204716"
       d="m 371.67188,20.626953 c -3.87604,1.944717 -7.75613,3.888659 -11.47852,6.119141 1.10416,-0.0044 2.20833,-0.0089 3.3125,-0.01172 -2.12786,4.917471 -2.2546,10.388689 -2.12305,15.660156 0.35129,5.01355 2.02586,9.810998 3.70363,14.509646 1.38866,3.777132 2.7827,7.452227 3.66164,11.3659 0.85336,3.402855 1.29928,6.910206 1.308,10.447135 0.0802,4.183874 0.21652,8.436832 -0.61619,12.533292 -0.82952,4.256594 -2.10342,8.496467 -4.44794,12.181686 -1.27591,2.17814 -2.95847,4.09056 -4.92893,5.66614 -1.4947,1.30394 -3.28466,2.42294 -5.1431,2.96612 -2.39632,0.75818 -4.8139,0.92992 -7.31504,0.96576 -1.38398,-0.001 -2.76732,-0.6657 -3.42811,-1.91942 -1.17952,-1.92247 -1.43828,-4.29667 -1.23452,-6.50088 -0.072,-0.59683 0.49407,-0.45599 0.8906,-0.49906 0.4488,-0.0105 1.13089,-0.11797 1.17301,0.51024 0.41153,1.70485 0.26658,3.48863 0.31896,5.23047 7.1e-4,0.68229 0.002,1.36459 0.003,2.04688 1.90405,-1.12478 3.80883,-2.24831 5.7129,-3.37305 -0.13258,-2.7825 0.25622,-5.8613 -1.42774,-8.28125 -0.9124,-1.199373 -2.54906,-1.368673 -3.94062,-1.215946 -1.58257,-0.05091 -3.231,0.243516 -4.50269,1.241586 -2.01363,1.04845 -3.69566,2.97113 -3.89001,5.30511 -0.35901,2.56593 0.15031,5.20715 1.10217,7.59326 1.08182,2.48207 3.33319,4.66552 6.14699,4.84641 2.41571,0.25391 4.83773,-0.17138 7.23065,-0.45987 3.43975,-0.6249 6.46732,-2.49346 9.27287,-4.49033 3.70335,-2.48113 7.17849,-5.51773 9.32948,-9.48525 2.76734,-4.614072 4.23626,-9.901741 4.96799,-15.199902 0.5525,-4.277499 0.36306,-8.601147 0.27024,-12.900272 -0.10538,-3.360412 -0.59916,-6.701988 -1.5034,-9.941147 -1.01323,-4.310005 -2.61015,-8.445066 -4.11035,-12.599558 -1.15953,-3.383432 -2.2477,-6.765931 -2.76717,-10.283458 -0.33024,-3.191741 -0.23107,-6.55122 0.089,-9.779123 0.36915,-3.275313 1.43804,-6.518457 3.45986,-9.153927 0.90985,-1.339577 1.8197,-2.679149 2.72974,-4.018598 -0.60873,0.307943 -1.21745,0.615885 -1.82617,0.923828 z" />
    <path
       id="path466"
       style="fill:#000000;stroke-width:0.204716"
       d="m 378.41211,36.992188 c -2.95498,0.280324 -5.86099,0.959554 -8.72191,1.726685 -3.48706,1.125695 -6.68165,3.068917 -9.47059,5.423031 -2.56647,2.52845 -3.92486,5.941757 -5.55982,9.083275 -0.82608,1.721803 -1.65239,3.443491 -2.47815,5.165446 2.4334,-1.275762 4.86732,-2.550527 7.30078,-3.826172 1.48474,-3.078592 2.82421,-6.267576 5.04492,-8.919922 0.37009,-0.484192 1.06101,-0.352533 1.4769,-0.805542 0.96403,-0.824462 2.26732,-1.015047 3.43718,-1.415431 2.16001,-0.556031 4.36494,-1.020535 6.56444,-1.321996 1.63608,-0.05267 2.81813,1.277896 3.61272,2.548816 1.61011,2.517063 2.53967,5.509476 2.17683,8.471365 -0.15926,0.806383 -0.30463,1.757669 -0.91027,2.335911 -1.23529,0.812349 -2.5271,1.570455 -3.64881,2.53258 -1.05465,1.010852 -1.29014,2.99378 0.005,3.90959 1.10397,0.771221 2.48005,0.146732 3.46359,-0.520192 1.29018,-0.710688 2.43727,-1.673469 3.63473,-2.496494 3.70686,-0.791836 7.53625,-0.861897 11.30656,-0.662435 1.77784,0.291901 3.18039,1.611104 4.02392,3.142913 2.57898,3.825958 4.24413,8.148004 4.98248,12.705642 0.67022,3.616411 1.12179,7.379282 0.74216,11.014872 -0.34106,1.748258 -0.84725,3.691605 -1.96926,5.175636 -0.96893,0.649595 -2.1745,0.835524 -3.28802,1.122337 -2.6009,0.548228 -5.39227,0.396336 -7.7976,-0.803806 -2.77349,-1.192048 -5.22531,-3.0329 -7.28016,-5.233016 -0.3945,-0.779099 -0.90346,-0.07995 -1.38135,0.226711 -1.35242,0.977451 -2.70594,1.953363 -4.05756,2.931914 2.24054,2.398724 4.74359,4.601413 7.68825,6.093768 3.25183,1.841965 7.13161,2.665009 10.82624,1.922007 3.6294,-0.612513 7.11555,-2.286566 9.77115,-4.844758 1.96335,-2.122487 2.68295,-5.045637 3.19814,-7.807952 0.3987,-5.091629 -0.44666,-10.18885 -1.56074,-15.141305 -1.05935,-4.233613 -3.02767,-8.207304 -5.51137,-11.780005 -1.25317,-1.797572 -3.09833,-3.242237 -5.29091,-3.639442 -2.34828,-0.50242 -4.76173,-0.155362 -7.13833,-0.149969 -1.48293,0.0791 -2.96525,0.208398 -4.43164,0.447266 1.1072,-4.302368 -0.25828,-8.87208 -2.60303,-12.520248 -1.37932,-2.074659 -3.51292,-4.084833 -6.15674,-4.09108 z" />
    <path
       id="path468"
       style="fill:#000000;stroke-width:0.204716"
       d="m 423.28906,62.134766 c -1.63995,0.97054 -3.28033,1.94036 -4.92187,2.908203 -0.005,4.860224 -0.0554,9.74159 0.63518,14.564078 0.26451,3.642161 -0.0516,7.367269 0.98576,10.916826 0.42202,1.528949 0.57544,3.428854 2.02945,4.374565 1.67804,1.119853 3.85376,0.452608 5.42395,-0.533389 2.15482,-1.410381 4.32474,-2.885565 5.95208,-4.915798 1.06489,-1.237277 1.93975,-2.619085 2.8603,-3.962923 -2.69521,0.780684 -5.50568,1.495949 -7.83152,3.126296 -0.73545,0.615066 -1.29977,1.758673 -2.3345,1.799485 -0.65265,-2.346208 -1.1458,-4.764948 -1.22309,-7.213103 -0.001,-3.183751 -0.28693,-6.355244 -0.63761,-9.516081 -0.28356,-3.960842 -0.13171,-8.020399 -0.13344,-12.024722 -0.26823,0.158854 -0.53646,0.317708 -0.80469,0.476563 z" />
    <path
       id="path470"
       style="fill:#000000;stroke-width:0.204716"
       d="m 421.32422,50.556641 c -1.07185,0.409354 -1.82089,1.344889 -2.78081,1.947169 -0.73001,0.555316 -1.46029,1.110263 -2.18989,1.666112 1.19469,0.615669 2.29216,1.471247 3.61328,1.802734 -0.0189,1.007812 -0.038,2.015621 -0.0566,3.023438 1.91341,-1.124993 3.82781,-2.248329 5.74023,-3.375 0.0396,-1.199558 -0.0142,-2.413731 0.24219,-3.587891 -0.0222,-1.061754 -1.27193,-1.818341 -2.21354,-1.303916 -0.4361,0.07207 -0.95475,0.446837 -1.31358,0.0097 -0.30768,-0.168724 -0.69727,-0.282971 -1.04124,-0.182359 z" />
    <path
       id="path474"
       style="fill:#000000;stroke-width:0.204716"
       d="m 478.08398,8.6914062 c -3.04434,0.14731 -5.7197,1.8438508 -8.10248,3.6007978 -1.72765,1.357081 -2.97442,3.250966 -3.63815,5.337598 -2.26887,6.050536 -2.21342,12.612826 -2.40727,18.981009 -0.15743,8.550261 0.61576,17.100356 1.57762,25.572923 0.191,1.852456 0.35825,3.707256 0.52146,5.56236 -2.14353,4.328099 -4.51967,8.591659 -7.70401,12.250805 -2.36409,2.930614 -4.6741,5.893283 -7.25693,8.60857 -1.23948,0.310478 -2.55965,0.07497 -3.80664,-0.115235 -2.07257,-0.364678 -3.86782,-1.59835 -5.23261,-3.16249 -1.81027,-2.033779 -3.15103,-4.509976 -3.85346,-7.138711 -0.58177,-3.373649 0.71016,-6.7518 2.34552,-9.649041 0.48255,-0.732833 0.88067,-1.621841 1.6468,-2.092726 2.34007,-0.143427 4.64989,0.535834 6.77539,1.46875 0.99634,-0.283035 1.63883,-1.177063 2.49285,-1.713624 0.99586,-0.778422 1.99114,-1.557572 2.98762,-2.335204 -3.46085,-1.340304 -7.09892,-2.967477 -10.89987,-2.427405 -2.11783,0.508015 -3.79571,2.000439 -5.52392,3.235425 -2.68145,2.341808 -4.00679,5.78142 -5.09379,9.076745 -0.89502,3.13538 -0.75704,6.605691 0.71513,9.548105 1.7092,3.847785 4.41928,7.489981 8.28686,9.356697 2.33088,1.021718 4.95868,1.325034 7.47457,1.052229 2.3056,-0.511534 4.29585,-1.953137 6.00586,-3.52539 2.54674,-2.587205 4.77423,-5.461403 7.04935,-8.278252 1.52223,-1.934278 3.11838,-3.823289 4.42135,-5.917061 0.59397,4.795158 0.8271,9.581025 0.6875,14.417969 0.0867,1.188555 -0.17941,2.681701 0.89258,3.509766 0.8519,0.734443 2.1919,0.630446 2.95133,-0.187286 0.77818,-0.629943 1.39784,-1.430245 2.18539,-2.050996 0.33463,-4.101681 0.12961,-8.221072 0.17483,-12.330182 -0.0958,-2.588148 -0.18458,-5.17999 -0.3428,-7.763568 -0.3245,-1.63234 -0.58546,-3.442123 0.28436,-4.958718 0.51754,-0.816296 1.63351,-0.855617 2.47541,-1.136985 1.29347,-0.223993 2.66956,-0.428758 3.95583,-0.11448 1.70322,0.767865 2.36308,2.681045 3.25511,4.18284 2.45359,5.01299 2.5034,10.662947 3.45117,16.066406 0.39453,1.998924 0.93975,4.059017 2.15761,5.723926 1.20516,1.352908 3.27678,1.341194 4.82481,0.637402 4.38174,-1.593728 8.19236,-4.35232 12.07422,-6.859375 1.31644,-0.900078 2.96011,-1.738505 3.51562,-3.339844 0.18957,-1.049313 -1.14649,-1.612884 -1.96679,-1.169922 -0.35611,0.233689 -0.66171,0.381595 -1.10399,0.363009 -2.26559,0.572321 -3.99719,2.262336 -6.02241,3.343699 -2.07882,1.256166 -4.16238,2.484729 -6.55915,3.076496 -0.54459,-0.626324 -0.63649,-1.53044 -0.94141,-2.28711 -0.9522,-3.598937 -0.99491,-7.326699 -1.76776,-10.965895 -0.59128,-3.450187 -1.70586,-6.83908 -3.59788,-9.802482 -1.17173,-2.100903 -3.12486,-4.124232 -5.67959,-4.213301 -1.78692,-0.04961 -3.60589,0.110612 -5.3292,0.60205 -0.7058,0.211269 -1.39123,0.486775 -2.05525,0.805409 3.21714,-7.057532 5.53801,-14.470846 8.14459,-21.764942 1.39013,-3.996916 2.6535,-8.095743 2.86422,-12.350426 0.27986,-3.961867 0.2851,-7.946035 0.11578,-11.911498 -0.22997,-2.048169 -0.57126,-4.334547 -2.12459,-5.8286024 -1.48757,-1.1781658 -3.52717,-0.9718637 -5.30079,-0.9902344 z m -1.34765,5.0468748 c 0.75756,0.100169 1.59662,-0.102993 2.29883,0.236328 1.20912,2.467702 0.83156,5.298741 0.93641,7.954687 0.0175,5.110463 -0.15302,10.311699 -1.90356,15.185035 -2.1116,6.637828 -4.48624,13.179085 -6.98769,19.684909 -0.22521,0.70112 -0.41136,1.033956 -0.41626,0.0992 -0.7906,-7.151956 -1.36504,-14.321603 -1.13549,-21.539947 0.1018,-5.837394 0.16128,-11.671654 2.02378,-17.234781 0.55964,-1.515727 1.23048,-3.250281 2.74843,-4.035819 0.79358,-0.213639 1.61188,-0.339885 2.43555,-0.34961 z m -4.6543,76.720703 c 0.62866,0.420068 -0.45727,1.13443 -0.58012,0.305527 -0.23418,-0.244089 0.43497,-0.422407 0.58012,-0.305527 z" />

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/partials/change-theme.html
=====================================================
<div class="change-theme">
    <div class="wrap">
        {{ if eq .Lang "en"}}
        <span data-item="retro">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            Retro
        </span>
        <span data-item="eyehelp">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            Eye care
        </span>
        <span data-item="haitian">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            Haitian
        </span>
        <span data-item="deep">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            Deep
        </span>
        <span data-item="dark">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            Dark
        </span>
        <span class="active">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            Default
        </span>
        {{ else }}
        <span data-item="retro">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            复古
        </span>
        <span data-item="eyehelp">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            护眼
        </span>
        <span data-item="haitian">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            海天
        </span>
        <span data-item="deep">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            深邃
        </span>
        <span data-item="dark">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
            暗黑
        </span>
        <span class="active">
            <svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/partials/language.html
=====================================================
{{ $currentNode := . }}
{{ $permalink := string .Permalink }}
{{ $v5 := slice "5.4.1" "5.4.0" "5.3.2" "5.3.1" "5.3.0" "5.2.1" "5.2.0" "5.1.2" "5.1.1" "5.1.0" "5.0.0"}}
{{ $v4 := slice "4.1.1" "4.1.0" "4.0.1" "4.0.0"}}
{{ $v3 := slice "3.1.0" "3.0.0"}}
{{ $v2 := slice "2.0.3" "2.0.2" "2.0.1" "2.0.0"}}
{{ $v1 := slice "1.5.4" "1.5.3" "1.5.2" "1.5.1" "1.5.0" "1.4.2" "1.4.1" "1.4.0" "1.3.3" "1.3.2" "1.3.1" "1.3.0" "1.2.1" "1.2.0" "1.1.0" "1.0.1" "1.0.0"}}
{{ $versions := slice (slice "current") $v5 $v4 $v3 $v2 $v1 }}
        {{ $showvisitedlinks := .Site.Params.showVisitedLinks }}
        {{ if or .Site.IsMultiLingual $showvisitedlinks }}
        <section id="prefooter">
          <!-- <hr/> -->
          <ul>
          {{ if and .Site.IsMultiLingual (not .Site.Params.DisableLanguageSwitchingButton)}}
            <li>
              <a class="padding">
                <i class="fa fa-fw fa-tags"></i>
              <div class="select-style">
                <select id="select-version" onchange="location = this.value;">
              {{ range $versions }}
              {{ range . }}
                {{ $version := . }}
                  <option id="{{ $version }}" value="{{ replaceRE "document/[^/]*" (printf "document/%s" $version) $permalink }}" {{ if in $permalink $version }} selected {{end}} >{{ $version }}</option>
              {{ end }}
              {{ end }}
                  <!-- <option id="legacy" value="https://shardingsphere.apache.org/legacy.html">Legacy</option> -->
                </select>
                <svg t="1645437162166" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2449" width="32" height="32"><path d="M483.072 714.496l30.165333 30.208 415.957334-415.829333a42.837333 42.837333 0 0 0 0-60.288 42.538667 42.538667 0 0 0-60.330667-0.042667l-355.541333 355.413333-355.242667-355.413333a42.496 42.496 0 0 0-60.288 0 42.837333 42.837333 0 0 0-0.085333 60.330667l383.701333 383.872 1.706667 1.749333z" fill="#3D3D3D" p-id="2450"></path></svg>
              </div>
              </a>
              <a class="padding">
                <i class="fa fa-fw fa-language"></i>
              <div class="select-style">
                <select id="select-language" onchange="location = this.value;">
              {{ $siteLanguages := .Site.Languages}}
              {{ $pageLang := .Page.Lang}}
              {{ range .Page.AllTranslations }}
                  {{ $translation := .}}
                  {{ range $siteLanguages }}
                      {{ if eq $translation.Lang .Lang }}
                        {{ $selected := false }}
                        {{ if eq $pageLang .Lang}}
                          <option id="{{ $translation.Language }}" value="{{ $translation.URL }}" selected>{{ .LanguageName }}</option>
                        {{ else }}
                          <option id="{{ $translation.Language }}" value="{{ $translation.URL }}">{{ .LanguageName }}</option>
                        {{ end }}
                      {{ end }}
                  {{ end }}
              {{ end }}
            </select>

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/partials/footer.html
=====================================================
        {{ if .Params.chapter }}
            </div> <!-- end chapter-->
        {{ end }}
        </div>
        {{ partial "custom-comments.html" . }}
      </div>

    <div id="navigation">
        <!-- Next prev page -->
        {{ $currentNode := . }}

        {{ template "menu-nextprev" dict "menu" .Site.Home "currentnode" $currentNode }}

        {{ define "menu-nextprev" }}
            {{$currentNode := .currentnode }}
            {{ if ne .menu.Params.hidden true}}
                {{if hasPrefix $currentNode.RelPermalink .menu.RelPermalink }}
                    {{ $currentNode.Scratch.Set "NextPageOK" "OK" }}
                    {{ $currentNode.Scratch.Set "prevPage" ($currentNode.Scratch.Get "prevPageTmp") }}
                {{else}}
                    {{if eq ($currentNode.Scratch.Get "NextPageOK") "OK"}}
                        {{ $currentNode.Scratch.Set "NextPageOK" nil }}
                        {{ $currentNode.Scratch.Set "nextPage" .menu }}
                    {{end}}
                {{end}}
                {{ $currentNode.Scratch.Set "prevPageTmp" .menu }}

                    {{ $currentNode.Scratch.Set "pages" .menu.Pages }}
                    {{ if .menu.IsHome}}
                        {{ $currentNode.Scratch.Set "pages" .menu.Sections }}
                    {{ else if .menu.Sections}}
                        {{ $currentNode.Scratch.Set "pages" (.menu.Pages | union .menu.Sections) }}
                    {{end}}
                    {{ $pages := ($currentNode.Scratch.Get "pages") }}

                    {{ range $pages.ByWeight  }}
                        {{ template "menu-nextprev" dict "menu" . "currentnode" $currentNode }}
                    {{end}}
            {{ end }}
        {{ end }}


	 {{$showPrevNext := (and (not .Params.disableNextPrev) (not .Site.Params.disableNextPrev))}}
	 {{if $showPrevNext}}
		{{with ($.Scratch.Get "prevPage")}}
			<a class="nav nav-prev" href="{{.RelPermalink}}" title="{{.Title}}"> <i class="fa fa-chevron-left"></i></a>
		{{end}}
		{{with ($.Scratch.Get "nextPage")}}
			<a class="nav nav-next" href="{{.RelPermalink}}" title="{{.Title}}" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a>
		{{end}}

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/partials/meta.html
=====================================================
<meta name="description" content="{{ with .Description }}{{ . }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}">
{{ with .Site.Params.author }}<meta name="author" content="{{ . }}">{{ end }}

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/partials/menu.html
=====================================================
<nav id="sidebar" class="{{if $.Site.Params.showVisitedLinks }}showVisitedLinks{{end}}">

  {{ $currentNode := . }}
  {{ $showvisitedlinks := .Site.Params.showVisitedLinks }}
    <div id="header-wrapper">
      <!-- <div id="header">
        {{ partial "logo.html" . }}
      </div> -->
      {{if not .Site.Params.disableSearch}}
          {{ partial "search.html" . }}
      {{end}}
    </div>
  
      <div class="highlightable">
      <div class="leftMenu">
      <ul class="topics">
  
          {{if eq .Site.Params.ordersectionsby "title"}}  
            {{range .Site.Home.Sections.ByTitle}}
            {{ template "section-tree-nav" dict "sect" . "currentnode" $currentNode "showvisitedlinks" $showvisitedlinks}}
            {{end}}
          {{else}}
            {{range .Site.Home.Sections.ByWeight}}
            {{ template "section-tree-nav" dict "sect" . "currentnode" $currentNode "showvisitedlinks" $showvisitedlinks}}
            {{end}}
          {{end}} 
      </ul>
  
      {{ $disableShortcutsTitle := .Site.Params.DisableShortcutsTitle}}
      {{with .Site.Menus.shortcuts}}
        <section id="shortcuts">
          <h3>{{ if not $disableShortcutsTitle}}{{ T "Shortcuts-Title"}}{{ end }}</h3>
          <ul>
            {{ range sort . "Weight"}}
                <li> 
                    {{.Pre}}<a class="padding" href="{{.URL | absLangURL }}">{{safeHTML .Name}}</a>{{.Post}}
                </li>
            {{end}}
          </ul>
        </section>
      {{end}}
      
      </div>
      <!-- {{ partial "language.html" . }} -->
  
      <!-- download button -->
      <!-- <hr /> -->
      <!-- {{ if eq .Lang "en"}} -->
        <!-- <a class="padding" href="{{"https://shardingsphere.apache.org/pdf/shardingsphere_docs_en.pdf" | absURL}}"> -->
          <!--i class="fa fa-fw fa-file-pdf-o" ></i>&nbsp; Download PDF &nbsp;&nbsp;&nbsp; is a placeholder-->

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/partials/tags.html
=====================================================
{{ if .Params.tags }}
<div class="tags">
{{range .Params.tags}}
  <a class="tag-link" href="{{ "/tags/" | relLangURL }}{{ . | urlize }}">{{ . }}</a>
{{end}}
</div>
{{end}}

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/partials/favicon.html
=====================================================
<link rel="icon" href="{{"images/favicon.png" | relURL}}" type="image/png">

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/partials/search.html
=====================================================
<div class="searchbox">
    <label for="search-by"><i class="fas fa-search"></i></label>
    <input data-search-input id="search-by" type="search" placeholder="{{T "Search-placeholder"}}">
    <span data-search-clear=""><i class="fas fa-times"></i></span>
</div>
{{ $assetBusting := not .Site.Params.disableAssetsBusting }}
<script type="text/javascript" src="{{"js/lunr.min.js" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}"></script>
<script type="text/javascript" src="{{"js/auto-complete.js" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}"></script>
<script type="text/javascript">
    {{ if .Site.IsMultiLingual }}
        var baseurl = "{{.Site.BaseURL}}{{.Site.LanguagePrefix}}";
    {{ else }}
        var baseurl = "{{.Site.BaseURL}}";
    {{ end }}
</script>
<script type="text/javascript" src="{{"js/search.js" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}"></script>

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/partials/menu-footer.html
=====================================================
<p>Built with <a href="https://github.com/matcornic/hugo-theme-learn"><i class="fas fa-heart"></i></a> from <a href="https://getgrav.org">Grav</a> and <a href="https://gohugo.io/">Hugo</a></p>

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/partials/custom-footer.html
=====================================================
<!-- Partial intended to be overwritten with tags loaded at the end of the page loading (usually for Javascript) 
<script>
    console.log("running some javascript");
</script>
-->

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/partials/toc.html
=====================================================
<div class="progress">
    <div class="wrapper">
{{ .TableOfContents }}
    </div>
</div>

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/partials/header.html
=====================================================
<!DOCTYPE html>
<html lang="{{ .Page.Language | default "en" }}" class="js csstransforms3d">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    {{ hugo.Generator }}
    {{ partial "meta.html" . }}
    {{ partial "favicon.html" . }}
    <title>{{ .Title }} {{ default "::" .Site.Params.titleSeparator }} {{ .Site.Title }}</title>

    {{ $assetBusting := not .Site.Params.disableAssetsBusting }}
    <link href="{{"css/nucleus.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/fontawesome-all.min.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/hybrid.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/featherlight.min.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/perfect-scrollbar.min.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/auto-complete.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/atom-one-dark-reasonable.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/theme.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/tabs.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    <link href="{{"css/hugo-theme.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    {{with .Site.Params.themeVariant}}
    <link href="{{(printf "css/theme-%s.css" .) | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    {{end}}
    {{ range .Site.Params.custom_css -}}
    <link href="{{(printf "%s" .) | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    {{- end }}

    <script src="{{"js/jquery-3.3.1.min.js"| relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}"></script>
    <!-- baidu Analytics -->
    <script>
      var _hmt = _hmt || [];
      (function() {
        var hm = document.createElement("script");
        hm.src = "https://hm.baidu.com/hm.js?d5a1dc8dcf63a64ee55b80de01c7fb1a";
        var s = document.getElementsByTagName("script")[0]; 
        s.parentNode.insertBefore(hm, s);
      })();   
    </script>
    <!-- Global site tag (gtag.js) - Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=G-HETCF66YL0"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){window.dataLayer.push(arguments);}
      gtag('js', new Date());

      gtag('config', 'G-HETCF66YL0');
    </script>

    <style>

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/partials/custom-header.html
=====================================================
<!-- Partial intended to be overwritten to add custom headers, like CSS or any other info
<style type="text/css">
    /* Custom css */
</style>
-->

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/partials/custom-comments.html
=====================================================
<!-- import your comments system 
{{ template "_internal/disqus.html" . }}
-->

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/index.html
=====================================================
{{ partial "header.html" . }}
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle=""><i class="fas fa-bars"></i> navigation</a>
</span>

{{if .Site.Home.Content }} 
{{.Site.Home.Content}}	
{{else}}           
	{{if eq .Site.Language.Lang "fr"}}
		<h1>Personaliser la page d'accueil</h1>
		<p>
		  Le site fonctionne. Ne pas oublier de personaliser cette page avec votre propre contenu. 3 manières de faire :
		</p>
		<ul>
			<li><b>1. </b> Créer un fichier _index.md dans le dossier <b>content</b> et le remplir de Markdown</li>
			<li><b>2. </b> Créer un fichier index.html dans le dossier <b>static</b> et le remplir de code HTML</li>
		  <li><b>3. </b> Configurer le serveur http pour rediriger automatiquement la homepage vers la page de votre choix dans le site</li>
		</ul>
	{{else}}
		<h1>Customize your own home page</h1>
		<p>
		  The site is working. Don't forget to customize this homepage with your own. You typically have 3 choices :
		</p>
		<ul>
			<li><b>1. </b> Create an _index.md document in <b>content</b> folder and fill it with Markdown content</li>
			<li><b>2. </b> Create an <b>index.html</b> file in the <b>static</b> folder and fill the file with HTML content</li>
		  <li><b>3. </b> Configure your server to automatically redirect home page to one your documentation page</li>
		</ul>
	{{end}}
{{ end }}  
{{ partial "footer.html" . }}

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/shortcodes/notice.html
=====================================================
{{ $_hugo_config := `{ "version": 1 }` }}
<div class="notices {{ .Get 0 }}" {{ if len .Params | eq 2 }} id="{{ .Get 1 }}" {{ end }}>{{ .Inner }}</div>

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/shortcodes/ref.html
=====================================================
{{- if in (.Get 0) "/_index.md" -}}
	{{- $paths := (split (.Get 0) "_index.md") -}}
	{{- $pagepath := index $paths 0 -}}
	{{- $anchor := index $paths 1 -}}
	{{- with .Site.GetPage "section" (trim $pagepath "/") -}}
		{{- ( printf "%s%s" $pagepath $anchor ) | relLangURL -}}
	{{- end -}}
{{- else -}}
	{{- with .Site.GetPage "section" (.Get 0) }}
		{{- .RelPermalink -}}
	{{- else -}}
		{{- .Get 0 | relref .Page -}}
	{{- end -}}
{{- end -}}

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/shortcodes/tab.html
=====================================================
{{ if .Parent }}
	{{ $name := trim (.Get "name") " " }}
	{{ if not (.Parent.Scratch.Get "tabs") }}
	    {{ .Parent.Scratch.Set "tabs" slice }}
	{{ end }}
	{{ with .Inner }}
        {{ $.Parent.Scratch.Add "tabs" (dict "name" $name "content" . ) }}
	{{ end }}
{{ else }}
	{{- errorf "[%s] %q: tab shortcode missing its parent" site.Language.Lang .Page.Path -}}
{{ end}}


=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/shortcodes/attachments.html
=====================================================
{{ $_hugo_config := `{ "version": 1 }` -}}
<section class="attachments {{ with .Get "style"}}{{.}}{{ end }}">
  <label>
    <i class="fas fa-paperclip" aria-hidden="true"></i>
    {{with .Get "title"}}{{.}}{{else}}{{T "Attachments-label"}}{{end}}
  </label>
  <div class="attachments-files">
  {{- $filesName := "files" }}
  {{- if ne .Page.File.BaseFileName "index" }}
    {{- $filesName = printf "%s.files" .Page.File.BaseFileName }}
  {{- end}}
  {{- $fileDir := replace .Page.File.Dir "\\" "/" }}
  {{- $pattern := .Get "pattern" | default "" }}
  {{- range (readDir (printf "content/%s%s" .Page.File.Dir $filesName) ) }}
    {{- if findRE $pattern .Name}}
      {{- $size := .Size }}
      {{- $unit := "Byte" }}
      {{- if ge $size 1024 }}
        {{- $size = div $size 1024 }}
        {{- $unit = "Kilobyte" }}
      {{- end}}
      {{- if ge $size 1024 }}
        {{- $size = div $size 1024 }}
        {{- $unit = "Megabyte" }}
      {{- end}}
    <li>
      <a href="{{ (printf "%s%s/%s" $fileDir $filesName .Name) | relLangURL }}">{{.Name}}</a>
      ({{$size}} {{T (print $unit "-symbol")}})
    </li>
    {{- end}}
  {{- end}}
  </div>
  {{- .Inner}}
</section>

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/shortcodes/children.html
=====================================================
{{ $_hugo_config := `{ "version": 1 }` }}
{{ $showhidden := .Get "showhidden"}}
{{ $style :=  .Get "style" | default "li" }}
{{ $depth :=  .Get "depth" | default 1 }}
{{ $withDescription :=  .Get "description" | default false }}
{{ $sortTerm :=  .Get "sort" | default "Weight" }}

<ul class="children children-{{$style}}">
	{{ .Scratch.Set "pages" .Page.Pages }}

	{{if .Page.IsHome}}
		<!-- Add pages that are in root dir -->
		{{ $rootPage := where .Page.Pages "Dir" "" }}
		{{ .Scratch.Set "pages" (.Page.Sections | union $rootPage)}}
	{{else}}
		{{ if .Page.Sections}}
			{{ .Scratch.Set "pages" (.Page.Pages | union .Page.Sections) }}
		{{end}}
	{{end}}

	{{ $pages := (.Scratch.Get "pages") }}

	{{if eq $sortTerm "Weight"}}
		{{template "childs" dict "menu" $pages.ByWeight "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm}}
	{{else if eq $sortTerm "Name"}}
		{{template "childs" dict "menu" $pages.ByTitle "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm}}
	{{else if eq $sortTerm "PublishDate"}}
		{{template "childs" dict "menu" $pages.ByPublishDate "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm}}
	{{else if eq $sortTerm "Date"}}
		{{template "childs" dict "menu" $pages.ByDate "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm}}
	{{else if eq $sortTerm "Length"}}
		{{template "childs" dict "menu" $pages.ByLength "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm}}
	{{else}}
		{{template "childs" dict "menu" $pages "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm}}
	{{end}}
</ul>

{{ define "childs" }}
	{{ range .menu }}
		{{ if and .Params.hidden (not $.showhidden) }}
		{{else}}
			{{if not .IsHome}}
				{{if hasPrefix $.style "h"}}
					{{$num := sub ( int (trim $.style "h") ) 1 }}
					{{$numn := add $num $.count }}

{{(printf "<h%d>" $numn)|safeHTML}}
<a href="{{.RelPermalink}}" >{{ .Title }}</a>
{{(printf "</h%d>" $numn)|safeHTML}}


=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/shortcodes/button.html
=====================================================
{{ $_hugo_config := `{ "version": 1 }` }}
<a {{ with .Get "href"}} href="{{.}}" target="_blank" {{ end }} class="btn btn-default">
  {{ $icon := .Get "icon" }}
  {{ $iconposition := .Get "icon-position" }}
  {{ if ($icon) }}
    {{ if or (not ($iconposition)) (eq $iconposition "left") }}
  <i class="{{$icon}}"></i>
    {{ end }}
  {{ end }}
  {{ .Inner }}
  {{ if and ($icon) (eq $iconposition "right")}}
  <i class="{{$icon}}"></i>
  {{ end }}
</a>

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/shortcodes/mermaid.html
=====================================================
{{ $_hugo_config := `{ "version": 1 }` }}
<div class="mermaid" align="{{ if .Get "align" }}{{ .Get "align" }}{{ else }}center{{ end }}">{{ safeHTML .Inner }}</div>

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/shortcodes/expand.html
=====================================================
{{ $_hugo_config := `{ "version": 1 }` }}
<div class="expand">
    <div class="expand-label" style="cursor: pointer;" onclick="$h = $(this);$h.next('div').slideToggle(100,function () {$h.children('i').attr('class',function () {return $h.next('div').is(':visible') ? 'fas fa-chevron-down' : 'fas fa-chevron-right';});});">
        <i style="font-size:x-small;" class="fas fa-chevron-right"></i>
        <span>
        {{$expandMessage := T "Expand-title"}}
    	{{ if .IsNamedParams }}
    	{{.Get "default" | default $expandMessage}}
    	{{else}}
    	{{.Get 0 | default $expandMessage}}
    	{{end}}
    	</span>
    </div>
    <div class="expand-content" style="display: none;">
        {{.Inner | safeHTML}}
    </div>
</div>

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/shortcodes/relref.html
=====================================================
{{- if in (.Get 0) "/_index.md" -}}
	{{- $paths := (split (.Get 0) "_index.md") -}}
	{{- $pagepath := index $paths 0 -}}
	{{- $anchor := index $paths 1 -}}
	{{- with .Site.GetPage "section" (trim $pagepath "/") -}}
		{{- ( printf "%s%s" $pagepath $anchor ) | relLangURL -}}
	{{- end -}}
{{- else -}}
	{{- with .Site.GetPage "section" (.Get 0) }}
		{{- .RelPermalink -}}
	{{- else -}}
		{{- .Get 0 | relref .Page -}}
	{{- end -}}
{{- end -}}

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/shortcodes/tabs.html
=====================================================
{{ with .Inner }}{{/* don't do anything, just call it */}}{{ end }}
{{ $groupId := default "default" (.Get "groupId") }}
<div class="tab-panel">
    <div class="tab-nav">
    {{ range $idx, $tab := .Scratch.Get "tabs" }}
        <button
          data-tab-item="{{ .name }}"
          data-tab-group="{{ $groupId }}"
          class="tab-nav-button btn {{ cond (eq $idx 0) "active" ""}}"
          onclick="switchTab('{{ $groupId }}','{{ .name }}')"
         >{{ .name }}</button>
    {{ end }}
    </div>
    <div class="tab-content">
        {{ range $idx, $tab := .Scratch.Get "tabs" }}
        <div data-tab-item="{{ .name }}" data-tab-group="{{ $groupId }}" class="tab-item {{ cond (eq $idx 0) "active" ""}}">
            {{ .content }}
        </div>
        {{ end }}
    </div>
</div>

=====================================================
== File: docs/document/themes/hugo-theme-learn/layouts/shortcodes/siteparam.html
=====================================================
{{- $paramName := (.Get 0) -}}
{{- $siteParams := .Site.Params -}}
{{- with $paramName -}}
    {{- with $siteParams -}}
        {{- index . (lower $paramName) -}}
    {{- end -}}
{{- end -}}

=====================================================
== File: docs/document/themes/hugo-theme-learn/i18n/de.toml
=====================================================
[Search-placeholder]
other = "Suchen..."

[Clear-History]
other = "Verlauf löschen"

[Attachments-label]
other = "Anhänge"

[title-404]
other = "Fehler"

[message-404]
other = "Huch. Diese Seite scheint nicht zu existieren ¯\\_(ツ)_/¯."

[Go-to-homepage]
other = "Gehe zur Homepage"

[Edit-this-page]
other = "Bearbeite diese Seite"

[Shortcuts-Title]
other = "Mehr"

[Expand-title]
other = "Erweitere mich..."

[Byte-symbol]
other = "B"

[Kilobyte-symbol]
other = "KB"

[Megabyte-symbol]
other = "MB"

=====================================================
== File: docs/document/themes/hugo-theme-learn/i18n/id.toml
=====================================================
[Search-placeholder]
other = "Telusuri..."

[Clear-History]
other = "Bersihkan Riwayat"

[Attachments-label]
other = "Lampiran"

[title-404]
other = "Kesalahan"

[message-404]
other = "Oops. Sepertinya halaman ini tidak ada ¯\\_(ツ)_/¯."

[Go-to-homepage]
other = "Ke halaman depan"

[Edit-this-page]
other = "Edit halaman ini"

[Shortcuts-Title]
other = "Lainnya"

[Expand-title]
other = "Bentangkan..."

[Byte-symbol]
other = "B"

[Kilobyte-symbol]
other = "KB"

[Megabyte-symbol]
other = "MB"

=====================================================
== File: docs/document/themes/hugo-theme-learn/i18n/tr.toml
=====================================================
[Search-placeholder]
other = "Ara..."

[Clear-History]
other = "Geçmişi Temizle"

[Attachments-label]
other = "Ekler"

[title-404]
other = "Hata"

[message-404]
other = "Uups. Görünüşe göre böyle bir sayfa yok ¯\\_(ツ)_/¯"

[Go-to-homepage]
other = "Anasayfaya dön"

[Edit-this-page]
other = "Sayfayı düzenle"

[Shortcuts-Title]
other = "Dahası Var"

[Expand-title]
other = "Genişlet..."

[Byte-symbol]
other = "B"

[Kilobyte-symbol]
other = "KB"

[Megabyte-symbol]
other = "MB"

=====================================================
== File: docs/document/themes/hugo-theme-learn/i18n/pt.toml
=====================================================
[Search-placeholder]
other = "Procurar..."

[Clear-History]
other = "Limpar Histórico"

[Attachments-label]
other = "Anexos"

[title-404]
other = "Erro"

[message-404]
other = "Ops. Parece que a página não existe ¯\\_(ツ)_/¯."

[Go-to-homepage]
other = "Ir para o início"

[Edit-this-page]
other = "Editar esta página"

[Shortcuts-Title]
other = "Mais"

[Expand-title]
other = "Expandir..."

[Byte-symbol]
other = "B"

[Kilobyte-symbol]
other = "KB"

[Megabyte-symbol]
other = "MB"

=====================================================
== File: docs/document/themes/hugo-theme-learn/i18n/nl.toml
=====================================================
[Search-placeholder]
other = "Zoeken..."

[Clear-History]
other = "Wis geschiedenis"

[Attachments-label]
other = "Bijlagen"

[title-404]
other = "Error"

[message-404]
other = "Blijkbaar bestaat deze pagina niet ¯\\_(ツ)_/¯."

[Go-to-homepage]
other = "Naar startpagina"

[Edit-this-page]
other = "Deze pagina bewerken"

[Shortcuts-Title]
other = "Snelkoppelingen"

[Expand-title]
other = "Lees meer..."

[Byte-symbol]
other = "B"

[Kilobyte-symbol]
other = "KB"

[Megabyte-symbol]
other = "MB"

=====================================================
== File: docs/document/themes/hugo-theme-learn/i18n/ar.toml
=====================================================
[Search-placeholder]
other = "...البحث"

[Clear-History]
other = "مسح السجل"

[Attachments-label]
other = "مرفقات"

[title-404]
other = "خطأ"

[message-404]
other = ".¯\\_(ツ)_/¯أوبس. يبدو أن هذه الصفحة غير موجودة"

[Go-to-homepage]
other = "الذهاب إلى الصفحة الرئيسية"

[Edit-this-page]
other = "تعديل هذه الصفحة"

[Shortcuts-Title]
other = "المزيد"

[Expand-title]
other = "...قم بتوسيع"

[Byte-symbol]
other = "B"

[Kilobyte-symbol]
other = "KB"

[Megabyte-symbol]
other = "MB"

=====================================================
== File: docs/document/themes/hugo-theme-learn/i18n/en.toml
=====================================================
[Search-placeholder]
other = "Search..."

[Clear-History]
other = "Clear History"

[Attachments-label]
other = "Attachments"

[title-404]
other = "Error"

[message-404]
other = "Woops. Looks like this page doesn't exist ¯\\_(ツ)_/¯."

[Go-to-homepage]
other = "Go to homepage"

[Edit-this-page]
other = "Edit this page"

[Shortcuts-Title]
other = "More"

[Expand-title]
other = "Expand me..."

[Byte-symbol]
other = "B"

[Kilobyte-symbol]
other = "KB"

[Megabyte-symbol]
other = "MB"

=====================================================
== File: docs/document/themes/hugo-theme-learn/i18n/fr.toml
=====================================================
[Search-placeholder]
other = "Rechercher..."

[Clear-History]
other = "Supprimer l'historique"

[Attachments-label]
other = "Pièces jointes"

[title-404]
other = "Erreur"

[message-404]
other = "Oups. On dirait que cette page n'existe pas ¯\\_(ツ)_/¯"

[Go-to-homepage]
other = "Vers la page d'accueil"

[Edit-this-page]
other = "Modifier la page"

[Shortcuts-Title]
other = "Aller plus loin"

[Expand-title]
other = "Déroulez-moi..."

[Byte-symbol]
other = "o"

[Kilobyte-symbol]
other = "ko"

[Megabyte-symbol]
other = "Mo"

=====================================================
== File: docs/document/themes/hugo-theme-learn/i18n/es.toml
=====================================================
[Search-placeholder]
other = "Buscar..."

[Clear-History]
other = "Borrar Historial"

[Attachments-label]
other = "Adjuntos"

[title-404]
other = "Error"

[message-404]
other = "Ups. Parece que la página no existe ¯\\_(ツ)_/¯."

[Go-to-homepage]
other = "Ir al inicio"

[Edit-this-page]
other = "Editar esta página"

[Shortcuts-Title]
other = "Más"

[Expand-title]
other = "Expandir..."

[Byte-symbol]
other = "B"

[Kilobyte-symbol]
other = "KB"

[Megabyte-symbol]
other = "MB"

=====================================================
== File: docs/document/themes/hugo-theme-learn/i18n/vn.toml
=====================================================
[Search-placeholder]
other = "Tìm kiếm..."

[Clear-History]
other = "Xóa lịch sử.."

[Attachments-label]
other = "Tập tin đính kèm"

[title-404]
other = "Lỗi"

[message-404]
other = "Tiếc quá! Có vẻ như trang này không tồn tại ¯\\_(ツ)_/¯."

[Go-to-homepage]
other = "Đi đến trang chủ"

[Edit-this-page]
other = "Chỉnh sửa trang này"

[Shortcuts-Title]
other = "Nội dung khác"

[Expand-title]
other = "Mở rộng..."

[BinaryPrefix-kilobyte]
other = "kb"

[Byte-symbol]
other = "B"

[Kilobyte-symbol]
other = "KB"

[Megabyte-symbol]
other = "MB"

[note]
other = "Ghi chú"

[info]
other = "Thông tin"

[tip]
other = "Mẹo vặt"

[warning]
other = "Cảnh báo"

=====================================================
== File: docs/document/themes/hugo-theme-learn/i18n/ja.toml
=====================================================
[Search-placeholder]
other = "検索..."

[Clear-History]
other = "履歴削除"

[Attachments-label]
other = "添付"

[title-404]
other = "エラー"

[message-404]
other = "おっと。ページが見当たりません。 ¯\\_(ツ)_/¯."

[Go-to-homepage]
other = "ホームページへ行く"

[Edit-this-page]
other = "このページを編集"

[Shortcuts-Title]
other = "更に"

[Expand-title]
other = "開く..."

[Byte-symbol]
other = "B"

[Kilobyte-symbol]
other = "KB"

[Megabyte-symbol]
other = "MB"

=====================================================
== File: docs/document/themes/hugo-theme-learn/i18n/hi.toml
=====================================================
[Search-placeholder]
other = "खोजे..."

[Clear-History]
other = "इतिहास मिटाएँ"

[Attachments-label]
other = "संलग्नंक (अटैचमेंट)"

[title-404]
other = "त्रुटि"

[message-404]
other = "यह पृष्ठ अभि अनुपलब्ध है!"

[Go-to-homepage]
other = "मुख्य पृष्ठ पर जाऐ"

[Edit-this-page]
other = "यह पृष्ठ संपादित करें"

[Shortcuts-Title]
other = "अधिक सामग्री दिखाएं"

[Expand-title]
other = "विस्तार करे..."

[Byte-symbol]
other = "B"

[Kilobyte-symbol]
other = "KB"

[Megabyte-symbol]
other = "MB"

=====================================================
== File: docs/document/themes/hugo-theme-learn/netlify.toml
=====================================================
[build]
  publish = "exampleSite/public"
  command = "hugo -s exampleSite"

[build.environment]
  HUGO_THEME = "repo"
  HUGO_THEMESDIR = "/opt/build"
  HUGO_VERSION = "0.72.0"

[context.production.environment]
  HUGO_BASEURL = "https://learn.netlify.app/"

[context.deploy-preview]
  command = "hugo -s exampleSite -b $DEPLOY_PRIME_URL"

[context.deploy-preview.environment]
  HUGO_ENABLEGITINFO = "true"

[context.branch-deplpy]
  command = "hugo -s exampleSite -b $DEPLOY_PRIME_URL"

[context.branch-deploy.environment]
  HUGO_ENABLEGITINFO = "true"

=====================================================
== File: docs/document/themes/hugo-theme-learn/CHANGELOG.md
=====================================================
# Changelog

## v2.5.0 (01/06/2020)

#### New features

- [**feature**] Allow custom css files to be loaded by configuration [#376](https://github.com/matcornic/hugo-theme-learn/pull/376)
- [**feature**] Added flag to turn off image featherlight [#333](https://github.com/matcornic/hugo-theme-learn/pull/333)

#### Bug Fixes

- [**bug**] fix null pointer when no params on image url [#383](https://github.com/matcornic/hugo-theme-learn/pull/383)
- [**bug**] can't give argument to non-function not .Params.hidden [#403](https://github.com/matcornic/hugo-theme-learn/pull/403)
- [**bug**] Fix .File.UniqueID on zero object warning [#372](https://github.com/matcornic/hugo-theme-learn/pull/372)
- [**bug**] fix select option color in Chrome [#345](https://github.com/matcornic/hugo-theme-learn/pull/345)
- [**bug**] remove unneeded spaces from HTML [#320](https://github.com/matcornic/hugo-theme-learn/pull/320)
- [**bug**] Avoid displaying hidden sections in menu [#354](https://github.com/matcornic/hugo-theme-learn/pull/354)

#### Enhancements

- [**enhancement**] Updated theme installation documentation link. [#390](https://github.com/matcornic/hugo-theme-learn/pull/390)
- [**enhancement**] [ImgBot] Optimize images [#366](https://github.com/matcornic/hugo-theme-learn/pull/366)
- [**enhancement**] fix extra spaces in the description [#339](https://github.com/matcornic/hugo-theme-learn/pull/339)
- [**enhancement**] change to minified 'autocomplete.js' for improved performance [#321](https://github.com/matcornic/hugo-theme-learn/pull/321)

#### Internationalisation

- [**i18n**] Fix: typos [#343](https://github.com/matcornic/hugo-theme-learn/pull/343)
- [**i18n**] Fix: typo [#342](https://github.com/matcornic/hugo-theme-learn/pull/342)
- [**i18n**] Incorrect english in notice documentation [#336](https://github.com/matcornic/hugo-theme-learn/pull/336)
- [**i18n**] Add Chinese language for this theme [#349](https://github.com/matcornic/hugo-theme-learn/pull/349)
- [**i18n**] Add jp and zh cn [#335](https://github.com/matcornic/hugo-theme-learn/pull/335)
- [**i18n**] Added Russian translation [#332](https://github.com/matcornic/hugo-theme-learn/pull/332)

#### Theme Meta

- [**meta**] Fix various linting warnings [#405](https://github.com/matcornic/hugo-theme-learn/pull/405)
- [**meta**] Netlify build on 0.66.0 [#377](https://github.com/matcornic/hugo-theme-learn/pull/377)
- [**meta**] add inteliver documentation showcase [#331](https://github.com/matcornic/hugo-theme-learn/pull/331)

---

## v2.4.0 (04/09/2019)

#### Bug Fixes

- [**bug**] correct GitHub capitalization [#293](https://github.com/matcornic/hugo-theme-learn/pull/293)
- [**bug**] fix 'locate' typo [#285](https://github.com/matcornic/hugo-theme-learn/pull/285)
- [**bug**] Remove reference to the unused horsey CSS [#284](https://github.com/matcornic/hugo-theme-learn/pull/284)
- [**bug**] Fix invalid HTML in 404 template. [#271](https://github.com/matcornic/hugo-theme-learn/pull/271)

=====================================================
== File: docs/document/themes/hugo-theme-learn/wercker.yml
=====================================================
box: golang
build:
  steps:
    # Gets the dependencies
    - script:
        name: get hugo
        code: |
          git clone https://github.com/gohugoio/hugo.git && cd hugo && go install
    # Sets the go workspace and places you package
    # at the right place in the workspace tree
    - setup-go-workspace
    # Build the project
    - script:
        name: build site
        code: |
          cd exampleSite && hugo

=====================================================
== File: docs/document/themes/hugo-theme-learn/archetypes/chapter.md
=====================================================
+++
title = "{{ replace .Name "-" " " | title }}"
date = {{ .Date }}
weight = 5
chapter = true
pre = "<b>X. </b>"
+++

### Chapter X

# Some Chapter title

Lorem Ipsum.

=====================================================
== File: docs/document/themes/hugo-theme-learn/archetypes/default.md
=====================================================
+++
title = "{{ replace .Name "-" " " | title }}"
date =  {{ .Date }}
weight = 5
+++

Lorem Ipsum.

=====================================================
== File: docs/document/i18n/cn.toml
=====================================================
[Search-placeholder]
other = "Search..."

[Clear-History]
other = "Clear History"

[Attachments-label]
other = "Attachments"

[title-404]
other = "Error"

[message-404]
other = "Woops. Looks like this page doesn't exist ¯\\_(ツ)_/¯."

[Go-to-homepage]
other = "Go to homepage"

[Edit-this-page]
other = "Edit this page"

[Shortcuts-Title]
other = "More"

[Expand-title]
other = "Expand me..."

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/observability/_index.cn.md
=====================================================
+++
title = "可观察性"
weight = 7
+++

## Agent

### 源码编译

从 Github 下载 Apache ShardingSphere 源码,对源码进行编译,操作命令如下。

```shell
git clone --depth 1 https://github.com/apache/shardingsphere.git
cd shardingsphere
mvn clean install -DskipITs -DskipTests -Prelease
```
Agent 制品 `distribution/agent/target/apache-shardingsphere-${latest.release.version}-shardingsphere-agent-bin.tar.gz`

### 目录说明

创建 agent 目录,解压 agent 二进制包到 agent 目录。

```shell
mkdir agent
tar -zxvf apache-shardingsphere-${latest.release.version}-shardingsphere-agent-bin.tar.gz -C agent
cd agent
tree 
├── LICENSE
├── NOTICE
├── conf
│   └── agent.yaml
├── plugins
│   ├── lib
│   │   ├── shardingsphere-agent-metrics-core-${latest.release.version}.jar
│   │   └── shardingsphere-agent-plugin-core-${latest.release.version}.jar
│   ├── logging
│   │   └── shardingsphere-agent-logging-file-${latest.release.version}.jar
│   ├── metrics
│   │   └── shardingsphere-agent-metrics-prometheus-${latest.release.version}.jar
│   └── tracing
│       ├── shardingsphere-agent-tracing-opentelemetry-${latest.release.version}.jar
└── shardingsphere-agent-${latest.release.version}.jar
```

### 配置说明

`conf/agent.yaml` 用于管理 agent 配置。内置插件包括 File、Prometheus、OpenTelemetry。

```yaml
plugins:

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/observability/_index.en.md
=====================================================
+++
title = "Observability"
weight = 7
+++

## Agent

### Compile source code

Download Apache ShardingSphere from GitHub,Then compile.

```shell
git clone --depth 1 https://github.com/apache/shardingsphere.git
cd shardingsphere
mvn clean install -DskipITs -DskipTests -Prelease
```

Agent artifact is `distribution/agent/target/apache-shardingsphere-${latest.release.version}-shardingsphere-agent-bin.tar.gz`

### Directory structure

Create agent directory, and unzip agent distribution package to the directory.

```shell
mkdir agent
tar -zxvf apache-shardingsphere-${latest.release.version}-shardingsphere-agent-bin.tar.gz -C agent
cd agent
tree 
├── LICENSE
├── NOTICE
├── conf
│   └── agent.yaml
├── plugins
│   ├── lib
│   │   ├── shardingsphere-agent-metrics-core-${latest.release.version}.jar
│   │   └── shardingsphere-agent-plugin-core-${latest.release.version}.jar
│   ├── logging
│   │   └── shardingsphere-agent-logging-file-${latest.release.version}.jar
│   ├── metrics
│   │   └── shardingsphere-agent-metrics-prometheus-${latest.release.version}.jar
│   └── tracing
│       ├── shardingsphere-agent-tracing-opentelemetry-${latest.release.version}.jar
└── shardingsphere-agent-${latest.release.version}.jar
```

### Configuration

`conf/agent.yaml` is used to manage agent configuration.
Built-in plugins include File, Prometheus, OpenTelemetry.


=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/_index.cn.md
=====================================================
+++
pre = "<b>4.1. </b>"
title = "ShardingSphere-JDBC"
weight = 1
chapter = true
+++

配置是 ShardingSphere-JDBC 中唯一与应用开发者交互的模块,通过它可以快速清晰的理解 ShardingSphere-JDBC 所提供的功能。

本章节是 ShardingSphere-JDBC 的配置参考手册,需要时可当做字典查阅。

ShardingSphere-JDBC 提供了 2 种配置方式,用于不同的使用场景。
通过配置,应用开发者可以灵活的使用数据分片、读写分离、数据加密、影子库等功能,并且能够叠加使用。

混合规则配置与单一规则配置一脉相承,只是从配置单一的规则项到配置多个规则项的异同。

需要注意的是,规则项之间的叠加使用是通过数据源名称和表名称关联的。
如果前一个规则是面向数据源聚合的,下一个规则在配置数据源时,则需要使用前一个规则配置的聚合后的逻辑数据源名称;
同理,如果前一个规则是面向表聚合的,下一个规则在配置表时,则需要使用前一个规则配置的聚合后的逻辑表名称。

更多使用细节请参见[使用示例](https://github.com/apache/shardingsphere/tree/master/examples/shardingsphere-jdbc-example-generator)。

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/_index.cn.md
=====================================================
+++
title = "GraalVM Native Image"
weight = 8
chapter = true
+++

## 背景信息

ShardingSphere JDBC 已在 GraalVM Native Image 下完成可用性验证。

构建包含 `org.apache.shardingsphere:shardingsphere-jdbc:${shardingsphere.version}` 的 Maven 依赖的 GraalVM Native 
Image,你需要借助于 GraalVM Native Build Tools。GraalVM Native Build Tools 提供了 Maven Plugin 和 Gradle Plugin 来简化 GraalVM
CE 的 `native-image` 命令行工具的长篇大论的 shell 命令。

ShardingSphere JDBC 要求在如下或更高版本的 `GraalVM CE` 完成构建 GraalVM Native Image。使用者可通过 SDKMAN! 快速切换 JDK。这同理
适用于 `Oracle GraalVM`, `Liberica Native Image Kit` 和 `Mandrel` 等 `GraalVM CE` 的下游发行版。

- GraalVM CE 23.1.2 For JDK 21.0.2,对应于 SDKMAN! 的 `21.0.2-graalce`
- GraalVM CE 24.0.0 For JDK 22,对应于 SDKMAN! 的 `22-graalce`

### Maven 生态

使用者需要主动使用 GraalVM Reachability Metadata 中央仓库。
如下配置可供参考,以配置项目额外的 Maven Profiles,以 GraalVM Native Build Tools 的文档为准。

```xml
<project>
    <dependencies>
        <dependency>
            <groupId>org.apache.shardingsphere</groupId>
            <artifactId>shardingsphere-jdbc</artifactId>
            <version>${shardingsphere.version}</version>
        </dependency>
    </dependencies>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.graalvm.buildtools</groupId>
                <artifactId>native-maven-plugin</artifactId>
                <version>0.10.1</version>
                <extensions>true</extensions>
                <configuration>
                    <buildArgs>
                        <buildArg>-H:+AddAllCharsets</buildArg>
                    </buildArgs>
                </configuration>
                <executions>
                    <execution>
                        <id>build-native</id>

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/_index.en.md
=====================================================
+++
title = "GraalVM Native Image"
weight = 8
chapter = true
+++

## Background Information

ShardingSphere JDBC has been validated for availability under GraalVM Native Image.

Build GraalVM Native containing Maven dependencies of `org.apache.shardingsphere:shardingsphere-jdbc:${shardingsphere.version}`
Image, you need to resort to GraalVM Native Build Tools. GraalVM Native Build Tools provides Maven Plugin and Gradle Plugin 
to simplify long list of shell commands for GraalVM CE's `native-image` command line tool.

ShardingSphere JDBC requires GraalVM Native Image to be built with GraalVM CE as follows or higher. Users can quickly switch 
JDK through `SDKMAN!`. Same reason applicable to downstream distributions of `GraalVM CE` such as `Oracle GraalVM`, `Liberica Native Image Kit` 
and `Mandrel`.

- GraalVM CE 23.1.2 For JDK 21.0.2, corresponding to `21.0.2-graalce` of SDKMAN!
- GraalVM CE 24.0.0 For JDK 22, corresponding to `22-graalce` of SDKMAN!

### Maven Ecology

Users need to actively use the GraalVM Reachability Metadata central repository. 
The following configuration is for reference to configure additional Maven Profiles for the project, 
and the documentation of GraalVM Native Build Tools shall prevail.

```xml
<project>
     <dependencies>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
             <artifactId>shardingsphere-jdbc</artifactId>
             <version>${shardingsphere.version}</version>
         </dependency>
     </dependencies>
    
     <build>
         <plugins>
             <plugin>
                 <groupId>org.graalvm.buildtools</groupId>
                 <artifactId>native-maven-plugin</artifactId>
                 <version>0.10.1</version>
                 <extensions>true</extensions>
                 <configuration>
                    <buildArgs>
                       <buildArg>-H:+AddAllCharsets</buildArg>
                    </buildArgs>
                 </configuration>
                 <executions>

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/unsupported.en.md
=====================================================
+++
title = "Unsupported Items"
weight = 6
+++

## DataSource Interface

* Do not support timeout related operations

## Connection Interface

* Do not support operations of stored procedure, function and cursor
* Do not support native SQL
* Do not support savepoint related operations
* Do not support Schema/Catalog operation
* Do not support self-defined type mapping

## Statement and PreparedStatement Interface

* Do not support statements that return multiple result sets (stored procedures, multiple pieces of non-SELECT data)
* Do not support the operation of international characters

## ResultSet Interface

* Do not support getting result set pointer position
* Do not support changing result pointer position through none-next method
* Do not support revising the content of result set
* Do not support acquiring international characters
* Do not support getting Array

## JDBC 4.1

* Do not support new functions of JDBC 4.1 interface

For all the unsupported methods, please read `org.apache.shardingsphere.driver.jdbc.unsupported` package.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/_index.en.md
=====================================================
+++
pre = "<b>4.1. </b>"
title = "ShardingSphere-JDBC"
weight = 1
chapter = true
+++

Configuration is the only module in ShardingSphere-JDBC that interacts with application developers,
through which developers can quickly and clearly understand the functions provided by ShardingSphere-JDBC.

This chapter is a configuration manual for ShardingSphere-JDBC, which can also be referred to as a dictionary if necessary.

ShardingSphere-JDBC has provided 2 kinds of configuration methods for different situations.
By configuration, application developers can flexibly use data sharding, readwrite-splitting, data encryption, shadow database or the combination of them.

Mixed rule configurations are very similar to single rule configuration, except for the differences from single rule to multiple rules.

It should be noted that the superposition between rules are data source and table name related.
If the previous rule is data source oriented aggregation, the next rule needs to use the aggregated logical data source name configured by the previous rule when configuring the data source;
Similarly, if the previous rule is table oriented aggregation, the next rule needs to use the aggregated logical table name configured by the previous rule when configuring the table.

Please refer to [Example](https://github.com/apache/shardingsphere/tree/master/examples/shardingsphere-jdbc-example-generator) for more details.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-parser.en.md
=====================================================
+++
title = "SQL-parser"
weight = 8
+++

## Background

The SQL parser YAML configuration is readable and easy to use. The YAML files allow you to separate the code from the configuration, and easily modify the configuration file as needed.

## Parameters

```yaml
sqlParser:
  sqlStatementCache: # SQL statement local cache
    initialCapacity: # Initial capacity of local cache
    maximumSize: # Maximum capacity of local cache
  parseTreeCache: # Parse tree local cache
    initialCapacity: # Initial capacity of local cache
    maximumSize: # Maximum capacity of local cache
```

## Procedure
1. Set local cache configuration.
2. Set parser configuration.
3. Use a parsing engine to parse SQL.
   
## Sample
```yaml
sqlParser:
  sqlStatementCache:
    initialCapacity: 2000
    maximumSize: 65535
  parseTreeCache:
    initialCapacity: 128
    maximumSize: 1024
```

## Related References
- [JAVA API: SQL Parsing](/en/user-manual/shardingsphere-jdbc/java-api/rules/sql-parser/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/transaction.en.md
=====================================================
+++
title = "Distributed Transaction"
weight = 4
+++

## Background

ShardingSphere provides three modes for distributed transactions `LOCAL`, `XA`, `BASE`.

## Parameters

```yaml
transaction:
  defaultType: # Transaction mode, optional value LOCAL/XA/BASE
  providerType: # Specific implementation of the mode
```

## Procedure

### Use LOCAL Mode

The content of the global.yaml configuration file is as follows:

```yaml
transaction:
  defaultType: LOCAL
```

### Use XA Mode

The content of the global.yaml configuration file is as follows:

```yaml
transaction:
  defaultType: XA
  providerType: Narayana/Atomikos 
```
To manually add Narayana-related dependencies:

```
jta-5.12.7.Final.jar
arjuna-5.12.7.Final.jar
common-5.12.7.Final.jar
jboss-connector-api_1.7_spec-1.0.0.Final.jar
jboss-logging-3.2.1.Final.jar
jboss-transaction-api_1.2_spec-1.0.0.Alpha3.jar
jboss-transaction-spi-7.6.1.Final.jar
narayana-jts-integration-5.12.7.Final.jar
shardingsphere-transaction-xa-narayana-x.x.x-SNAPSHOT.jar
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-translator.en.md
=====================================================
+++
title = "SQL Translator"
weight = 9
+++

## Background

The SQL translator YAML configuration is readable and easy to use. The YAML files allow you to separate the code from the configuration, and easily modify the configuration file as needed.

## Parameters

```yaml
sqlTranslator:
  type: # SQL translator type
  useOriginalSQLWhenTranslatingFailed: # Whether use original SQL when translating failed
```

## Procedure
1. Set SQL translator type.
2. Set useOriginalSQLWhenTranslatingFailed to decide whether use original SQL when translating failed.

## Sample

```yaml
sqlTranslator:
  type: Native
  useOriginalSQLWhenTranslatingFailed: true
```

## Related References
- [JAVA API: SQL Translator](/en/user-manual/shardingsphere-jdbc/java-api/rules/sql-translator/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/sharding-cache.en.md
=====================================================
+++
title = "Cache for Sharding Route"
weight = 11
+++

## Background

This feature is **experimental** and needs to be used with the data sharding rule.
The cache for sharding route will put the logical SQL, the parameter value of the shard key, and the routing result into the cache, exchange space for time, and reduce CPU usage of the routing logic.

We recommend enabling it only if the following conditions are met:
- Pure OLTP scenarios.
- The CPU of the machine which deployed the ShardingSphere process has reached the bottleneck.
- Most of the CPUs are used by ShardingSphere routing logic.
- All SQLs are optimized and each SQL execution could be routed to a single data node.

If the above conditions are not met, the execution delay of SQL may not be significantly improved, and the memory pressure will be increased.

## Parameters

```yaml
rules:
- !SHARDING
  tables:
  shardingAlgorithms:
  # ...
  shardingCache:
    allowedMaxSqlLength: 512 # Allow cached SQL length limit
    routeCache:
      initialCapacity: 65536 # Initial capacity
      maximumSize: 262144 # Maximum capacity
      softValues: true # Whether to use soft references
```

## Related References

- [Core Feature: Data Sharding](/en/features/sharding/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/mix.en.md
=====================================================
+++
title = "Mixed Rules"
weight = 10
+++

## Background

ShardingSphere provides a variety of features, such as data sharding, read/write splitting, and data encryption. These features can be used independently or in combination. 
Below, you will find the parameters' explanation and configuration samples based on YAML.

## Parameters

```yaml
rules:
- !SHARDING
  tables:
    <logic_table_name>: # Logical table name:
      actualDataNodes: # consists of logical data source name plus table name (refer to Inline syntax rules)
      tableStrategy: # Table shards strategy. The same as database shards strategy
        standard:
          shardingColumn: # Sharding column name
          shardingAlgorithmName: # Sharding algorithm name
      keyGenerateStrategy:
        column: # Auto-increment column name. By default, the auto-increment primary key generator is not used.
        keyGeneratorName: # Distributed sequence algorithm name
  defaultDatabaseStrategy:
    standard:
      shardingColumn: # Sharding column name
      shardingAlgorithmName: # Sharding algorithm name
  shardingAlgorithms:
    <sharding_algorithm_name>: # Sharding algorithm name
      type: INLINE
      props:
        algorithm-expression: # INLINE expression
    t_order_inline:
      type: INLINE
      props:
        algorithm-expression: # INLINE expression
  keyGenerators:
    <key_generate_algorithm_name> (+): # Distributed sequence algorithm name
      type: # Distributed sequence algorithm type
      props: # Property configuration of distributed sequence algorithm
- !ENCRYPT
  encryptors:
    <encrypt_algorithm_name> (+): # Encryption and decryption algorithm name
      type: # Encryption and decryption algorithm type
      props: # Encryption and decryption algorithm property configuration
    <encrypt_algorithm_name> (+): # Encryption and decryption algorithm name
      type: # Encryption and decryption algorithm type
  tables:

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/shadow.en.md
=====================================================
+++
title = "Shadow DB"
weight = 7
+++

## Background
Please refer to the following configuration in order to use the ShardingSphere shadow DB feature in ShardingSphere-Proxy.

## Parameters

```yaml
rules:
- !SHADOW
  dataSources:
    shadowDataSource:
      productionDataSourceName: # production data source name
      shadowDataSourceName: # shadow data source name
  tables:
    <table_name>:
      dataSourceNames: # shadow table associates shadow data source name list
        - <shadow_data_source>
      shadowAlgorithmNames: # shadow table associates shadow algorithm name list
        - <shadow_algorithm_name>
  defaultShadowAlgorithmName: # default shadow algorithm name (option)
  shadowAlgorithms:
    <shadow_algorithm_name> (+): # shadow algorithm name
      type: # shadow algorithm type
      props: # shadow algorithm attribute configuration
```

Please refer to [Built-in shadow algorithm list](/en/user-manual/common-config/builtin-algorithm/shadow) for more details.

## Procedure

1. Configure shadow DB rules in the YAML file, including data sources, shadow library rules, global properties and other configuration items;
2. Call the `createDataSource()` method of the `YamlShardingSphereDataSourceFactory` object to create a ShardingSphereDataSource based on the configuration information in the YAML file.

## Sample

The YAML configuration sample of shadow DB is as follows:

```yaml
dataSources:
   ds:
      url: jdbc:mysql://127.0.0.1:3306/ds?serverTimezone=UTC&useSSL=false
      username: root
      password:
      connectionTimeoutMilliseconds: 30000
      idleTimeoutMilliseconds: 60000
      maxLifetimeMilliseconds: 1800000

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/encrypt.en.md
=====================================================
+++
title = "Encryption"
weight = 5
+++

## Background

The YAML configuration approach to data encryption is highly readable, with the YAML format enabling a quick understanding of dependencies between encryption rules.
Based on the YAML configuration, ShardingSphere automatically completes the creation of ShardingSphereDataSource objects, reducing unnecessary coding efforts for users.

## Parameters

```yaml
rules:
- !ENCRYPT
  tables:
    <table_name> (+): # Encrypt table name
      columns:
        <column_name> (+): # Encrypt logic column name
          cipher:
            name: # Cipher column name
            encryptorName: # Cipher encrypt algorithm name
          assistedQuery (?):
            name: # Assisted query column name
            encryptorName:  # Assisted query encrypt algorithm name
          likeQuery (?):
            name: # Like query column name
            encryptorName:  # Like query encrypt algorithm name 
    
  # Encrypt algorithm configuration
  encryptors:
    <encrypt_algorithm_name> (+): # Encrypt algorithm name
      type: # Encrypt algorithm type
      props: # Encrypt algorithm properties
        # ...
```

Please refer to [Built-in Encrypt Algorithm List](/en/user-manual/common-config/builtin-algorithm/encrypt) for more details about type of algorithm.

## Procedure

1. Configure data encryption rules in the YAML file, including data sources, encryption rules, global attributes, and other configuration items.
2. Using the createDataSource of calling the YamlShardingSphereDataSourceFactory object to create ShardingSphereDataSource based on the configuration information in the YAML file.

## Sample

The data encryption YAML configurations are as follows:

```yaml
dataSources:

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/_index.cn.md
=====================================================
+++
title = "规则配置"
weight = 3
chapter = true
+++

规则是 Apache ShardingSphere 面向可插拔的一部分。
本章节是 ShardingSphere-JDBC 的 YAML 规则配置参考手册。

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/shadow.cn.md
=====================================================
+++
title = "影子库"
weight = 7
+++

## 背景信息
如果您想在 ShardingSphere-Proxy 中使用 ShardingSphere 影子库功能请参考以下配置。

## 参数解释

```yaml
rules:
- !SHADOW
  dataSources:
    shadowDataSource:
      productionDataSourceName: # 生产数据源名称
      shadowDataSourceName: # 影子数据源名称
  tables:
    <table_name>:
      dataSourceNames: # 影子表关联影子数据源名称列表
        - <shadow_data_source>
      shadowAlgorithmNames: # 影子表关联影子算法名称列表
        - <shadow_algorithm_name>
  defaultShadowAlgorithmName: # 默认影子算法名称(选配项)
  shadowAlgorithms:
    <shadow_algorithm_name> (+): # 影子算法名称
      type: # 影子算法类型
      props: # 影子算法属性配置
```

详情请参见[内置影子算法列表](/cn/user-manual/common-config/builtin-algorithm/shadow)

## 操作步骤

1. 在 YAML 文件中配置影子库规则,包含数据源、影子库规则、全局属性等配置项;
2. 调用 YamlShardingSphereDataSourceFactory 对象的 createDataSource 方法,根据 YAML 文件中的配置信息创建 ShardingSphereDataSource。

## 配置示例

```yaml
dataSources:
   ds:
      url: jdbc:mysql://127.0.0.1:3306/ds?serverTimezone=UTC&useSSL=false
      username: root
      password:
      connectionTimeoutMilliseconds: 30000
      idleTimeoutMilliseconds: 60000
      maxLifetimeMilliseconds: 1800000
      maxPoolSize: 50
      minPoolSize: 1

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/mask.en.md
=====================================================
+++
title = "Data Masking"
weight = 6
+++

## Background

The YAML configuration approach to data masking is highly readable, with the YAML format enabling a quick understanding of dependencies between mask rules.
Based on the YAML configuration, ShardingSphere automatically completes the creation of `ShardingSphereDataSource` objects, reducing unnecessary coding efforts for users.

## Parameters

```yaml
rules:
- !MASK
  tables:
    <table_name> (+): # Mask table name
      columns:
        <column_name> (+): # Mask logic column name
          maskAlgorithm: # Mask algorithm name

  # Mask algorithm configuration
  maskAlgorithms:
    <mask_algorithm_name> (+): # Mask algorithm name
      type: # Mask algorithm type
      props: # Mask algorithm properties
      # ...
```

Please refer to [Built-in Mask Algorithm List](/en/user-manual/common-config/builtin-algorithm/mask) for more details about type of algorithm.

## Procedure

1. Configure data masking rules in the YAML file, including data sources, mask rules, global attributes, and other configuration items.
2. Using the `createDataSource` of calling the `YamlShardingSphereDataSourceFactory` object to create `ShardingSphereDataSource` based on the configuration information in the YAML file.

## Sample

The data masking YAML configurations are as follows:

```yaml
dataSources:
  unique_ds:
    dataSourceClassName: com.zaxxer.hikari.HikariDataSource
    driverClassName: com.mysql.jdbc.Driver
    jdbcUrl: jdbc:mysql://localhost:3306/demo_ds?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8
    username: root
    password:

rules:

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-federation.en.md
=====================================================
+++
title = "SQL Federation"
weight = 13
+++

## Background

This function is an **experimental one and is currently not suitable for use in core system production environments**.
When multiple tables in a join query are distributed across different database instances, enabling federated query allows for cross-database join queries, as well as subqueries.

## Parameters

```yaml
sqlFederation:
  sqlFederationEnabled: # SQL federation enabled configuration
  allQueryUseSQLFederation: # all query use SQL federation configuration
  executionPlanCache: # execution plan cache configuration
    initialCapacity: 2000 # execution plan local cache initial capacity
    maximumSize: 65535 # execution plan local cache maximum size
```

## Sample

```yaml
sqlFederation:
  sqlFederationEnabled: true
  allQueryUseSQLFederation: false
  executionPlanCache:
    initialCapacity: 2000
    maximumSize: 65535
```

## Related References

- [JAVA API: SQL Federation](/en/user-manual/shardingsphere-jdbc/java-api/rules/sql-federation/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/broadcast.en.md
=====================================================
+++
title = "Broadcast Table"
weight = 2
+++

## Background

Broadcast table YAML configuration is highly readable. The broadcast rules can be quickly understood thanks to the YAML format. ShardingSphere automatically creates the `ShardingSphereDataSource` object according to the YAML configuration, which reduces unnecessary coding for users.

## Parameters

```yaml
rules:
- !BROADCAST
  tables: # Broadcast tables
    - <table_name>
    - <table_name>
```

## Procedure

1. Configure broadcast table list in the YAML file.
2. Call the `createDataSource` method of the object `YamlShardingSphereDataSourceFactory`. Create ShardingSphereDataSource according to the configuration information in YAML files.

## Sample

The YAML configuration sample of the broadcast table is as follows:

```yaml
dataSources:
  ds_0:
    dataSourceClassName: com.zaxxer.hikari.HikariDataSource
    driverClassName: com.mysql.jdbc.Driver
    jdbcUrl: jdbc:mysql://localhost:3306/demo_ds_0?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8
    username: root
    password:
  ds_1:
    dataSourceClassName: com.zaxxer.hikari.HikariDataSource
    driverClassName: com.mysql.jdbc.Driver
    jdbcUrl: jdbc:mysql://localhost:3306/demo_ds_1?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8
    username: root
    password:

rules:
- !BROADCAST
  tables:
    - t_address
```

Read the YAML configuration to create a data source according to the `createDataSource` method of `YamlShardingSphereDataSourceFactory`.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/_index.en.md
=====================================================
+++
title = "Rules"
weight = 3
chapter = true
+++

Rules are pluggable part of Apache ShardingSphere.
This chapter is a YAML rule configuration manual for ShardingSphere-JDBC.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/single.en.md
=====================================================
+++
title = "Single Table"
weight = 12
+++

## Background

Single rule is used to specify which single tables need to be managed by ShardingSphere, or to set the default single table data source.

## Parameters

```yaml
rules:
- !SINGLE
  tables:
    # MySQL style
    - ds_0.t_single # Load specified single table
    - ds_1.* # Load all single tables in the specified data source
    - "*.*" # Load all single tables
    # PostgreSQL style
    - ds_0.public.t_config
    - ds_1.public.*
    - ds_2.*.*
    - "*.*.*"
  defaultDataSource: ds_0 # The default data source is used when executing CREATE TABLE statement to create a single table. The default value is null, indicating random unicast routing.
```

## Related References

- [Single Table](/en/features/sharding/concept/#single-table)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/sharding.en.md
=====================================================
+++
title = "Sharding"
weight = 1
+++

## Background

Data sharding YAML configuration is highly readable. The dependencies between sharding rules can be quickly understood through the YAML format. ShardingSphere automatically creates the ShardingSphereDataSource object according to YAML configuration, which can reduce unnecessary coding for users.

## Parameters

```yaml
rules:
- !SHARDING
  tables: # Sharding table configuration
    <logic_table_name> (+): # Logic table name
      actualDataNodes (?): # Describe data source names and actual tables (refer to Inline syntax rules)
      databaseStrategy (?): # Databases sharding strategy, use default databases sharding strategy if absent. sharding strategy below can choose only one.
        standard: # For single sharding column scenario
          shardingColumn: # Sharding column name
          shardingAlgorithmName: # Sharding algorithm name
        complex: # For multiple sharding columns scenario
          shardingColumns: # Sharding column names, multiple columns separated with comma
          shardingAlgorithmName: # Sharding algorithm name
        hint: # Sharding by hint
          shardingAlgorithmName: # Sharding algorithm name
        none: # Do not sharding
      tableStrategy: # Tables sharding strategy, same as database sharding strategy
      keyGenerateStrategy: # Key generator strategy
        column: # Column name of key generator
        keyGeneratorName: # Key generator name
      auditStrategy: # Sharding audit strategy
        auditorNames: # Sharding auditor name
          - <auditor_name>
          - <auditor_name>
        allowHintDisable: true # Enable or disable sharding audit hint
  autoTables: # Auto Sharding table configuration
    t_order_auto: # Logic table name
      actualDataSources (?): # Data source names
      shardingStrategy: # Sharding strategy
        standard: # For single sharding column scenario
          shardingColumn: # Sharding column name
          shardingAlgorithmName: # Auto sharding algorithm name
  bindingTables (+): # Binding tables
    - <logic_table_name_1, logic_table_name_2, ...> 
    - <logic_table_name_1, logic_table_name_2, ...> 
  defaultDatabaseStrategy: # Default strategy for database sharding
  defaultTableStrategy: # Default strategy for table sharding
  defaultKeyGenerateStrategy: # Default Key generator strategy
  defaultShardingColumn: # Default sharding column name

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting.en.md
=====================================================
+++
title = "Readwrite-splitting"
weight = 3
+++

## Background
Read/write splitting YAML configuration is highly readable. The YAML format enables you to quickly understand the dependencies between read/write sharding rules. ShardingSphere automatically creates the ShardingSphereDataSource object according to the YAML configuration, which reduces unnecessary coding for users.

## Parameters

### Readwrite-splitting

```yaml
rules:
- !READWRITE_SPLITTING
  dataSources:
    <data_source_name> (+): # Logic data source name of readwrite-splitting, which uses Groovy's Row Value Expressions SPI implementation to parse by default
      write_data_source_name: # Write data source name, which uses Groovy's Row Value Expressions SPI implementation to parse by default
      read_data_source_names: # Read data source names, multiple data source names separated with comma, which uses Groovy's Row Value Expressions SPI implementation to parse by default
      transactionalReadQueryStrategy (?): # Routing strategy for read query within a transaction, values include: PRIMARY (to primary), FIXED (to fixed data source), DYNAMIC (to any data source), default value: DYNAMIC
      loadBalancerName: # Load balance algorithm name
  
  # Load balance algorithm configuration
  loadBalancers:
    <load_balancer_name> (+): # Load balance algorithm name
      type: # Load balance algorithm type
      props: # Load balance algorithm properties
        # ...
```

Please refer to [Built-in Load Balance Algorithm List](/en/user-manual/common-config/builtin-algorithm/load-balance) for more details about type of algorithm.

## Procedure
1. Add read/write splitting data source.
2. Set the load balancer algorithm.
3. Use read/write data source.

## Sample
```yaml
rules:
- !READWRITE_SPLITTING
  dataSources:
    readwrite_ds:
      writeDataSourceName: write_ds
      readDataSourceNames:
        - read_ds_0
        - read_ds_1
      transactionalReadQueryStrategy: PRIMARY
      loadBalancerName: random
  loadBalancers:

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/mode.en.md
=====================================================
+++
title = "Mode"
weight = 1
+++

## Parameters

```yaml
mode (?): # Default value is Standalone
  type: # Type of mode configuration. Values could be: Standalone, Cluster
  repository (?): # Persist repository configuration
```

### Standalone Mode

```yaml
mode:
  type: Standalone
  repository:
    type: # Type of persist repository
    props: # Properties of persist repository
      foo_key: foo_value
      bar_key: bar_value
```

### Cluster Mode (recommended)

```yaml
mode:
  type: Cluster
  repository:
    type: # Type of persist repository
    props: # Properties of persist repository
      namespace: # Namespace of registry center
      server-lists: # Server lists of registry center
      foo_key: foo_value
      bar_key: bar_value
``` 

## Notes

1. Cluster mode deployment is recommended for production environment.
1. The `ZooKeeper` registry center is recommended for cluster mode deployment.
1. If there is configuration information in the `ZooKeeper`, please refer to the config information there.

## Sample

### Standalone Mode

```yaml

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/_index.en.md
=====================================================
+++
title = "YAML Configuration"
weight = 1
chapter = true
+++

## Overview

YAML configuration provides interaction with ShardingSphere JDBC through configuration files.
When used with the governance module together, the configuration of persistence in the configuration center is YAML format.

Note:
The YAML configuration file supports more than 3MB of configuration content.

YAML configuration is the most common configuration mode, which can omit the complexity of programming and simplify user configuration.

## Usage

### Import Maven Dependency

```xml
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-jdbc</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>
```

### YAML Format

ShardingSphere-JDBC YAML file consists of database name, mode configuration, data source map, rule configurations and properties.

Note: The example connection pool is HikariCP, which can be replaced with other connection pools according to business scenarios.

```yaml
# JDBC logic database name. Through this parameter to connect ShardingSphere-JDBC and ShardingSphere-Proxy.
# Default value: logic_db
databaseName (?):

mode:

dataSources:

rules:
- !FOO_XXX
    ...
- !BAR_XXX
    ...

props:

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/algorithm.en.md
=====================================================
+++
title = "Algorithm"
weight = 4
+++

## Sharding

```yaml
shardingAlgorithms:
  # algorithmName is specified by users, and its property has to be consistent with that of shardingAlgorithmName in the sharding strategy.
  <algorithmName>:
    # type and props, please refer to the built-in sharding algorithm: https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/sharding/
    type: xxx
    props:
      xxx: xxx
```

## Encryption

```yaml
encryptors:
  # encryptorName is specified by users, and its property should be consistent with that of encryptorName in encryption rules.
  <encryptorName>:
    # type and props, please refer to the built-in encryption algorithm: https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/encrypt/
    type: xxx
    props:
      xxx: xxx
```

## Read/Write Splitting Load Balancer

```yaml
loadBalancers:
  # loadBalancerName is specified by users, and its property has to be consistent with that of loadBalancerName in read/write splitting rules.
    # type and props, please refer to the built-in read/write splitting algorithm load balancer: https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/load-balance/
    type: xxx
    props:
      xxx: xxx
``` 

## Shadow DB

```yaml
shadowAlgorithms:
  # shadowAlgorithmName is specified by users, and its property has to be consistent with that of shadowAlgorithmNames in shadow DB rules.
  <shadowAlgorithmName>:
    # type and props, please refer to the built-in shadow DB algorithm: https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/shadow/
    type: xxx
    props:
      xxx: xxx

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/algorithm.cn.md
=====================================================
+++
title = "算法配置"
weight = 4
+++

## 分片算法

```yaml
shardingAlgorithms:
  # algorithmName 由用户指定,需要和分片策略中的 shardingAlgorithmName 属性一致
  <algorithmName>:
    # type 和 props,请参考分片内置算法:https://shardingsphere.apache.org/document/current/cn/user-manual/common-config/builtin-algorithm/sharding/
    type: xxx
    props:
      xxx: xxx
```

## 加密算法

```yaml
encryptors:
  # encryptorName 由用户指定,需要和加密规则中的 encryptorName 属性一致
  <encryptorName>:
    # type 和 props,请参考加密内置算法:https://shardingsphere.apache.org/document/current/cn/user-manual/common-config/builtin-algorithm/encrypt/
    type: xxx
    props:
      xxx: xxx
```

## 读写分离负载均衡算法

```yaml
loadBalancers:
  # loadBalancerName 由用户指定,需要和读写分离规则中的 loadBalancerName 属性一致
  <loadBalancerName>:
    # type 和 props,请参考读写分离负载均衡内置算法:https://shardingsphere.apache.org/document/current/cn/user-manual/common-config/builtin-algorithm/load-balance/
    type: xxx
    props:
      xxx: xxx
```

## 影子算法

```yaml
shadowAlgorithms:
  # shadowAlgorithmName 由用户指定,需要和影子库规则中的 shadowAlgorithmNames 属性一致
  <shadowAlgorithmName>:
    # type 和 props,请参考影子库内置算法:https://shardingsphere.apache.org/document/current/cn/user-manual/common-config/builtin-algorithm/shadow/
    type: xxx
    props:

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/data-source.en.md
=====================================================
+++
title = "Data Source"
weight = 2
chapter = true
+++

## Background

ShardingSphere-JDBC Supports all JDBC drivers and data source connection pools.

In this example, the database driver is MySQL, and the connection pool is HikariCP, which can be replaced with other database drivers and connection pools.
When using ShardingSphere JDBC, the property name of the JDBC pool depends on the definition of the respective JDBC pool and is not defined by ShardingSphere. For related processing, please refer to the class `org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator`.
For example, with Alibaba Druid 1.2.9, using url instead of jdbcUrl in the example below is the expected behavior.

## Parameters

```yaml
dataSources: # Data sources configuration, multiple <data-source-name> available
  <data_source_name>: # Data source name
    dataSourceClassName: # Data source class name
    driverClassName: # The database driver class name is subject to the configuration of the data source connection pool itself
    jdbcUrl: # The database URL connection is subject to the configuration of the data source connection pool itself
    username: # Database username, subject to the configuration of the data source connection pool itself
    password: # The database password is subject to the configuration of the data source connection pool itself
    # ... Other properties of data source pool
```
## Sample

```yaml
dataSources:
  ds_1:
    dataSourceClassName: com.zaxxer.hikari.HikariDataSource
    driverClassName: com.mysql.jdbc.Driver
    jdbcUrl: jdbc:mysql://localhost:3306/ds_1
    username: root
    password:
  ds_2:
    dataSourceClassName: com.zaxxer.hikari.HikariDataSource
    driverClassName: com.mysql.jdbc.Driver
    jdbcUrl: jdbc:mysql://localhost:3306/ds_2
    username: root
    password:
      
  # Configure other data sources
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/spring-boot/_index.cn.md
=====================================================
+++
title = "Spring Boot"
weight = 4
chapter = true
+++

## 简介

ShardingSphere 提供 JDBC 驱动,开发者可以在 Spring Boot 中配置 `ShardingSphereDriver` 来使用 ShardingSphere。

## 使用步骤

### 引入 Maven 依赖

```xml
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-jdbc</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>
```

### 配置 Spring Boot

```properties
# 配置 DataSource Driver
spring.datasource.driver-class-name=org.apache.shardingsphere.driver.ShardingSphereDriver
# 指定 YAML 配置文件
spring.datasource.url=jdbc:shardingsphere:classpath:xxx.yaml
```

`spring.datasource.url` 中的 YAML 配置文件当前支持通过多种方式获取,具体可参考 [已知实现](../known-implementation/) 。

### 使用数据源

直接使用该数据源;或者将 ShardingSphereDataSource 配置在 JPA、Hibernate、MyBatis 等 ORM 框架中配合使用。

## 针对 Spring Boot OSS 3 的处理

Spring Boot OSS 3 对 Jakarta EE 和 Java 17 进行了 “大爆炸” 升级,涉及大量复杂情况。

ShardingSphere 的 XA 分布式事务尚未在 Spring Boot OSS 3 上就绪,此限制同样适用于其他基于 Jakarta EE 9+ 的 Web Framework,如
Quarkus 3,Micronaut Framework 4 和 Helidon 3。

用户仅需要配置如下。

```xml
<project>
    <dependencies>
        <dependency>

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/spring-boot/_index.en.md
=====================================================
+++
title = "Spring Boot"
weight = 4
chapter = true
+++

## Overview

ShardingSphere provides a JDBC driver, and developers can configure `ShardingSphereDriver` in Spring Boot to use ShardingSphere.

## Usage

### Import Maven Dependency

```xml
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-jdbc</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>
```

### Configure Spring Boot Properties

```properties
# Configuring DataSource Drivers
spring.datasource.driver-class-name=org.apache.shardingsphere.driver.ShardingSphereDriver
# Specify a YAML configuration file
spring.datasource.url=jdbc:shardingsphere:classpath:xxx.yaml
```

The YAML configuration file in 'spring.datasource.url' currently support in multiple ways, refer to [Known Implementation](../known-implementation/).

### Use Data Source

Use this data source directly; or configure ShardingSphereDataSource to be used in conjunction with ORM frameworks such as JPA, Hibernate, and MyBatis.

## Handling for Spring Boot OSS 3

Spring Boot OSS 3 has made a "big bang" upgrade to Jakarta EE and Java 17, with all complications involved.

ShardingSphere's XA distributed transactions are not yet ready on Spring Boot OSS 3. This limitation also applies to other 
Jakarta EE 9+ based Web Frameworks, such as Quarkus 3, Micronaut Framework 4 and Helidon 3.

Users only need to configure as follows.

```xml
<project>
    <dependencies>
        <dependency>

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/_index.cn.md
=====================================================
+++
title = "JDBC 驱动"
weight = 5
chapter = true
+++

## 背景信息

ShardingSphere-JDBC 提供了 JDBC 驱动,可以仅通过配置变更即可使用,无需改写代码。

## 参数解释

### 驱动类名称

`org.apache.shardingsphere.driver.ShardingSphereDriver`

### URL 配置及配置示例

参考 [已知实现](./known-implementation/_index.cn.md) 。

## 操作步骤

1. 引入 Maven 依赖

```xml
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-jdbc</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>
```

2. 使用驱动

* 使用原生驱动:

```java
Class.forName("org.apache.shardingsphere.driver.ShardingSphereDriver");
String jdbcUrl = "jdbc:shardingsphere:classpath:config.yaml";

String sql = "SELECT i.* FROM t_order o JOIN t_order_item i ON o.order_id=i.order_id WHERE o.user_id=? AND o.order_id=?";
try (
        Connection conn = DriverManager.getConnection(jdbcUrl);
        PreparedStatement ps = conn.prepareStatement(sql)) {
    ps.setInt(1, 10);
    ps.setInt(2, 1000);
    try (ResultSet rs = preparedStatement.executeQuery()) {
        while(rs.next()) {
            // ...
        }

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/_index.en.md
=====================================================
+++
title = "JDBC Driver"
weight = 5
chapter = true
+++

## Background

ShardingSphere-JDBC provides a JDBC Driver, which can be used only through configuration changes without rewriting the code.

## Parameters

### Driver Class Name

`org.apache.shardingsphere.driver.ShardingSphereDriver`

### URL Configuration and sample

Refer to [known Implementation](./known-implementation/_index.en.md).

## Procedure

1. Import Maven Dependency

```xml
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-jdbc</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>
```

2. Use drive

* Use native drivers:

```java
Class.forName("org.apache.shardingsphere.driver.ShardingSphereDriver");
String jdbcUrl = "jdbc:shardingsphere:classpath:config.yaml";

String sql = "SELECT i.* FROM t_order o JOIN t_order_item i ON o.order_id=i.order_id WHERE o.user_id=? AND o.order_id=?";
try (
        Connection conn = DriverManager.getConnection(jdbcUrl);
        PreparedStatement ps = conn.prepareStatement(sql)) {
    ps.setInt(1, 10);
    ps.setInt(2, 1000);
    try (ResultSet rs = preparedStatement.executeQuery()) {
        while(rs.next()) {
            // ...
        }

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/spring-namespace/_index.cn.md
=====================================================
+++
title = "Spring 命名空间"
weight = 4
chapter = true
+++

## 简介

ShardingSphere 提供 JDBC 驱动,开发者可以在 Spring 中配置 `ShardingSphereDriver` 来使用 ShardingSphere。

## 使用步骤

### 引入 Maven 依赖

```xml
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-jdbc</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>
```

### 配置 Spring Bean

#### 配置项说明

| *名称*        | *类型* | *说明*                                     |
|-------------|------|------------------------------------------|
| driverClass | 属性   | 数据库 Driver,这里需要指定使用 ShardingSphereDriver |
| url         | 属性   | YAML 配置文件路径                              |

#### 配置示例

```xml
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
                           http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    <bean id="shardingDataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
        <property name="driverClass" value="org.apache.shardingsphere.driver.ShardingSphereDriver" />
        <property name="url" value="jdbc:shardingsphere:classpath:xxx.yaml" />
    </bean>
</beans>
```

### 使用数据源

使用方式同 Spring Boot。

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/spring-namespace/_index.en.md
=====================================================
+++
title = "Spring Namespace"
weight = 4
chapter = true
+++

## Overview

ShardingSphere provides a JDBC driver. To use ShardingSphere, developers can configure `ShardingSphereDriver` in Spring.

## Operation

### Import Maven Dependency

```xml
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-jdbc</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>
```

### Configure Spring Bean

#### Configuration Item Explanation

| *Name*            | *Type*      | *Description*                                     |
|-------------------|-------------|---------------------------------------------------|
| driverClass       | Attribute   | Database Driver, need to use ShardingSphereDriver |
| url               | Attribute   | YAML configuration file path                      |

#### Example

```xml
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
                           http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    <bean id="shardingDataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
        <property name="driverClass" value="org.apache.shardingsphere.driver.ShardingSphereDriver" />
        <property name="url" value="jdbc:shardingsphere:classpath:xxx.yaml" />
    </bean>
</beans>
```

### Use Data Source

Same with Spring Boot.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/known-implementation/_index.cn.md
=====================================================
+++
title = "已知实现"
weight = 4
chapter = true
+++

## 背景信息

对于 `org.apache.shardingsphere.driver.ShardingSphereDriver` 的驱动类,
通过实现 `org.apache.shardingsphere.infra.url.ShardingSphereURLLoader` 的 SPI,
可允许从多种来源和 File System 获取并解析为 ShardingSphere 的 YAML 配置文件。
如无特定声明,以下实现均采用 YAML 1.1 作为 YAML 的编写规范,
这并不阻止 `org.apache.shardingsphere.infra.url.ShardingSphereURLLoader` 的自定义实现从 XML 或 JSON 等文件手动转化为 YAML。

在解析并加载 YAML 文件为 ShardingSphere 的元数据后,
会再次通过[模式配置](/cn/user-manual/shardingsphere-jdbc/java-api/mode)的相关配置决定下一步行为。讨论两种情况,

1. 元数据持久化仓库中不存在 ShardingSphere 的元数据,本地元数据将被存储到元数据持久化仓库。
2. 元数据持久化仓库中已存在 ShardingSphere 的元数据,无论是否与本地元数据相同,本地元数据将被元数据持久化仓库的元数据覆盖。

对元数据持久化仓库的配置需参考[元数据持久化仓库](/cn/user-manual/common-config/builtin-algorithm/metadata-repository/)。

## 加载配置文件的方式

### 从类路径中加载配置文件

配置文件为 `xxx.yaml`,当`placeholder-type`为`none`或不标明时,配置文件格式与 [YAML 配置](../../../yaml-config) 一致。
当`placeholder-type`存在且不为`none`时,配置文件格式的定义参考本文的`JDBC URL 参数`一节。

用例:

- `jdbc:shardingsphere:classpath:config.yaml`
- `jdbc:shardingsphere:classpath:config.yaml?placeholder-type=none`
- `jdbc:shardingsphere:classpath:config.yaml?placeholder-type=environment`
- `jdbc:shardingsphere:classpath:config.yaml?placeholder-type=system_props`

### 从绝对路径中加载配置文件

配置文件为 `xxx.yaml`,当`placeholder-type`为`none`或不标明时, 配置文件格式与 [YAML 配置](../../../yaml-config) 一致。
当`placeholder-type`存在且不为`none`时,配置文件格式的定义参考本文的`JDBC URL 参数`一节。

用例:

- `jdbc:shardingsphere:absolutepath:/path/to/config.yaml`
- `jdbc:shardingsphere:absolutepath:/path/to/config.yaml?placeholder-type=none`
- `jdbc:shardingsphere:absolutepath:/path/to/config.yaml?placeholder-type=environment`
- `jdbc:shardingsphere:absolutepath:/path/to/config.yaml?placeholder-type=system_props`

## JDBC URL 参数


=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/jdbc-driver/known-implementation/_index.en.md
=====================================================
+++
title = "Known Implementation"
weight = 4
chapter = true
+++

## Background Information

For the driver class of `org.apache.shardingsphere.driver.ShardingSphereDriver`,
by implementing the SPI of `org.apache.shardingsphere.infra.url.ShardingSphereURLLoader`,
allows YAML configuration files to be fetched from multiple sources and File Systems and parsed into ShardingSphere.
If there is no specific statement, the following implementations all use YAML 1.1 as the YAML writing specification.
This does not prevent custom implementations of `org.apache.shardingsphere.infra.url.ShardingSphereURLLoader` from being manually converted to YAML from files such as XML or JSON.

After parsing and loading the YAML file into ShardingSphere's metadata, 
the next behavior will be determined again through the relevant configuration of [Mode Configuration](/en/user-manual/shardingsphere-jdbc/java-api/mode). 
Discuss two situations,

1. ShardingSphere’s metadata does not exist in the Metadata Repository, and local metadata will be stored in the Metadata Repository.
2. The metadata of ShardingSphere already exists in the Metadata Repository. 
   Regardless of whether it is the same as the local metadata, 
   the local metadata will be overwritten by the metadata of the Metadata Repository.

For the configuration of the Metadata Repository, 
please refer to [Metadata Repository](/en/user-manual/common-config/builtin-algorithm/metadata-repository/).

## How to load configuration files

### Load configuration files from classpath

The configuration file is `xxx.yaml`. When `placeholder-type` is `none` or is not specified, 
the configuration file format is consistent with [YAML configuration](../../../yaml-config).
When `placeholder-type` exists and is not `none`, 
the configuration file format is defined in the `JDBC URL Parameters` section of this article.

Example:

- `jdbc:shardingsphere:classpath:config.yaml`
- `jdbc:shardingsphere:classpath:config.yaml?placeholder-type=none`
- `jdbc:shardingsphere:classpath:config.yaml?placeholder-type=environment`
- `jdbc:shardingsphere:classpath:config.yaml?placeholder-type=system_props`

### Load configuration file from absolute path

The configuration file is `xxx.yaml`. When `placeholder-type` is `none` or is not specified, 
the configuration file format is consistent with [YAML configuration](../../../yaml-config).
When `placeholder-type` exists and is not `none`, 
the configuration file format is defined in the `JDBC URL Parameters`section of this article.

Example:

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/special-api/_index.cn.md
=====================================================
+++
title = "特殊 API"
weight = 5
chapter = true
+++

本章节将介绍 ShardingSphere-JDBC 的特殊场景 API。

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/special-api/sharding/hint.en.md
=====================================================
+++
title = "Hint"
weight = 1
+++

## Background

Apache ShardingSphere uses ThreadLocal to manage sharding key values for mandatory routing. A sharding value can be added by programming to the HintManager that takes effect only within the current thread.

Main application scenarios for Hint:
- The sharding fields do not exist in the SQL and database table structure but in the external business logic.
- Certain data operations are forced to be performed in given databases.

## Procedure

1. Call HintManager.getInstance() to obtain an instance of HintManager.
2. Use HintManager.addDatabaseShardingValue, HintManager.addTableShardingValue to set the sharding key value.
3. Execute SQL statements to complete routing and execution.
4. Call HintManager.close to clean up the contents of ThreadLocal.

## Sample

### Hint Configuration

Hint algorithms require users to implement the interface of `org.apache.shardingsphere.api.sharding.hint.HintShardingAlgorithm`. 
Apache ShardingSphere will acquire sharding values from HintManager to route.

Take the following configurations for reference:

```yaml
rules:
- !SHARDING
  tables:
    t_order:
      actualDataNodes: demo_ds_${0..1}.t_order_${0..1}
      databaseStrategy:
        hint:
          algorithmClassName: xxx.xxx.xxx.HintXXXAlgorithm
      tableStrategy:
        hint:
          algorithmClassName: xxx.xxx.xxx.HintXXXAlgorithm
  defaultTableStrategy:
    none:
  defaultKeyGenerateStrategy:
    type: SNOWFLAKE
    column: order_id

props:
    sql-show: true
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/special-api/sharding/_index.cn.md
=====================================================
+++
title = "数据分片"
weight = 1
chapter = true
+++

本章节将介绍 ShardingSphere-JDBC 的分片场景 API。

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/special-api/sharding/_index.en.md
=====================================================
+++
title = "Sharding"
weight = 1
chapter = true
+++

This chapter will introduce the Sharding API of ShardingSphere-JDBC. 

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/special-api/_index.en.md
=====================================================
+++
title = "Special API"
weight = 5
chapter = true
+++

This chapter will introduce the special API of ShardingSphere-JDBC. 

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/special-api/readwrite-splitting/hint.en.md
=====================================================
+++
title = "Hint"
weight = 1
+++

## Background

Apache ShardingSphere uses `ThreadLocal` to manage primary database routing marks for mandatory routing. A primary database routing mark can be added to `HintManager` through programming, and this value is valid only in the current thread.

`Hint` is mainly used to perform mandatory data operations in the primary database for read/write splitting scenarios.

## Procedure

1. Call `HintManager.getInstance()` to obtain HintManager instance.
2. Call `HintManager.setWriteRouteOnly()` method to set the primary database routing marks.
3. Execute SQL statements to complete routing and execution.
4. Call `HintManager.close()` to clear the content of ThreadLocal.

## Sample

### Primary Route with Hint

#### Get HintManager

The same as sharding based on hint.

#### Configure Primary Database Route

- Use `hintManager.setWriteRouteOnly` to configure primary database route.

#### Clean Hint Value

The same as data sharding based on hint.

#### Code:

```java
String sql = "SELECT * FROM t_order";
try (HintManager hintManager = HintManager.getInstance();
     Connection conn = dataSource.getConnection();
     PreparedStatement preparedStatement = conn.prepareStatement(sql)) {
    hintManager.setWriteRouteOnly();
    try (ResultSet rs = preparedStatement.executeQuery()) {
        while (rs.next()) {
            // ...
        }
    }
}
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/special-api/readwrite-splitting/_index.cn.md
=====================================================
+++
title = "读写分离"
weight = 2
chapter = true
+++

本章节将介绍 ShardingSphere-JDBC 的读写分离场景 API。

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/special-api/readwrite-splitting/_index.en.md
=====================================================
+++
title = "Readwrite-splitting"
weight = 2
chapter = true
+++

This chapter will introduce the Readwrite-splitting API of ShardingSphere-JDBC. 

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/atomikos.en.md
=====================================================
+++
title = "Atomikos Transaction"
weight = 4
+++

## Background

Apache ShardingSphere provides XA transactions, and the default XA transaction manager is Atomikos.

## Procedure

1. Configure the transaction type
2. Configure Atomikos

## Sample

### Configure the transaction type

Yaml:

```yaml
transaction:
  defaultType: XA
  providerType: Atomikos 
```

### Configure Atomikos

Atomikos configuration items can be customized by adding `jta.properties` to the project's classpath.

See [Atomikos's official documentation](https://www.atomikos.com/Documentation/JtaProperties) for more details.

### Data Recovery

`xa_tx.log` is generated in the `logs` directory of the project. This is the log required for recovering XA crash. Do not delete it. 

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/java-api.cn.md
=====================================================
+++
title = "使用 Java API"
weight = 1
+++

## 背景信息

使用 ShardingSphere-JDBC 时,可以通过 API 的方式使用 XA 和 BASE 模式的事务。

## 前提条件

引入 Maven 依赖

```xml
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-jdbc</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>

<!-- 使用 XA 事务时,需要引入此模块 -->
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-transaction-xa-core</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>

<!-- 使用 XA 的 Narayana 模式时,需要引入此模块 -->
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-transaction-xa-narayana</artifactId>
    <version>${project.version}</version>
</dependency>

<!-- 使用 BASE 事务时,需要引入此模块 -->
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-transaction-base-seata-at</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>
```

## 操作步骤

使用事务执行业务逻辑

## 配置示例

```java
// 使用 ShardingSphereDataSource 获取连接,执行事务操作

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/java-api.en.md
=====================================================
+++
title = "Use Java API"
weight = 1
+++

## Background

With ShardingSphere-JDBC, XA and BASE mode transactions can be used through the API.

## Prerequisites

Introducing Maven dependency

```xml
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-jdbc</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>

<!-- This module is required when using XA transactions -->
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-transaction-xa-core</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>

<!-- This module is required when using the Narayana mode with XA transactions -->
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-transaction-xa-narayana</artifactId>
    <version>${project.version}</version>
</dependency>

<!-- This module is required when using BASE transactions -->
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-transaction-base-seata-at</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>
```

## Procedure

Perform the business logic using transactions

## Sample

```java
// Use ShardingSphereDataSource to get a connection and perform transaction operations.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/narayana.en.md
=====================================================
+++
title = "Narayana Transaction"
weight = 5
+++

## Background

Apache ShardingSphere provides XA transactions that integrate with the Narayana implementation.

## Prerequisites

Introducing Maven dependency

```xml
<properties>
    <narayana.version>5.12.7.Final</narayana.version>
    <jboss-transaction-spi.version>7.6.1.Final</jboss-transaction-spi.version>
    <jboss-logging.version>3.2.1.Final</jboss-logging.version>
</properties>

<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-jdbc</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>

<!-- This module is required when using XA transactions -->
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-transaction-xa-core</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>

<dependency>
      <groupId>org.apache.shardingsphere</groupId>
      <artifactId>shardingsphere-transaction-xa-narayana</artifactId>
      <version>${shardingsphere.version}</version>
</dependency>
<dependency>
      <groupId>org.jboss.narayana.jta</groupId>
      <artifactId>jta</artifactId>
      <version>${narayana.version}</version>
</dependency>
<dependency>
       <groupId>org.jboss.narayana.jts</groupId>
       <artifactId>narayana-jts-integration</artifactId>
       <version>${narayana.version}</version>
</dependency>
<dependency>
       <groupId>org.jboss</groupId>

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/atomikos.cn.md
=====================================================
+++
title = "Atomikos 事务"
weight = 4
+++

## 背景信息

Apache ShardingSphere 提供 XA 事务,默认的 XA 事务实现为 Atomikos。
## 操作步骤

1. 配置事务类型
2. 配置 Atomikos

## 配置示例

### 配置事务类型

Yaml:

```yaml
transaction:
  defaultType: XA
  providerType: Atomikos 
```

### 配置 Atomikos

可以通过在项目的 classpath 中添加 `jta.properties` 来定制化 Atomikos 配置项。

详情请参见 [Atomikos 官方文档](https://www.atomikos.com/Documentation/JtaProperties) 。

### 数据恢复

在项目的 `logs` 目录中会生成 `xa_tx.log`, 这是 XA 崩溃恢复时所需的日志,请勿删除。

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/_index.en.md
=====================================================
+++
title = "Transaction"
weight = 3
chapter = true
+++

Using distributed transaction through Apache ShardingSphere is no different from local transaction.
In addition to transparent use of distributed transaction, Apache ShardingSphere can switch distributed transaction types every time the database accesses.

Supported transaction types include local, XA and BASE. 
It can be set before creating a database connection, and default value can be set when Apache ShardingSphere startup.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/seata.en.md
=====================================================
+++
title = "Seata Transaction"
weight = 7
+++

## Background

Apache ShardingSphere provides BASE transactions that integrate the Seata implementation.
All references to Seata integration in this article refer to Seata AT mode.

## Prerequisites

Introduce Maven dependencies and exclude the outdated Maven dependencies of `org.antlr:antlr4-runtime:4.8` in `io.seata:seata-all`.

```xml
<project>
    <dependencies>
      <dependency>
         <groupId>org.apache.shardingsphere</groupId>
         <artifactId>shardingsphere-jdbc</artifactId>
         <version>${shardingsphere.version}</version>
      </dependency>
      <dependency>
         <groupId>org.apache.shardingsphere</groupId>
         <artifactId>shardingsphere-transaction-base-seata-at</artifactId>
         <version>${shardingsphere.version}</version>
      </dependency>
      <dependency>
         <groupId>io.seata</groupId>
         <artifactId>seata-all</artifactId>
         <version>2.0.0</version>
         <exclusions>
            <exclusion>
               <groupId>org.antlr</groupId>
               <artifactId>antlr4-runtime</artifactId>
            </exclusion>
         </exclusions>
      </dependency>
    </dependencies>
</project>
```

## Procedure

1. Start Seata Server
2. Create the log table
3. Add the Seata configuration

## Sample


=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/special-api/transaction/narayana.cn.md
=====================================================
+++
title = "Narayana 事务"
weight = 5
+++

## 背景信息

Apache ShardingSphere 提供 XA 事务,集成了 Narayana 的实现。

## 前提条件

引入 Maven 依赖

```xml
<properties>
    <narayana.version>5.12.7.Final</narayana.version>
    <jboss-transaction-spi.version>7.6.1.Final</jboss-transaction-spi.version>
    <jboss-logging.version>3.2.1.Final</jboss-logging.version>
</properties>

<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-jdbc</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>

<!-- 使用 XA 事务时,需要引入此模块 -->
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-transaction-xa-core</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>

<dependency>
      <groupId>org.apache.shardingsphere</groupId>
      <artifactId>shardingsphere-transaction-xa-narayana</artifactId>
      <version>${shardingsphere.version}</version>
</dependency>
<dependency>
      <groupId>org.jboss.narayana.jta</groupId>
      <artifactId>jta</artifactId>
      <version>${narayana.version}</version>
</dependency>
<dependency>
       <groupId>org.jboss.narayana.jts</groupId>
       <artifactId>narayana-jts-integration</artifactId>
       <version>${narayana.version}</version>
</dependency>
<dependency>
       <groupId>org.jboss</groupId>

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/_index.en.md
=====================================================
+++
title = "Optional Plugins"
weight = 6
+++

ShardingSphere only includes the implementation of the core SPI by default, and there is a part of the SPI that contains third-party dependencies in Git Source
Implemented plugins are not included. Retrievable at https://central.sonatype.com/.

SPI and existing implementation classes of SPI corresponding to all plugins can be retrieved at https://shardingsphere.apache.org/document/current/cn/dev-manual/.

All the built-in plugins for ShardingSphere-JDBC are listed below in the form of 'groupId:artifactId'.

- `org.apache.shardingsphere:shardingsphere-authority-core`, the user authority to load the logical core
- `org.apache.shardingsphere:shardingsphere-cluster-mode-core`, the persistent definition core of cluster mode configuration information
- `org.apache.shardingsphere:shardingsphere-db-discovery-core`, high availability core
- `org.apache.shardingsphere:shardingsphere-encrypt-core`, data encryption core
- `org.apache.shardingsphere:shardingsphere-infra-context`, the kernel operation and metadata refresh mechanism of Context
- `org.apache.shardingsphere:shardingsphere-logging-core`, logging core
- `org.apache.shardingsphere:shardingsphere-mask-core`, data masking core
- `org.apache.shardingsphere:shardingsphere-mysql-dialect-exception`, MySQL implementation of database gateway
- `org.apache.shardingsphere:shardingsphere-parser-core`, SQL parsing core
- `org.apache.shardingsphere:shardingsphere-postgresql-dialect-exception`, PostgreSQL implementation of database
- `org.apache.shardingsphere:shardingsphere-readwrite-splitting-core`, read-write splitting core
- `org.apache.shardingsphere:shardingsphere-shadow-core`, shadow library core
- `org.apache.shardingsphere:shardingsphere-sharding-core`, data sharding core
- `org.apache.shardingsphere:shardingsphere-single-core`, single-table (only the only table that exists in all sharded data sources) core
- `org.apache.shardingsphere:shardingsphere-sql-federation-core`, federation query executor core
- `org.apache.shardingsphere:shardingsphere-sql-parser-mysql`, MySQL dialect implementation of SQL parsing
- `org.apache.shardingsphere:shardingsphere-sql-parser-opengauss`, OpenGauss dialect implementation of SQL parsing
- `org.apache.shardingsphere:shardingsphere-sql-parser-oracle`, Oracle dialect implementation of SQL parsing
- `org.apache.shardingsphere:shardingsphere-sql-parser-postgresql`, PostgreSQL dialect implementation of SQL parsing
- `org.apache.shardingsphere:shardingsphere-sql-parser-sql92`,the SQL 92 dialect implementation of SQL parsing
- `org.apache.shardingsphere:shardingsphere-sql-parser-sqlserver`, SQL Server dialect implementation of SQL parsing
- `org.apache.shardingsphere:shardingsphere-standalone-mode-core`, the persistence definition core of single-machine mode configuration information
- `org.apache.shardingsphere:shardingsphere-standalone-mode-repository-jdbc-h2`, H2 implementation of persistent definition of configuration information in stand-alone mode
- `org.apache.shardingsphere:shardingsphere-traffic-core`, traffic governance core
- `org.apache.shardingsphere:shardingsphere-transaction-core`, XA Distributed Transaction Manager Core

If ShardingSphere-JDBC needs to use optional plugins, you need to download the JAR containing its SPI implementation and its dependent JARs from Maven Central.

All optional plugins are listed below in the form of `groupId:artifactId`.

- Standalone mode configuration information persistence definition
  - `org.apache.shardingsphere:shardingsphere-standalone-mode-repository-jdbc-mysql`, MySQL based persistence
- Cluster mode configuration information persistence definition
  - `org.apache.shardingsphere:shardingsphere-cluster-mode-repository-zookeeper`, Zookeeper based persistence
  - `org.apache.shardingsphere:shardingsphere-cluster-mode-repository-etcd`, Etcd based persistence
- XA transaction manager provider definition
  - `org.apache.shardingsphere:shardingsphere-transaction-xa-narayana`, XA distributed transaction manager based on Narayana
- Row Value Expressions definition

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/sql-parser.en.md
=====================================================
+++
title = "SQL Parser"
weight = 8
+++

## Background

SQL is the standard language for users to communicate with databases. The SQL parsing engine is responsible for parsing the SQL string into an abstract syntax tree for Apache ShardingSphere to understand and implement its incremental function.
Currently, MySQL, PostgreSQL, SQLServer, Oracle, openGauss and SQL dialects conforming to SQL92 specifications are supported. Due to the complexity of SQL syntax, there are still a few unsupported SQLs.
By using SQL parsing in the form of Java API, you can easily integrate into various systems and flexibly customize user requirements.

## Parameters

Class: org.apache.shardingsphere.parser.config.SQLParserRuleConfiguration

Attributes:

| *name*                     | *DataType*  | *Description*                               |
|----------------------------|-------------|---------------------------------------------|
| parseTreeCache (?)         | CacheOption | Parse syntax tree local cache configuration |
| sqlStatementCache (?)      | CacheOption | sql statement local cache configuration     |

## Cache option Configuration

Class:org.apache.shardingsphere.sql.parser.api.CacheOption

Attributes:

| *name*          | *DataType* | *Description*                   | *Default Value*                                                                                                         |
|-----------------|------------|---------------------------------|-------------------------------------------------------------------------------------------------------------------------|
| initialCapacity | int        | Initial capacity of local cache | parser syntax tree local cache default value 128, SQL statement cache default value 2000                                |
| maximumSize(?)  | long       | Maximum capacity of local cache | The default value of local cache for parsing syntax tree is 1024, and the default value of sql statement cache is 65535 |

## Procedure

1. Set local cache configuration.
2. Set resolution configuration.
3. Use the parsing engine to parse SQL.
   
## Sample

```java
CacheOption cacheOption = new CacheOption(128, 1024L);
SQLParserEngine parserEngine = new SQLParserEngine("MySQL", cacheOption);
ParseASTNode parseASTNode = parserEngine.parse("SELECT t.id, t.name, t.age FROM table1 AS t ORDER BY t.id DESC;", false);
SQLStatementVisitorEngine visitorEngine = new SQLStatementVisitorEngine("MySQL");
MySQLStatement sqlStatement = visitorEngine.visit(parseASTNode);
System.out.println(sqlStatement.toString());
```
   

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/transaction.en.md
=====================================================
+++
title = "Distributed Transaction"
weight = 4
+++

## Root Configuration

org.apache.shardingsphere.transaction.config.TransactionRuleConfiguration

Attributes:

| *name*           | *DataType* | *Description*             |
|------------------|------------|---------------------------|
| defaultType      | String     | Default transaction type  |
| providerType (?) | String     | Transaction provider type |
| props (?)        | Properties | Transaction properties    |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/sql-translator.en.md
=====================================================
+++
title = "SQL Translator"
weight = 9
+++

## Background

By using SQL translator in the form of Java API, you can easily integrate into various systems and flexibly customize user requirements.

## Parameters

Class: org.apache.shardingsphere.sqltranslator.api.config.SQLTranslatorRuleConfiguration

Attributes:

| *name*                                  | *DataType* | *Description*                                    |
|-----------------------------------------|------------|--------------------------------------------------|
| type                                    | String     | SQL translator type                              |
| useOriginalSQLWhenTranslatingFailed (?) | boolean    | Whether use original SQL when translating failed |

## Procedure

1. Set SQL translator type.
2. Set useOriginalSQLWhenTranslatingFailed to decide whether use original SQL when translating failed.

## Sample

```java
SQLTranslatorRuleConfiguration ruleConfig = new SQLTranslatorRuleConfiguration("Native", new Properties(), false);
String translatedSQL = new SQLTranslatorRule(ruleConfig).translate();
```

## Related References
- [YAML Configuration: SQL Translator](/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-translator/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/sharding-cache.en.md
=====================================================
+++
title = "Cache for Sharding Route"
weight = 11
+++

## Background

This feature is **experimental** and needs to be used with the data sharding rule.
The cache for sharding route will put the logical SQL, the parameter value of the shard key, and the routing result into the cache, exchange space for time, and reduce CPU usage of the routing logic.

We recommend enabling it only if the following conditions are met:
- Pure OLTP scenarios.
- The CPU of the machine which deployed the ShardingSphere process has reached the bottleneck.
- Most of the CPUs are used by ShardingSphere routing logic.
- All SQLs are optimized and each SQL execution could be routed to a single data node.

If the above conditions are not met, the execution delay of SQL may not be significantly improved, and the memory pressure will be increased.

## Parameters

Class:org.apache.shardingsphere.sharding.api.config.cache.ShardingCacheConfiguration

Attributes:

| *name*                                  | *DataType* | *Description*                                    | *Default Value* |
|-----------------------|------------------------------------------------------|----------------|-------|
| allowedMaxSqlLength            | int                                                  | 允许缓存的 SQL 长度限制 | -     |
| routeCache | org.apache.shardingsphere.sharding.api.config.cache.ShardingCacheOptionsConfiguration | 路由缓存           | -     |

Class:org.apache.shardingsphere.sharding.api.config.cache.ShardingCacheOptionsConfiguration

Attributes:

| *name*                                  | *DataType* | *Description*                                    | *Default Value* |
|-----------------------|------------------------------------------------------|----------------|-------|
| softValues            | boolean                                                  | 是否软引用缓存值 | -     |
| initialCapacity | int | 缓存初始容量           | -     |
| maximumSize | int | 缓存最大容量           | -     |

## Sample

```java
public final class ShardingDatabasesAndTablesConfigurationPrecise {
    
    @Override
    public DataSource getDataSource() throws SQLException {
        return ShardingSphereDataSourceFactory.createDataSource(createDataSourceMap(), Arrays.asList(createShardingRuleConfiguration(), createBroadcastRuleConfiguration())), new Properties());
    }
    
    private ShardingRuleConfiguration createShardingRuleConfiguration() {

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/mix.en.md
=====================================================
+++
title = "Mixed Rules"
weight = 10
+++

## Background

ShardingSphere provides a variety of features, such as data sharding, read/write splitting, high availability, and data encryption. These features can be used independently or in combination. 
Below, you will find the configuration samples based on JAVA API.

## Samples

```java
// Sharding configuration
private ShardingRuleConfiguration createShardingRuleConfiguration() {
    ShardingRuleConfiguration result = new ShardingRuleConfiguration();
    result.getTables().add(getOrderTableRuleConfiguration());
    result.setDefaultDatabaseShardingStrategy(new StandardShardingStrategyConfiguration("user_id", "inline"));
    result.setDefaultTableShardingStrategy(new StandardShardingStrategyConfiguration("order_id", "standard_test_tbl"));
    Properties props = new Properties();
    props.setProperty("algorithm-expression", "demo_ds_${user_id % 2}");
    result.getShardingAlgorithms().put("inline", new AlgorithmConfiguration("INLINE", props));
    result.getShardingAlgorithms().put("standard_test_tbl", new AlgorithmConfiguration("STANDARD_TEST_TBL", new Properties()));
    result.getKeyGenerators().put("snowflake", new AlgorithmConfiguration("SNOWFLAKE", new Properties()));
    return result;
}

private ShardingTableRuleConfiguration getOrderTableRuleConfiguration() {
    ShardingTableRuleConfiguration result = new ShardingTableRuleConfiguration("t_order", "demo_ds_${0..1}.t_order_${[0, 1]}");
    result.setKeyGenerateStrategy(new KeyGenerateStrategyConfiguration("order_id", "snowflake"));
    return result;
}

// Read/write splitting configuration
private static ReadwriteSplittingRuleConfiguration createReadwriteSplittingConfiguration() {
    ReadwriteSplittingDataSourceRuleConfiguration dataSourceConfiguration1 = new ReadwriteSplittingDataSourceRuleConfiguration("replica_ds_0", Arrays.asList("readwrite_ds_0"), true), "");
    ReadwriteSplittingDataSourceRuleConfiguration dataSourceConfiguration2 = new ReadwriteSplittingDataSourceRuleConfiguration("replica_ds_1", Arrays.asList("readwrite_ds_1"), true), "");
    Collection<ReadwriteSplittingDataSourceRuleConfiguration> dataSources = new LinkedList<>();
    dataSources.add(dataSourceRuleConfiguration1);
    dataSources.add(dataSourceRuleConfiguration2);
    return new ReadwriteSplittingRuleConfiguration(dataSources, Collections.emptyMap());
}

// Data encryption configuration
private static EncryptRuleConfiguration createEncryptRuleConfiguration() {
    Properties props = new Properties();
    props.setProperty("aes-key-value", "123456");
    EncryptColumnRuleConfiguration columnConfigAes = new EncryptColumnRuleConfiguration("username", new EncryptColumnItemRuleConfiguration("username", "name_encryptor"));
    EncryptColumnRuleConfiguration columnConfigTest = new EncryptColumnRuleConfiguration("pwd", new EncryptColumnItemRuleConfiguration("pwd", "pwd_encryptor"));
    columnConfigTest.setAssistedQuery(new EncryptColumnItemRuleConfiguration("assisted_query_pwd", "pwd_encryptor"));

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/shadow.en.md
=====================================================
+++
title = "Shadow DB"
weight = 7
+++

## Background

In the distributed application architecture based on microservices, businesses require multiple services to be completed through a series of services and middleware, so the stress test of a single service can no longer meet the needs of real scenarios. If we reconstruct a stress test environment similar to the production environment, it is too expensive and often fails to simulate the complexity and traffic of the online environment. For this reason, the industry often chooses the full link stress test, which is performed in the production environment, so that the test results can accurately reflect the true capacity and performance of the system. 

## Parameters

### Root Configuration

Class name: org.apache.shardingsphere.shadow.api.config.ShadowRuleConfiguration

Attributes:

| *Name*                     | *Data Type*                                  | *Description*                                     |
|----------------------------|----------------------------------------------|---------------------------------------------------|
| dataSources                | Map\<String, ShadowDataSourceConfiguration\> | shadow data source mapping name and configuration |
| tables                     | Map\<String, ShadowTableConfiguration\>      | shadow table name and configuration               |
| shadowAlgorithms           | Map\<String, AlgorithmConfiguration\>        | shadow algorithm name and configuration           |
| defaultShadowAlgorithmName | String                                       | default shadow algorithm name                     |

### Shadow Data Source Configuration

Class name: org.apache.shardingsphere.shadow.api.config.datasource.ShadowDataSourceConfiguration

Attributes:

| *Name*                   | *DataType* | *Description*               |
|--------------------------|------------|-----------------------------|
| productionDataSourceName | String     | Production data source name |
| shadowDataSourceName     | String     | Shadow data source name     |

### Shadow Table Configuration

Class name: org.apache.shardingsphere.shadow.api.config.table.ShadowTableConfiguration

Attributes:

| *Name*               | *Data Type*          | *Description*                                                |
|----------------------|----------------------|--------------------------------------------------------------|
| dataSourceNames      | Collection\<String\> | shadow table associates shadow data source mapping name list |
| shadowAlgorithmNames | Collection\<String\> | shadow table associates shadow algorithm name list           |

### Shadow Algorithm Configuration

Class name:org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration


=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/encrypt.en.md
=====================================================
+++
title = "Encryption"
weight = 5
+++

## Background

The data encryption Java API rule configuration allows users to directly create ShardingSphereDataSource objects by writing java code. The Java API configuration method is very flexible and can integrate various types of business systems without relying on additional jar packages.

## Parameters

### Root Configuration

Class name: org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration

Attributes:

| *Name*                    | *DataType*                                  | *Description*                                                                                  | *Default Value* |
|---------------------------|---------------------------------------------|------------------------------------------------------------------------------------------------|-----------------|
| tables (+)                | Collection\<EncryptTableRuleConfiguration\> | Encrypt table rule configurations                                                              |                 |
| encryptors (+)            | Map\<String, AlgorithmConfiguration\>       | Encrypt algorithm name and configurations                                                      |                 |

### Encrypt Table Rule Configuration

Class name: org.apache.shardingsphere.encrypt.api.config.rule.EncryptTableRuleConfiguration

Attributes:

| *Name*                    | *DataType*                                   | *Description*                                                       |
|---------------------------|----------------------------------------------|---------------------------------------------------------------------|
| name                      | String                                       | Table name                                                          |
| columns (+)               | Collection\<EncryptColumnRuleConfiguration\> | Encrypt column rule configurations                                  |

### Encrypt Column Rule Configuration

Class name: org.apache.shardingsphere.encrypt.api.config.rule.EncryptColumnRuleConfiguration

Attributes:

| *Name*        | *DataType*                         | *Description*                |
|---------------|------------------------------------|------------------------------|
| name          | String                             | Logic column name            |
| cipher        | EncryptColumnItemRuleConfiguration | Cipher column config         |
| assistedQuery (?) | EncryptColumnItemRuleConfiguration | Assisted query column config |
| likeQuery (?) | EncryptColumnItemRuleConfiguration | Like query column config     |

### Encrypt Column Item Rule Configuration

Class name: org.apache.shardingsphere.encrypt.api.config.rule.EncryptColumnItemRuleConfiguration


=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/_index.cn.md
=====================================================
+++
title = "规则配置"
weight = 3
chapter = true
+++

规则是 Apache ShardingSphere 面向可插拔的一部分。
本章节是 ShardingSphere-JDBC 的 Java 规则配置参考手册。

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/mask.en.md
=====================================================
+++
title = "Data Masking"
weight = 6
+++

## Background

The data masking Java API rule configuration allows users to directly create ShardingSphereDataSource objects by writing java code. The Java API configuration method is very flexible and can integrate various types of business systems without relying on additional jar packages.

## Parameters

### Root Configuration

Class name: org.apache.shardingsphere.mask.api.config.MaskRuleConfiguration

Attributes:

| *Name*             | *DataType*                               | *Description*                          | *Default Value* |
|--------------------|------------------------------------------|----------------------------------------|-----------------|
| tables (+)         | Collection\<MaskTableRuleConfiguration\> | Mask table rule configurations         |                 |
| maskAlgorithms (+) | Map\<String, AlgorithmConfiguration\>    | Mask algorithm name and configurations |                 |

### Mask Table Rule Configuration

Class name: org.apache.shardingsphere.mask.api.config.rule.MaskTableRuleConfiguration

Attributes:

| *Name*      | *DataType*                                | *Description*                   |
|-------------|-------------------------------------------|---------------------------------|
| name        | String                                    | Table name                      |
| columns (+) | Collection\<MaskColumnRuleConfiguration\> | Mask column rule configurations |

### Mask Column Rule Configuration

Class name: org.apache.shardingsphere.mask.api.config.rule.MaskColumnRuleConfiguration

Attributes:

| *Name*        | *DataType* | *Description*       |
|---------------|------------|---------------------|
| logicColumn   | String     | Logic column name   |
| maskAlgorithm | String     | Mask algorithm name |

### Mask Algorithm Configuration

Class name: org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration

Attributes:


=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/sql-federation.en.md
=====================================================
+++
title = "SQL-federation"
weight = 13
+++

## Background

This function is an **experimental one and is currently not suitable for use in core system production environments**.
When multiple tables in a join query are distributed across different database instances, enabling federated query allows for cross-database join queries, as well as subqueries.

## Parameters

Class: org.apache.shardingsphere.sqlfederation.api.config.SQLFederationRuleConfiguration

Attributes: 

| *name*                  | *DataType*  | *Description*              | *Default Value* |
|---------------------|---------|-------------------|-------|
| sqlFederationEnabled          | boolean | SQL federation enabled configuration          | -     |
| allQueryUseSQLFederation | boolean | all query use SQL federation configuration | -     |
| executionPlanCache | org.apache.shardingsphere.sql.parser.api.CacheOption | execution plan cache configuration            | -     |

## Cache option Configuration

Class: org.apache.shardingsphere.sql.parser.api.CacheOption

Attributes: 

| *name*            | *DataType* | *Description*         | *Default Value*                                        |
|-----------------|--------|-----------------------|--------------------------------------------------------|
| initialCapacity | int    | Initial capacity of local cache | execution plan local cache default value of 2000       |
| maximumSize     | long   | Maximum capacity of local cache | execution plan local cache maximum default value 65535 |

## Sample

```java
private SQLFederationRuleConfiguration createSQLFederationRuleConfiguration() {
    CacheOption executionPlanCache = new CacheOption(2000, 65535L);
    return new SQLFederationRuleConfiguration(true, false, executionPlanCache);
}
```

## Related References

- [YAML Configuration:SQL Federation](/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-federation/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/broadcast.en.md
=====================================================
+++
title = "Broadcast Table"
weight = 2
+++

## Background

The Java API rule configuration for broadcast, which allows users to create ShardingSphereDataSource objects directly by writing Java code, is flexible enough to integrate various types of business systems without relying on additional jar packages.

## Parameters

Class:org.apache.shardingsphere.broadcast.api.config.BroadcastRuleConfiguration

Attributes:

| *name*                                  | *DataType* | *Description*                                    | *Default Value* |
|---------------------------|---------------------------------------------|------------|-------|
| tables (+)                | Collection\<String\> | Broadcast table rules    |       |

## Sample

The following is an example of the broadcast table Java API configuration:

```java
public final class ShardingDatabasesAndTablesConfigurationPrecise {
    
    @Override
    public DataSource getDataSource() throws SQLException {
        return ShardingSphereDataSourceFactory.createDataSource(createDataSourceMap(), Arrays.asList(createBroadcastRuleConfiguration()), new Properties());
    }
    
    private Map<String, DataSource> createDataSourceMap() {
        Map<String, DataSource> result = new HashMap<>();
        result.put("demo_ds_0", DataSourceUtil.createDataSource("demo_ds_0"));
        result.put("demo_ds_1", DataSourceUtil.createDataSource("demo_ds_1"));
        return result;
    }
    
    private BroadcastRuleConfiguration createBroadcastRuleConfiguration() {
        return new BroadcastRuleConfiguration(Collections.singletonList("t_address"));
    }
}
```

## Related References
- [YAML Configuration: Broadcast](/en/user-manual/shardingsphere-jdbc/yaml-config/rules/broadcast/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/_index.en.md
=====================================================
+++
title = "Rules"
weight = 3
chapter = true
+++

Rules are pluggable part of Apache ShardingSphere.
This chapter is a java rule configuration manual for ShardingSphere-JDBC.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/single.en.md
=====================================================
+++
title = "Single Table"
weight = 12
+++

## Background

Single rule is used to specify which single tables need to be managed by ShardingSphere, or to set the default single table data source.

## Parameters

Class:org.apache.shardingsphere.single.api.config.SingleRuleConfiguration

Attributes:

| *name*                                  | *DataType* | *Description*                    | *Default Value* |
|-----------------------|----------------------|----------------------------------|-----------------|
| tables (+)            | Collection\<String\> | single tables                    | -               |
| defaultDataSource (?) | String | single table default data source | -               |

## Procedure

1. Initialize SingleRuleConfiguration;
2. Add a single table to be loaded and configure the default data source.

## Sample

```java
SingleRuleConfiguration ruleConfig = new SingleRuleConfiguration();
ShardingSphereDataSourceFactory.createDataSource(createDataSourceMap(), Arrays.asList(ruleConfig), new Properties());
```

## Related References

- [Single Table](/en/features/sharding/concept/#single-table)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/transaction.cn.md
=====================================================
+++
title = "分布式事务"
weight = 4
+++

## 配置入口

org.apache.shardingsphere.transaction.config.TransactionRuleConfiguration

可配置属性:

| *名称*             | *数据类型*     | *说明*    |
|------------------|------------|---------|
| defaultType      | String     | 默认事务类型  |
| providerType (?) | String     | 事务提供者类型 |
| props (?)        | Properties | 事务属性配置  |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/sharding.en.md
=====================================================
+++
title = "Sharding"
weight = 1
+++

## Background

The Java API rule configuration for data sharding, which allows users to create ShardingSphereDataSource objects directly by writing Java code, is flexible enough to integrate various types of business systems without relying on additional jar packages.

## Parameters

### Root Configuration

Class name: org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration

Attributes:

| *Name*                              | *DataType*                                       | *Description*                                    | *Default Value*         |
|-------------------------------------|--------------------------------------------------|--------------------------------------------------|-------------------------|
| tables (+)                          | Collection\<ShardingTableRuleConfiguration\>     | Sharding table rules                             | -                       |
| autoTables (+)                      | Collection\<ShardingAutoTableRuleConfiguration\> | Sharding auto table rules                        | -                       |
| bindingTableGroups (*)              | Collection\<String\>                             | Binding table rules                              | Empty                   |
| defaultDatabaseShardingStrategy (?) | ShardingStrategyConfiguration                    | Default database sharding strategy               | Not sharding            |
| defaultTableShardingStrategy (?)    | ShardingStrategyConfiguration                    | Default table sharding strategy                  | Not sharding            |
| defaultKeyGenerateStrategy (?)      | KeyGeneratorConfiguration                        | Default key generator                            | Snowflake               |
| defaultAuditStrategy (?)            | ShardingAuditStrategyConfiguration               | Default key auditor                              | DML_SHARDING_CONDITIONS |
| defaultShardingColumn (?)           | String                                           | Default sharding column name                     | None                    |
| shardingAlgorithms (+)              | Map\<String, AlgorithmConfiguration\>            | Sharding algorithm name and configurations       | None                    |
| keyGenerators (?)                   | Map\<String, AlgorithmConfiguration\>            | Key generate algorithm name and configurations   | None                    |
| auditors (?)                        | Map\<String, AlgorithmConfiguration\>            | Sharding audit algorithm name and configurations | None                    |

### Sharding Table Configuration

Class name: org.apache.shardingsphere.sharding.api.config.ShardingTableRuleConfiguration

Attributes:

| *Name*                       | *DataType*                         | *Description*                                                                                                                         | *Default Value*                            |
|------------------------------|------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------|
| logicTable                   | String                             | Name of sharding logic table                                                                                                          | -                                          |
| actualDataNodes (?)          | String                             | Describe data source names and actual tables, delimiter as point.<br /> Multiple data nodes split by comma, support inline expression | Broadcast table or databases sharding only |
| databaseShardingStrategy (?) | ShardingStrategyConfiguration      | Databases sharding strategy                                                                                                           | Use default databases sharding strategy    |
| tableShardingStrategy (?)    | ShardingStrategyConfiguration      | Tables sharding strategy                                                                                                              | Use default tables sharding strategy       |
| keyGenerateStrategy (?)      | KeyGeneratorConfiguration          | Key generator configuration                                                                                                           | Use default key generator                  |
| auditStrategy (?)            | ShardingAuditStrategyConfiguration | Sharding audit strategy configuration                                                                                                 | Use default auditor                        |

### Sharding Auto Table Configuration

Class name: org.apache.shardingsphere.sharding.api.config.ShardingAutoTableRuleConfiguration


=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting.en.md
=====================================================
+++
title = "Readwrite-splitting"
weight = 3
+++

## Background

The read/write splitting configured in Java API form can be easily applied to various scenarios without relying on additional jar packages. Users only need to construct the read/write splitting data source through java code to be able to use the read/write splitting function.

## Parameters Explained

### Entry

Class name: org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration

Configurable Properties:

| *Name*            | *DataType*                                                  | *Description*                                                          |
|-------------------|-------------------------------------------------------------|------------------------------------------------------------------------|
| dataSources (+)   | Collection\<ReadwriteSplittingDataSourceRuleConfiguration\> | Data sources of write and reads                                        |
| loadBalancers (*) | Map\<String, AlgorithmConfiguration\>                       | Load balance algorithm name and configurations of replica data sources |

### Primary-secondary Data Source Configuration

Class name: org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration

Configurable Properties:

| *Name*                             | *DataType*                     | *Description*                                                                                                                                          | *Default Value*                    |
|------------------------------------|--------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------|
| name                               | String                         | Readwrite-splitting data source name                                                                                                                   | -                                  |
| writeDataSourceName                | String                         | Write data source name                                                                                                                                 | -                                  |
| readDataSourceNames                | List\<String\>                 | Read data sources list                                                                                                                                 | -                                  |
| transactionalReadQueryStrategy (?) | TransactionalReadQueryStrategy | Routing strategy for read query within a transaction, values include: PRIMARY (to primary), FIXED (to fixed data source), DYNAMIC (to any data source) | DYNAMIC                            |
| loadBalancerName (?)               | String                         | Load balance algorithm name of replica sources                                                                                                         | Round robin load balance algorithm |

Please refer to [Built-in Load Balance Algorithm List](/en/user-manual/common-config/builtin-algorithm/load-balance) for details on algorithm types.

## Operating Procedures

1. Add read-write splitting data source
1. Set load balancing algorithms
1. Use read-write splitting data source 
   
## Configuration Examples

```java
public DataSource getDataSource() throws SQLException {
        ReadwriteSplittingDataSourceRuleConfiguration dataSourceConfig = new ReadwriteSplittingDataSourceRuleConfiguration(
                "demo_read_query_ds", "demo_write_ds", Arrays.asList("demo_read_ds_0", "demo_read_ds_1"), "demo_weight_lb");

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/mode.en.md
=====================================================
+++
title = "Mode"
weight = 1
chapter = true
+++

## Background

Build the running mode through Java API.

## Parameters

Class name: org.apache.shardingsphere.infra.config.mode.ModeConfiguration

Attributes:

| *Name*     | *DataType*                     | *Description*                                                                                                                                                    | *Default Value* |
|------------|--------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|
| type       | String                         | Type of mode configuration<br />Values could be: Standalone or Cluster                                                                                           | Standalone      |
| repository | PersistRepositoryConfiguration | Persist repository configuration<br />Standalone type uses StandalonePersistRepositoryConfiguration<br />Cluster type uses ClusterPersistRepositoryConfiguration |                 |

### Standalone Persist Configuration

Class name: org.apache.shardingsphere.mode.repository.standalone.StandalonePersistRepositoryConfiguration

Attributes:

| *Name* | *DataType* | *Description*                    |
|--------|------------|----------------------------------|
| type   | String     | Type of persist repository       |
| props  | Properties | Properties of persist repository |

### Cluster Persist Configuration

Class name: org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepositoryConfiguration

Attributes:

| *Name*       | *Data Type* | *Description*                    |
|--------------|-------------|----------------------------------|
| type         | String      | Type of persist repository       |
| namespace    | String      | Namespace of registry center     |
| server-lists | String      | Server lists of registry center  |
| props        | Properties  | Properties of persist repository |

## Notes

1. Cluster mode deployment is recommended for production environment.
1. The `ZooKeeper` registry center is recommended for cluster mode deployment. 
1. If there is configuration information in the `ZooKeeper`, please refer to the config information there.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/_index.cn.md
=====================================================
+++
title = "Java API"
weight = 2
chapter = true
+++

## 简介

Java API 是 ShardingSphere-JDBC 中所有配置方式的基础,其他配置最终都将转化成为 Java API 的配置方式。

Java API 是最繁琐也是最灵活的配置方式,适合需要通过编程进行动态配置的场景下使用。

## 使用步骤

### 引入 Maven 依赖

```xml
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-jdbc</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>
```

### 构建数据源

ShardingSphere-JDBC 的 Java API 由 Database 名称、运行模式、数据源集合、规则集合以及属性配置组成。

通过 ShardingSphereDataSourceFactory 工厂创建的 ShardingSphereDataSource 实现自 JDBC 的标准接口 DataSource。

```java
String databaseName = "foo_schema"; // 指定逻辑 Database 名称
ModeConfiguration modeConfig = ... // 构建运行模式
Map<String, DataSource> dataSourceMap = ... // 构建真实数据源
Collection<RuleConfiguration> ruleConfigs = ... // 构建具体规则
Properties props = ... // 构建属性配置
DataSource dataSource = ShardingSphereDataSourceFactory.createDataSource(databaseName, modeConfig, dataSourceMap, ruleConfigs, props);
```

模式详情请参见[模式配置](/cn/user-manual/shardingsphere-jdbc/java-api/mode)。

数据源详情请参见[数据源配置](/cn/user-manual/shardingsphere-jdbc/java-api/data-source)。

规则详情请参见[规则配置](/cn/user-manual/shardingsphere-jdbc/java-api/rules)。

### 使用数据源

可通过 DataSource 选择使用原生 JDBC,或 JPA、Hibernate、MyBatis 等 ORM 框架。

以原生 JDBC 使用方式为例:

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/mode.cn.md
=====================================================
+++
title = "模式配置"
weight = 1
chapter = true
+++

## 背景信息

通过 Java API 方式构建运行模式。

## 参数解释

类名称:org.apache.shardingsphere.infra.config.mode.ModeConfiguration

可配置属性:

| *名称*       | *数据类型*                         | *说明*                                                                                                                          | *默认值*      |
|------------|--------------------------------|-------------------------------------------------------------------------------------------------------------------------------|------------|
| type       | String                         | 运行模式类型<br />可选配置:Standalone、Cluster                                                                                           | Standalone |
| repository | PersistRepositoryConfiguration | 持久化仓库配置<br />Standalone 类型使用 StandalonePersistRepositoryConfiguration<br />Cluster 类型使用 ClusterPersistRepositoryConfiguration |            | | false      |

### Standalone 持久化配置

类名称:org.apache.shardingsphere.mode.repository.standalone.StandalonePersistRepositoryConfiguration

可配置属性:

| *名称*  | *数据类型*     | *说明*      |
|-------|------------|-----------|
| type  | String     | 持久化仓库类型   |
| props | Properties | 持久化仓库所需属性 |

### Cluster 持久化配置

类名称:org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepositoryConfiguration

可配置属性:

| *名称*         | *数据类型*     | *说明*      |
|--------------|------------|-----------|
| type         | String     | 持久化仓库类型   |
| namespace    | String     | 注册中心命名空间  |
| server-lists | String     | 注册中心连接地址  |
| props        | Properties | 持久化仓库所需属性 |

## 注意事项

1. 生产环境建议使用集群模式部署。
1. 集群模式部署推荐使用 `ZooKeeper` 注册中心。
1. `ZooKeeper` 存在配置信息时,则以 `ZooKeeper` 中的配置为准。

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/_index.en.md
=====================================================
+++
title = "Java API"
weight = 2
chapter = true
+++

## Overview

Java API is the basic configuration methods in ShardingSphere-JDBC,
and other configurations will eventually be transformed into Java API configuration methods.

The Java API is the most complex and flexible configuration method, which is suitable for the scenarios requiring dynamic configuration through programming.

## Usage

### Import Maven Dependency

```xml
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-jdbc</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>
```

### Create Data Source

ShardingSphere-JDBC Java API consists of database name, mode configuration, data source map, rule configurations and properties.

The ShardingSphereDataSource created by ShardingSphereDataSourceFactory implements the standard JDBC DataSource interface.

```java
String databaseName = "foo_schema"; // Indicate logic database name
ModeConfiguration modeConfig = ... // Build mode configuration
Map<String, DataSource> dataSourceMap = ... // Build actual data sources
Collection<RuleConfiguration> ruleConfigs = ... // Build concentrate rule configurations
Properties props = ... // Build properties
DataSource dataSource = ShardingSphereDataSourceFactory.createDataSource(databaseName, modeConfig, dataSourceMap, ruleConfigs, props);
```

Please refer to [Mode Configuration](/en/user-manual/shardingsphere-jdbc/java-api/mode) for more mode details.

Please refer to [Data Source Configuration](/en/user-manual/shardingsphere-jdbc/java-api/data-source) for more data source details.

Please refer to [Rules Configuration](/en/user-manual/shardingsphere-jdbc/java-api/rules) for more rule details.

### Use Data Source

Developer can choose to use native JDBC or ORM frameworks such as JPA, Hibernate or MyBatis through the DataSource.


=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/algorithm.en.md
=====================================================
+++
title = "Algorithm"
weight = 4
chapter = true
+++

## Sharding

```java
ShardingRuleConfiguration ruleConfiguration = new ShardingRuleConfiguration();
// algorithmName is specified by users and should be consistent with the sharding algorithm in the sharding strategy.
// type and props, please refer to the built-in sharding algorithm: https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/sharding/
ruleConfiguration.getShardingAlgorithms().put("algorithmName", new AlgorithmConfiguration("xxx", new Properties()));
```

## Encryption

```java
// encryptorName is specified by users, and its property should be consistent with that of encryptorName in encryption rules.
// type and props, please refer to the built-in encryption algorithm: https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/encrypt/
Map<String, AlgorithmConfiguration> algorithmConfigs = new HashMap<>();
algorithmConfigs.put("encryptorName", new AlgorithmConfiguration("xxx", new Properties()));
```

## Read/Write Splitting Load Balancer

```java
// loadBalancerName is specified by users, and its property has to be consistent with that of loadBalancerName in read/write splitting rules.
// type and props, please refer to the built-in read/write splitting algorithm load balancer: https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/load-balance/      
Map<String, AlgorithmConfiguration> algorithmConfigs = new HashMap<>();
algorithmConfigs.put("loadBalancerName", new AlgorithmConfiguration("xxx", new Properties()));
```

## Shadow DB

```java
// shadowAlgorithmName is specified by users, and its property has to be consistent with that of shadowAlgorithmNames in shadow DB rules.
// type and props, please refer to the built-in shadow DB algorithm: https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/shadow/      
Map<String, AlgorithmConfiguration> algorithmConfigs = new HashMap<>();
algorithmConfigs.put("shadowAlgorithmName", new AlgorithmConfiguration("xxx", new Properties()));
```

## High Availability

```
// discoveryTypeName is specified by users, and its property has to be consistent with that of discoveryTypeName in database discovery rules.
Map<String, AlgorithmConfiguration> algorithmConfigs = new HashMap<>();
algorithmConfigs.put("discoveryTypeName", new AlgorithmConfiguration("xxx", new Properties()));
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/algorithm.cn.md
=====================================================
+++
title = "算法配置"
weight = 4
chapter = true
+++

## 分片算法

```java
ShardingRuleConfiguration ruleConfiguration = new ShardingRuleConfiguration();
// algorithmName 由用户指定,需要和分片策略中的分片算法一致
// type 和 props,请参考分片内置算法:https://shardingsphere.apache.org/document/current/cn/user-manual/common-config/builtin-algorithm/sharding/
ruleConfiguration.getShardingAlgorithms().put("algorithmName", new AlgorithmConfiguration("xxx", new Properties()));
```

## 加密算法

```java
// encryptorName 由用户指定,需要和加密规则中的 encryptorName 属性一致
// type 和 props,请参考加密内置算法:https://shardingsphere.apache.org/document/current/cn/user-manual/common-config/builtin-algorithm/encrypt/
Map<String, AlgorithmConfiguration> algorithmConfigs = new HashMap<>();
algorithmConfigs.put("encryptorName", new AlgorithmConfiguration("xxx", new Properties()));
```

## 读写分离负载均衡算法

```java
// loadBalancerName 由用户指定,需要和读写分离规则中的 loadBalancerName 属性一致
// type 和 props,请参考读写分离负载均衡内置算法:https://shardingsphere.apache.org/document/current/cn/user-manual/common-config/builtin-algorithm/load-balance/      
Map<String, AlgorithmConfiguration> algorithmConfigs = new HashMap<>();
algorithmConfigs.put("loadBalancerName", new AlgorithmConfiguration("xxx", new Properties()));
```

## 影子算法

```java
// shadowAlgorithmName 由用户指定,需要和影子库规则中的 shadowAlgorithmNames 属性一致
// type 和 props,请参考影子库内置算法:https://shardingsphere.apache.org/document/current/cn/user-manual/common-config/builtin-algorithm/shadow/      
Map<String, AlgorithmConfiguration> algorithmConfigs = new HashMap<>();
algorithmConfigs.put("shadowAlgorithmName", new AlgorithmConfiguration("xxx", new Properties()));
```

## 脱敏算法

```java
// maskAlgorithmName 由用户指定,需要和脱敏规则中的 maskAlgorithm 属性一致
// type 和 props,请参考脱敏内置算法:https://shardingsphere.apache.org/document/current/cn/user-manual/common-config/builtin-algorithm/mask/
Map<String, AlgorithmConfiguration> algorithmConfigs = new HashMap<>();
algorithmConfigs.put("maskAlgorithmName", new AlgorithmConfiguration("xxx", new Properties()));
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-jdbc/java-api/data-source.en.md
=====================================================
+++
title = "Data Source"
weight = 2
chapter = true
+++

## Background

ShardingSphere-JDBC supports all database JDBC drivers and connection pools.

This section describes how to configure data sources through the `JAVA API`.

## Procedure

### 1. Import Maven dependency.

```xml
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-jdbc</artifactId>
    <version>${latest.release.version}</version>
</dependency>
```

> Notice: Please change `${latest.release.version}` to the actual version.

## Sample

```java
ModeConfiguration modeConfig = // Build running mode
Map<String, DataSource> dataSourceMap = createDataSources();
Collection<RuleConfiguration> ruleConfigs = ... // Build specific rules
Properties props = ... // Build attribute configuration
DataSource dataSource = ShardingSphereDataSourceFactory.createDataSource(databaseName, modeConfig, dataSourceMap, ruleConfigs, props);

private Map<String, DataSource> createDataSources() {
    Map<String, DataSource> dataSourceMap = new HashMap<>();
    // Configure the 1st data source
    HikariDataSource dataSource1 = new HikariDataSource();
    dataSource1.setDriverClassName("com.mysql.jdbc.Driver");
    dataSource1.setJdbcUrl("jdbc:mysql://localhost:3306/ds_1");
    dataSource1.setUsername("root");
    dataSource1.setPassword("");
    dataSourceMap.put("ds_1", dataSource1);
    
    // Configure the 2nd data source
    HikariDataSource dataSource2 = new HikariDataSource();
    dataSource2.setDriverClassName("com.mysql.jdbc.Driver");
    dataSource2.setJdbcUrl("jdbc:mysql://localhost:3306/ds_2");
    dataSource2.setUsername("root");

=====================================================
== File: docs/document/content/user-manual/common-config/builtin-algorithm/expr.cn.md
=====================================================
+++
title = "行表达式"
weight = 10
+++

## 使用 Groovy 语法的行表达式

在配置中使用 `${ expression }` 或 `$->{ expression }` 标识 Groovy 表达式即可。 Groovy 表达式使用的是 Groovy 的语法,Groovy 能够支持的所有操作,行表达式均能够支持。
`${begin..end}` 表示范围区间; `${[unit1, unit2, unit_x]}` 表示枚举值。
行表达式中如果出现连续多个 `${ expression }` 或 `$->{ expression }` 表达式,整个表达式最终的结果将会根据每个子表达式的结果进行笛卡尔组合。

类型:GROOVY

用例:

- `<GROOVY>t_order_${1..3}` 将被转化为 `t_order_1, t_order_2, t_order_3`
- `<GROOVY>${['online', 'offline']}_table${1..3}` 将被转化为 `online_table1, online_table2, online_table3, offline_table1, offline_table2, offline_table3`

## 使用标准列表的行表达式

`LITERAL` 实现将不对表达式部分做任何符号的转化,从标准列表的输入直接获得标准列表的输出。此有助于解决 GraalVM Native Image 下不便于使用 Groovy 表达式的问题。

类型:LITERAL

用例:

- `<LITERAL>t_order_1, t_order_2, t_order_3` 将被转化为 `t_order_1, t_order_2, t_order_3`
- `<LITERAL>t_order_${1..3}` 将被转化为 `t_order_${1..3}`

## 基于固定时间范围的 Key-Value 语法的行表达式

`INTERVAL` 实现引入了 Key-Value 风格的属性语法,来通过单行字符串定义一组时间范围内的字符串。这通常用于简化对 `数据分片` 功能的 `actualDataNodes` 的定义。

`INTERVAL` 实现定义多个属性的方式为 `Key1=Value1;Key2=Value2`,通过 `;` 号分割键值对,通过 `=` 号分割 `Key` 值和 `Value` 值。

此实现主动忽视了 `SP` 的时区信息,这意味着当 `DL` 和 `DU` 含有时区信息时,不会因为时区不一致而发生时区转换。

此实现键值对的顺序不敏感, 行表达式尾部不携带 `;` 号。

`INTERVAL` 实现引入了如下 Key 的键值:

1. `P` 代表 prefix 的缩写,意为结果列表单元的前缀, 通常代表真实表的前缀格式。
2. `SP` 代表 suffix pattern 的缩写,意为结果列表单元的后缀的时间戳格式, 通常代表真实表的后缀格式,必须遵循 Java DateTimeFormatter 的格式。
例如:yyyyMMdd,yyyyMM 或 yyyy 等。
3. `DIA` 代表 datetime interval amount 的缩写,意为结果列表单元的时间间隔。
4. `DIU` 代表 datetime interval unit 的缩写,意为分片键时间间隔单位,必须遵循 Java `java.time.temporal.ChronoUnit#toString()` 的枚举值。例如:`Months`。
5. `DL` 代表 datetime lower 的缩写,意为时间下界值,格式与 `SP` 定义的时间戳格式一致。
6. `DU` 代表 datetime upper 的缩写,意为时间上界值,格式与 `SP` 定义的时间戳格式一致。
7. `C` 代表 chronology 的缩写,意为日历系统,必须遵循 Java `java.time.chrono.Chronology#getId()` 的格式。
例如:`Japanese`,`Minguo`,`ThaiBuddhist`。存在默认值为 `ISO`。

=====================================================
== File: docs/document/content/user-manual/common-config/builtin-algorithm/sql-translator.en.md
=====================================================
+++
title = "SQL Translator"
weight = 7
+++

## Native SQL translator

Type: NATIVE

Attributes:

None

**Default SQL translator, does not implement yet.**

=====================================================
== File: docs/document/content/user-manual/common-config/builtin-algorithm/shadow.en.md
=====================================================
+++
title = "Shadow Algorithm"
weight = 6
+++

## Background

The shadow DB feature carries out shadow measurement to SQL statements executed. Shadow measurement supports two types of algorithms, and users can choose one or a combination of them based on actual business needs.

## Parameters

### Column-based shadow algorithm

#### Column value matching shadow algorithm

Type:VALUE_MATCH

| *Attribute Name* | *Data Type* | *Description*                                       |
|------------------|-------------|-----------------------------------------------------|
| column           | String      | shadow column                                       |
| operation        | String      | SQL operation type (INSERT, UPDATE, DELETE, SELECT) |
| value            | String      | value matched by shadow column                      |

#### Column-based Regex matching algorithm

Type:REGEX_MATCH

| *Attribute Name* | *Data Type* | *Description*                                      |
|------------------|-------------|----------------------------------------------------|
| column           | String      | match a column                                     |
| operation        | String      | SQL operation type(INSERT, UPDATE, DELETE, SELECT) |
| regex            | String      | shadow column matching Regex                       |

### Hint-based shadow algorithm

#### SQL HINT shadow algorithm

Type:SQL_HINT
```sql
/* SHARDINGSPHERE_HINT: SHADOW=true */
```

## Configuration sample

- Java API

```java
public final class ShadowConfiguration {
    // ...
    

=====================================================
== File: docs/document/content/user-manual/common-config/builtin-algorithm/encrypt.en.md
=====================================================
+++
title = "Encryption Algorithm"
weight = 5
+++

## Background

Encryption algorithms are by the encryption features of Apache ShardingSphere. A variety of algorithms are built-in to make it easy for users to fully leverage the feature.

## Parameters

### Standard Encrypt Algorithm

#### AES Encrypt Algorithm

Type: AES

Attributes:

| *Name*                | *DataType* | *Description*                                       |
|-----------------------|------------|-----------------------------------------------------|
| aes-key-value         | String     | AES KEY                                             |
| digest-algorithm-name | String     | AES KEY DIGEST ALGORITHM (optional, default: SHA-1) |

### Assisted Encrypt Algorithm

#### MD5 Assisted Encrypt Algorithm

Type: MD5

Attributes:

| *Name* | *DataType* | *Description*        |
|--------|------------|----------------------|
| salt   | String     | Salt value(optional) |

## Operating Procedure

1. Configure encryptors in an encryption rule.
2. Use relevant algorithm types in encryptors.

## Configuration Examples
```yaml
rules:
- !ENCRYPT
  tables:
    t_user:
      columns:
        username:
          cipher:

=====================================================
== File: docs/document/content/user-manual/common-config/builtin-algorithm/expr.en.md
=====================================================
+++
title = "Row Value Expressions"
weight = 10
+++

## Row Value Expressions that uses the Groovy syntax

Type: GROOVY

Just use `${ expression }` or `$->{ expression }` in the configuration to identify the row expressions.
The content of row expressions uses Groovy syntax, and all operations supported by Groovy are supported by row expressions.
`${begin..end}` denotes the range interval, `${[unit1, unit2, unit_x]}` denotes the enumeration value.
If there are multiple `${ expression }` or `$->{ expression }` expressions in a row expression, the final result of the 
whole expression will be a Cartesian combination based on the result of each sub-expression.

Example:

- `<GROOVY>t_order_${1..3}` will be converted to `t_order_1, t_order_2, t_order_3`
- `<GROOVY>${['online', 'offline']}_table${1..3}` will be converted to `online_table1, online_table2, online_table3, offline_table1, offline_table2, offline_table3`

## Row Value Expressions that uses a standard list

The `LITERAL` implementation will not convert any symbols to the expression part, and will directly obtain the output of
the standard list from the input of the standard list. 
This helps address the issue that Groovy expressions are inconvenient to use under GraalVM Native Image.

Type: LITERAL

Example:

- `<LITERAL>t_order_1, t_order_2, t_order_3` will be converted to `t_order_1, t_order_2, t_order_3`
- `<LITERAL>t_order_${1..3}` will be converted to `t_order_${1..3}`

## Row Value Expressions based on fixed interval that uses the Key-Value syntax

The `INTERVAL` implementation introduces a Key-Value style property syntax to define a set of time ranges of strings via a single line string. 
This is often used to simplify the definition of `actualDataNodes` for `Sharding` feature.

`INTERVAL` implements the method of defining multiple attributes as `Key1=Value1;Key2=Value2`, using `;` to separate key-value pairs, and `=` to separate `Key` values and `Value` values.

This implementation actively ignores the time zone information of `SP`, which means that when `DL` and `DU` contain time zone information, 
no time zone conversion will occur due to inconsistent time zones. 

This implementation is not sensitive to the order of key-value pairs, and the line expression does not carry the `;` sign at the end.

The `INTERVAL` implementation introduces the following Key values:

1. `P` stands for the abbreviation of prefix, which means the prefix of the result list unit, usually representing the prefix format of the real table.
2. `SP` stands for the abbreviation of suffix pattern, which means the timestamp format of the suffix of the result list unit. 
It usually represents the suffix format of the real table and must follow the format of Java DateTimeFormatter. 

=====================================================
== File: docs/document/content/user-manual/common-config/builtin-algorithm/_index.cn.md
=====================================================
+++
title = "内置算法"
weight = 2
chapter = true
+++

## 简介

Apache ShardingSphere 通过 SPI 方式允许开发者扩展算法;
与此同时,Apache ShardingSphere 也提供了大量的内置算法以便于开发者使用。

## 使用方式

内置算法均通过 type 和 props 进行配置,其中 type 由算法定义在 SPI 中,props 用于传递算法的个性化参数配置。

无论使用哪种配置方式,均是将配置完毕的算法命名,并传递至相应的规则配置中。
本章节根据功能区分并罗列 Apache ShardingSphere 全部的内置算法,供开发者参考。

=====================================================
== File: docs/document/content/user-manual/common-config/builtin-algorithm/keygen.en.md
=====================================================
+++
title = "Key Generate Algorithm"
weight = 3
+++

## Background

In traditional database software development, automatic primary key generation is a basic requirement and various databases provide support for this requirement, such as MySQL's self-incrementing keys, Oracle's self-incrementing sequences, etc. 

After data sharding, it is a very tricky problem to generate global unique primary keys from different data nodes. Self-incrementing keys between different actual tables within the same logical table generate duplicate primary keys because they are not mutually perceived. 

Although collisions can be avoided by constraining the initial value and step size of self-incrementing primary keys, additional O&M rules must to be introduced, making the solution lack completeness and scalability. 

There are many third-party solutions that can perfectly solve this problem, such as UUID, which relies on specific algorithms to generate non-duplicate keys, or by introducing primary key generation services. 

In order to cater to the requirements of different users in different scenarios, Apache ShardingSphere not only provides built-in distributed primary key generators, such as UUID, SNOWFLAKE, but also abstracts the interface of distributed primary key generators to facilitate users to implement their own customized primary key generators. 

## Parameters

### Snowflake

Type: SNOWFLAKE

Attributes:

| *Name*                                        | *DataType* | *Description*                                                                                                                                                                                                                                                                                                                                                                                                                                                        | *Default Value* |
|-----------------------------------------------|------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|
| worker-id (?)                                 | long       | The unique ID for working machine                                                                                                                                                                                                                                                                                                                                                                                                                                    | 0               |
| max-tolerate-time-difference-milliseconds (?) | long       | The max tolerate time for different server's time difference in milliseconds                                                                                                                                                                                                                                                                                                                                                                                         | 10 milliseconds |
| max-vibration-offset (?)                      | int        | The max upper limit value of vibrate number, range `[0, 4096)`. Notice: To use the generated value of this algorithm as sharding value, it is recommended to configure this property. The algorithm generates key mod `2^n` (`2^n` is usually the sharding amount of tables or databases) in different milliseconds and the result is always `0` or `1`. To prevent the above sharding problem, it is recommended to configure this property, its value is `(2^n)-1` | 1               |

*Note*: worker-id is optional
1. In standalone mode, support user-defined configuration, if the user does not configure the default value of 0.
2. In cluster mode, it will be automatically generated by the system, and duplicate values will not be generated in the same namespace.

### UUID

Type: UUID

Attributes: None

## Procedure

1. Policy of distributed primary key configurations is for columns when configuring data sharding rules.

## Sample

- Snowflake Algorithms

```PlainText

=====================================================
== File: docs/document/content/user-manual/common-config/builtin-algorithm/mask.en.md
=====================================================
+++
title = "Data Masking Algorithm"
weight = 9
+++

## Background

Data masking algorithms are by the mask features of Apache ShardingSphere. A variety of algorithms are built-in to make it easy for users to fully leverage the feature.

## Parameters

### Hash Data Masking Algorithm

#### MD5 Data Masking Algorithm

Type: MD5

Attributes:

| *Name* | *DataType* | *Description*         |
|--------|------------|-----------------------|
| salt   | String     | Salt value (optional) |

### Mask Data Masking Algorithm

#### Keep First N Last M Data Masking Algorithm

Type: KEEP_FIRST_N_LAST_M

Attributes:

| *Name*       | *DataType* | *Description*     |
|--------------|------------|-------------------|
| first-n      | int        | first n substring |
| last-m       | int        | last m substring  |
| replace-char | String     | replace char      |

#### Keep From X To Y Data Masking Algorithm

Type: KEEP_FROM_X_TO_Y

Attributes:

| *Name*       | *DataType* | *Description*           |
|--------------|------------|-------------------------|
| from-x       | int        | start position (from 0) |
| to-y         | int        | end position (from 0)   |
| replace-char | String     | replace char            |

#### Mask First N Last M Data Masking Algorithm

=====================================================
== File: docs/document/content/user-manual/common-config/builtin-algorithm/audit.en.md
=====================================================
+++
title = "Sharding Audit Algorithm"
weight = 8
+++

## Background

The sharding audit is to audit the SQL statements in the sharding database. Sharding audit not only intercept illegal SQL statements, but also gather the SQL statistics.

## Parameters

### DML_SHARDING_CONDITIONS algorithm

Type: DML_SHARDING_CONDITIONS

## Procedure

1. when configuring data sharding rules, create sharding audit configurations.

## Sample

- DML_SHARDING_CONDITIONS

```yaml
auditors:
  sharding_key_required_auditor:
    type: DML_SHARDING_CONDITIONS
```

=====================================================
== File: docs/document/content/user-manual/common-config/builtin-algorithm/_index.en.md
=====================================================
+++
title = "Builtin Algorithm"
weight = 2
chapter = true
+++

## Introduction

Apache ShardingSphere allows developers to implement algorithms via SPI;
At the same time, Apache ShardingSphere also provides a couple of builtin algorithms for simplify developers.

## Usage

The builtin algorithms are configured by type and props. 
Type is defined by the algorithm in SPI, and props is used to deliver the customized parameters of the algorithm.

No matter which configuration type is used, the configured algorithm is named and passed to the corresponding rule configuration.
This chapter distinguishes and lists all the builtin algorithms of Apache ShardingSphere according to its functions for developers' reference.

=====================================================
== File: docs/document/content/user-manual/common-config/builtin-algorithm/load-balance.en.md
=====================================================
+++
title = "Load Balance Algorithm"
weight = 4
+++

## Background

ShardingSphere built-in provides a variety of load balancer algorithms, including polling algorithm, random access algorithm and weight access algorithm, which can meet users' needs in most business scenarios.

Moreover, considering the complexity of the business scenario, the built-in algorithm also provides an extension mode. Users can implement the load balancer algorithm they need based on SPI interface.

## Parameters

### Round-robin Load Balance Algorithm

Type: ROUND_ROBIN

### Random Load Balance Algorithm

Type: RANDOM

### Weight Load Balance Algorithm

Type: WEIGHT

Attributes:

| *Name*          | *DataType* | *Description*                                                                                                                                                                     |
|-----------------|------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ${replica-name} | double     | Attribute name uses the name of the replica, and the parameter fills in the weight value corresponding to the replica. Weight parameter range min > 0, total <= Double.MAX_VALUE. |

## Procedure

1. Configure a load balancer algorithm for the loadBalancers attribute to use read/write splitting.

## Sample

```yaml
rules:
- !READWRITE_SPLITTING
  dataSources:
    readwrite_ds:
      writeDataSourceName: write_ds
      readDataSourceNames:
        - read_ds_0
        - read_ds_1
      transactionalReadQueryStrategy: PRIMARY
      loadBalancerName: random
  loadBalancers:
    random:

=====================================================
== File: docs/document/content/user-manual/common-config/builtin-algorithm/metadata-repository.en.md
=====================================================
+++
title = "Metadata Repository"
weight = 1
+++

## Background

Apache ShardingSphere provides different metadata persistence methods for different running modes. Users can freely choose the most appropriate way to store metadata while configuring the running mode.

## Parameters

### Database Repository

Type: JDBC

Mode: Standalone

Attributes:

| *Name*   | *Type* | *Description*                                              | *Default Value*                                                         |
|----------|--------|------------------------------------------------------------|-------------------------------------------------------------------------|
| provider | String | Type for metadata persist, the optional value is H2, MySQL | H2                                                                      |
| jdbc_url | String | JDBC URL                                                   | jdbc:h2:mem:config;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MYSQL |
| username | String | username                                                   | sa                                                                      |
| password | String | password                                                   |                                                                         |


### ZooKeeper Repository

Type: ZooKeeper

Mode: Cluster

Attributes:

| *Name*                       | *Type* | *Description*                     | *Default Value* |
|------------------------------|--------|-----------------------------------|-----------------|
| retryIntervalMilliseconds    | int    | Milliseconds of retry interval    | 500             |
| maxRetries                   | int    | Max retries of client connection  | 3               |
| timeToLiveSeconds            | int    | Seconds of ephemeral data live    | 60              |
| operationTimeoutMilliseconds | int    | Milliseconds of operation timeout | 500             |
| digest                       | String | Password of login                 |                 |

### Etcd Repository

Type: Etcd

Mode: Cluster

Attributes:

=====================================================
== File: docs/document/content/user-manual/common-config/builtin-algorithm/sharding.en.md
=====================================================
+++
title = "Sharding Algorithm"
weight = 2
+++

## Background

ShardingSphere built-in algorithms provide a variety of sharding algorithms, which can be divided into automatic sharding algorithms, standard sharding algorithms, composite sharding algorithms, and hint sharding algorithms, and can meet the needs of most business scenarios of users.

Additionally, considering the complexity of business scenarios, the built-in algorithm also provides a way to customize the sharding algorithm. Users can complete complex sharding logic by writing java code.

It should be noted that the sharding logic of the automatic sharding algorithm is automatically managed by ShardingSphere and needs to be used by configuring the autoTables sharding rules.

## Parameters

### Auto Sharding Algorithm

#### Modulo Sharding Algorithm

Type: MOD

Attributes:

| *Name*         | *DataType* | *Description*  |
|----------------|------------|----------------|
| sharding-count | int        | Sharding count |

#### Hash Modulo Sharding Algorithm

Type: HASH_MOD

Attributes:

| *Name*         | *DataType* | *Description*  |
|----------------|------------|----------------|
| sharding-count | int        | Sharding count |

#### Volume Based Range Sharding Algorithm

Type: VOLUME_RANGE

Attributes:

| *Name*          | *DataType* | *Description*                                          |
|-----------------|------------|--------------------------------------------------------|
| range-lower     | long       | Range lower bound, throw exception if lower than bound |
| range-upper     | long       | Range upper bound, throw exception if upper than bound |
| sharding-volume | long       | Sharding volume                                        |

#### Boundary Based Range Sharding Algorithm

=====================================================
== File: docs/document/content/user-manual/common-config/props.cn.md
=====================================================
+++
title = "属性配置"
weight = 1
chapter = true
+++

## 背景信息

Apache ShardingSphere 提供属性配置的方式配置系统级配置。

## 参数解释

| *名称*                               | *数据类型*  | *说明*                                                                                                                                | *默认值*    |
|------------------------------------|---------|-------------------------------------------------------------------------------------------------------------------------------------|----------|
| sql-show (?)                       | boolean | 是否在日志中打印 SQL<br /> 打印 SQL 可以帮助开发者快速定位系统问题。日志内容包含:逻辑 SQL,真实 SQL 和 SQL 解析结果。<br /> 如果开启配置,日志将使用 Topic `ShardingSphere-SQL`,日志级别是 INFO | false    |
| sql-simple (?)                     | boolean | 是否在日志中打印简单风格的 SQL                                                                                                                   | false    |
| kernel-executor-size (?)           | int     | 用于设置任务处理线程池的大小<br />每个 ShardingSphereDataSource 使用一个独立的线程池,同一个 JVM 的不同数据源不共享线程池                                                     | infinite |
| max-connections-size-per-query (?) | int     | 一次查询请求在每个数据库实例中所能使用的最大连接数                                                                                                           | 1        |
| check-table-metadata-enabled (?)   | boolean | 在程序启动和更新时,是否检查分片元数据的结构一致性                                                                                                           | false    |

## 操作步骤

属性配置直接配置在 ShardingSphere-JDBC 所使用的配置文件中,格式如下:

```yaml
props:
    sql-show: true
```

## 配置示例

ShardingSphere 仓库的示例中包含了多种不同场景的属性配置,请参考:<https://github.com/apache/shardingsphere/blob/master/examples>

=====================================================
== File: docs/document/content/user-manual/common-config/_index.cn.md
=====================================================
+++
pre = "<b>4.3. </b>"
title = "通用配置"
weight = 3
chapter = true
+++

本章主要介绍通用配置,包括属性配置和内置算法配置。

=====================================================
== File: docs/document/content/user-manual/common-config/sql-hint.en.md
=====================================================
+++
title = "SQL Hint"
weight = 3
chapter = true
+++

## Background

At present, most relational databases basically provide SQL Hint as a supplement to SQL syntax. SQL Hint allows users to intervene in the execution process of SQL through the built-in Hint syntax of the database, to complete some special functions or realize optimization of SQL execution.
ShardingSphere also provides SQL Hint syntax, allowing users to perform force route for sharding and read-write splitting, and data source pass through.

## Use specification

The SQL Hint syntax of ShardingSphere needs to be written in SQL in the form of comments. The SQL Hint syntax format only supports `/* */` temporarily, and the Hint content needs to start with `SHARDINGSPHERE_HINT:`, and then define the attribute key/value pairs corresponding to different features, separated by commas when there are multiple attributes.
The SQL Hint syntax format of ShardingSphere is as follows:

```sql
/* SHARDINGSPHERE_HINT: {key} = {value}, {key} = {value} */ SELECT * FROM t_order;
```

If you use the MySQL client to connect, you need to add the `-c` option to retain comments, and the client defaults to `--skip-comments` to filter comments.

## Parameters

The following attributes can be defined in ShardingSphere SQL Hint. In order to be compatible with the lower version SQL Hint syntax, the attributes defined in the alias can also be used:

| *Name*                      | *Alias*               | *Data Type* | *Description*                                                             | *Default Value* |
|-----------------------------|-----------------------|-------------|---------------------------------------------------------------------------|-----------------|
| SHARDING_DATABASE_VALUE (?) | shardingDatabaseValue | Comparable  | Database sharding value, used when config Hint sharding strategy          | -               |
| SHARDING_TABLE_VALUE (?)    | shardingTableValue    | Comparable  | Table sharding value, used when config Hint sharding strategy             | -               |
| WRITE_ROUTE_ONLY (?)        | writeRouteOnly        | boolean     | Route to the write datasource when use readwrite-splitting                | false           |
| DATA_SOURCE_NAME (?)        | dataSourceName        | String      | Data source pass through, route SQL directly to the specified data source | -               |
| SKIP_SQL_REWRITE (?)        | skipSQLRewrite        | boolean     | Skip the SQL rewrite phase                                                | false           |
| DISABLE_AUDIT_NAMES (?)     | disableAuditNames     | String      | Disable the specified SQL audit algorithm                                 | -               |
| SHADOW (?)                  | shadow                | boolean     | Route to the shadow datasource when use shadow                            | false           |


## SQL Hint

### Sharding

The optional attributes of sharding SQL Hint include:

- `{table}.SHARDING_DATABASE_VALUE`: used to add data source sharding value corresponding to the `{table}` table, multiple attributes are separated by commas;
- `{table}.SHARDING_TABLE_VALUE`: used to add table sharding value corresponding to the `{table}` table, multiple attributes are separated by commas.

> In the case of only database sharding, when forcing routing to a certain datasource, you can use the `SHARDING_DATABASE_VALUE` method to set the sharding value without specifying `{table}`.

An example of using the SQL Hint of sharding:


=====================================================
== File: docs/document/content/user-manual/common-config/_index.en.md
=====================================================
+++
pre = "<b>4.3. </b>"
title = "Common Configuration"
weight = 3
chapter = true
+++

This chapter mainly introduces general configuration, including property configuration and built-in algorithm configuration.

=====================================================
== File: docs/document/content/user-manual/common-config/props.en.md
=====================================================
+++
title = "Properties Configuration"
weight = 1
chapter = true
+++

## Background

Apache ShardingSphere provides the way of property configuration to configure system level configuration.

## Parameters

| *Name*                             | *Data Type* | *Description*                                                                                                                                                                                                                                               | *Default Value* |
|------------------------------------|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|
| sql-show (?)                       | boolean     | Whether show SQL or not in log. <br /> Print SQL details can help developers debug easier. The log details include: logic SQL, actual SQL and SQL parse result. <br /> Enable this property will log into log topic `ShardingSphere-SQL`, log level is INFO | false           |
| sql-simple (?)                     | boolean     | Whether show SQL details in simple style                                                                                                                                                                                                                    | false           |
| kernel-executor-size (?)           | int         | The max thread size of worker group to execute SQL. One ShardingSphereDataSource will use a independent thread pool, it does not share thread pool even different data source in same JVM                                                                   | infinite        |
| max-connections-size-per-query (?) | int         | Max opened connection size for each query                                                                                                                                                                                                                   | 1               |
| check-table-metadata-enabled (?)   | boolean     | Whether validate table meta data consistency when application startup or updated                                                                                                                                                                            | false           |

## Procedure

1. Properties configuration is directly configured in the profile used by ShardingSphere-JDBC. The format is as follows:

```yaml
props:
    sql-show: true
```

## Sample

The example of ShardingSphere warehouse contains property configurations of various scenarios. Please refer to: <https://github.com/apache/shardingsphere/tree/master/examples>

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/observability/_index.cn.md
=====================================================
+++
title = "可观察性"
weight = 5
+++

## Agent

### 源码编译

从 Github 下载 Apache ShardingSphere 源码,对源码进行编译,操作命令如下。

```shell
git clone --depth 1 https://github.com/apache/shardingsphere.git
cd shardingsphere
mvn clean install -DskipITs -DskipTests -Prelease
```
Agent 制品 `distribution/agent/target/apache-shardingsphere-${latest.release.version}-shardingsphere-agent-bin.tar.gz`

Proxy 制品 `distribution/proxy/target/apache-shardingsphere-${latest.release.version}-shardingsphere-proxy-bin.tar.gz`

### 目录说明

创建 agent 目录,解压 agent 二进制包到 agent 目录。

```shell
mkdir agent
tar -zxvf apache-shardingsphere-${latest.release.version}-shardingsphere-agent-bin.tar.gz -C agent
cd agent
tree 
├── LICENSE
├── NOTICE
├── conf
│   └── agent.yaml
├── plugins
│   ├── lib
│   │   ├── shardingsphere-agent-metrics-core-${latest.release.version}.jar
│   │   └── shardingsphere-agent-plugin-core-${latest.release.version}.jar
│   ├── logging
│   │   └── shardingsphere-agent-logging-file-${latest.release.version}.jar
│   ├── metrics
│   │   └── shardingsphere-agent-metrics-prometheus-${latest.release.version}.jar
│   └── tracing
│       ├── shardingsphere-agent-tracing-opentelemetry-${latest.release.version}.jar
└── shardingsphere-agent-${latest.release.version}.jar
```

### 配置说明

`conf/agent.yaml` 用于管理 agent 配置。内置插件包括 File、Prometheus、OpenTelemetry。


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/observability/_index.en.md
=====================================================
+++
title = "Observability"
weight = 5
+++

## Agent

### Compile source code

Download Apache ShardingSphere from GitHub,Then compile.

```shell
git clone --depth 1 https://github.com/apache/shardingsphere.git
cd shardingsphere
mvn clean install -DskipITs -DskipTests -Prelease
```

Agent artifact is `distribution/agent/target/apache-shardingsphere-${latest.release.version}-shardingsphere-agent-bin.tar.gz`

Proxy artifact is `distribution/proxy/target/apache-shardingsphere-${latest.release.version}-shardingsphere-proxy-bin.tar.gz`

### Directory structure

Create agent directory, and unzip agent distribution package to the directory.

```shell
mkdir agent
tar -zxvf apache-shardingsphere-${latest.release.version}-shardingsphere-agent-bin.tar.gz -C agent
cd agent
tree 
├── LICENSE
├── NOTICE
├── conf
│   └── agent.yaml
├── plugins
│   ├── lib
│   │   ├── shardingsphere-agent-metrics-core-${latest.release.version}.jar
│   │   └── shardingsphere-agent-plugin-core-${latest.release.version}.jar
│   ├── logging
│   │   └── shardingsphere-agent-logging-file-${latest.release.version}.jar
│   ├── metrics
│   │   └── shardingsphere-agent-metrics-prometheus-${latest.release.version}.jar
│   └── tracing
│       ├── shardingsphere-agent-tracing-opentelemetry-${latest.release.version}.jar
└── shardingsphere-agent-${latest.release.version}.jar
```

### Configuration

`conf/agent.yaml` is used to manage agent configuration.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/session/_index.en.md
=====================================================
+++
title = "Session Management"
weight = 7
+++

ShardingSphere supports session management. You can view the current session or kill the session through the SQL of the native database. At present, this function is only available when the storage node is MySQL. MySQL `SHOW PROCESSLIST` and `KILL` commands are supported.

## Usage
### View Session

Different methods of viewing sessions are supported for different associated databases. The `SHOW PROCESSLIST` command can be used to view sessions for associated MySQL databases. ShardingSphere will automatically generate a unique UUID ID as the ID, and store the SQL execution information in each instance. When this command is executed, ShardingSphere will collect and synchronize the SQL execution information of each computing node through the governance center, and then summarize and return it to the user.

```sql
mysql> show processlist;
+----------------------------------+------+-----------+-------------+---------+------+---------------+------------------+
| Id                               | User | Host      | db          | Command | Time | State         | Info             |
+----------------------------------+------+-----------+-------------+---------+------+---------------+------------------+
| 05ede3bd584fd4a429dcaac382be2973 | root | 127.0.0.1 | sharding_db | Execute | 2    | Executing 0/1 | select sleep(10) |
| f9e5c97431567415fe10badc5fa46378 | root | 127.0.0.1 | sharding_db | Sleep   | 690  |               |                  |
+----------------------------------+------+-----------+-------------+---------+------+---------------+------------------+
```

- Output Description

Simulates the output of native MySQL, but the `Id` field is a special random string.

### Kill Session

The user determines whether the `KILL` statement needs to be executed according to the results returned by `SHOW PROCESSLIST`. ShardingSphere cancels the SQL being executed according to the ID in the `KILL` statement.

```sql
mysql> kill 05ede3bd584fd4a429dcaac382be2973;
Query OK, 0 rows affected (0.04 sec)

mysql> show processlist;
Empty set (0.02 sec)
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/migration/build.en.md
=====================================================
+++
title = "Build"
weight = 1
+++

## Background

For systems running on a single database that urgently need to securely and simply migrate data to a horizontally sharded database.

## Prerequisites

-  Proxy is developed in JAVA, and JDK version 1.8 or later is recommended. 
- Data migration adopts the cluster mode, and ZooKeeper is currently supported as the registry.

## Procedure

1. Get ShardingSphere-Proxy. Please refer to [proxy startup guide](/en/user-manual/shardingsphere-proxy/startup/bin/) for details.

2. Modify the configuration file `conf/global.yaml`. Please refer to [mode configuration](/en/user-manual/shardingsphere-jdbc/yaml-config/mode/) for details.

Currently, `mode` must be `Cluster`, and the corresponding registry must be started in advance.

Configuration sample:
```yaml
mode:
  type: Cluster
  repository:
    type: ZooKeeper
    props:
      namespace: governance_ds
      server-lists: localhost:2181
      retryIntervalMilliseconds: 500
      timeToLiveSeconds: 60
      maxRetries: 3
      operationTimeoutMilliseconds: 500
```

3. Introduce JDBC driver.

Proxy has included JDBC driver of PostgreSQL and openGauss.

If the backend is connected to the following databases, download the corresponding JDBC driver jar package and put it into the `${shardingsphere-proxy}/ext-lib` directory.

| Database | JDBC Driver                                                                                          |
|----------|------------------------------------------------------------------------------------------------------|
| MySQL    | [mysql-connector-j-8.3.0.jar](https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/8.3.0/) |

If you are migrating to a heterogeneous database, then you could use more types of database. Introduce JDBC driver as above too.

4. Start ShardingSphere-Proxy:

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/migration/usage.cn.md
=====================================================
+++
title = "使用手册"
weight = 2
+++

## MySQL 使用手册

### 环境要求

支持的 MySQL 版本:5.1.15 ~ 8.0.x。

### 权限要求

1. 源端开启 `binlog`

MySQL 5.7 `my.cnf` 示例配置:

```
[mysqld]
server-id=1
log-bin=mysql-bin
binlog-format=row
binlog-row-image=full
max_connections=600
```

执行以下命令,确认是否有开启 binlog:

```
show variables like '%log_bin%';
show variables like '%binlog%';
```

如以下显示,则说明 binlog 已开启

```
+-----------------------------------------+---------------------------------------+
| Variable_name                           | Value                                 |
+-----------------------------------------+---------------------------------------+
| log_bin                                 | ON                                    |
| binlog_format                           | ROW                                   |
| binlog_row_image                        | FULL                                  |
+-----------------------------------------+---------------------------------------+
```

2. 赋予源端 MySQL 账号 replication 相关权限。

执行以下命令,查看该用户是否有迁移权限:
```
SHOW GRANTS FOR 'migration_user';

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/migration/_index.en.md
=====================================================
+++
title = "Data Migration"
weight = 4
+++

## Introduction

ShardingSphere provides solution of migrating data since **4.1.0**.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/migration/usage.en.md
=====================================================
+++
title = "Manual"
weight = 2
+++

## MySQL user guide

### Environment

Supported MySQL versions: 5.1.15 to 8.0.x.

### Authority required

1. Enable `binlog` in source

MySQL 5.7 `my.cnf` configuration sample:

```
[mysqld]
server-id=1
log-bin=mysql-bin
binlog-format=row
binlog-row-image=full
max_connections=600
```

Run the following command and check whether `binlog` is enabled.
```
show variables like '%log_bin%';
show variables like '%binlog%';
```

If the following information is displayed, binlog is enabled.
```
+-----------------------------------------+---------------------------------------+
| Variable_name                           | Value                                 |
+-----------------------------------------+---------------------------------------+
| log_bin                                 | ON                                    |
| binlog_format                           | ROW                                   |
| binlog_row_image                        | FULL                                  |
+-----------------------------------------+---------------------------------------+
```

2. Grant Replication-related permissions for source MySQL account.

Run the following command to check whether the user has migration permission.
```
SHOW GRANTS FOR 'migration_user';
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/_index.cn.md
=====================================================
+++
pre = "<b>4.2. </b>"
title = "ShardingSphere-Proxy"
weight = 2
chapter = true
+++

配置是 ShardingSphere-Proxy 中唯一与开发者交互的模块,通过它可以快速清晰的理解 ShardingSphere-Proxy 所提供的功能。

本章节是 ShardingSphere-Proxy 的配置参考手册,需要时可当做字典查阅。

ShardingSphere-Proxy 提供基于 YAML 的配置方式,并使用 DistSQL 进行交互。
通过配置,应用开发者可以灵活的使用数据分片、读写分离、数据加密、影子库等功能,并且能够叠加使用。

规则配置部分与 ShardingSphere-JDBC 的 YAML 配置完全一致。
DistSQL 与 YAML 配置能够相互取代。

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/_index.en.md
=====================================================
+++
pre = "<b>4.2. </b>"
title = "ShardingSphere-Proxy"
weight = 2
chapter = true
+++

Configuration is the only module in ShardingSphere-Proxy that interacts with application developers,
through which developer can quickly and clearly understand the functions provided by ShardingSphere-Proxy.

This chapter is a configuration manual for ShardingSphere-Proxy, which can also be referred to as a dictionary if necessary.

ShardingSphere-Proxy provided YAML configuration, and used DistSQL to communicate.
By configuration, application developers can flexibly use data sharding, readwrite-splitting, data encryption, shadow database or the combination of them.

Rule configuration keeps consist with YAML configuration of ShardingSphere-JDBC.
DistSQL and YAML can be replaced each other.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/yaml-config/authority.cn.md
=====================================================
+++
title = "认证和授权"
weight = 1
+++

## 背景信息

在 ShardingSphere-Proxy 中,通过 `authority` 来配置用户的认证和授权信息。

得益于 ShardingSphere 的可插拔架构,Proxy 提供了两种级别的权限提供者,分别是:

- `ALL_PERMITTED`:每个用户都拥有所有权限,无需专门授权;
- `DATABASE_PERMITTED`:为用户授予指定逻辑库的权限,通过 `user-database-mappings` 进行定义。

在配置 `authority` 时,管理员可根据需要选择使用哪一种权限提供者。

## 参数解释

```yaml
authority:
  users:
    - user: # 用于登录计算节点的用户名和授权主机的组合,格式:<username>@<hostname>,hostname 为 % 或空字符串表示不限制授权主机,username 和 hostname 大小写不敏感
      password: # 用户密码
      admin: # 可选项,管理员身份标识。若为 true,该用户拥有最高权限,缺省值为 false
      authenticationMethodName: # 可选项,用于为用户指定密码认证方式
  authenticators: # 可选项,默认不需要配置,Proxy 根据前端协议类型自动选择
    authenticatorName:
      type: # 密码认证类型
  defaultAuthenticator: # 可选项,指定一个 authenticatorName 作为默认的密码认证方式
  privilege:
    type: # 权限提供者类型,缺省值为 ALL_PERMITTED
```

## 配置示例

### 极简配置

```yaml
authority:
  users:
    - user: root@%
      password: root
    - user: sharding
      password: sharding
```

说明:
- 定义了两个用户:`root@%` 和 `sharding`;
- 未定义 `authenticators` 和 `authenticationMethodName`,Proxy 将根据前端协议自动选择;
- 未指定 `privilege type`,采用默认的 `ALL_PERMITTED`。

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/yaml-config/props.cn.md
=====================================================
+++
title = "属性配置"
weight = 2
chapter = true
+++

## 背景信息

Apache ShardingSphere 提供了丰富的系统配置属性,用户可通过 `global.yaml` 进行配置。

## 参数解释

| *名称*                                      | *数据类型*    | *说明*                                                                                                                                   | *默认值*           | *动态生效* |
|-------------------------------------------|-----------|----------------------------------------------------------------------------------------------------------------------------------------|-----------------|--------|
| system-log-level (?)                      | String    | 系统日志输出级别,支持 DEBUG、INFO、WARN 和 ERROR,默认级别是 INFO。                                                                                        | INFO            | 是      |
| sql-show (?)                              | boolean   | 是否在日志中打印 SQL。 <br /> 打印 SQL 可以帮助开发者快速定位系统问题。日志内容包含:逻辑 SQL,真实 SQL 和 SQL 解析结果。<br /> 如果开启配置,日志将使用 Topic `ShardingSphere-SQL`,日志级别是 INFO。 | false           | 是      |
| sql-simple (?)                            | boolean   | 是否在日志中打印简单风格的 SQL。                                                                                                                     | false           | 是      |
| kernel-executor-size (?)                  | int       | 用于设置任务处理线程池的大小。每个 ShardingSphereDataSource 使用一个独立的线程池,同一个 JVM 的不同数据源不共享线程池。                                                            | infinite        | 否      |
| max-connections-size-per-query (?)        | int       | 一次查询请求在每个数据库实例中所能使用的最大连接数。                                                                                                             | 1               | 是      |
| check-table-metadata-enabled (?)          | boolean   | 在程序启动和更新时,是否检查分片元数据的结构一致性。                                                                                                             | false           | 是      |
| proxy-frontend-flush-threshold (?)        | int       | 在 ShardingSphere-Proxy 中设置传输数据条数的 IO 刷新阈值。                                                                                             | 128             | 是      |
| proxy-backend-query-fetch-size (?)        | int       | Proxy 后端与数据库交互的每次获取数据行数(使用游标的情况下)。数值增大可能会增加 ShardingSphere Proxy 的内存使用。默认值为 -1,代表设置为 JDBC 驱动的最小值。                                      | -1              | 是      |
| proxy-frontend-executor-size (?)          | int       | Proxy 前端 Netty 线程池线程数量,默认值 0 代表使用 Netty 默认值。                                                                                           | 0               | 否      |
| proxy-frontend-max-connections (?)        | int       | 允许连接 Proxy 的最大客户端数量,默认值 0 代表不限制。                                                                                                       | 0               | 是      |
| proxy-default-port (?)                    | String    | Proxy 通过配置文件指定默认端口。                                                                                                                    | 3307            | 否      |
| proxy-netty-backlog (?)                   | int       | Proxy 通过配置文件指定默认netty back_log参数。                                                                                                      | 1024            | 否      |
| proxy-frontend-database-protocol-type (?) | String    | Proxy 前端协议类型,支持 MySQL,PostgreSQL 和 openGauss                                                                                           | \"\"            | 否      |
| proxy-frontend-ssl-enabled (?)            | boolean   | Proxy 前端启用 SSL/TLS。                                                                                                                    | false           | 否      |
| proxy-frontend-ssl-version (?)            | String    | 要启用的 SSL/TLS 协议。空白以使用默认值。                                                                                                              | TLSv1.2,TLSv1.3 | 否  |
| proxy-frontend-ssl-cipher (?)             | String    | 按偏好顺序启用的密码套件。用逗号分隔的多密码套件。空白以使用默认值。                                                                                                     | \"\"            | 否  |

属性配置可以通过 [DistSQL#RAL](/cn/user-manual/shardingsphere-proxy/distsql/syntax/ral/) 在线修改。
其中支持动态修改的属性立即生效,不支持动态修改的属性在重启后生效。

## 配置示例

完整配置示例请参考 ShardingSphere 仓库内的 `global.yaml`:<https://github.com/apache/shardingsphere/blob/612cd5d8e802d0d712a3a4d89da8fdc048d23879/proxy/bootstrap/src/main/resources/conf/global.yaml#L71-L89>

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/yaml-config/rules.cn.md
=====================================================
+++
title = "规则配置"
weight = 3
+++

## 背景信息

本节介绍如何进行 ShardingSphere-Proxy 的规则配置。

## 参数解释

ShardingSphere-Proxy 的规则配置与 ShardingSphere-JDBC 一致,具体规则请参考 [ShardingSphere-JDBC 规则配置](/cn/user-manual/shardingsphere-jdbc/yaml-config/rules/)。

## 注意事项

与 ShardingSphere-JDBC 不同的是,以下规则需要配置在 ShardingSphere-Proxy 的 `global.yaml` 中:

* [SQL 解析](/cn/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-parser/)
```yaml
sqlParser:
  sqlStatementCache:
    initialCapacity: 2000
    maximumSize: 65535
  parseTreeCache:
    initialCapacity: 128
    maximumSize: 1024
```
* [分布式事务](/cn/user-manual/shardingsphere-jdbc/yaml-config/rules/transaction/)
```yaml
transaction:
  defaultType: XA
  providerType: Atomikos
```
* [SQL 翻译](/cn/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-translator/)
```yaml
sqlTranslator:
  type:
  useOriginalSQLWhenTranslatingFailed:
```
* [联邦查询](/cn/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-federation/)
```yaml
sqlFederation:
  sqlFederationEnabled: true
  allQueryUseSQLFederation: false
  executionPlanCache:
    initialCapacity: 2000
    maximumSize: 65535
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/yaml-config/data-source.cn.md
=====================================================
+++
title = "数据源配置"
weight = 4
chapter = true
+++

## 背景信息

ShardingSphere-Proxy 支持常见的数据库连接池: HikariCP、C3P0、DBCP(C3P0、DBCP 需要从 [shardingsphere-plugin](https://github.com/apache/shardingsphere-plugin) 仓库获取插件)。

可以通过参数 `dataSourceClassName` 指定连接池,当不指定时,默认的的数据库连接池为 HikariCP。

## 参数解释

```yaml
dataSources: # 数据源配置,可配置多个 <data-source-name>
  <data_source_name>: # 数据源名称
    dataSourceClassName: # 数据源连接池完整类名
    url: # 数据库 URL 连接
    username: # 数据库用户名
    password: # 数据库密码
    # ... 数据库连接池的其它属性
```
## 配置示例

```yaml
dataSources:
  ds_1:
    url: jdbc:mysql://localhost:3306/ds_1
    username: root
    password:
  ds_2:
    dataSourceClassName: com.mchange.v2.c3p0.ComboPooledDataSource
    url: jdbc:mysql://localhost:3306/ds_2
    username: root
    password:
  ds_3:
    dataSourceClassName: org.apache.commons.dbcp2.BasicDataSource
    url: jdbc:mysql://localhost:3306/ds_3
    username: root
    password:
  
  # 配置其他数据源
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/yaml-config/_index.en.md
=====================================================
+++
title = "Yaml Configuration"
weight = 2
+++

The YAML configuration of ShardingSphere-JDBC is the subset of ShardingSphere-Proxy.
In `global.yaml` file, ShardingSphere-Proxy can configure authority feature and more properties for Proxy only.

Note:
The YAML configuration file supports more than 3MB of configuration content.

This chapter will introduce the extra YAML configuration of ShardingSphere-Proxy.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/yaml-config/props.en.md
=====================================================
+++
title = "Properties"
weight = 2
chapter = true
+++

## Background

Apache ShardingSphere provides a wealth of system configuration properties, which users can configure through `global.yaml`.

## Parameters

| *Name*                                    | *Data Type* | *Description*                                                                                                                                                                                                                                                                                      | *Default*       | *Dynamic Update* |
|-------------------------------------------|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|------------------|
| system-log-level (?)                      | String      | System log output level, supports DEBUG, INFO, WARN and ERROR, the default level is INFO.                                                                                                                                                                                                          | INFO            | True             |
| sql-show (?)                              | boolean     | Whether to print SQL in logs. <br /> Printing SQL can help developers quickly locate system problems. Logs contain the following contents: logical SQL, authentic SQL and SQL parsing result. <br /> If configuration is enabled, logs will use Topic `ShardingSphere-SQL`, and log level is INFO. | false           | True             |
| sql-simple (?)                            | boolean     | Whether to print simple SQL in logs.                                                                                                                                                                                                                                                               | false           | True             |
| kernel-executor-size (?)                  | int         | Set the size of the thread pool for task processing. Each ShardingSphereDataSource uses an independent thread pool, and different data sources on the same JVM do not share thread pools.                                                                                                          | infinite        | False            |
| max-connections-size-per-query (?)        | int         | The maximum number of connections that a query request can use in each database instance.                                                                                                                                                                                                          | 1               | True             |
| check-table-metadata-enabled (?)          | boolean     | Whether shard metadata is checked for structural consistency when the program is started and updated.                                                                                                                                                                                              | false           | True             |
| proxy-frontend-flush-threshold (?)        | int         | Set the I/O refresh threshold for the number of transmitted data items in ShardingSphere-Proxy.                                                                                                                                                                                                    | 128             | True             |
| proxy-backend-query-fetch-size (?)        | int         | The number of rows of data obtained when the backend Proxy interacts with databases (using a cursor). A larger number may increase the occupied memory of ShardingSphere-Proxy. The default value of -1 indicates the minimum value for JDBC driver.                                               | -1              | True             |
| proxy-frontend-executor-size (?)          | int         | The number of threads in the Netty thread pool of front-end Proxy.                                                                                                                                                                                                                                 | 0               | False            |
| proxy-frontend-max-connections (?)        | int         | The maximum number of clients that can be connected to Proxy. The default value of 0 indicates that there's no limit.                                                                                                                                                                              | 0               | True             |
| proxy-default-port (?)                    | String      | Proxy specifies the default window through configuration files.                                                                                                                                                                                                                                    | 3307            | False            |
| proxy-netty-backlog (?)                   | int         | Proxy specifies the default netty back_log parameter through configuration files.                                                                                                                                                                                                                  | 1024            | False            |
| proxy-frontend-database-protocol-type (?) | String      | Proxy front-end protocol type, supports MySQL, PostgreSQL, openGauss                                                                                                                                                                                                                               | \"\"            | False            |
| proxy-frontend-ssl-enabled (?)            | boolean     | Enable SSL/TLS for ShardingSphere-Proxy frontend.                                                                                                                                                                                                                                                  | false           | False            |
| proxy-frontend-ssl-version (?)            | String      | The SSL/TLS protocols to enable. Blank to use default.                                                                                                                                                                                                                                             | TLSv1.2,TLSv1.3 | False            |
| proxy-frontend-ssl-cipher (?)             | String      | The cipher suites to enable, in the order of preference. Multi cipher suites separated by comma. Blank to use default.                                                                                                                                                                             | \"\"            | False            |

Properties can be modified online through [DistSQL#RAL](/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/).
Properties that support dynamic change can take effect immediately. For the ones that do not support dynamic change, the effect will be implemented after a restart.

## Sample

For a complete sample, please refer to `global.yaml` in ShardingSphere's repository:<https://github.com/apache/shardingsphere/blob/612cd5d8e802d0d712a3a4d89da8fdc048d23879/proxy/bootstrap/src/main/resources/conf/global.yaml#L71-L89>

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/yaml-config/rules.en.md
=====================================================
+++
title = "Rules"
weight = 3
+++

## Background

This section explains how to configure the ShardingSphere-Proxy rules.

## Parameters Explained

Rules configuration for ShardingSphere-Proxy is the same as ShardingSphere-JDBC.
For details, please refer to [ShardingSphere-JDBC Rules Configuration](/en/user-manual/shardingsphere-jdbc/yaml-config/rules/).

## Notice

Unlike ShardingSphere-JDBC, the following rules need to be configured in ShardingSphere-Proxy's `global.yaml`:

* [SQL Parsing](/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-parser/)
```yaml
sqlParser:
  sqlStatementCache:
    initialCapacity: 2000
    maximumSize: 65535
  parseTreeCache:
    initialCapacity: 128
    maximumSize: 1024
```
* [Distributed Transaction](/en/user-manual/shardingsphere-jdbc/yaml-config/rules/transaction/)
```yaml
transaction:
  defaultType: XA
  providerType: Atomikos
```
* [SQL Translator](/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-translator/)
```yaml
sqlTranslator:
  type:
  useOriginalSQLWhenTranslatingFailed:
```
* [SQL Federation](/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-federation/)
```yaml
sqlFederation:
  sqlFederationEnabled: true
  allQueryUseSQLFederation: false
  executionPlanCache:
    initialCapacity: 2000
    maximumSize: 65535
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/yaml-config/data-source.en.md
=====================================================
+++
title = "Data Source"
weight = 4
chapter = true
+++

## Background

ShardingSphere-Proxy supports common data source connection pools: HikariCP, C3P0, DBCP (C3P0, DBCP need download plugin from [shardingsphere-plugins](https://github.com/apache/shardingsphere-plugin) repository).

The connection pool can be specified through the parameter `dataSourceClassName`. When not specified, the default data source connection pool is HikariCP.

## Parameters

```yaml
dataSources: # Data sources configuration, multiple <data-source-name> available
  <data_source_name>: # Data source name
    dataSourceClassName: # Data source connection pool full class name
    url: # The database URL connection
    username: # Database username
    password: # The database password
    # ... Other properties of data source pool
```
## Sample

```yaml
dataSources:
  ds_1:
    url: jdbc:mysql://localhost:3306/ds_1
    username: root
    password:
  ds_2:
    dataSourceClassName: com.mchange.v2.c3p0.ComboPooledDataSource
    url: jdbc:mysql://localhost:3306/ds_2
    username: root
    password:
  ds_3:
    dataSourceClassName: org.apache.commons.dbcp2.BasicDataSource
    url: jdbc:mysql://localhost:3306/ds_3
    username: root
    password:
  
  # Configure other data sources
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/yaml-config/authority.en.md
=====================================================
+++
title = "Authentication & Authorization"
weight = 1
+++

## Background

In ShardingSphere-Proxy, user authentication and authorization information is configured through `authority`.

Thanks to ShardingSphere's pluggable architecture, Proxy provides two levels of privilege providers, namely: 

- `ALL_PERMITTED`: each user has all privileges without special authorization.
- `DATABASE_PERMITTED`: grants the user privileges on the specified logical databases, defined by `user-database-mappings`.

The administrator can choose which privilege provider to use as needed when configuring `authority`. 

## Parameters

```yaml
authority:
  users:
    - user: # Specify the username, and authorized host for logging in to the compute node. Format: <username>@<hostname>. When the hostname is % or an empty string, it indicates that the authorized host is not limited, username and hostname are case-insensitive
      password: # Password
      admin: # Optional, administrator identity. If true, the user has the highest authority. The default value is false
      authenticationMethodName: # Optional, used to specify the password authentication method for the user
  authenticators: # Optional, not required by default, Proxy will automatically choose the authentication method according to the frontend protocol type
    authenticatorName:
      type: # Authentication method type
  defaultAuthenticator: # Optional, specify an authenticator as the default password authentication method
  privilege:
    type: # Privilege provider type. The default value is ALL_PERMITTED
```

## Sample

### Minimalist configuration

```yaml
authority:
   users:
     - user: root@%
       password: root
     - user: sharding
       password: sharding
```

Explanation:
- Two users are defined: `root@%` and `sharding`;
- `authenticationMethodName` is not specified for `root@127.0.0.1`, Proxy will automatically choose the authentication method according to the frontend protocol;
- Privilege provider is not specified, the default `ALL_PERMITTED` will be used;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/optional-plugins/_index.en.md
=====================================================
+++
title = "Optional Plugins"
weight = 6
+++

ShardingSphere only includes the implementation of the core SPI by default, and there is a part of the SPI that contains third-party dependencies in Git Source
Implemented plugins are not included. Retrievable at https://central.sonatype.com/.

SPI and existing implementation classes of SPI corresponding to all plugins can be retrieved at https://shardingsphere.apache.org/document/current/cn/dev-manual/.

All the built-in plugins for ShardingSphere-Proxy are listed below in the form of 'groupId:artifactId'.

- `org.apache.shardingsphere:shardingsphere-cluster-mode-repository-etcd`, etcd implementation of persistent definition of cluster mode configuration information
- `org.apache.shardingsphere:shardingsphere-cluster-mode-repository-zookeeper`, the zookeeper implementation of the persistent definition of cluster mode configuration information
- `org.apache.shardingsphere:shardingsphere-jdbc`, JDBC module
- `org.apache.shardingsphere:shardingsphere-db-protocol-core`, database protocol core
- `org.apache.shardingsphere:shardingsphere-mysql-protocol`, the MySQL implementation of the database protocol
- `org.apache.shardingsphere:shardingsphere-postgresql-protocol`, the PostgreSQL implementation of the database protocol
- `org.apache.shardingsphere:shardingsphere-opengauss-protocol`, the OpenGauss implementation of the database protocol
- `org.apache.shardingsphere:shardingsphere-proxy-frontend-core`, used by ShardingSphere-Proxy to parse and adapt the protocol for accessing the database
- `org.apache.shardingsphere:shardingsphere-proxy-frontend-mysql`, a MySQL implementation for ShardingSphere-Proxy to parse and adapt the protocol for accessing the database
- `org.apache.shardingsphere:shardingsphere-proxy-frontend-postgresql`, a PostgreSQL implementation for ShardingSphere-Proxy to parse and adapt the protocol for accessing the database
- `org.apache.shardingsphere:shardingsphere-proxy-frontend-opengauss`, an openGauss implementation for ShardingSphere-Proxy to parse and adapt the protocol for accessing the database
- `org.apache.shardingsphere:shardingsphere-proxy-backend-core`, the backend core for ShardingSphere Proxy
- `org.apache.shardingsphere:shardingsphere-standalone-mode-core`, the persistence definition core of single-machine mode configuration information

For the core `org.apache.shardingsphere:shardingsphere-jdbc`,Its built-in plugins reference[ShardingSphere-JDBC Optional Plugins](/en/user-manual/shardingsphere-jdbc/optional-plugins/).

If ShardingSphere Proxy needs to use optional plugins, you need to download the JAR containing its SPI implementation and its dependent JARs from Maven Central.

All optional plugins are listed below in the form of `groupId:artifactId`.

- Standalone mode configuration information persistence definition
  - `org.apache.shardingsphere:shardingsphere-standalone-mode-repository-jdbc`, JDBC based persistence
- XA transaction manager provider definition
  - `org.apache.shardingsphere:shardingsphere-transaction-xa-narayana`, XA distributed transaction manager based on Narayana
- Row Value Expressions definition
  - `org.apache.shardingsphere:shardingsphere-infra-expr-espresso`,Row Value Expressions that uses the Groovy syntax based on GraalVM Truffle's Espresso implementation
- Database type identification
  - `org.apache.shardingsphere:shardingsphere-infra-database-testcontainers`, Adaptation of jdbcURL for `JDBC support` of `testcontainers-java` 

In addition to the above optional plugins, ShardingSphere community developers have contributed a number of plugin implementations. These plugins can be found in [ShardingSphere Plugins](https://github.com/apache/shardingsphere-plugin) repository. Plugins in ShardingSphere Plugin repository would remain the same release plan with ShardingSphere, they can be retrieved at https://central.sonatype.com/, and install into ShardingSphere.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/startup/dependencies-download/add_Narayana_dependency.cn.md
=====================================================
+++
title = "添加 Narayana 依赖"
weight = 2
+++

## 添加 Narayana 依赖包

添加 Narayana 依赖需要下载以下 jar 文件并将其添加至 `ext-lib` 下。

### jar 文件下载地址

- [arjuna-5.12.7.Final.jar](https://repo1.maven.org/maven2/org/jboss/narayana/arjunacore/arjuna/5.12.7.Final/arjuna-5.12.7.Final.jar)
- [common-5.12.7.Final.jar](https://repo1.maven.org/maven2/org/jboss/narayana/common/5.12.7.Final/common-5.12.7.Final.jar)
- [jboss-connector-api_1.7_spec-1.0.0.Final.jar](https://repo1.maven.org/maven2/org/jboss/spec/javax/resource/jboss-connector-api_1.7_spec/1.0.0.Final/jboss-connector-api_1.7_spec-1.0.0.Final.jar)
- [jboss-logging-3.2.1.Final.jar](https://repo1.maven.org/maven2/org/jboss/logging/jboss-logging/3.2.1.Final/jboss-logging-3.2.1.Final.jar)
- [jboss-transaction-api_1.2_spec-1.0.0.Alpha3.jar](https://repo1.maven.org/maven2/org/jboss/spec/javax/transaction/jboss-transaction-api_1.2_spec/1.0.0.Alpha3/jboss-transaction-api_1.2_spec-1.0.0.Alpha3.jar)
- [jboss-transaction-spi-7.6.1.Final.jar](https://repo1.maven.org/maven2/org/jboss/jboss-transaction-spi/7.6.1.Final/jboss-transaction-spi-7.6.1.Final.jar)
- [jta-5.12.7.Final.jar](https://repo1.maven.org/maven2/org/jboss/narayana/jta/jta/5.12.7.Final/jta-5.12.7.Final.jar)
- [narayana-jts-integration-5.12.7.Final.jar](https://repo1.maven.org/maven2/org/jboss/narayana/jts/narayana-jts-integration/5.12.7.Final/narayana-jts-integration-5.12.7.Final.jar)
- [shardingsphere-transaction-xa-narayana.jar](https://mvnrepository.com/artifact/org.apache.shardingsphere/shardingsphere-transaction-xa-narayana)

请根据 `proxy` 版本下载对应 `shardingsphere-transaction-xa-narayana.jar` 文件。

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/startup/dependencies-download/_index.cn.md
=====================================================
+++
title = "添加依赖"
weight = 5
+++

本章主要介绍 ShardingSphere 可选依赖的下载方式。

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/startup/dependencies-download/add_Narayana_dependency.en.md
=====================================================
+++
title = "Add Narayana dependencies"
weight = 2
+++

## Add Narayana dependencies

Adding Narayana dependencies requires downloading the following jar files and adding them under `ext-lib` path.

### jar file downloads

- [arjuna-5.12.7.Final.jar](https://repo1.maven.org/maven2/org/jboss/narayana/arjunacore/arjuna/5.12.7.Final/arjuna-5.12.7.Final.jar)
- [common-5.12.7.Final.jar](https://repo1.maven.org/maven2/org/jboss/narayana/common/5.12.7.Final/common-5.12.7.Final.jar)
- [jboss-connector-api_1.7_spec-1.0.0.Final.jar](https://repo1.maven.org/maven2/org/jboss/spec/javax/resource/jboss-connector-api_1.7_spec/1.0.0.Final/jboss-connector-api_1.7_spec-1.0.0.Final.jar)
- [jboss-logging-3.2.1.Final.jar](https://repo1.maven.org/maven2/org/jboss/logging/jboss-logging/3.2.1.Final/jboss-logging-3.2.1.Final.jar)
- [jboss-transaction-api_1.2_spec-1.0.0.Alpha3.jar](https://repo1.maven.org/maven2/org/jboss/spec/javax/transaction/jboss-transaction-api_1.2_spec/1.0.0.Alpha3/jboss-transaction-api_1.2_spec-1.0.0.Alpha3.jar)
- [jboss-transaction-spi-7.6.1.Final.jar](https://repo1.maven.org/maven2/org/jboss/jboss-transaction-spi/7.6.1.Final/jboss-transaction-spi-7.6.1.Final.jar)
- [jta-5.12.7.Final.jar](https://repo1.maven.org/maven2/org/jboss/narayana/jta/jta/5.12.7.Final/jta-5.12.7.Final.jar)
- [narayana-jts-integration-5.12.7.Final.jar](https://repo1.maven.org/maven2/org/jboss/narayana/jts/narayana-jts-integration/5.12.7.Final/narayana-jts-integration-5.12.7.Final.jar)
- [shardingsphere-transaction-xa-narayana.jar](https://mvnrepository.com/artifact/org.apache.shardingsphere/shardingsphere-transaction-xa-narayana)

Please download the corresponding `shardingsphere-transaction-xa-narayana.jar` file according to the `proxy` version.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/startup/dependencies-download/_index.en.md
=====================================================
+++
title = "Add dependencies"
weight = 5
+++

This chapter mainly introduces how to download optional dependencies of ShardingSphere.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/startup/graalvm-native-image.en.md
=====================================================
+++
title = "Build GraalVM Native Image(Alpha)"
weight = 2
+++

## Background

This section mainly introduces how to build the `Native Image` of ShardingSphere-Proxy and the
corresponding `Docker Image` through the `native-image` component of `GraalVM`.

## Notice

- ShardingSphere Proxy is not yet ready to integrate with GraalVM Native Image. Proxy's Native Image artifacts are
  built nightly at https://github.com/apache/shardingsphere/pkgs/container/shardingsphere-proxy-native .
  Assuming there is a `conf` folder containing `global.yaml` as `./custom/conf`, you can test it with the
  following `docker-compose.yml` file.

````yaml
version: "3.8"

services:
  apache-shardingsphere-proxy-native:
    image: ghcr.io/apache/shardingsphere-proxy-native:latest
    volumes:
      - ./custom/conf:/opt/shardingsphere-proxy-native/conf
    ports:
      - "3307:3307"
````

- This section assumes a Linux (amd64, aarch64), MacOS (amd64) or Windows (amd64) environment.
  If you are on MacOS (aarch64/M1) environment, you need to follow https://github.com/oracle/graal/issues/2666 which is
  not closed yet.

## Premise

1. Install and configure `GraalVM Community Edition` or a downstream distribution of `GraalVM Community Edition` for 
JDK 21 according to https://www.graalvm.org/downloads/. If `SDKMAN!` is used,

```shell
sdk install java 21.0.2-graalce
```

2. Install the local toolchain as required by https://www.graalvm.org/jdk17/reference-manual/native-image/#prerequisites.

3. If you need to build a Docker Image, make sure `docker-ce` is installed.

## Steps

1. Get Apache ShardingSphere Git Source


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/startup/_index.cn.md
=====================================================
+++
title = "启动手册"
weight = 1
+++

本章节将介绍 ShardingSphere-Proxy 相关部署和启动等相关操作。

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/startup/_index.en.md
=====================================================
+++
title = "Startup"
weight = 1
+++

This chapter will introduce the deployment and startup of ShardingSphere-Proxy.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/startup/bin.en.md
=====================================================
+++
title = "Use Binary Tar"
weight = 1
+++

## Background

This section describes how to start ShardingSphere-Proxy by binary release packages

## Premise

Start the Proxy with a binary package requires an environment with Java JRE 8 or later.

## Steps

1. Obtain the binary release package of ShardingSphere-Proxy

Obtain the binary release package of ShardingSphere-Proxy on the [download page](https://shardingsphere.apache.org/document/current/en/downloads/).

2. Configure `conf/global.yaml`

ShardingSphere-Proxy's operational mode is configured on `global.yaml`, and its configuration mode is the same with that of ShardingSphere-JDBC. Refer to [mode of configuration](/en/user-manual/shardingsphere-jdbc/yaml-config/mode/).

Please refer to the following links for other configuration items:
* [Permission configuration](/en/user-manual/shardingsphere-proxy/yaml-config/authority/)
* [Property configuration](/en/user-manual/shardingsphere-proxy/yaml-config/props/)

3. Configure `conf/database-*.yaml`

Modify files named with the prefix `database-` in the `conf` directory, such as `conf/database-sharding.yaml` file and configure sharding rules and read/write splitting rules. See [Confuguration Mannual](/en/user-manual/shardingsphere-proxy/yaml-config/) for configuration methods. The `*` part of the `database-*.yaml` file can be named whatever you want.

ShardingSphere-Proxy supports multiple logical data sources. Each YAML configuration file named with the prefix `database-` is a logical data source.

4. Introduce database driver (Optional)

If the backend is connected to a PostgreSQL or openGauss database, no additional dependencies need to be introduced.

If the backend is connected to a MySQL database, please download [mysql-connector-java-5.1.49.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar) or [mysql-connector-java-8.0.11.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11.jar), and put it into the `ext-lib` directory.

5. Introduce dependencies required by the cluster mode (Optional)

ShardingSphere-Proxy integrates the ZooKeeper Curator client by default. ZooKeeper is used in cluster mode without introducing other dependencies.

If the cluster mode uses Etcd, please copy [vertx-grpc 4.5.1](https://repo1.maven.org/maven2/io/vertx/vertx-grpc/4.5.1/vertx-grpc-4.5.1.jar) and [vertx-core 4.5.1](https://repo1.maven.org/maven2/io/vertx/vertx-core/4.5.1/vertx-core-4.5.1.jar) that Etcd depends on into the `ext-lib` directory.

6. Introduce dependencies required by distributed transactions (Optional)

It is the same with ShardingSphere-JDBC.
Please refer to [Distributed Transaction](/en/user-manual/shardingsphere-jdbc/special-api/transaction/) for more details.


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/startup/docker.en.md
=====================================================
+++
title = "Use Docker"
weight = 2
+++

## Background

This chapter is an introduction about how to start ShardingSphere-Proxy via Docker

## Notice

Using Docker to start ShardingSphere-Proxy does not require additional package supoort.

## Steps

1. Acquire Docker Image

* Method 1 (Recommended): Pull from DockerHub
```bash
docker pull apache/shardingsphere-proxy
```

* Method 2: Acquire latest master branch image master: <https://github.com/apache/shardingsphere/pkgs/container/shardingsphere-proxy>

* Method 3: Build your own image
```bash
git clone https://github.com/apache/shardingsphere
./mvnw clean install
cd shardingsphere-distribution/shardingsphere-proxy-distribution
./mvnw clean package -Prelease,docker
```

If the following problems emerge, please make sure Docker daemon Process is running.
```
I/O exception (java.io.IOException) caught when processing request to {}->unix://localhost:80: Connection refused?
```

2. Configure `conf/global.yaml` and `conf/database-*.yaml`

Configuration file template can be attained from the Docker container and can be copied to any directory on the host:
```bash
docker run -d --name tmp --entrypoint=bash apache/shardingsphere-proxy
docker cp tmp:/opt/shardingsphere-proxy/conf /host/path/to/conf
docker rm tmp
```

Since the network conditions inside the container may differ from those of the host, if errors such as "cannot connect to the database" occurs, please make sure that the IP of the database specified in the `conf/database-*.yaml` configuration file can be accessed from inside the Docker container.

For details, please refer to [ShardingSphere-Proxy quick start manual - binary distribution packages](/en/user-manual/shardingsphere-proxy/startup/bin/).


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/cdc/build.en.md
=====================================================
+++
title = "Build"
weight = 1
+++

## Background Information

ShardingSphere CDC is divided into two parts, one is the CDC Server, and the other is the CDC Client. The CDC Server and ShardingSphere-Proxy are currently deployed together.

Users can introduce the CDC Client into their own projects to implement data consumption logic.

## Constraints

- Pure JAVA development, JDK recommended 1.8 or above.
- CDC Server requires SharingSphere-Proxy to use cluster mode, currently supports ZooKeeper as the registry center.
- CDC only synchronizes data, does not synchronize table structure, and currently does not support DDL statement synchronization.
- CDC incremental task will not split transaction data of the database shards. If you want to enable XA transaction compatibility, both openGauss and ShardingSphere-Proxy need the GLT module.

## CDC Server Deployment Steps

Here, the openGauss database is used as an example to introduce the deployment steps of the CDC Server.

Since the CDC Server is built into ShardingSphere-Proxy, you need to get ShardingSphere-Proxy. For details, please refer to the [proxy startup manual](/cn/user-manual/shardingsphere-proxy/startup/bin/).

### Configure GLT Module (Optional)

The official website's released binary package does not include the GLT module by default, if you are using the openGauss database with GLT functionality, you can additionally introduce the GLT module to ensure the integrity of XA transactions.

There are currently two ways to introduce the GLT module, and corresponding configurations need to be made in global.yaml.

#### 1. Source code compilation and installation

1.1 Prepare the code environment, download in advance or use Git clone to download the [ShardingSphere](https://github.com/apache/shardingsphere.git) source code from Github.

1.2 Delete the `<scope>provided</scope>` tag of the shardingsphere-global-clock-tso-provider-redis dependency in kernel/global-clock/type/tso/core/pom.xml and the `<scope>provided</scope>` tag of jedis in kernel/global-clock/type/tso/provider/redis/pom.xml

1.3 Compile ShardingSphere-Proxy, for specific compilation steps, please refer to the [ShardingSphere Compilation Manual](https://github.com/apache/shardingsphere/wiki#build-apache-shardingsphere).

#### 2. Directly introduce GLT dependencies

Can be introduced from the maven repository

2.1. [shardingsphere-global-clock-tso-provider-redis](https://repo1.maven.org/maven2/org/apache/shardingsphere/shardingsphere-global-clock-tso-provider-redis), download the same version as ShardingSphere-Proxy

2.2. [jedis-4.3.1](https://repo1.maven.org/maven2/redis/clients/jedis/4.3.1/jedis-4.3.1.jar)

### CDC Server User Manual

1. Modify the configuration file `conf/global.yaml` and turn on the CDC function. Currently, `mode` must be `Cluster`, and the corresponding registry center needs to be started in advance. If the GLT provider uses Redis, Redis needs to be started in advance.


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/cdc/_index.en.md
=====================================================
+++
title = "CDC"
weight = 9
+++

CDC (Change Data Capture) captures incremental data changes. CDC can monitor data changes in the storage nodes of ShardingSphere-Proxy, capture data operation events, filter and extract useful information, and finally send these changed data to a specified target.

CDC can be used for data synchronization, data backup and recovery, it currently supports openGauss, MySQL, and PostgreSQL.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/cdc/usage.en.md
=====================================================
+++
title = "Manual"
weight = 2
+++

## Introduction to CDC Function

CDC only synchronizes data, it does not synchronize table structures, and currently does not support the synchronization of DDL statements.

### Introduction to CDC Protocol

The CDC protocol uses Protobuf, and the corresponding Protobuf types are mapped based on the types in Java.

Here, taking openGauss as an example, the mapping relationship between the data types of the CDC protocol and the database types is as follows.

| openGauss type                           | Java data type     | CDC corresponding protobuf type | Remarks                                                                                                       |
|------------------------------------------|--------------------|---------------------------------|---------------------------------------------------------------------------------------------------------------|
| tinyint, smallint, integer               | Integer            | int32                           |                                                                                                               |
| bigint                                   | Long               | int64                           |                                                                                                               |
| numeric                                  | BigDecimal         | string                          |                                                                                                               |
| real, float4                             | Float              | float                           |                                                                                                               |
| binary_double, double precision          | Double             | double                          |                                                                                                               |
| boolean                                  | Boolean            | bool                            |                                                                                                               |
| char, varchar, text, clob                | String             | string                          |                                                                                                               |
| blob, bytea, raw                         | byte[]             | bytes                           |                                                                                                               |
| date, timestamp, timestamptz, smalldatetime | java.sql.Timestamp | Timestamp                       | The Timestamp type of protobuf only contains seconds and nanoseconds, so it is irrelevant to the time zone |
| time, timetz                             | java.sql.Time       | int64                           | Represents the number of nanoseconds of the day, irrelevant to the time zone                                  |
| interval, reltime, abstime               | String             | string                          |                                                                                                               |
| point, lseg, box, path, polygon, circle  | String             | string                          |                                                                                                               |
| cidr, inet, macaddr                      | String             | string                          |                                                                                                               |
| tsvector                                 | String             | string                          |                                                                                                               |
| tsquery                                  | String             | String                          |                                                                                                               |
| uuid                                     | String             | string                          |                                                                                                               |
| json, jsonb                              | String             | string                          |                                                                                                               |
| hll                                      | String             | string                          |                                                                                                               |
| int4range, daterange, tsrange, tstzrange | String             | string                          |                                                                                                               |
| hash16, hash32                           | String             | string                          |                                                                                                               |
| bit, bit varying                         | String             | string                          | Returns Boolean type when bit(1)                                                                              |

## openGauss User Manual

### Environmental Requirements

Supported openGauss versions: 2.x ~ 3.x.

### Permission Requirements

1. Adjust the source end WAL configuration.

Example configuration for `postgresql.conf`:

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word.en.md
=====================================================
+++
title = "Reserved word"
weight = 5
+++

## RDL

### Basic Reserved Words

`CREATE`, `ALTER`, `DROP`, `TABLE`, `RULE`, `TYPE`, `NAME`, `PROPERTIES`, `TRUE`, `FALSE`, `IF`, `NOT`, `EXISTS`

### Storage Unit Definition

`ADD`, `RESOURCE`, `IF`, `EXISTS`, `HOST`, `PORT`, `DB`, `USER`, `PASSWORD`, `URL`
, `IGNORE`, `SINGLE`, `TABLES`

### Rule Definition

#### Sharding

`DEFAULT`, `SHARDING`, `BROADCAST`, `REFERENCE`, `DATABASE`, `STRATEGY`, `RULES`, `ALGORITHM`
, `DATANODES`, `DATABASE_STRATEGY`, `TABLE_STRATEGY`, `KEY_GENERATE_STRATEGY`, `RESOURCES`, `SHARDING_COLUMN`, `KEY`
, `GENERATOR`, `SHARDING_COLUMNS`, `KEY_GENERATOR`, `SHARDING_ALGORITHM`, `COLUMN`, `AUDIT_STRATEGY`
, `AUDITORS`, `ALLOW_HINT_DISABLE`

### Broadcast table

`BROADCAST`

#### Single Table

`SET`, `DEFAULT`, `SINGLE`, `STORAGE`, `UNIT`, `RANDOM`

#### Readwrite-Splitting

`READWRITE_SPLITTING`, `WRITE_STORAGE_UNIT`, `READ_STORAGE_UNITS`
, `AUTO_AWARE_RESOURCE`

#### Encrypt

`ENCRYPT`, `COLUMNS`, `CIPHER`, `ENCRYPT_ALGORITHM`

#### Database Discovery

`DB_DISCOVERY`, `STORAGE_UNITS`, `HEARTBEAT`

#### Shadow

`SHADOW`, `DEFAULT`, `SOURCE`, `SHADOW`


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/_index.cn.md
=====================================================
+++
title = "RQL 语法"
weight = 2
chapter = true
+++

RQL (Resource & Rule Query Language) 为 Apache ShardingSphere 的资源和规则查询语言。

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/_index.en.md
=====================================================
+++
title = "RQL Syntax"
weight = 2
chapter = true
+++

RQL (Resource & Rule Query Language) responsible for resources/rules query.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/mask/count-mask-rule.en.md
=====================================================
+++
title = "COUNT MASK RULE"
weight = 2
+++

### Description

The `COUNT MASK RULE` syntax is used to query the number of mask rules for specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
CountMaskRule::=
  'COUNT' 'MASK' 'RULE' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Return value description

| Column    | Description                            |
|-----------|----------------------------------------|
| rule_name | rule type                              |
| database  | the database to which the rule belongs |
| count     | the number of the rule                 |


### Example

- Query the number of mask rules for specified database.

```sql
COUNT MASK RULE FROM mask_db;
```

```sql
mysql> COUNT MASK RULE FROM mask_db;
+-----------+----------+-------+

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/mask/count-mask-rule.cn.md
=====================================================
+++
title = "COUNT MASK RULE"
weight = 2
+++

### 描述

`COUNT MASK RULE` 语法用于查询指定逻辑库中的数据脱敏规则数量。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
CountMaskRule::=
  'COUNT' 'MASK' 'RULE' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`,如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列         | 说明      |
|-----------|---------|
| rule_name | 规则类型    |
| database  | 规则所属逻辑库 |
| count     | 规则数量    |


### 示例

- 查询指定逻辑库中的数据脱敏规则数量

```sql
COUNT MASK RULE FROM mask_db;
```

```sql
mysql> COUNT MASK RULE FROM mask_db;
+-----------+----------+-------+

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/mask/show-mask-rule.cn.md
=====================================================
+++
title = "SHOW MASK RULES"
weight = 1
+++

### 描述

`SHOW MASK RULES` 语法用于查询指定逻辑库中的数据脱敏规则。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowMaskRule::=
  'SHOW' 'MASK' ('RULES' | 'RULE' ruleName) ('FROM' databaseName)?

ruleName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`, 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列               | 说明       |
|-----------------|----------|
| table           | 表名       |
| column          | 列名       |
| algorithm_type  | 数据脱敏算法类型 |
| algorithm_props | 数据脱敏算法参数 |

### 示例

- 查询指定逻辑库中的所有数据脱敏规则

```sql
SHOW MASK RULES FROM mask_db;
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/mask/_index.en.md
=====================================================
+++
title = "Mask"
weight = 6
chapter = true
+++

This chapter describes the syntax of mask.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/mask/show-mask-rule.en.md
=====================================================
+++
title = "SHOW MASK RULES"
weight = 1
+++

### Description

The `SHOW MASK RULES` syntax is used to query mask rules for specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowMaskRule::=
  'SHOW' 'MASK' ('RULES' | 'RULE' ruleName) ('FROM' databaseName)?

ruleName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Return value description

| Column          | Description               |
|-----------------|---------------------------|
| table           | Table name                |
| column          | Column name               |
| algorithm_type  | Mask algorithm type       |
| algorithm_props | Mask algorithm properties |




### Example

- Query mask rules for specified database

```sql

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/broadcast-table/count-broadcast-rule.en.md
=====================================================
+++
title = "COUNT BROADCAST RULE"
weight = 2
+++

### Description

The `COUNT BROADCAST RULE` syntax is used to query the number of broadcast table rules for specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
CountBroadcastRule::=
  'COUNT' 'BROADCAST' 'RULE' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Return value description

| Column    | Description                            |
|-----------|----------------------------------------|
| rule_name | rule type                              |
| database  | the database to which the rule belongs |
| count     | the number of the rule                 |


### Example

- Query the number of broadcast table rules for specified database.

```sql
COUNT BROADCAST RULE FROM sharding_db;
```

```sql
mysql> COUNT BROADCAST RULE FROM sharding_db;
+--------------------------+----------------+-------+

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/broadcast-table/count-broadcast-rule.cn.md
=====================================================
+++
title = "COUNT BROADCAST RULE"
weight = 2
+++

### 描述

`COUNT BROADCAST RULE` 语法用于查询指定逻辑库中的广播表规则数量。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
CountBroadcastRule::=
  'COUNT' 'BROADCAST' 'RULE' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列         | 说明      |
|-----------|---------|
| rule_name | 规则类型    |
| database  | 规则所属逻辑库 |
| count     | 规则数量    |


### 示例

- 查询指定逻辑库中的广播表规则数量

```sql
COUNT BROADCAST RULE FROM sharding_db;
```

```sql
mysql> COUNT BROADCAST RULE FROM sharding_db;
+--------------------------+----------------+-------+

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/broadcast-table/show-broadcast-table-rule.cn.md
=====================================================
+++
title = "SHOW BROADCAST TABLE RULE"
weight = 1
+++

## 描述

`SHOW BROADCAST TABLE RULES` 语法用于查询指定数据库中具有广播规则的表。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowBroadcastTableRule ::=
  'SHOW' 'BROADCAST' 'TABLE' 'RULES' ('FROM' databaseName)? 

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`; 如未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列               | 说明    |
|-----------------|-------|
| broadcast_table | 广播表名称 |

### 示例

- 查询指定数据库中具有广播规则的表

```sql
SHOW BROADCAST TABLE RULES FROM sharding_db;
```

```sql
mysql> SHOW BROADCAST TABLE RULES FROM sharding_db;
+-----------------+
| broadcast_table |
+-----------------+
| t_a             |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/broadcast-table/_index.en.md
=====================================================
+++
title = "Broadcast Table"
weight = 2
chapter = true
+++

This chapter describes the syntax of broadcast table.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/broadcast-table/show-broadcast-table-rule.en.md
=====================================================
+++
title = "SHOW BROADCAST TABLE RULE"
weight = 1
+++

## Description

The `SHOW BROADCAST TABLE RULE` syntax is used to broadcast tables for specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowBroadcastTableRule ::=
  'SHOW' 'BROADCAST' 'TABLE' 'RULES' ('FROM' databaseName)? 

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Return value description

| Column          | Description          |
|-----------------|----------------------|
| broadcast_table | Broadcast table name |

### Example

- Query broadcast tables for specified database.

```sql
SHOW BROADCAST TABLE RULES FROM sharding_db;
```

```sql
mysql> SHOW BROADCAST TABLE RULES FROM sharding_db;
+-----------------+
| broadcast_table |
+-----------------+
| t_a             |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-nodes.cn.md
=====================================================
+++
title = "SHOW SHARDING TABLE NODES"
weight = 9
+++

### 描述

`SHOW SHARDING TABLE NODES` 语法用于查询指定逻辑库中的指定分片表的节点分布。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowShardingTableNode::=
  'SHOW' 'SHARDING' 'TABLE' 'NODES' tableName? ('FROM' databaseName)?

tableName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列     | 说明     |
|-------|--------|
| name  | 分片规则名称 |
| nodes | 分片节点   |

### 示例

- 查询指定逻辑库中指定分片表的节点分布

```sql
SHOW SHARDING TABLE NODES t_order_item FROM sharding_db;
```

```sql
mysql> SHOW SHARDING TABLE NODES t_order_item FROM sharding_db;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-auditors.en.md
=====================================================
+++
title = "SHOW SHARDING AUDITORS"
weight = 7

+++

### Description

`SHOW SHARDING AUDITORS` syntax is used to query sharding auditors in specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowShardingAuditors::=
  'SHOW' 'SHARDING' 'AUDITORS' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted.

### Return value description

| column | Description                           |
|--------|---------------------------------------|
| name   | Sharding auditor name                 |
| type   | Sharding auditor algorithm type       |
| props  | Sharding auditor algorithm properties |

### Example

- Query sharding auditors for the specified logical database

```sql
SHOW SHARDING AUDITORS FROM sharding_db;
```

```sql
mysql> SHOW SHARDING AUDITORS FROM sharding_db;
+-------------------------------+-------------------------+-------+

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-key-generators.en.md
=====================================================
+++
title = "SHOW UNUSED SHARDING KEY GENERATORS"
weight = 6

+++

### Description

`SHOW SHARDING KEY GENERATORS` syntax is used to query sharding key generators that are not used in specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowShardingKeyGenerators::=
  'SHOW' 'SHARDING' 'KEY' 'GENERATOR' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted.

### Return value description

| column | Description                       |
|--------|-----------------------------------|
| name   | Sharding key generator name       |
| type   | Sharding key generator type       |
| props  | Sharding key generator properties |

### Example

- Query sharding key generators that are not used in the specified logical database

```sql
SHOW UNUSED SHARDING KEY GENERATORS FROM sharding_db;
```

```sql
mysql> SHOW UNUSED SHARDING KEY GENERATORS FROM sharding_db;
+-------------------------+-----------+-------+

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-default-sharding-strategy.cn.md
=====================================================
+++
title = "SHOW DEFAULT SHARDING STRATEGY"
weight = 4
+++

### 描述

`SHOW DEFAULT SHARDING STRATEGY` 语法用于查询指定逻辑库的默认分片策略。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowDefaultShardingStrategy::=
  'SHOW' 'DEFAULT' 'SHARDING' 'STRATEGY' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列                        | 说明     |
|--------------------------|--------|
| name                     | 分片策略范围 |
| type                     | 分片策略类型 |
| sharding_column          | 分片键    |
| sharding_algorithm_name  | 分片算法名称 |
| sharding_algorithm_type  | 分片算法类型 |
| sharding_algorithm_props | 分片算法参数 |

### 示例

- 查询指定逻辑库的默认分片策略

```sql
SHOW DEFAULT SHARDING STRATEGY FROM sharding_db;
```

```sql

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/count-sharding-rule.en.md
=====================================================
+++
title = "COUNT SHARDING RULE"
weight = 15
+++

### Description

The `COUNT SHARDING RULE` syntax is used to query the number of sharding rules for specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
CountShardingRule::=
  'COUNT' 'SHARDING' 'RULE' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Return value description

| Column    | Description                            |
|-----------|----------------------------------------|
| rule_name | rule type                              |
| database  | the database to which the rule belongs |
| count     | the number of the rule                 |


### Example

- Query the number of sharding rules for specified database.

```sql
COUNT SHARDING RULE FROM sharding_db;
```

```sql
mysql> COUNT SHARDING RULE FROM sharding_db;
+--------------------------+----------------+-------+

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-auditors.cn.md
=====================================================
+++
title = "SHOW UNUSED SHARDING AUDITORS"
weight = 8
+++

### 描述

`SHOW UNUSED SHARDING AUDITORS` 语法用于查询指定逻辑库中未被使用的分片审计器。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowUnusedShardingAuditors::=
  'SHOW' 'SHARDING' 'AUDITOR' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}


### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列     | 说明       |
|-------|----------|
| name  | 分片审计器名称  |
| type  | 分片审计算法类型 |
| props | 分片审计算法参数 |

### 示例

- 查询指定逻辑库中未被使用的分片审计器

```sql
SHOW UNUSED SHARDING AUDITORS FROM sharding_db;
```

```sql
mysql> SHOW UNUSED SHARDING AUDITORS FROM sharding_db;
+-------------------------------+-------------------------+-------+

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-default-sharding-strategy.en.md
=====================================================
+++
title = "SHOW DEFAULT SHARDING STRATEGY"
weight = 4
+++

### Description

The `SHOW DEFAULT SHARDING STRATEGY` syntax is used to query default sharding strategy in specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowDefaultShardingStrategy::=
  'SHOW' 'DEFAULT' 'SHARDING' 'STRATEGY' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Return value description

| Column                   | Description                   |
|--------------------------|-------------------------------|
| name                     | Sharding strategy scope       |
| type                     | Sharding strategy type        |
| sharding_column          | Sharding column               |
| sharding_algorithm_name  | Sharding algorithm name       |
| sharding_algorithm_type  | Sharding algorithm type       |
| sharding_algorithm_props | Sharding algorithm properties |

### Example

- Query default sharding strategy in specified database.

```sql
SHOW DEFAULT SHARDING STRATEGY FROM sharding_db;
```

```sql

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-algorithms.en.md
=====================================================
+++
title = "SHOW UNUSED SHARDING ALGORITHMS"
weight = 3
+++

### Description

The `SHOW UNUSED SHARDING ALGORITHMS` syntax is used to query the unused sharding algorithms in the specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowShardingAlgorithms::=
  'SHOW' 'UNUSED' 'SHARDING' 'ALGORITHMS' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Return value description

| Column | Description                   |
|--------|-------------------------------|
| name   | Sharding algorithm name       |
| type   | Sharding algorithm type       |
| props  | Sharding algorithm properties |

### Example

- Query the unused sharding table algorithms of the specified logical database

```sql
SHOW UNUSED SHARDING ALGORITHMS;
```

```sql
mysql> SHOW UNUSED SHARDING ALGORITHMS;
+---------------+--------+-----------------------------------------------------+
| name          | type   | props                                               |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-key-generator.cn.md
=====================================================
+++
title = "SHOW SHARDING KEY GENERATORS"
weight = 5
+++

### 描述

`SHOW SHARDING KEY GENERATORS` 语法用于查询指定逻辑库的分布式主键生成器。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowShardingKeyGenerators::=
  'SHOW' 'SHARDING' 'KEY' 'GENERATORS' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列     | 说明         |
|-------|------------|
| name  | 分布式主键生成器名称 |
| type  | 分布式主键生成器类型 |
| props | 分布式主键生成器参数 |

### 示例

- 查询指定逻辑库的分布式主键生成器

```sql
SHOW SHARDING KEY GENERATORS FROM sharding_db;
```

```sql
mysql> SHOW SHARDING KEY GENERATORS FROM sharding_db;
+-------------------------+-----------+-------+
| name                    | type      | props |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/count-sharding-rule.cn.md
=====================================================
+++
title = "COUNT SHARDING RULE"
weight = 15
+++

### 描述

`COUNT SHARDING RULE` 语法用于查询指定逻辑库中的分片规则数量。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
CountShardingRule::=
  'COUNT' 'SHARDING' 'RULE' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列         | 说明      |
|-----------|---------|
| rule_name | 规则类型    |
| database  | 规则所属逻辑库 |
| count     | 规则数量    |


### 示例

- 查询指定逻辑库中的分片规则数量

```sql
COUNT SHARDING RULE FROM sharding_db;
```

```sql
mysql> COUNT SHARDING RULE FROM sharding_db;
+--------------------------+----------------+-------+

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-algorithms.cn.md
=====================================================
+++
title = "SHOW SHARDING ALGORITHMS"
weight = 2
+++

### 描述

`SHOW SHARDING ALGORITHMS` 语法用于查询指定逻辑库的分片算法。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowShardingAlgorithms::=
  'SHOW' 'SHARDING' 'ALGORITHMS' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列     | 说明     |
|-------|--------|
| name  | 分片算法名称 |
| type  | 分片算法类型 |
| props | 分片算法参数 |

### 示例

- 查询指定逻辑库的分片算法

```sql
SHOW SHARDING ALGORITHMS FROM sharding_db;
```

```sql
mysql> SHOW SHARDING ALGORITHMS FROM sharding_db;
+-------------------------+--------+-----------------------------------------------------+
| name                    | type   | props                                               |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rules-used-algorithm.en.md
=====================================================
+++
title = "SHOW SHARDING TABLE NODES"
weight = 10

+++

### Description

`SHOW SHARDING TABLE RULES USED ALGORITHM` syntax is used to query sharding rules used specified sharding algorithm in specified logical database

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowShardingTableRulesUsedAlgorithm::=
  'SHOW' 'SHARDING' 'TABLE' 'RULES' 'USED' 'ALGORITHM' algorithmName ('FROM' databaseName)?

algorithmName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}


### Supplement

- When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted.

### Return value description

| Columns | Descriptions       |
|---------|--------------------|
| type    | Sharding rule type |
| name    | Sharding rule name |

### Example

- Query sharding table rules for the specified sharding algorithm in spicified logical database

```sql
SHOW SHARDING TABLE RULES USED ALGORITHM table_inline FROM sharding_db;
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-reference-rules.cn.md
=====================================================
+++
title = "SHOW SHARDING TABLE REFERENCE RULE"
weight = 13

+++

### 描述

`SHOW SHARDING BINDING TABLE RULE` 语法用于查询指定逻辑库中指定分片表关联规则。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowShardingBindingTableRules::=
  'SHOW' 'SHARDING' 'TABLE' 'REFERENCE' ('RULE' ruleName | 'RULES') ('FROM' databaseName)?

ruleName ::=
    identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列                        | 说明        |
|--------------------------|-----------|
| name                     | 分片表关联规则名称 |
| sharding_table_reference | 分片表关联关系   |

### 示例

- 查询指定逻辑库中的分片表关联规则

```sql
SHOW SHARDING TABLE REFERENCE RULES FROM sharding_db;
```

```sql

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rule.cn.md
=====================================================
+++
title = "SHOW SHARDING TABLE RULE"
weight = 1
+++

### 描述

`SHOW SHARDING TABLE RULE` 语法用于查询指定逻辑库中的分片规则。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowShardingTableRule ::=
  'SHOW' 'SHARDING' 'TABLE' ('RULE' tableName | 'RULES') ('FROM' databaseName)?

tableName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列                                 | 说明                      |
|-----------------------------------|-------------------------|
| table                             | 逻辑表名                    |
| actual_data_nodes                 | 实际的数据节点                 |
| actual_data_sources               | 实际的数据源(通过 RDL 创建的规则时显示) |
| database_strategy_type            | 数据库分片策略类型               |
| database_sharding_column          | 数据库分片键                  |
| database_sharding_algorithm_type  | 数据库分片算法类型               |
| database_sharding_algorithm_props | 数据库分片算法参数               |
| table_strategy_type               | 表分片策略类型                 |
| table_sharding_column             | 表分片键                    |
| table_sharding_algorithm_type     | 表分片算法类型                 |
| table_sharding_algorithm_props    | 表分片算法参数                 |
| key_generate_column               | 分布式主键生成列                |
| key_generator_type                | 分布式主键生成器类型              |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rule.en.md
=====================================================
+++
title = "SHOW SHARDING TABLE RULE"
weight = 1
+++

### Description

The `SHOW SHARDING TABLE RULE` syntax is used to query the sharding table rule in the specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowShardingTableRule ::=
  'SHOW' 'SHARDING' 'TABLE' ('RULE' tableName | 'RULES') ('FROM' databaseName)?

tableName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

 ### Return value description

| Column                            | Description                                               |
|-----------------------------------|-----------------------------------------------------------|
| table                             | Logical table name                                        |
| actual_data_nodes                 | Actual data node                                          |
| actual_data_sources               | Actual data source (Displayed when creating rules by RDL) |
| database_strategy_type            | Database sharding strategy type                           |
| database_sharding_column          | Database sharding column                                  |
| database_sharding_algorithm_type  | Database sharding algorithm type                          |
| database_sharding_algorithm_props | Database sharding algorithm properties                    |
| table_strategy_type               | Table sharding strategy type                              |
| table_sharding_column             | Table sharding column                                     |
| table_sharding_algorithm_type     | Table sharding algorithm type                             |
| table_sharding_algorithm_props    | Table sharding algorithm properties                       |
| key_generate_column               | Sharding key generator column                             |
| key_generator_type                | Sharding key generator type                               |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rules-used-key-generator.en.md
=====================================================
+++
title = "SHOW SHARDING TABLE RULES USED KEY GENERATOR"
weight = 11

+++

### Description

`SHOW SHARDING TABLE RULES USED ALGORITHM` syntax is used to query sharding rules used specified sharding key generator in specified logical database

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowShardingTableRulesUsedKeyGenerator::=
  'SHOW' 'SHARDING' 'TABLE' 'RULES' 'USED' 'KEY' 'GENERATOR' keyGeneratorName ('FROM' databaseName)?

keyGeneratorName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted.

### Return value description

| Columns | Descriptions       |
|---------|--------------------|
| type    | Sharding rule type |
| name    | Sharding rule name |

### Example

- Query sharding table rules for the specified sharding key generator in spicified logical database

```sql
SHOW SHARDING TABLE RULES USED KEY GENERATOR snowflake_key_generator FROM sharding_db;
```

```sql

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/_index.en.md
=====================================================
+++
title = "Sharding"
weight = 1
chapter = true
+++

This chapter describes the syntax of sharding.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-algorithms.cn.md
=====================================================
+++
title = "SHOW UNUSED SHARDING ALGORITHMS"
weight = 3
+++

### 描述

`SHOW UNUSED SHARDING ALGORITHMS` 语法用于查询指定逻辑库未使用的分片算法。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowShardingAlgorithms::=
  'SHOW' 'UNUSED' 'SHARDING' 'ALGORITHMS' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列     | 说明     |
|-------|--------|
| name  | 分片算法名称 |
| type  | 分片算法类型 |
| props | 分片算法参数 |

### 示例

- 查询指定逻辑库未使用的分片算法

```sql
SHOW UNUSED SHARDING ALGORITHMS;
```

```sql
mysql> SHOW UNUSED SHARDING ALGORITHMS;
+---------------+--------+-----------------------------------------------------+
| name          | type   | props                                               |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-auditors.cn.md
=====================================================
+++
title = "SHOW SHARDING AUDITORS"
weight = 7
+++

### 描述

`SHOW SHARDING AUDITORS` 语法用于查询指定逻辑库中的分片审计器。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowShardingAuditors::=
  'SHOW' 'SHARDING' 'AUDITORS' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列     | 说明       |
|-------|----------|
| name  | 分片审计器名称  |
| type  | 分片审计算法类型 |
| props | 分片审计算法参数 |

### 示例

- 查询指定逻辑库中的分片审计器

```sql
SHOW SHARDING AUDITORS FROM sharding_db;
```

```sql
mysql> SHOW SHARDING AUDITORS FROM sharding_db;
+-------------------------------+-------------------------+-------+
| name                          | type                    | props |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-algorithms.en.md
=====================================================
+++
title = "SHOW SHARDING ALGORITHMS"
weight = 2
+++

### Description

The `SHOW SHARDING ALGORITHMS` syntax is used to query the sharding algorithms in the specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowShardingAlgorithms::=
  'SHOW' 'SHARDING' 'ALGORITHMS' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Return value description

| Column | Description                   |
|--------|-------------------------------|
| name   | Sharding algorithm name       |
| type   | Sharding algorithm type       |
| props  | Sharding algorithm properties |

### Example

- Query the sharding table algorithms of the specified logical database

```sql
SHOW SHARDING ALGORITHMS FROM sharding_db;
```

```sql
mysql> SHOW SHARDING ALGORITHMS FROM sharding_db;
+-------------------------+--------+-----------------------------------------------------+
| name                    | type   | props                                               |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-nodes.en.md
=====================================================
+++
title = "SHOW SHARDING TABLE NODES"
weight = 9

+++

### Description

`SHOW SHARDING TABLE NODES` syntax is used to query sharding table nodes in specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowShardingTableNode::=
  'SHOW' 'SHARDING' 'TABLE' 'NODES' tableName? ('FROM' databaseName)?

tableName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted.

### Return value description

| Columns | Descriptions       |
|---------|--------------------|
| name    | Sharding rule name |
| nodes   | Sharding nodes     |

### Example

- Query sharding table nodes for specified table in the specified logical database

```sql
SHOW SHARDING TABLE NODES t_order_item FROM sharding_db;
```

```sql

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-key-generators.cn.md
=====================================================
+++
title = "SHOW UNUSED SHARDING KEY GENERATORS"
weight = 6
+++

### 描述

`SHOW UNUSED SHARDING KEY GENERATORS` 语法用于查询指定逻辑库中未被使用的分布式主键生成器。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowUnusedShardingKeyGenerators::=
  'SHOW' 'UNUSED' 'SHARDING' 'KEY' 'GENERATOR' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列     | 说明         |
|-------|------------|
| name  | 分布式主键生成器名称 |
| type  | 分布式主键生成器类型 |
| props | 分布式主键生成器参数 |

### 示例

- 查询指定逻辑库中未被使用的分布式主键生成器

```sql
SHOW UNUSED SHARDING KEY GENERATORS FROM sharding_db;
```

```sql
mysql> SHOW UNUSED SHARDING KEY GENERATORS FROM sharding_db;
+-------------------------+-----------+-------+
| name                    | type      | props |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-auditors.en.md
=====================================================
+++
title = "SHOW UNUSED SHARDING AUDITORS"
weight = 8

+++

### Description

`SHOW SHARDING AUDITORS` syntax is used to query sharding auditors that are not used in specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowUnusedShardingAuditors::=
  'SHOW' 'UNUSED' 'SHARDING' 'AUDITOR' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}


### Supplement

- When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted.

### Return value description

| column | Description                           |
|--------|---------------------------------------|
| name   | Sharding auditor name                 |
| type   | Sharding auditor algorithm type       |
| props  | Sharding auditor algorithm properties |

### Example

- Query sharding auditors that are not used in the specified logical database

```sql
SHOW UNUSED SHARDING AUDITORS FROM sharding_db;
```

```sql
mysql> SHOW UNUSED SHARDING AUDITORS FROM sharding_db;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-key-generator.en.md
=====================================================
+++
title = "SHOW SHARDING KEY GENERATORS"
weight = 5
+++

### Description

`SHOW SHARDING KEY GENERATORS` syntax is used to query sharding key generators in specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowShardingKeyGenerators::=
  'SHOW' 'SHARDING' 'KEY' 'GENERATORS' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted.

### Return value description

| column | Description                       |
|--------|-----------------------------------|
| name   | Sharding key generator name       |
| type   | Sharding key generator type       |
| props  | Sharding key generator properties |

### Example

- Query the sharding key generators of the specified logical database

```sql
SHOW SHARDING KEY GENERATORS FROM sharding_db;
```

```sql
mysql> SHOW SHARDING KEY GENERATORS FROM sharding_db;
+-------------------------+-----------+-------+
| name                    | type      | props |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rules-used-auditor.en.md
=====================================================
+++
title = "SHOW SHARDING TABLE RULES USED AUDITOR"
weight = 12

+++

### Description

`SHOW SHARDING TABLE RULES USED ALGORITHM` syntax is used to query sharding rules used specified sharding auditor in specified logical database

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowShardingTableRulesUsedAuditor::=
  'SHOW' 'SHARDING' 'TABLE' 'RULES' 'USED' 'AUDITOR' AuditortorName ('FROM' databaseName)?

AuditortorName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted.

### Return value description

| Columns | Descriptions       |
|---------|--------------------|
| type    | Sharding rule type |
| name    | Sharding rule name |

### Example

- Query sharding table rules for the specified sharding auditor in spicified logical database

```sql
SHOW SHARDING TABLE RULES USED AUDITOR sharding_key_required_auditor FROM sharding_db;
```

```sql

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-reference-rules.en.md
=====================================================
+++
title = "SHOW SHARDING TABLE REFERENCE RULE"
weight = 13
+++

### Description

`SHOW SHARDING TABLE REFERENCE RULE` syntax is used to query specified sharding table reference rule in the specified logical database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowShardingBindingTableRules::=
  'SHOW' 'SHARDING' 'TABLE' 'REFERENCE' ('RULE' ruleName | 'RULES') ('FROM' databaseName)?

ruleName ::=
    identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, No database selected will be prompted.

### Return value description

| Columns                  | Descriptions                       |
|--------------------------|------------------------------------|
| name                     | Sharding table reference rule name |
| sharding_table_reference | sharding table reference           |

### Example

- Query sharding table reference rules for the specified logical database

```sql
SHOW SHARDING TABLE REFERENCE RULES FROM sharding_db;
```

```sql
mysql> SHOW SHARDING TABLE REFERENCE RULES FROM sharding_db;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/_index.en.md
=====================================================
+++
title = "Rule Query"
weight = 2
chapter = true
+++

This chapter describes the syntax of rule query.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/count-shadow-rule.cn.md
=====================================================
+++
title = "COUNT SHADOW RULE"
weight = 5
+++

### 描述

`COUNT SHADOW RULE` 语法用于查询指定逻辑库中的影子库压测规则数量。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
CountShadowRule::=
  'COUNT' 'SHADOW' 'RULE' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列         | 说明      |
|-----------|---------|
| rule_name | 规则类型    |
| database  | 规则所属逻辑库 |
| count     | 规则数量    |


### 示例

- 查询指定逻辑库中的影子库压测规则数量

```sql
COUNT SHADOW RULE FROM shadow_db;
```

```sql
mysql> COUNT SHADOW RULE FROM shadow_db;
+-----------+--------------+-------+

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-algorithm.en.md
=====================================================
+++
title = "SHOW SHADOW ALGORITHMS"
weight = 3
+++

### Description

The `SHOW SHADOW ALGORITHMS` syntax is used to query shadow algorithms for specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowEncryptAlgorithm::=
  'SHOW' 'SHADOW' 'ALGORITHMS' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Return value description

| Column                | Description                 |
|-----------------------|-----------------------------|
| shadow_algorithm_name | Shadow algorithm name       |
| type                  | Shadow algorithm type       |
| props                 | Shadow algorithm properties |
| is_default            | Default                     |

### Example

- Query shadow algorithms for specified database.

```sql
SHOW SHADOW ALGORITHMS FROM shadow_db;
```

```sql
mysql> SHOW SHADOW ALGORITHMS FROM shadow_db;
+-------------------------+-------------+-----------------------------------------+------------+

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-default-shadow-algorithm.cn.md
=====================================================
+++
title = "SHOW DEFAULT SHADOW ALGORITHM"
weight = 4
+++

### 描述

`SHOW DEFAULT SHADOW ALGORITHM` 语法用于查询指定逻辑库中的默认影子算法。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowEncryptAlgorithm::=
  'SHOW' 'DEFAULT' 'SHADOW' 'ALGORITHM' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列                     | 说明     |
|-----------------------|--------|
| shadow_algorithm_name | 影子算法名称 |
| type                  | 算法类型   |
| props                 | 算法参数   |

### 示例

- 查询指定逻辑库中的默认影子算法

```sql
SHOW DEFAULT SHADOW ALGORITHM FROM shadow_db;
```

```sql
mysql> SHOW DEFAULT SHADOW ALGORITHM FROM shadow_db;
+-------------------------+-------------+-----------------------------------------+
| shadow_algorithm_name   | type        | props                                   |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-rule.en.md
=====================================================
+++
title = "SHOW SHADOW RULE"
weight = 1
+++

### Description

The `SHOW SHADOW RULE` syntax is used to query shadow rules for specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowEncryptRule::=
  'SHOW' 'SHADOW' ('RULES' | 'RULE' shadowRuleName) ('FROM' databaseName)?

shadowRuleName ::=
  identifier
  
databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Return value description

| Column       | Description             |
|--------------|-------------------------|
| rule_name    | Shadow rule name        |
| source_name  | Data source name        |
| shadow_name  | Shadow data source name |
| shadow_table | Shadow table            |




### Example

- Query specified shadow rule in specified database.

```sql

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-algorithm.cn.md
=====================================================
+++
title = "SHOW SHADOW ALGORITHMS"
weight = 3
+++

### 描述

`SHOW SHADOW ALGORITHMS` 语法用于查询指定逻辑库中的影子算法。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowEncryptAlgorithm::=
  'SHOW' 'SHADOW' 'ALGORITHMS' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列                     | 说明     |
|-----------------------|--------|
| shadow_algorithm_name | 影子算法名称 |
| type                  | 算法类型   |
| props                 | 算法参数   |
| is_default            | 是否默认   |

### 示例

- 查询指定逻辑库中的影子算法

```sql
SHOW SHADOW ALGORITHMS FROM shadow_db;
```

```sql
mysql> SHOW SHADOW ALGORITHMS FROM shadow_db;
+-------------------------+-------------+-----------------------------------------+------------+

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-default-shadow-algorithm.en.md
=====================================================
+++
title = "SHOW DEFAULT SHADOW ALGORITHM"
weight = 4
+++

### Description

The `SHOW DEFAULT SHADOW ALGORITHM` syntax is used to query default shadow algorithm for specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowEncryptAlgorithm::=
  'SHOW' 'SHADOW' 'ALGORITHM' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Return value description

| Column                | Description                 |
|-----------------------|-----------------------------|
| shadow_algorithm_name | Shadow algorithm name       |
| type                  | Shadow algorithm type       |
| props                 | Shadow algorithm properties |

### Example

- Query default shadow algorithm for specified database.

```sql
SHOW DEFAULT SHADOW ALGORITHM FROM shadow_db;
```

```sql
mysql> SHOW DEFAULT SHADOW ALGORITHM FROM shadow_db;
+-------------------------+-------------+-----------------------------------------+
| shadow_algorithm_name   | type        | props                                   |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/_index.en.md
=====================================================
+++
title = "Shadow"
weight = 7
chapter = true
+++

This chapter describes the syntax of shadow.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-table-rule.cn.md
=====================================================
+++
title = "SHOW SHADOW TABLE RULES"
weight = 2
+++

### 描述

`SHOW SHADOW TABLE RULES` 语法用于查询指定逻辑库中的影子表规则。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowEncryptRule::=
  'SHOW' 'SHADOW' 'TABLE' 'RULES' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列                     | 说明     |
|-----------------------|--------|
| shadow_table          | 影子表    |
| shadow_algorithm_name | 影子算法名称 |

### 示例

- 查询指定逻辑库中的影子表规则

```sql
SHOW SHADOW TABLE RULES FROM shadow_db;
```

```sql
mysql> SHOW SHADOW TABLE RULES FROM shadow_db;
+--------------+-------------------------------------------------------+
| shadow_table | shadow_algorithm_name                                 |
+--------------+-------------------------------------------------------+

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/count-shadow-rule.en.md
=====================================================
+++
title = "COUNT SHADOW RULE"
weight = 5
+++

### Description

The `COUNT SHADOW RULE` syntax is used to query the number of shadow rules for specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
CountShadowRule::=
  'COUNT' 'SHADOW' 'RULE' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Return value description

| Column    | Description                            |
|-----------|----------------------------------------|
| rule_name | rule type                              |
| database  | the database to which the rule belongs |
| count     | the number of the rule                 |


### Example

- Query the number of shadow rules for specified database.

```sql
COUNT SHADOW RULE FROM shadow_db;
```

```sql
mysql> COUNT SHADOW RULE FROM shadow_db;
+-----------+--------------+-------+

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-rule.cn.md
=====================================================
+++
title = "SHOW SHADOW RULE"
weight = 1
+++

### 描述

`SHOW SHADOW RULE` 语法用于查询指定逻辑库中的影子规则。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowEncryptRule::=
  'SHOW' 'SHADOW' ('RULES' | 'RULE' shadowRuleName) ('FROM' databaseName)?

shadowRuleName ::=
  identifier
  
databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列            | 说明      |
|--------------|---------|
| rule_name    | 规则名称    |
| source_name  | 数据源名称   | 
| shadow_name  | 影子数据源名称 |
| shadow_table | 影子表     |

### 示例

- 查询指定逻辑库中的指定影子规则

```sql
SHOW SHADOW RULE shadow_rule FROM shadow_db;
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-table-rule.en.md
=====================================================
+++
title = "SHOW SHADOW TABLE RULES"
weight = 2
+++

### Description

The `SHOW SHADOW TABLE RULES` syntax is used to query shadow table rules for specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowEncryptRule::=
  'SHOW' 'SHADOW' 'TABLE' 'RULES' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Return value description

| Column                | Description           |
|-----------------------|-----------------------|
| shadow_table          | Shadow table          |
| shadow_algorithm_name | Shadow algorithm name |

### Example

- Query shadow table rules for specified database.

```sql
SHOW SHADOW TABLE RULES FROM shadow_db;
```

```sql
mysql> SHOW SHADOW TABLE RULES FROM shadow_db;
+--------------+-------------------------------------------------------+
| shadow_table | shadow_algorithm_name                                 |
+--------------+-------------------------------------------------------+

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/show-readwrite-splitting-rule.cn.md
=====================================================
+++
title = "SHOW READWRITE_SPLITTING RULE"
weight = 1
+++

### 描述

`SHOW READWRITE_SPLITTING RULE` 语法用于查询指定逻辑库中的指定读写分离规则。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowReadWriteSplittingRule::=
  'SHOW' 'READWRITE_SPLITTING' ('RULE' ruleName | 'RULES') ('FROM' databaseName)?

ruleName ::=
  identifier  

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列                                | 说明                |
|---------------------------------- |------------------- |
| name                              | 读写分离规则名称     |
| write_data_source_name            | 写数据源名称         |
| read_data_source_names            | 读数据源名称列表     |
| transactional_read_query_strategy | 事务内读请求路由策略  |
| load_balancer_type                | 负载均衡算法类型      |
| load_balancer_props               | 负载均衡算法参数      |

### 示例

- 查询指定逻辑库中的读写分离规则

```sql
SHOW READWRITE_SPLITTING RULES FROM readwrite_splitting_db;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/show-readwrite-splitting-rule.en.md
=====================================================
+++
title = "SHOW READWRITE_SPLITTING RULE"
weight = 1
+++

### Description

The `SHOW READWRITE_SPLITTING RULE` syntax is used to query specified readwrite-splitting rules for specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowReadWriteSplittingRule::=
  'SHOW' 'READWRITE_SPLITTING' ('RULE' ruleName | 'RULES') ('FROM' databaseName)?

ruleName ::=
  identifier  

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Return value description

| Column                            | Description                                          |
|-----------------------------------|------------------------------------------------------|
| name                              | Readwrite-splitting rule name                        |
| write_data_source_name            | Write data source name                               |
| read_data_source_names            | Read data source name list                           |
| transactional_read_query_strategy | Routing strategy for read query within a transaction |
| load_balancer_type                | Load balance algorithm type                          |
| load_balancer_props               | Load balance algorithm parameter                     |

### Example

- Query readwrite-splitting rules for specified database.

```sql
SHOW READWRITE_SPLITTING RULES FROM readwrite_splitting_db;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/_index.en.md
=====================================================
+++
title = "Readwrite-Splitting"
weight = 4
chapter = true
+++

This chapter describes the syntax of readwrite-splitting.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/count-readwrite-splitting-rule.en.md
=====================================================
+++
title = "COUNT READWRITE_SPLITTING RULE"
weight = 2
+++

### Description

The `COUNT READWRITE_SPLITTING RULE` syntax is used to query the number of readwrite-splitting rules for specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
CountReadwriteSplittingRule::=
  'COUNT' 'READWRITE_SPLITTING' 'RULE' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Return value description

| Column    | Description                            |
|-----------|----------------------------------------|
| rule_name | rule type                              |
| database  | the database to which the rule belongs |
| count     | the number of the rule                 |


### Example

- Query the number of readwrite-splitting rules for specified database.

```sql
COUNT READWRITE_SPLITTING RULE FROM readwrite_splitting_db;
```

```sql
mysql> COUNT READWRITE_SPLITTING RULE FROM readwrite_splitting_db;
+---------------------+---------------------------+-------+

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/count-readwrite-splitting-rule.cn.md
=====================================================
+++
title = "COUNT READWRITE_SPLITTING RULE"
weight = 2
+++

### 描述

`COUNT READWRITE_SPLITTING RULE` 语法用于查询指定逻辑库中的读写分离规则数量。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
CountReadwriteSplittingRule::=
  'COUNT' 'READWRITE_SPLITTING' 'RULE' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}


### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列         | 说明      |
|-----------|---------|
| rule_name | 规则类型    |
| database  | 规则所属逻辑库 |
| count     | 规则数量    |


### 示例

- 查询指定逻辑库中的读写分离规则数量

```sql
COUNT READWRITE_SPLITTING RULE FROM readwrite_splitting_db;
```

```sql
mysql> COUNT READWRITE_SPLITTING RULE FROM readwrite_splitting_db;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-unloaded-single-tables.cn.md
=====================================================
+++
title = "SHOW UNLOADED SINGLE TABLES"
weight = 4
+++

### 描述

`SHOW UNLOADED SINGLE TABLES` 语法用于查询未加载的单表。

### 语法

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
showUnloadedSingleTables::=
  'SHOW' 'UNLOADED' 'SINGLE' 'TABLES'
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列                | 说明                 |
|-------------------|---------------------|
| table_name        | 单表名称             |
| storage_unit_name | 单表所在的存储单元名称 |


### 示例

- 查询未加载的单表

```sql
SHOW UNLOADED SINGLE TABLES;
```

```sql
mysql> SHOW UNLOADED SINGLE TABLES;
+------------+-------------------+
| table_name | storage_unit_name |
+------------+-------------------+
| t_single   | ds_1              |
+------------+-------------------+
1 row in set (0.01 sec)
```

### 保留字

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-deafult-single-table-storage-unit.cn.md
=====================================================
+++
title = "SHOW DEFAULT SINGLE TABLE STORAGE UNIT"
weight = 2
+++

### 描述

`SHOW DEFAULT SINGLE TABLE STORAGE UNIT` 语法用于查询指定逻辑库中的存储单元信息。

### 语法

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowDefaultSingleTableStorageUnit::=
  'SHOW' 'DEFAULT' 'SINGLE' 'TABLE' 'STORAGE' 'UNIT' ('FROM' databaseName)?
  
databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列                  | 说明      |
|--------------------|---------|
| storage_unit_name  | 存储单元名称  |

### 示例

- 查询当前逻辑库中的存储单元信息

```sql
SHOW DEFAULT SINGLE TABLE STORAGE UNIT
```

```sql
sql> SHOW DEFAULT SINGLE TABLE STORAGE UNIT;
+-------------------+
| storage_unit_name |
+-------------------+
|  ds_0             |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/count-single-table.en.md
=====================================================
+++
title = "COUNT SINGLE_TABLE RULE"
weight = 3
+++

### Description

The `COUNT SINGLE TABLE` syntax is used to query number of single table for specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
CountSingleTable::=
  'COUNT' 'SINGLE' 'TABLE' ('FROM' databaseName)?
  
databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Return Value Description

| Column     | Description                                         |
|------------|-----------------------------------------------------|
| database   | The database name where the single table is located |
| count      | The count of single table                           |

### Example

- Query the number of single rules for specified database.

```sql
COUNT SINGLE TABLE
``` 

```sql
mysql> COUNT SINGLE TABLE;
+----------+--------+
| database | count  |
+----------+--------+

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-deafult-single-table-storage-unit.en.md
=====================================================
+++
title = "SHOW DEFAULT SINGLE TABLE STORAGE UNIT"
weight = 2
+++

### Description

The `SHOW DEFAULT SINGLE TABLE STORAGE UNIT` syntax is used to query storage units for specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowDefaultSingleTableStorageUnit::=
  'SHOW' 'DEFAULT' 'SINGLE' 'TABLE' 'STORAGE' 'UNIT' ('FROM' databaseName)?
  
databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Return Value Description

| Column             | Description       |
|--------------------|-------------------|
| storage_unit_name  | Storage unit name |

### Example

- Query storage units for specified database.

```sql
SHOW DEFAULT SINGLE TABLE STORAGE UNIT
``` 

```sql
sql> SHOW DEFAULT SINGLE TABLE STORAGE UNIT;
+-------------------+
| storage_unit_name |
+-------------------+
|  ds_0             |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/count-single-table.cn.md
=====================================================
+++
title = "COUNT SINGLE_TABLE RULE"
weight = 3
+++

### 描述

`COUNT SINGLE TABLE` 语法用于查询指定逻辑库中的单表个数。

### 语法

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
CountSingleTable::=
  'COUNT' 'SINGLE' 'TABLE' ('FROM' databaseName)?
  
databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}


### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列        | 说明         |
|----------|------------|
| database | 单表所在的数据库名称 |
| count    | 单表个数       |

### 示例

- 查询当前逻辑库中的单表规则个数

```sql
COUNT SINGLE TABLE
```

```sql
mysql> COUNT SINGLE TABLE;
+----------+--------+
| database | count  |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-unloaded-single-tables.en.md
=====================================================
+++
title = "SHOW UNLOADED SINGLE TABLES"
weight = 4
+++

### Description

The `SHOW UNLOADED SINGLE TABLES` syntax is used to query unloaded single tables.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
showUnloadedSingleTables::=
  'SHOW' 'UNLOADED' 'SINGLE' 'TABLES'
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return value description

| Column            | Description                                             |
|-------------------|---------------------------------------------------------|
| table_name        | Single table name                                       |
| storage_unit_name | The storage unit name where the single table is located |


### Example

- Query unloaded single tables.

```sql
SHOW UNLOADED SINGLE TABLES;
```

```sql
mysql> SHOW UNLOADED SINGLE TABLES;
+------------+-------------------+
| table_name | storage_unit_name |
+------------+-------------------+
| t_single   | ds_1              |
+------------+-------------------+
1 row in set (0.01 sec)
```

### Reserved word

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/_index.en.md
=====================================================
+++
title = "Single Table"
weight = 3
chapter = true
+++

This chapter describes the syntax of single table.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-single-table.cn.md
=====================================================
+++
title = "SHOW SINGLE TABLE"
weight = 1
+++

### 描述

`SHOW SINGLE TABLE` 语法用于查询指定逻辑库中的单表。

### 语法

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowSingleTable::=
  'SHOW' 'SINGLE' ('TABLES' ('LIKE' likeLiteral)?|'TABLE' tableName) ('FROM' databaseName)?

tableName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列                | 说明              |
|-------------------|-------------------|
| table_name        | 单表名称           |
| storage_unit_name | 单表所在的数据源名称 |


### 示例

- 查询指定逻辑库中的指定单表

```sql
SHOW SINGLE TABLE t_user FROM sharding_db;
```

```sql

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-single-table.en.md
=====================================================
+++
title = "SHOW SINGLE TABLE"
weight = 1
+++

### Description

The `SHOW SINGLE TABLE` syntax is used to query single tables for specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowSingleTable::=
  'SHOW' 'SINGLE' ('TABLES' ('LIKES' likeLiteral)?|'TABLE' tableName) ('FROM' databaseName)?

tableName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Return value description

| Column            | Description                                             |
|-------------------|---------------------------------------------------------|
| table_name        | Single table name                                       |
| storage_unit_name | The storage unit name where the single table is located |


### Example

- Query specified single table for specified database.

```sql
SHOW SINGLE TABLE t_user FROM sharding_db;
```

```sql

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/count-encrypt-rule.cn.md
=====================================================
+++
title = "COUNT ENCRYPT RULE"
weight = 2
+++

### 描述

`COUNT ENCRYPT RULE` 语法用于查询指定逻辑库中的加密规则数量。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
CountEncryptRule::=
  'COUNT' 'ENCRYPT' 'RULE' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列         | 说明      |
|-----------|---------|
| rule_name | 规则类型    |
| database  | 规则所属逻辑库 |
| count     | 规则数量    |


### 示例

- 查询指定逻辑库中的加密规则数量

```sql
COUNT ENCRYPT RULE FROM encrypt_db;
```

```sql
mysql> COUNT ENCRYPT RULE FROM encrypt_db;
+-----------+---------------+-------+

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/show-encrypt-rule.en.md
=====================================================
+++
title = "SHOW ENCRYPT RULES"
weight = 1
+++

### Description

The `SHOW ENCRYPT RULES` syntax is used to query encryption rules for a specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowEncryptRule::=
  'SHOW' 'ENCRYPT' ('RULES' | 'TABLE' 'RULE' ruleName) ('FROM' databaseName)?

ruleName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Note

- When `databaseName` is not specified, then `DATABASE`is currently used as the default name. If `DATABASE` is not used, you will receive a `No database selected` prompt.

### Return value description

| Column                   | Description                               |
|--------------------------|-------------------------------------------|
| table                    | Logical table name                        |
| logic_column             | Logical column name                       |
| cipher_column            | Ciphertext column name                    |
| assisted_query_column    | Assisted query column name                |
| like_query_column        | Like query column name                    |
| encryptor_type           | Encryption algorithm type                 |
| encryptor_props          | Encryption algorithm parameter            |
| assisted_query_type      | Assisted query algorithm type             |
| assisted_query_props     | Assisted query algorithm parameter        |
| like_query_type          | Like query algorithm type                 |
| like_query_props         | Like query algorithm parameter            |



=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/show-encrypt-rule.cn.md
=====================================================
+++
title = "SHOW ENCRYPT RULES"
weight = 1
+++

### 描述

`SHOW ENCRYPT RULES` 语法用于查询指定逻辑库中的数据加密规则。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowEncryptRule::=
  'SHOW' 'ENCRYPT' ('RULES' | 'TABLE' 'RULE' ruleName) ('FROM' databaseName)?

ruleName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列                        | 说明          |
|--------------------------|-------------|
| table                    | 逻辑表名        |
| logic_column             | 逻辑列名        |
| cipher_column            | 密文列名        |
| assisted_query_column    | 辅助查询列名      |
| like_query_column        | 模糊查询列名      |
| encryptor_type           | 加密算法类型      |
| encryptor_props          | 加密算法参数      |
| assisted_query_type      | 辅助查询算法类型    |
| assisted_query_props     | 辅助查询算法参数    |
| like_query_type          | 模糊查询算法类型    |
| like_query_props         | 模糊查询算法参数    |

### 示例

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/_index.en.md
=====================================================
+++
title = "Encrypt"
weight = 5
chapter = true
+++

This chapter describes the syntax of encrypt.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/count-encrypt-rule.en.md
=====================================================
+++
title = "COUNT ENCRYPT RULE"
weight = 2
+++

### Description

The `COUNT ENCRYPT RULE` syntax is used to query the number of encrypt rules for specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
CountEncryptRule::=
  'COUNT' 'ENCRYPT' 'RULE' ('FROM' databaseName)?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Return value description

| Column    | Description                            |
|-----------|----------------------------------------|
| rule_name | rule type                              |
| database  | the database to which the rule belongs |
| count     | the number of the rule                 |


### Example

- Query the number of encrypt rules for specified database.

```sql
COUNT ENCRYPT RULE FROM encrypt_db;
```

```sql
mysql> COUNT ENCRYPT RULE FROM encrypt_db;
+-----------+---------------+-------+

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/storage-unit-query/show-storage-units.en.md
=====================================================
+++
title = "SHOW STORAGE UNITS"
weight = 1
+++

### Description

The `SHOW STORAGE UNITS` syntax is used to query the storage units that have been added to the specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowStorageUnit ::=
  'SHOW' 'STORAGE' 'UNITS' ('WHERE' 'USAGE_COUNT' '=' usageCount)? ('FROM' databaseName)?

usageCount ::=
  int

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`; if `DATABASE` is not used, it will prompt `No database selected`.

### Return Value Description

| Column    | Description            |
|-----------|------------------------|
| name      | Storage unit name      |
| type      | Storage unit type      |
| host      | Storage unit host      |
| port      | Storage unit port      |
| db        | Database name          |
| attribute | Storage unit attribute |

 ### Example

- Query unused storage units for the specified database

```sql
SHOW STORAGE UNITS WHERE USAGE_COUNT = 0 FROM sharding_db;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/storage-unit-query/_index.en.md
=====================================================
+++
title = "Storage Unit Query"
weight = 1
chapter = true
+++

This chapter describes the syntax of storage unit query.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/storage-unit-query/show-storage-units.cn.md
=====================================================
+++
title = "SHOW STORAGE UNITS"
weight = 1
+++

### 描述

`SHOW STORAGE UNITS` 语法用于查询指定逻辑库已经注册的存储单元。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowStorageUnit ::=
  'SHOW' 'STORAGE' 'UNITS' ('WHERE' 'USAGE_COUNT' '=' usageCount)? ('FROM' databaseName)?

usageCount ::=
  int

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 特别说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`; 如未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列         | 说明     |
|-----------|--------|
| name      | 存储单元名称 |
| type      | 存储单元类型 |
| host      | 存储单元地址 |
| port      | 存储单元端口 |
| db        | 数据库名称  |
| attribute | 存储单元参数 |

### 示例

- 查询指定逻辑库中未被使用的存储单元

```sql
SHOW STORAGE UNITS WHERE USAGE_COUNT = 0 FROM sharding_db;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/preview-sql.en.md
=====================================================
+++
title = "PREVIEW SQL"
weight = 3
+++

### Description

The `PREVIEW SQL` syntax is used to preview `SQL` execution plan.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
PreviewSql ::=
  'PREVIEW' sqlStatement  
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Column           | Description                 |
|------------------|-----------------------------|
| data_source_name | storage unit name           |
| actual_sql       | actual excute SQL statement |

### Example

- Preview `SQL` execution plan

```sql
PREVIEW SELECT * FROM t_order;
```

```sql
mysql> PREVIEW SELECT * FROM t_order;
+------------------+-----------------------+
| data_source_name | actual_sql            |
+------------------+-----------------------+
| su_1             | SELECT * FROM t_order |
+------------------+-----------------------+
1 row in set (0.18 sec)
```

### Reserved word


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/format-sql.en.md
=====================================================
+++
title = "FORMAT SQL"
weight = 2
+++

### Description

The `FORMAT SQL` syntax is used to parse `SQL` and output formatted `SQL` statement.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ParseSql ::=
  'FORMAT' sqlStatement  
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Column           | Description             |
|------------------|-------------------------|
| formatted_result | formatted SQL statement |

### Example

- Parse `SQL` and output formatted `SQL` statement

```sql
FORMAT SELECT * FROM t_order;
```

```sql
mysql> FORMAT SELECT * FROM t_order;
+-------------------------+
| formatted_result        |
+-------------------------+
| SELECT *
FROM t_order; |
+-------------------------+
1 row in set (0.00 sec)
```

### Reserved word


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/preview-sql.cn.md
=====================================================
+++
title = "PREVIEW SQL"
weight = 3
+++

### 描述

`PREVIEW SQL` 语法用于预览 `SQL` 执行计划。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
PreviewSql ::=
  'PREVIEW' sqlStatement 
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列                | 说明          |
|------------------|-------------|
| data_source_name | 存储单元名称      |
| actual_sql       | 实际执行 SQL 语句 |

### 示例

- 预览 `SQL` 执行计划 

```sql
PREVIEW SELECT * FROM t_order;
```

```sql
mysql> PREVIEW SELECT * FROM t_order;
+------------------+-----------------------+
| data_source_name | actual_sql            |
+------------------+-----------------------+
| su_1             | SELECT * FROM t_order |
+------------------+-----------------------+
1 row in set (0.18 sec)
```

### 保留字


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/parse-sql.en.md
=====================================================
+++
title = "PARSE SQL"
weight = 1
+++

### Description

The `PARSE SQL` syntax is used to parse `SQL` and output abstract syntax tree.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ParseSql ::=
  'PARSE' sqlStatement  
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Column                  | Description                    |
|-------------------------|--------------------------------|
| parsed_statement        | parsed SQL statement type      |
| parsed_statement_detail | detail of the parsed statement |

### Example

- Parse `SQL` and output abstract syntax tree

```sql
PARSE SELECT * FROM t_order;
```

```sql
mysql> PARSE SELECT * FROM t_order;
+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| parsed_statement     | parsed_statement_detail                                                                                                                                                                                                                                                                               |
+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| MySQLSelectStatement | {"projections":{"startIndex":7,"stopIndex":7,"projections":[{"startIndex":7,"stopIndex":7}],"distinctRow":false},"from":{"tableName":{"startIndex":14,"stopIndex":20,"identifier":{"value":"t_order","quoteCharacter":"NONE"}}},"parameterCount":0,"parameterMarkerSegments":[],"commentSegments":[]} |
+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)
```

### Reserved word


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/_index.en.md
=====================================================
+++
title = "RUL Syntax"
weight = 4
chapter = true

+++

RUL (Resource Utility Language) responsible for SQL parsing, SQL formatting, preview execution plan and more utility functions.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/parse-sql.cn.md
=====================================================
+++
title = "PARSE SQL"
weight = 1
+++

### 描述

`PARSE SQL` 语法用于解析 `SQL` 并输出抽象语法树。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ParseSql ::=
  'PARSE' sqlStatement 
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列                       | 说明        |
|-------------------------|-----------|
| parsed_statement        | 解析SQL语句类型 |
| parsed_statement_detail | 解析SQL语句细节 |

### 示例

- 解析 `SQL` 并输出抽象语法树

```sql
PARSE SELECT * FROM t_order;
```

```sql
mysql> PARSE SELECT * FROM t_order;
+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| parsed_statement     | parsed_statement_detail                                                                                                                                                                                                                                                                               |
+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| MySQLSelectStatement | {"projections":{"startIndex":7,"stopIndex":7,"projections":[{"startIndex":7,"stopIndex":7}],"distinctRow":false},"from":{"tableName":{"startIndex":14,"stopIndex":20,"identifier":{"value":"t_order","quoteCharacter":"NONE"}}},"parameterCount":0,"parameterMarkerSegments":[],"commentSegments":[]} |
+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)
```

### 保留字


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rul/format-sql.cn.md
=====================================================
+++
title = "FORMAT SQL"
weight = 2
+++

### 描述

`FORMAT SQL` 语法用于解析并输出格式化后的 `SQL` 语句。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
FormatSql ::=
  'FORMAT' sqlStatement 
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列                | 说明         |
|------------------|------------|
| formatted_result | 格式化后的SQL语句 |

### 示例

- 解析并输出格式化后的 `SQL` 语句

```sql
FORMAT SELECT * FROM t_order;
```

```sql
mysql> FORMAT SELECT * FROM t_order;
+-------------------------+
| formatted_result        |
+-------------------------+
| SELECT *
FROM t_order; |
+-------------------------+
1 row in set (0.00 sec)
```

### 保留字


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/drop-mask-rule.en.md
=====================================================
+++
title = "DROP MASK RULE"
weight = 3
+++

## Description

The `DROP MASK RULE` syntax is used to drop existing mask rule.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
DropEncryptRule ::=
  'DROP' 'MASK' 'RULE' ifExists? ruleName (',' ruleName)*

ifExists ::=
  'IF' 'EXISTS'

ruleName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `ifExists` clause used for avoid `Mask rule not exists` error.

### Example

- Drop mask rule

```sql
DROP MASK RULE t_mask, t_mask_1;
```

- Drop mask rule with `ifExists` clause

```sql
DROP MASK RULE IF EXISTS t_mask, t_mask_1;
```

### Reserved words

`DROP`, `MASK`, `RULE`

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/drop-mask-rule.cn.md
=====================================================
+++
title = "DROP MASK RULE"
weight = 3
+++

## 说明

`DROP MASK RULE` 语法用于删除数据脱敏规则。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
DropEncryptRule ::=
  'DROP' 'MASK' 'RULE' ifExists? ruleName (',' ruleName)*

ifExists ::=
  'IF' 'EXISTS'

ruleName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `ifExists` 子句用于避免 `Mask rule not exists` 错误。

### 示例

- 删除数据脱敏规则

```sql
DROP MASK RULE t_mask, t_mask_1;
```

- 使用 `ifExists` 子句删除数据脱敏规则

```sql
DROP MASK RULE IF EXISTS t_mask, t_mask_1;
```

### 保留字

`DROP`, `MASK`, `RULE`

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/alter-mask-rule.en.md
=====================================================
+++
title = "ALTER MASK RULE"
weight = 2
+++

## Description

The `ALTER MASK RULE` syntax is used to create a mask rule.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
AlterEncryptRule ::=
  'ALTER' 'MASK' 'RULE' maskRuleDefinition (',' maskRuleDefinition)*

maskRuleDefinition ::=
  ruleName '(' 'COLUMNS' '(' columnDefinition (',' columnDefinition)* ')' ')'

columnDefinition ::=
  '(' 'NAME' '=' columnName ',' maskAlgorithmDefinition ')'

maskAlgorithmDefinition ::=
  'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)? ')'

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

ruleName ::=
  identifier

columnName ::=
  identifier

algorithmType ::=
  literal

key ::=
  string

value ::=
  literal
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/alter-mask-rule.cn.md
=====================================================
+++
title = "ALTER MASK RULE"
weight = 2
+++

## 描述

`ALTER MASK RULE` 语法用于修改数据脱敏规则。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
CreateEncryptRule ::=
  'ALTER' 'MASK' 'RULE' maskRuleDefinition (',' maskRuleDefinition)*

maskRuleDefinition ::=
  ruleName '(' 'COLUMNS' '(' columnDefinition (',' columnDefinition)* ')' ')'

columnDefinition ::=
  '(' 'NAME' '=' columnName ',' maskAlgorithmDefinition ')'

maskAlgorithmDefinition ::=
  'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)? ')'

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

ruleName ::=
  identifier

columnName ::=
  identifier

algorithmType ::=
  literal

key ::=
  string

value ::=
  literal
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/create-mask-rule.en.md
=====================================================
+++
title = "CREATE MASK RULE"
weight = 1
+++

## Description

The `CREATE MASK RULE` syntax is used to create a mask rule.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
CreateEncryptRule ::=
  'CREATE' 'MASK' 'RULE' ifNotExists? maskRuleDefinition (',' maskRuleDefinition)*

ifNotExists ::=
  'IF' 'NOT' 'EXISTS'

maskRuleDefinition ::=
  ruleName '(' 'COLUMNS' '(' columnDefinition (',' columnDefinition)* ')' ')'

columnDefinition ::=
  '(' 'NAME' '=' columnName ',' maskAlgorithmDefinition ')'

maskAlgorithmDefinition ::=
  'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)? ')'

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

ruleName ::=
  identifier

columnName ::=
  identifier

algorithmType ::=
  literal

key ::=
  string

value ::=
  literal
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/_index.en.md
=====================================================
+++
title = "Mask"
weight = 6
chapter = true
+++

This chapter describes the syntax of mask.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/create-mask-rule.cn.md
=====================================================
+++
title = "CREATE MASK RULE"
weight = 1
+++

## 描述

`CREATE MASK RULE` 语法用于创建数据脱敏规则。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
CreateEncryptRule ::=
  'CREATE' 'MASK' 'RULE' ifNotExists? maskRuleDefinition (',' maskRuleDefinition)*

ifNotExists ::=
  'IF' 'NOT' 'EXISTS'

maskRuleDefinition ::=
  ruleName '(' 'COLUMNS' '(' columnDefinition (',' columnDefinition)* ')' ')'

columnDefinition ::=
  '(' 'NAME' '=' columnName ',' maskAlgorithmDefinition ')'

maskAlgorithmDefinition ::=
  'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)? ')'

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

ruleName ::=
  identifier

columnName ::=
  identifier

algorithmType ::=
  literal

key ::=
  string

value ::=
  literal
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/broadcast-table/create-broadcast-table-rule.cn.md
=====================================================
+++
title = "CREATE BROADCAST TABLE RULE"
weight = 1
+++

## 描述

`CREATE BROADCAST TABLE RULE` 语法用于为需要广播的表(广播表)创建广播规则。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
CreateBroadcastTableRule ::=
  'CREATE' 'BROADCAST' 'TABLE' 'RULE' ifNotExists? tableName (',' tableName)* 

ifNotExists ::=
  'IF' 'NOT' 'EXISTS'

tableName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `tableName` 可使用已经存在的表或者将要创建的表;
- `ifNotExists` 子句用于避免 `Duplicate Broadcast rule` 错误。

### 示例

#### 创建广播规则

```sql
-- 将 t_province, t_city 添加到广播规则中 
CREATE BROADCAST TABLE RULE t_province, t_city;
```

#### 使用 `ifNotExists` 子句创建广播规则

```sql
CREATE BROADCAST TABLE RULE IF NOT EXISTS t_province, t_city;
```

### 保留字

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/broadcast-table/drop-broadcast-table-rule.en.md
=====================================================
+++
title = "DROP BROADCAST TABLE RULE"
weight = 2
+++

## Description

The `DROP BROADCAST TABLE RULE` syntax is used to drop broadcast table rule for specified broadcast tables

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
DropBroadcastTableRule ::=
  'DROP' 'BROADCAST' 'TABLE' 'RULE' ifExists? tableName (',' tableName)* 

ifExists ::=
  'IF' 'EXISTS'

tableName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `tableName` can use the table of existing broadcast rules;
- `ifExists` clause is used for avoid `Broadcast rule not exists` error.

### Example

- Drop broadcast table rule for specified broadcast table

```sql
DROP BROADCAST TABLE RULE t_province, t_city;
```

- Drop broadcast table rule with `ifExists` clause

```
DROP BROADCAST TABLE RULE IF EXISTS t_province, t_city;
```

### Reserved word


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/broadcast-table/_index.en.md
=====================================================
+++
title = "Broadcast Table"
weight = 2
chapter = true
+++

This chapter describes the syntax of broadcast table.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/broadcast-table/create-broadcast-table-rule.en.md
=====================================================
+++
title = "CREATE BROADCAST TABLE RULE"
weight = 1
+++

## Description

The `CREATE BROADCAST TABLE RULE` syntax is used to create broadcast table rules for tables that need to be
broadcast (broadcast tables)

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
CreateBroadcastTableRule ::=
  'CREATE' 'BROADCAST' 'TABLE' 'RULE' ifNotExists? tableName (',' tableName)* 

ifNotExists ::=
  'IF' 'NOT' 'EXISTS'

tableName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `tableName` can use an existing table or a table that will be created;
- `ifNotExists` clause is used for avoid `Duplicate Broadcast rule` error.

### Example

#### Create broadcast table rule

```sql
-- Add t_province, t_city to broadcast table rules
CREATE BROADCAST TABLE RULE t_province, t_city;
```

#### Create broadcast table rule with `ifNotExists` clause

```sql
CREATE BROADCAST TABLE RULE IF NOT EXISTS t_province, t_city;
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-algorithm.en.md
=====================================================
+++
title = "DROP SHARDING ALGORITHM"
weight = 11
+++

## Description

The `DROP SHARDING ALGORITHM` syntax is used to drop sharding algorithm for specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
DropShardingAlgorithm ::=
  'DROP' 'SHARDING' 'ALGORITHM' algorithmName ifExists? ('FROM' databaseName)?

ifExists ::=
  'IF' 'EXISTS'

algorithmName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted;
- `ifExists` clause used for avoid `Sharding algorithm not exists` error.

### Example

- Drop sharding algorithm for specified database

```sql
DROP SHARDING ALGORITHM t_order_hash_mod FROM sharding_db;
```

- Drop sharding algorithm for current database

```sql
DROP SHARDING ALGORITHM t_order_hash_mod;
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-reference-rule.cn.md
=====================================================
+++
title = "CREATE SHARDING TABLE REFERENCE RULE"
weight = 12
+++

## 描述

`CREATE SHARDING TABLE REFERENCE RULE` 语法用于为分片表创建关联规则。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
CreateShardingTableReferenceRule ::=
  'CREATE' 'SHARDING' 'TABLE' 'REFERENCE' 'RULE' ifNotExists? referenceRelationshipDefinition  (',' referenceRelationshipDefinition)*

ifNotExists ::=
  'IF' 'NOT' 'EXISTS'

referenceRelationshipDefinition ::=
   ruleName '(' tableName (',' tableName)* ')'

ruleName ::=
  identifier

tableName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 只能为分片表创建关联关系;
- 一张分片表只能具有一个关联关系;
- 关联的分片表应分布在相同的存储单元,并且分片个数相同。例如 `ds_${0..1}.t_order_${0..1}` 与 `ds_${0..1}.t_order_item_${0..1}`;
- 关联的分片表应使用一致的分片算法。例如 `t_order_${order_id % 2}` 与 `t_order_item_${order_item_id % 2}`;
- `ifNotExists` 子句用于避免 `Duplicate sharding table reference rule` 错误。

### 示例

#### 1.创建关联关系

```sql
-- 创建关联关系之前需要先创建分片规则 t_order,t_order_item
CREATE SHARDING TABLE REFERENCE RULE ref_0 (t_order,t_order_item);

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-reference-rule.en.md
=====================================================
+++
title = "CREATE SHARDING TABLE REFERENCE RULE"
weight = 12
+++

## Description

The `CREATE SHARDING TABLE REFERENCE RULE` syntax is used to create reference rule for sharding tables

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
CreateShardingTableReferenceRule ::=
  'CREATE' 'SHARDING' 'TABLE' 'REFERENCE' 'RULE' ifNotExists? referenceRelationshipDefinition  (',' referenceRelationshipDefinition)*

ifNotExists ::=
  'IF' 'NOT' 'EXISTS'

referenceRelationshipDefinition ::=
   ruleName '(' tableName (',' tableName)* ')'

ruleName ::=
  identifier

tableName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- Sharding table reference rule can only be created for sharding tables;
- A sharding table can only be associated with one sharding table reference rule;
- The referenced sharding tables should be sharded in the same storage units and have the same number of sharding nodes. For
  example `ds_${0..1}.t_order_${0..1}` and `ds_${0..1}.t_order_item_${0..1}`;
- The referenced sharding tables should use consistent sharding algorithms. For example `t_order_{order_id % 2}` and `t_order_item_{order_item_id % 2}`;
- `ifNotExists` clause used for avoid `Duplicate sharding table reference rule` error.

### Example

#### 1.Create a sharding table reference rule

```sql
-- Before creating a sharding table reference rule, you need to create sharding table rules t_order, t_order_item

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-reference-rule.en.md
=====================================================
+++
title = "ALTER SHARDING TABLE REFERENCE RULE"
weight = 13
+++

## Description

The `ALTER SHARDING TABLE REFERENCE RULE` syntax is used to alter sharding table reference rule. 

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
AlterShardingTableReferenceRule ::=
  'ALTER' 'SHARDING' 'TABLE' 'REFERENCE' 'RULE'  referenceRelationshipDefinition  (',' referenceRelationshipDefinition)*

referenceRelationshipDefinition ::=
  ruleName '(' tableName (',' tableName)* ')'

ruleName ::=
  identifier

tableName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- A sharding table can only be associated with one sharding table reference rule;
- The referenced sharding tables should be sharded in the same storage units and have the same number of sharding nodes. For
  example `ds_${0..1}.t_order_${0..1}` and `ds_${0..1}.t_order_item_${0..1}`;
- The referenced sharding tables should use consistent sharding algorithms. For example `t_order_{order_id % 2}` and `t_order_item_{order_item_id % 2}`;

### Example

#### 1. Alter a sharding table reference rule

```sql
ALTER SHARDING TABLE REFERENCE RULE ref_0 (t_order,t_order_item);
```

#### 2. Alter multiple sharding table reference rules

```sql

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-table-rule.cn.md
=====================================================
+++
title = "DROP SHARDING TABLE RULE"
weight = 3
+++

## 描述

`DROP SHARDING TABLE RULE` 语法用于删除指定逻辑库的指定分片规则。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
DropShardingTableRule ::=
  'DROP' 'SHARDING' 'TABLE' 'RULE' ifExists? ruleName (',' ruleName)*  ('FROM' databaseName)?

ifExists ::=
  'IF' 'EXISTS'

ruleName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`;
- `ifExists` 子句用于避免 `Sharding rule not exists` 错误。

### 示例

- 为指定逻辑库删除多个指定分片规则
 
```sql
DROP SHARDING TABLE RULE t_order, t_order_item FROM sharding_db;
```

- 为当前逻辑库删除单个指定分片规则

```sql
DROP SHARDING TABLE RULE t_order;
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-table-rule.en.md
=====================================================
+++
title = "DROP SHARDING TABLE RULE"
weight = 3
+++

## Description

The `DROP SHARDING TABLE RULE` syntax is used to drop sharding table rule for specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
DropShardingTableRule ::=
  'DROP' 'SHARDING' 'TABLE' 'RULE' ifExists? ruleName (',' ruleName)*  ('FROM' databaseName)?

ifExists ::=
  'IF' 'EXISTS'

ruleName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted;
- `ifExists` clause is used to avoid `Sharding rule not exists` error.

### Example

- Drop mutiple sharding table rules for specified database

```sql
DROP SHARDING TABLE RULE t_order, t_order_item FROM sharding_db;
```

- Drop a sharding table rule for current database

```sql
DROP SHARDING TABLE RULE t_order;
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-default-sharding-strategy.en.md
=====================================================
+++
title = "CREATE DEFAULT SHARDING STRATEGY"
weight = 4
+++

## Description

The `CREATE DEFAULT SHARDING STRATEGY` syntax is used to create a default sharding strategy

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
CreateDefaultShardingStrategy ::=
  'CREATE' 'DEFAULT' 'SHARDING' ('DATABASE' | 'TABLE') 'STRATEGY' ifNotExists? '(' shardingStrategy ')'

ifNotExists ::=
  'IF' 'NOT' 'EXISTS'

shardingStrategy ::=
  'TYPE' '=' strategyType ',' ('SHARDING_COLUMN' '=' columnName | 'SHARDING_COLUMNS' '=' columnNames) ',' 'SHARDING_ALGORITHM' '=' algorithmDefinition

strategyType ::=
  string

algorithmDefinition ::=
  'TYPE' '(' 'NAME' '=' algorithmType ',' propertiesDefinition ')'  

columnNames ::=
  columnName (',' columnName)+

columnName ::=
  identifier

algorithmType ::=
  string

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

key ::=
  string

value ::=
  literal
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-rule.cn.md
=====================================================
+++
title = "CREATE SHARDING TABLE RULE"
weight = 1
+++

## 描述

`CREATE SHARDING TABLE RULE` 语法用于为当前所选逻辑库添加分片规则。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
CreateShardingTableRule ::=
  'CREATE' 'SHARDING' 'TABLE' 'RULE' ifNotExists? (tableRuleDefinition | autoTableRuleDefinition) (',' (tableRuleDefinition | autoTableRuleDefinition))*

ifNotExists ::=
  'IF' 'NOT' 'EXISTS'

tableRuleDefinition ::= 
  ruleName '(' 'DATANODES' '(' dataNode (',' dataNode)* ')' (','  'DATABASE_STRATEGY' '(' strategyDefinition ')')? (','  'TABLE_STRATEGY' '(' strategyDefinition ')')? (','  'KEY_GENERATE_STRATEGY' '(' keyGenerateStrategyDefinition ')')? (',' 'AUDIT_STRATEGY' '(' auditStrategyDefinition ')')? ')'

autoTableRuleDefinition ::=
  ruleName '(' 'STORAGE_UNITS' '(' storageUnitName (',' storageUnitName)*  ')' ',' 'SHARDING_COLUMN' '=' columnName ',' algorithmDefinition (',' 'KEY_GENERATE_STRATEGY' '(' keyGenerateStrategyDefinition ')')? (',' 'AUDIT_STRATEGY' '(' auditStrategyDefinition ')')? ')'

strategyDefinition ::=
  'TYPE' '=' strategyType ',' ('SHARDING_COLUMN' | 'SHARDING_COLUMNS') '=' columnName ',' algorithmDefinition

keyGenerateStrategyDefinition ::= 
  'KEY_GENERATE_STRATEGY' '(' 'COLUMN' '=' columnName ',' algorithmDefinition ')' 

auditStrategyDefinition ::= 
  'AUDIT_STRATEGY' '(' algorithmDefinition (',' algorithmDefinition)* ')'

algorithmDefinition ::=
  'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)?')'

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

key ::=
  string

value ::=
  literal

ruleName ::=
  identifier


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-table-reference-rule.cn.md
=====================================================
+++
title = "DROP SHARDING TABLE REFERENCE RULE"
weight = 14
+++

## 描述

`DROP SHARDING TABLE REFERENCE RULE` 语法用删除指定的关联规则。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
DropShardingTableReferenceRule ::=
  'DROP' 'SHARDING' 'TABLE' 'REFERENCE' 'RULE' ifExists? ruleName (',' ruleName)*

ifExists ::=
  'IF' 'EXISTS'

ruleName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `ifExists` 子句用于避免 `Sharding reference rule not exists` 错误。

### 示例

- 删除单个关联规则
 
```sql
DROP SHARDING TABLE REFERENCE RULE ref_0;
```

- 删除多个关联规则

```sql
DROP SHARDING TABLE REFERENCE RULE ref_0, ref_1;
```

- 使用 `ifExists` 子句删除关联规则

```sql

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-key-generator.cn.md
=====================================================
+++
title = "DROP SHARDING KEY GENERATOR"
weight = 10
+++

## 描述

`DROP SHARDING KEY GENERATOR` 语法用于删除指定逻辑库的指定分片主键生成器。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
DropShardingKeyGenerator ::=
  'DROP' 'SHARDING' 'KEY' 'GENERATOR' ifExists? keyGeneratorName (keyGeneratorName)* ('FROM' databaseName)?

ifExists ::=
  'IF' 'EXISTS'

keyGeneratorName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`;
- `ifExists` 子句用于避免 `Sharding key generator not exists` 错误。

### 示例

- 删除指定逻辑库的指定分片主键生成器

```sql
DROP SHARDING KEY GENERATOR t_order_snowflake FROM sharding_db;
```

- 删除当前逻辑库的指定分片主键生成器

```sql
DROP SHARDING KEY GENERATOR t_order_snowflake;
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/_index.en.md
=====================================================
+++
title = "Sharding"
weight = 1
chapter = true
+++

This chapter describes the syntax of sharding.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/alter-default-sharding-strategy.en.md
=====================================================
+++
title = "ALTER DEFAULT SHARDING STRATEGY"
weight = 5
+++

## Description

The `ALTER DEFAULT SHARDING STRATEGY` syntax is used to alter a default sharding strategy

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
AlterDefaultShardingStrategy ::=
  'ALTER' 'DEFAULT' 'SHARDING' ('DATABASE' | 'TABLE') 'STRATEGY' '(' shardingStrategy ')'

shardingStrategy ::=
  'TYPE' '=' strategyType ',' ('SHARDING_COLUMN' '=' columnName | 'SHARDING_COLUMNS' '=' columnNames) ',' 'SHARDING_ALGORITHM' '=' algorithmDefinition

strategyType ::=
  string

algorithmDefinition ::=
  'TYPE' '(' 'NAME' '=' algorithmType ',' propertiesDefinition ')'  

columnNames ::=
  columnName (',' columnName)+

columnName ::=
  identifier

algorithmType ::=
  string

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

key ::=
  string

value ::=
  literal
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-rule.en.md
=====================================================
+++
title = "CREATE SHARDING TABLE RULE"
weight = 1
+++

## Description

The `CREATE SHARDING TABLE RULE` syntax is used to add sharding table rule for the currently selected database

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
CreateShardingTableRule ::=
  'CREATE' 'SHARDING' 'TABLE' 'RULE' ifNotExists? (tableRuleDefinition | autoTableRuleDefinition) (',' (tableRuleDefinition | autoTableRuleDefinition))*

ifNotExists ::=
  'IF' 'NOT' 'EXISTS'

tableRuleDefinition ::= 
  ruleName '(' 'DATANODES' '(' dataNode (',' dataNode)* ')' (','  'DATABASE_STRATEGY' '(' strategyDefinition ')')? (','  'TABLE_STRATEGY' '(' strategyDefinition ')')? (','  'KEY_GENERATE_STRATEGY' '(' keyGenerateStrategyDefinition ')')? (',' 'AUDIT_STRATEGY' '(' auditStrategyDefinition ')')? ')'

autoTableRuleDefinition ::=
  ruleName '(' 'STORAGE_UNITS' '(' storageUnitName (',' storageUnitName)*  ')' ',' 'SHARDING_COLUMN' '=' columnName ',' algorithmDefinition (',' 'KEY_GENERATE_STRATEGY' '(' keyGenerateStrategyDefinition ')')? (',' 'AUDIT_STRATEGY' '(' auditStrategyDefinition ')')? ')'

strategyDefinition ::=
  'TYPE' '=' strategyType ',' ('SHARDING_COLUMN' | 'SHARDING_COLUMNS') '=' columnName ',' algorithmDefinition

keyGenerateStrategyDefinition ::= 
  'KEY_GENERATE_STRATEGY' '(' 'COLUMN' '=' columnName ',' algorithmDefinition ')' 

auditStrategyDefinition ::= 
  'AUDIT_STRATEGY' '(' algorithmDefinition (',' algorithmDefinition)* ')'

algorithmDefinition ::=
  'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)?')'

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

key ::=
  string

value ::=
  literal

ruleName ::=
  identifier


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-default-sharding-strategy.cn.md
=====================================================
+++
title = "DROP DEFAULT SHARDING STRATEGY"
weight = 6
+++

## 描述

`DROP DEFAULT SHARDING STRATEGY` 语法用于删除指定逻辑库的默认分片策略。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
DropDefaultShardingStrategy ::=
  'DROP' 'DEFAULT' 'SHARDING' ('TABLE' | 'DATABASE') 'STRATEGY' ifExists? ('FROM' databaseName)?

ifExists ::=
  'IF' 'EXISTS'

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`;
- `ifExists` 子句用于避免 `Default sharding strategy not exists` 错误。

### 示例

- 为指定逻辑库删除默认表分片策略
 
```sql
DROP DEFAULT SHARDING TABLE STRATEGY FROM sharding_db;
```

- 为当前逻辑库删除默认库分片策略

```sql
DROP DEFAULT SHARDING DATABASE STRATEGY;
```

- 使用 `ifExists` 子句删除默认表分片策略


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-reference-rule.cn.md
=====================================================
+++
title = "ALTER SHARDING TABLE REFERENCE RULE"
weight = 13
+++

## 描述

`ALTER SHARDING TABLE REFERENCE RULE` 语法用于修改分片表关联关系。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
AlterShardingTableReferenceRule ::=
  'ALTER' 'SHARDING' 'TABLE' 'REFERENCE' 'RULE'  referenceRelationshipDefinition  (',' referenceRelationshipDefinition)*

referenceRelationshipDefinition ::=
  ruleName '(' tableName (',' tableName)* ')'

ruleName ::=
  identifier

tableName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 一张分片表只能具有一个关联关系;
- 关联的分片表应分布在相同的存储单元,并且分片个数相同。例如 `ds_${0..1}.t_order_${0..1}` 与 `ds_${0..1}.t_order_item_${0..1}`;
- 关联的分片表应使用一致的分片算法。例如 `t_order_${order_id % 2}` 与 `t_order_item_${order_item_id % 2}`;

### 示例

#### 1.修改关联关系

```sql
ALTER SHARDING TABLE REFERENCE RULE ref_0 (t_order,t_order_item);
```

#### 2.修改多个关联关系

```sql
ALTER SHARDING TABLE REFERENCE RULE ref_0 (t_order,t_order_item), ref_1 (t_product,t_product_item);

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-table-reference-rule.en.md
=====================================================
+++
title = "DROP SHARDING TABLE REFERENCE RULE"
weight = 14
+++

## Description

The `DROP SHARDING TABLE REFERENCE RULE` syntax is used to drop specified sharding table reference rule.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
DropShardingTableReferenceRule ::=
  'DROP' 'SHARDING' 'TABLE' 'REFERENCE' 'RULE' ifExists? ruleName (',' ruleName)*

ifExists ::=
  'IF' 'EXISTS'

ruleName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `ifExists` clause is used for avoid `Sharding reference rule not exists` error.
### Example

- Drop a specified sharding table reference rule

```sql
DROP SHARDING TABLE REFERENCE RULE ref_0;
```

- Drop multiple sharding table reference rules

```sql
DROP SHARDING TABLE REFERENCE RULE ref_0, ref_1;
```

- Drop sharding table reference rule with `ifExists` clause

```sql
DROP SHARDING TABLE REFERENCE RULE IF EXISTS ref_0;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-key-generator.en.md
=====================================================
+++
title = "DROP SHARDING KEY GENERATOR"
weight = 10
+++

## Description

The `DROP SHARDING KEY GENERATOR` syntax is used to drop sharding key generator for specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
DropShardingKeyGenerator ::=
  'DROP' 'SHARDING' 'KEY' 'GENERATOR' ifExists? keyGeneratorName (keyGeneratorName)* ('FROM' databaseName)?

ifExists ::=
  'IF' 'EXISTS'

keyGeneratorName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted;
- `ifExists` clause is used for avoid `Sharding key generator not exists` error.

### Example

- Drop sharding key generator for specified database

```sql
DROP SHARDING KEY GENERATOR t_order_snowflake FROM sharding_db;
```

- Drop sharding key generator for current database

```sql
DROP SHARDING KEY GENERATOR t_order_snowflake;
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-default-sharding-strategy.en.md
=====================================================
+++
title = "DROP DEFAULT SHARDING STRATEGY"
weight = 6
+++

## Description

The `DROP DEFAULT SHARDING STRATEGY` syntax is used to drop default sharding strategy for specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
DropDefaultShardingStrategy ::=
  'DROP' 'DEFAULT' 'SHARDING' ('TABLE' | 'DATABASE') 'STRATEGY' ifExists? ('FROM' databaseName)?

ifExists ::=
  'IF' 'EXISTS'

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted;
- `ifExists` clause is used for avoid `Default sharding strategy not exists` error.

### Example

- Drop default sharding table strategy for specified database

```sql
DROP DEFAULT SHARDING TABLE STRATEGY FROM sharding_db;
```

- Drop default sharding database strategy for current database

```sql
DROP DEFAULT SHARDING DATABASE STRATEGY;
```

- Drop default sharding table strategy with `ifExists` clause


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-rule.en.md
=====================================================
+++
title = "ALTER SHARDING TABLE RULE"
weight = 2
+++

## Description

The `ALTER SHARDING TABLE RULE` syntax is used to alter sharding table rule for the currently selected database

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
AlterShardingTableRule ::=
  'ALTER' 'SHARDING' 'TABLE' 'RULE' (tableRuleDefinition | autoTableRuleDefinition) (',' (tableRuleDefinition | autoTableRuleDefinition))*

tableRuleDefinition ::= 
  ruleName '(' 'DATANODES' '(' dataNode (',' dataNode)* ')' (','  'DATABASE_STRATEGY' '(' strategyDefinition ')')? (','  'TABLE_STRATEGY' '(' strategyDefinition ')')? (','  'KEY_GENERATE_STRATEGY' '(' keyGenerateStrategyDefinition ')')? (',' 'AUDIT_STRATEGY' '(' auditStrategyDefinition ')')? ')'

autoTableRuleDefinition ::=
  ruleName '(' 'STORAGE_UNITS' '(' storageUnitName (',' storageUnitName)*  ')' ',' 'SHARDING_COLUMN' '=' columnName ',' algorithmDefinition (',' 'KEY_GENERATE_STRATEGY' '(' keyGenerateStrategyDefinition ')')? (',' 'AUDIT_STRATEGY' '(' auditStrategyDefinition ')')? ')'

strategyDefinition ::=
  'TYPE' '=' strategyType ',' ('SHARDING_COLUMN' | 'SHARDING_COLUMNS') '=' columnName ',' algorithmDefinition

keyGenerateStrategyDefinition ::= 
  'KEY_GENERATE_STRATEGY' '(' 'COLUMN' '=' columnName ',' algorithmDefinition ')' 

auditStrategyDefinition ::= 
  'AUDIT_STRATEGY' '(' algorithmDefinition (',' algorithmDefinition)* ')'

algorithmDefinition ::=
  'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)?')'

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

key ::=
  string

value ::=
  literal

ruleName ::=
  identifier

dataNode ::=
  string


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/_index.en.md
=====================================================
+++
title = "Rule Definition"
weight = 2
chapter = true
+++

This chapter describes the syntax of rule definition.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/create-default-shadow-algorithm.cn.md
=====================================================
+++
title = "CREATE DEFAULT SHADOW ALGORITHM"
weight = 4
+++

## 描述

`CREATE DEFAULT SHADOW ALGORITHM` 语法用于创建影子库默认算法规则。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
CreateDefaultShadowAlgorithm ::=
  'CREATE' 'DEFAULT' 'SHADOW' 'ALGORITHM' ifNotExists? shadowAlgorithm 

ifNotExists ::=
  'IF' 'NOT' 'EXISTS'

shadowAlgorithm ::=
  'TYPE' '(' 'NAME' '=' algorithmType ',' propertiesDefiinition ')'
    
algorithmType ::=
  string

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

key ::=
  string

value ::=
  literal
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `algorithmType` 目前支持 `VALUE_MATCH`、`REGEX_MATCH` 和 `SQL_HINT`;
- `ifNotExists` 子句用于避免出现 `Duplicate default shadow algorithm` 错误。

### 示例

- 创建默认影子库压测算法


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/create-default-shadow-algorithm.en.md
=====================================================
+++
title = "CREATE DEFAULT SHADOW ALGORITHM"
weight = 4
+++

## Description

The `CREATE DEFAULT SHADOW ALGORITHM` syntax is used to create a default shadow algorithm.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
CreateDefaultShadowAlgorithm ::=
  'CREATE' 'DEFAULT' 'SHADOW' 'ALGORITHM' ifNotExists? shadowAlgorithm 

ifNotExists ::=
  'IF' 'NOT' 'EXISTS'

shadowAlgorithm ::=
  'TYPE' '(' 'NAME' '=' algorithmType ',' propertiesDefiinition ')'
    
algorithmType ::=
  string

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

key ::=
  string

value ::=
  literal
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `algorithmType` currently supports `VALUE_MATCH`, `REGEX_MATCH` and `SQL_HINT`;
- `ifNotExists` clause is used for avoid `Duplicate default shadow algorithm` error.

### Example

- Create default shadow algorithm


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-default-shadow-algorithm.en.md
=====================================================
+++
title = "DROP DEFAULT SHADOW ALGORITHM"
weight = 6
+++

## Description

The `DROP DEFAULT SHADOW ALGORITHM` syntax is used to drop default shadow algorithm for specified database

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
DropDefaultShadowAlgorithm ::=
  'DROP' 'DEFAULT' 'SHADOW' 'ALGORITHM' ifExists? ('FROM' databaseName)?

ifExists ::=
  'IF' 'EXISTS'

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted;
- `ifExists` clause used for avoid `Default shadow algorithm not exists` error.

### Example

- Drop default shadow algorithm for specified database

```sql
DROP DEFAULT SHADOW ALGORITHM FROM shadow_db;
```

- Drop default shadow algorithm for current database

```sql
DROP DEFAULT SHADOW ALGORITHM;
```

- Drop default shadow algorithm with `ifExists` clause


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/alter-shadow-rule.cn.md
=====================================================
+++
title = "ALTER SHADOW RULE"
weight = 2
+++

## 描述

`ALTER SHADOW RULE` 语法用于修改影子库压测规则。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
AlterShadowRule ::=
  'ALTER' 'SHADOW' 'RULE' shadowRuleDefinition (',' shadowRuleDefinition)*

shadowRuleDefinition ::=
  ruleName '(' storageUnitMapping shadowTableRule (',' shadowTableRule)* ')'
    
storageUnitMapping ::=
  'SOURCE' '=' storageUnitName ',' 'SHADOW' '=' storageUnitName

shadowTableRule ::=
  tableName '(' shadowAlgorithm ')'
    
shadowAlgorithm ::=
  'TYPE' '(' 'NAME' '=' shadowAlgorithmType ',' propertiesDefinition ')'

ruleName ::=
  identifier

storageUnitName ::=
  identifier

tableName ::=
  identifier

algorithmName ::=
  identifier

shadowAlgorithmType ::=
  string

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

key ::=
  string


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-shadow-algorithm.cn.md
=====================================================
+++
title = "DROP SHADOW ALGORITHM"
weight = 7
+++

## 描述

`DROP SHADOW ALGORITHM` 语法用于为指定逻辑库删除影子库压测算法。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
DropShadowAlgorithm ::=
  'DROP' 'SHADOW' 'ALGORITHM' ifExists? algorithmName (',' algorithmName)* ('FROM' databaseName)?

ifExists ::=
  'IF' 'EXISTS'

algorithmName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`;
- `ifExists` 子句用于避免 `shadow algorithm not exists` 错误。

### 示例

- 为指定数据库删除多个影子库压测算法
 
```sql
DROP SHADOW ALGORITHM shadow_rule_t_order_sql_hint_0, shadow_rule_t_order_item_sql_hint_0 FROM shadow_db;
```

- 为当前数据库删除单个影子库压测算法

```sql
DROP SHADOW ALGORITHM shadow_rule_t_order_sql_hint_0;
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/alter-default-shadow-algorithm.cn.md
=====================================================
+++
title = "ALTER DEFAULT SHADOW ALGORITHM"
weight = 5
+++

## 描述

`ALTER DEFAULT SHADOW ALGORITHM` 语法用于修改影子库默认算法规则。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
AlterDefaultShadowAlgorithm ::=
  'ALTER' 'DEFAULT' 'SHADOW' 'ALGORITHM' shadowAlgorithm 

shadowAlgorithm ::=
  'TYPE' '(' 'NAME' '=' algorithmType ',' propertiesDefiinition ')'
    
algorithmType ::=
  string

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

key ::=
  string

value ::=
  literal
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `algorithmType` 目前支持 `VALUE_MATCH`、`REGEX_MATCH` 和 `SQL_HINT`。

### 示例

- 修改默认影子库压测算法

```sql
ALTER DEFAULT SHADOW ALGORITHM TYPE(NAME="SQL_HINT");
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-shadow-algorithm.en.md
=====================================================
+++
title = "DROP SHADOW ALGORITHM"
weight = 7
+++

## Description

The `DROP SHADOW ALGORITHM` syntax is used to drop shadow algorithm for specified database

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
DropShadowAlgorithm ::=
  'DROP' 'SHADOW' 'ALGORITHM' ifExists? algorithmName (',' algorithmName)* ('FROM' databaseName)?

ifExists ::=
  'IF' 'EXISTS'

algorithmName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted;
- `ifExists` clause is used for avoid `shadow algorithm not exists` error.

### Example

- Drop mutiple shadow algorithm for specified database

```sql
DROP SHADOW ALGORITHM shadow_rule_t_order_sql_hint_0, shadow_rule_t_order_item_sql_hint_0 FROM shadow_db;
```

- Drop single shadow algorithm for current database

```sql
DROP SHADOW ALGORITHM shadow_rule_t_order_sql_hint_0;
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/create-shadow-rule.cn.md
=====================================================
+++
title = "CREATE SHADOW RULE"
weight = 1
+++

## 描述

`CREATE SHADOW RULE` 语法用于创建影子库压测规则。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
CreateShadowRule ::=
  'CREATE' 'SHADOW' 'RULE' ifNotExists? shadowRuleDefinition (',' shadowRuleDefinition)*

ifNotExists ::=
  'IF' 'NOT' 'EXISTS'

shadowRuleDefinition ::=
  ruleName '(' storageUnitMapping shadowTableRule (',' shadowTableRule)* ')'
    
storageUnitMapping ::=
  'SOURCE' '=' storageUnitName ',' 'SHADOW' '=' storageUnitName

shadowTableRule ::=
  tableName '(' shadowAlgorithm ')'
    
shadowAlgorithm ::=
  'TYPE' '(' 'NAME' '=' algorithmType ',' propertiesDefinition ')'

ruleName ::=
  identifier

storageUnitName ::=
  identifier

tableName ::=
  identifier

algorithmName ::=
  identifier

algorithmType ::=
  string

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/_index.en.md
=====================================================
+++
title = "Shadow"
weight = 7
chapter = true
+++

This chapter describes the syntax of shadow.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/create-shadow-rule.en.md
=====================================================
+++
title = "CREATE SHADOW RULE"
weight = 1
+++

## Description

The `CREATE SHADOW RULE` syntax is used to create a shadow rule.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
CreateShadowRule ::=
  'CREATE' 'SHADOW' 'RULE' ifNotExists? shadowRuleDefinition (',' shadowRuleDefinition)*

ifNotExists ::=
  'IF' 'NOT' 'EXISTS'

shadowRuleDefinition ::=
  ruleName '(' storageUnitMapping shadowTableRule (',' shadowTableRule)* ')'
    
storageUnitMapping ::=
  'SOURCE' '=' storageUnitName ',' 'SHADOW' '=' storageUnitName

shadowTableRule ::=
  tableName '(' shadowAlgorithm ')'
    
shadowAlgorithm ::=
  'TYPE' '(' 'NAME' '=' algorithmType ',' propertiesDefinition ')'

ruleName ::=
  identifier

storageUnitName ::=
  identifier

tableName ::=
  identifier

algorithmName ::=
  identifier

algorithmType ::=
  string

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-shadow-rule.en.md
=====================================================
+++
title = "DROP SHADOW RULE"
weight = 3
+++

## Description

The `DROP SHADOW RULE` syntax is used to drop shadow rule for specified database

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
DropShadowRule ::=
  'DROP' 'SHADOW' 'RULE' ifExists? ruleName ('FROM' databaseName)?

ifExists ::=
  'IF' 'EXISTS'

ruleName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted;
- `ifExists` clause is used for avoid `Shadow rule not exists` error.

### Example

- Drop shadow rule for specified database

```sql
DROP SHADOW RULE shadow_rule FROM shadow_db;
```

- Drop shadow rule for current database

```sql
DROP SHADOW RULE shadow_rule;
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/alter-shadow-rule.en.md
=====================================================
+++
title = "ALTER SHADOW RULE"
weight = 2
+++

## Description

The `ALTER SHADOW RULE` syntax is used to alter shadow rule.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
AlterShadowRule ::=
  'ALTER' 'SHADOW' 'RULE' shadowRuleDefinition (',' shadowRuleDefinition)*

shadowRuleDefinition ::=
  ruleName '(' storageUnitMapping shadowTableRule (',' shadowTableRule)* ')'
    
storageUnitMapping ::=
  'SOURCE' '=' storageUnitName ',' 'SHADOW' '=' storageUnitName

shadowTableRule ::=
  tableName '(' shadowAlgorithm ')'
    
shadowAlgorithm ::=
  'TYPE' '(' 'NAME' '=' shadowAlgorithmType ',' propertiesDefinition ')'

ruleName ::=
  identifier

storageUnitName ::=
  identifier

tableName ::=
  identifier

algorithmName ::=
  identifier

shadowAlgorithmType ::=
  string

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

key ::=
  string


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-default-shadow-algorithm.cn.md
=====================================================
+++
title = "DROP DEFAULT SHADOW ALGORITHM"
weight = 6
+++

## 描述

`DROP DEFAULT SHADOW ALGORITHM` 语法用于为指定逻辑库删除默认影子库压测算法。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
DropDefaultShadowAlgorithm ::=
  'DROP' 'DEFAULT' 'SHADOW' 'ALGORITHM' ifExists? ('FROM' databaseName)?

ifExists ::=
  'IF' 'EXISTS'

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`;
- `ifExists` 子句用于避免 `Default shadow algorithm not exists` 错误。

### 示例

- 为指定数据库删除默认影子库压测算法

```sql
DROP DEFAULT SHADOW ALGORITHM FROM shadow_db;
```

- 为当前数据库删除默认影子库压测算法

```sql
DROP DEFAULT SHADOW ALGORITHM;
```

- 使用 `ifExists` 子句删除默认影子库压测算法


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-shadow-rule.cn.md
=====================================================
+++
title = "DROP SHADOW RULE"
weight = 3
+++

## 描述

`DROP SHADOW RULE` 语法用于为指定逻辑库删除影子库压测规则。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
DropShadowRule ::=
  'DROP' 'SHADOW' 'RULE' ifExists? ruleName ('FROM' databaseName)?

ifExists ::=
  'IF' 'EXISTS'

ruleName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`;
- `ifExists` 子句用于避免 `Shadow rule not exists` 错误。

### 示例

- 为指定数据库删除影子库压测规则
 
```sql
DROP SHADOW RULE shadow_rule FROM shadow_db;
```

- 为当前数据库删除影子库压测规则

```sql
DROP SHADOW RULE shadow_rule;
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/alter-default-shadow-algorithm.en.md
=====================================================
+++
title = "ALTER DEFAULT SHADOW ALGORITHM"
weight = 5
+++

## Description

The `ALTER DEFAULT SHADOW ALGORITHM` syntax is used to alter a default shadow algorithm.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
AlterDefaultShadowAlgorithm ::=
  'ALTER' 'DEFAULT' 'SHADOW' 'ALGORITHM' shadowAlgorithm 

shadowAlgorithm ::=
  'TYPE' '(' 'NAME' '=' algorithmType ',' propertiesDefiinition ')'
    
algorithmType ::=
  string

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

key ::=
  string

value ::=
  literal
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `algorithmType` currently supports `VALUE_MATCH`, `REGEX_MATCH` and `SQL_HINT`.

### Example

- Alter default shadow algorithm

```sql
ALTER DEFAULT SHADOW ALGORITHM TYPE(NAME="SQL_HINT");
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/drop-readwrite-splitting-rule.cn.md
=====================================================
+++
title = "DROP READWRITE_SPLITTING RULE"
weight = 3
+++

## 描述

`DROP READWRITE_SPLITTING RULE` 语法用于为指定逻辑库删除读写分离。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
DropReadwriteSplittingRule ::=
  'DROP' 'READWRITE_SPLITTING' 'RULE' ifExists? ruleName (',' ruleName)* ('FROM' databaseName)?

ifExists ::=
  'IF' 'EXISTS'

ruleName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`;
- `ifExists` 子句用于避免 `Readwrite-splitting rule not exists` 错误。

### 示例

- 为指定逻辑库删除读写分离规则
 
```sql
DROP READWRITE_SPLITTING RULE ms_group_1 FROM readwrite_splitting_db;
```

- 为当前逻辑库删除读写分离规则

```sql
DROP READWRITE_SPLITTING RULE ms_group_1;
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/alter-readwrite-splitting-rule.en.md
=====================================================
+++
title = "ALTER READWRITE_SPLITTING RULE"
weight = 2
+++

## Description

The `ALTER READWRITE_SPLITTING RULE` syntax is used to alter a readwrite-splitting rule.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
AlterReadwriteSplittingRule ::=
  'ALTER' 'READWRITE_SPLITTING' 'RULE' readwriteSplittingDefinition (',' readwriteSplittingDefinition)*

readwriteSplittingDefinition ::=
  ruleName '(' dataSourceDefinition (',' transactionalReadQueryStrategyDefinition)? (',' loadBalancerDefinition)? ')'

dataSourceDefinition ::=
    'WRITE_STORAGE_UNIT' '=' writeStorageUnitName ',' 'READ_STORAGE_UNITS' '(' storageUnitName (',' storageUnitName)* ')' 

transactionalReadQueryStrategyDefinition ::=
    'TRANSACTIONAL_READ_QUERY_STRATEGY' '=' transactionalReadQueryStrategyType

loadBalancerDefinition ::=
    'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)? ')'

ruleName ::=
  identifier

writeStorageUnitName ::=
  identifier

storageUnitName ::=
  identifier

transactionalReadQueryStrategyType ::=
  string

algorithmType ::=
  string

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

key ::=
  string


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/alter-readwrite-splitting-rule.cn.md
=====================================================
+++
title = "ALTER READWRITE_SPLITTING RULE"
weight = 2
+++

## 描述

`ALTER READWRITE_SPLITTING RULE` 语法用于修改读写分离规则。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
AlterReadwriteSplittingRule ::=
  'ALTER' 'READWRITE_SPLITTING' 'RULE' readwriteSplittingDefinition (',' readwriteSplittingDefinition)*

readwriteSplittingDefinition ::=
  ruleName '(' dataSourceDefinition (',' transactionalReadQueryStrategyDefinition)? (',' loadBalancerDefinition)? ')'

dataSourceDefinition ::=
    'WRITE_STORAGE_UNIT' '=' writeStorageUnitName ',' 'READ_STORAGE_UNITS' '(' storageUnitName (',' storageUnitName)* ')' 

transactionalReadQueryStrategyDefinition ::=
    'TRANSACTIONAL_READ_QUERY_STRATEGY' '=' transactionalReadQueryStrategyType

loadBalancerDefinition ::=
    'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)? ')'

ruleName ::=
  identifier

writeStorageUnitName ::=
  identifier

storageUnitName ::=
  identifier

transactionalReadQueryStrategyType ::=
  string

algorithmType ::=
  string

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

key ::=
  string


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/_index.en.md
=====================================================
+++
title = "Readwrite-Splitting"
weight = 4
chapter = true
+++

This chapter describes the syntax of readwrite-splitting.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/create-readwrite-splitting-rule.en.md
=====================================================
+++
title = "CREATE READWRITE_SPLITTING RULE"
weight = 1
+++

## Description

The `CREATE READWRITE_SPLITTING RULE` syntax is used to create a read/write splitting rule.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
CreateReadwriteSplittingRule ::=
  'CREATE' 'READWRITE_SPLITTING' 'RULE' ifNotExists? readwriteSplittingDefinition (',' readwriteSplittingDefinition)*

ifNotExists ::=
  'IF' 'NOT' 'EXISTS'

readwriteSplittingDefinition ::=
  ruleName '(' dataSourceDefinition (',' transactionalReadQueryStrategyDefinition)? (',' loadBalancerDefinition)? ')'

dataSourceDefinition ::=
    'WRITE_STORAGE_UNIT' '=' writeStorageUnitName ',' 'READ_STORAGE_UNITS' '(' storageUnitName (',' storageUnitName)* ')' 

transactionalReadQueryStrategyDefinition ::=
    'TRANSACTIONAL_READ_QUERY_STRATEGY' '=' transactionalReadQueryStrategyType

loadBalancerDefinition ::=
    'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)? ')'

ruleName ::=
  identifier

writeStorageUnitName ::=
  identifier

storageUnitName ::=
  identifier

transactionalReadQueryStrategyType ::=
  string

algorithmType ::=
  string

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/drop-readwrite-splitting-rule.en.md
=====================================================
+++
title = "DROP READWRITE_SPLITTING RULE"
weight = 3
+++

## Description

The `DROP READWRITE_SPLITTING RULE` syntax is used to drop readwrite-splitting rule for specified database

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
DropReadwriteSplittingRule ::=
  'DROP' 'READWRITE_SPLITTING' 'RULE' ifExists? ruleName (',' ruleName)* ('FROM' databaseName)?

ifExists ::=
  'IF' 'EXISTS'

ruleName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted;
- `ifExists` clause is used for avoid `Readwrite-splitting rule not exists` error.

### Example

- Drop readwrite-splitting rule for specified database

```sql
DROP READWRITE_SPLITTING RULE ms_group_1 FROM readwrite_splitting_db;
```

- Drop readwrite-splitting rule for current database

```sql
DROP READWRITE_SPLITTING RULE ms_group_1;
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/set-default-single-table-storage-unit.cn.md
=====================================================
+++
title = "SET DEFAULT SINGLE TABLE STORAGE UNIT"
weight = 3
+++

## 描述

`SET DEFAULT SINGLE TABLE STORAGE UNIT` 语法用于设置默认的单表存储单元。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
SetDefaultSingleTableStorageUnit ::=
  'SET' 'DEFAULT' 'SINGLE' 'TABLE' 'STORAGE' 'UNIT' singleTableDefinition

singleTableDefinition ::=
  '=' (storageUnitName | 'RANDOM')

storageUnitName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}


### 补充说明

- `STORAGE UNIT` 需使用 RDL 管理的存储单元。 `RANDOM` 代表随机储存

### 示例

- 设置默认的单表存储单元

```sql
SET DEFAULT SINGLE TABLE STORAGE UNIT = ds_0;
```

- 设置默认的单表存储单元为随机储存

```sql
SET DEFAULT SINGLE TABLE STORAGE UNIT = RANDOM;
```

### 保留字


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/set-default-single-table-storage-unit.en.md
=====================================================
+++
title = "SET DEFAULT SINGLE TABLE STORAGE UNIT"
weight = 3
+++

## Description

The `SET DEFAULT SINGLE TABLE STORAGE UNIT` syntax is used to set default single table storage unit.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
SetDefaultSingleTableStorageUnit ::=
  'SET' 'DEFAULT' 'SINGLE' 'TABLE' 'STORAGE' 'UNIT' singleTableDefinition

singleTableDefinition ::=
  '=' (storageUnitName | 'RANDOM')

storageUnitName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `STORAGE UNIT` needs to use storage unit managed by RDL. The `RANDOM` keyword stands for random storage.


### Example

- Set a default single table storage unit

```sql
SET DEFAULT SINGLE TABLE STORAGE UNIT = ds_0;
```

- Set the default single table storage unit to random storage

```sql
SET DEFAULT SINGLE TABLE STORAGE UNIT = RANDOM;
```

### Reserved word


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/load-single-table.en.md
=====================================================
+++
title = "LOAD SINGLE TABLE"
weight = 1
+++

## Description

The `LOAD SINGLE TABLE` syntax is used to load single table from storage unit.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
loadSingleTable ::=
  'LOAD' 'SINGLE' 'TABLE' tableDefinition

tableDefinition ::=
  tableIdentifier (',' tableIdentifier)*

tableIdentifier ::=
  '*.*' | '*.*.*' | storageUnitName '.*' | storageUnitName '.*.*' | storageUnitName '.' schemaName '.*' | storageUnitName '.' tableName | storageUnitName '.' schemaName '.' tableName

storageUnitName ::=
  identifier

schemaName ::=
  identifier

tableName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- support specifying schemaName in PostgreSQL and OpenGauss protocols


### Example

- Load specified single table

```sql
LOAD SINGLE TABLE ds_0.t_single;
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/unload-single-table.en.md
=====================================================
+++
title = "UNLOAD SINGLE TABLE"
weight = 2
+++

## Description

The `UNLOAD SINGLE TABLE` syntax is used to unload single table.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
unloadSingleTable ::=
  'UNLOAD' 'SINGLE' 'TABLE' tableNames

tableNames ::=
  tableName (',' tableName)*

tableName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- Unlike loading, only the table name needs to be specified when unloading a single table


### Example

- Unload specified single table

```sql
UNLOAD SINGLE TABLE t_single;
```

- Load all single tables

```sql
UNLOAD SINGLE TABLE *;
-- or
UNLOAD ALL SINGLE TABLES;
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/_index.en.md
=====================================================
+++
title = "Single Table"
weight = 3
chapter = true
+++

This chapter describes the syntax of single table.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/load-single-table.cn.md
=====================================================
+++
title = "LOAD SINGLE TABLE"
weight = 1
+++

## 描述

`LOAD SINGLE TABLE` 用于加载单表。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
loadSingleTable ::=
  'LOAD' 'SINGLE' 'TABLE' tableDefinition

tableDefinition ::=
  tableIdentifier (',' tableIdentifier)*

tableIdentifier ::=
  '*.*' | '*.*.*' | storageUnitName '.*' | storageUnitName '.*.*' | storageUnitName '.' schemaName '.*' | storageUnitName '.' tableName | storageUnitName '.' schemaName '.' tableName

storageUnitName ::=
  identifier

schemaName ::=
  identifier

tableName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- PostgreSQL 和 OpenGauss 协议下支持指定 schemaName

### 示例

- 加载指定单表

```sql
LOAD SINGLE TABLE ds_0.t_single;
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/unload-single-table.cn.md
=====================================================
+++
title = "UNLOAD SINGLE TABLE"
weight = 2
+++

## 描述

`UNLOAD SINGLE TABLE` 用于卸载单表。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
unloadSingleTable ::=
  'UNLOAD' 'SINGLE' 'TABLE' tableNames

tableNames ::=
  tableName (',' tableName)*

tableName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 与加载不同,卸载单表时仅需指定表名

### 示例

- 卸载指定单表

```sql
UNLOAD SINGLE TABLE t_single;
```

- 卸载全部单表

```sql
UNLOAD SINGLE TABLE *;
-- 或
UNLOAD ALL SINGLE TABLES;
```

### 保留字

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/drop-encrypt-rule.en.md
=====================================================
+++
title = "DROP ENCRYPT RULE"
weight = 3
+++

## Description

The `DROP ENCRYPT RULE` syntax is used to drop an existing encryption rule.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
DropEncryptRule ::=
  'DROP' 'ENCRYPT' 'RULE' ifExists? ruleName (',' ruleName)*

ifExists ::=
  'IF' 'EXISTS'

ruleName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `ifExists` clause is used for avoid `Encrypt rule not exists` error.

### Example

- Drop an encrypt rule

```sql
DROP ENCRYPT RULE t_encrypt, t_encrypt_2;
```

- Drop encrypt with `ifExists` clause

```sql
DROP ENCRYPT RULE IF EXISTS t_encrypt, t_encrypt_2;
```

### Reserved words

`DROP`, `ENCRYPT`, `RULE`

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/create-encrypt-rule.cn.md
=====================================================
+++
title = "CREATE ENCRYPT RULE"
weight = 1
+++

## 描述

`CREATE ENCRYPT RULE` 语法用于创建数据加密规则。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
CreateEncryptRule ::=
  'CREATE' 'ENCRYPT' 'RULE' ifNotExists? encryptDefinition (',' encryptDefinition)*

ifNotExists ::=
  'IF' 'NOT' 'EXISTS'

encryptDefinition ::=
  ruleName '(' 'COLUMNS' '(' columnDefinition (',' columnDefinition)*  ')' ')'

columnDefinition ::=
  '(' 'NAME' '=' columnName ',' 'CIPHER' '=' cipherColumnName (',' 'ASSISTED_QUERY' '=' assistedQueryColumnName)? (',' 'LIKE_QUERY' '=' likeQueryColumnName)? ',' encryptAlgorithmDefinition (',' assistedQueryAlgorithmDefinition)? (',' likeQueryAlgorithmDefinition)? ')' 

encryptAlgorithmDefinition ::=
  'ENCRYPT_ALGORITHM' '(' 'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)? ')'

assistedQueryAlgorithmDefinition ::=
  'ASSISTED_QUERY_ALGORITHM' '(' 'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)? ')'

likeQueryAlgorithmDefinition ::=
  'LIKE_QUERY_ALGORITHM' '(' 'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)? ')'

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

ruleName ::=
  identifier

columnName ::=
  identifier

cipherColumnName ::=
  identifier

assistedQueryColumnName ::=
  identifier


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/alter-encrypt-rule.cn.md
=====================================================
+++
title = "ALTER ENCRYPT RULE"
weight = 2
+++

## 说明

 `ALTER ENCRYPT RULE` 语法用于修改加密规则。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
AlterEncryptRule ::=
  'ALTER' 'ENCRYPT' 'RULE' encryptDefinition (',' encryptDefinition)*

encryptDefinition ::=
  ruleName '(' 'COLUMNS' '(' columnDefinition (',' columnDefinition)*  ')' ')'

columnDefinition ::=
  '(' 'NAME' '=' columnName ',' 'CIPHER' '=' cipherColumnName (',' 'ASSISTED_QUERY' '=' assistedQueryColumnName)? (',' 'LIKE_QUERY' '=' likeQueryColumnName)? ',' encryptAlgorithmDefinition (',' assistedQueryAlgorithmDefinition)? (',' likeQueryAlgorithmDefinition)? ')' 

encryptAlgorithmDefinition ::=
  'ENCRYPT_ALGORITHM' '(' 'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)? ')'

assistedQueryAlgorithmDefinition ::=
  'ASSISTED_QUERY_ALGORITHM' '(' 'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)? ')'

likeQueryAlgorithmDefinition ::=
  'LIKE_QUERY_ALGORITHM' '(' 'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)? ')'

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

ruleName ::=
  identifier

columnName ::=
  identifier

cipherColumnName ::=
  identifier

assistedQueryColumnName ::=
  identifier

likeQueryColumnName ::=
  identifier


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/create-encrypt-rule.en.md
=====================================================
+++
title = "CREATE ENCRYPT RULE"
weight = 1
+++

## Description

The `CREATE ENCRYPT RULE` syntax is used to create encrypt rules.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
CreateEncryptRule ::=
  'CREATE' 'ENCRYPT' 'RULE' ifNotExists? encryptDefinition (',' encryptDefinition)*

ifNotExists ::=
  'IF' 'NOT' 'EXISTS'

encryptDefinition ::=
  ruleName '(' 'COLUMNS' '(' columnDefinition (',' columnDefinition)*  ')' ')'

columnDefinition ::=
  '(' 'NAME' '=' columnName ',' 'CIPHER' '=' cipherColumnName (',' 'ASSISTED_QUERY' '=' assistedQueryColumnName)? (',' 'LIKE_QUERY' '=' likeQueryColumnName)? ',' encryptAlgorithmDefinition (',' assistedQueryAlgorithmDefinition)? (',' likeQueryAlgorithmDefinition)? ')' 

encryptAlgorithmDefinition ::=
  'ENCRYPT_ALGORITHM' '(' 'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)? ')'

assistedQueryAlgorithmDefinition ::=
  'ASSISTED_QUERY_ALGORITHM' '(' 'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)? ')'

likeQueryAlgorithmDefinition ::=
  'LIKE_QUERY_ALGORITHM' '(' 'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)? ')'

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

ruleName ::=
  identifier

columnName ::=
  identifier

cipherColumnName ::=
  identifier

assistedQueryColumnName ::=
  identifier


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/drop-encrypt-rule.cn.md
=====================================================
+++
title = "DROP ENCRYPT RULE"
weight = 3
+++

## 说明

`DROP ENCRYPT RULE` 语法用于删除加密规则。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
DropEncryptRule ::=
  'DROP' 'ENCRYPT' 'RULE' ifExists? ruleName (',' ruleName)*

ifExists ::=
  'IF' 'EXISTS'

ruleName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `ifExists` 子句用于避免 `Encrypt rule not exists` 错误。

### 示例

- 删除加密规则

```sql
DROP ENCRYPT RULE t_encrypt, t_encrypt_2;
```

- 使用 `ifExists` 删除加密规则

```sql
DROP ENCRYPT RULE IF EXISTS t_encrypt, t_encrypt_2;
```

### 保留字

`DROP`, `ENCRYPT`, `RULE`

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/alter-encrypt-rule.en.md
=====================================================
+++
title = "ALTER ENCRYPT RULE"
weight = 2
+++

## Description

The `ALTER ENCRYPT RULE` syntax is used to alter encryption rules.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
AlterEncryptRule ::=
  'ALTER' 'ENCRYPT' 'RULE' encryptDefinition (',' encryptDefinition)*

encryptDefinition ::=
  ruleName '(' 'COLUMNS' '(' columnDefinition (',' columnDefinition)*  ')' ')'

columnDefinition ::=
  '(' 'NAME' '=' columnName ',' 'CIPHER' '=' cipherColumnName (',' 'ASSISTED_QUERY' '=' assistedQueryColumnName)? (',' 'LIKE_QUERY' '=' likeQueryColumnName)? ',' encryptAlgorithmDefinition (',' assistedQueryAlgorithmDefinition)? (',' likeQueryAlgorithmDefinition)? ')' 

encryptAlgorithmDefinition ::=
  'ENCRYPT_ALGORITHM' '(' 'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)? ')'

assistedQueryAlgorithmDefinition ::=
  'ASSISTED_QUERY_ALGORITHM' '(' 'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)? ')'

likeQueryAlgorithmDefinition ::=
  'LIKE_QUERY_ALGORITHM' '(' 'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)? ')'

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

ruleName ::=
  identifier

columnName ::=
  identifier

cipherColumnName ::=
  identifier

assistedQueryColumnName ::=
  identifier

likeQueryColumnName ::=
  identifier


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/_index.en.md
=====================================================
+++
title = "Encrypt"
weight = 5
chapter = true
+++

This chapter describes the syntax of encrypt.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/_index.cn.md
=====================================================
+++
title = "RDL 语法"
weight = 1
chapter = true
+++

RDL (Resource & Rule Definition Language) 为 Apache ShardingSphere 的资源和规则定义语言。

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/_index.en.md
=====================================================
+++
title = "RDL Syntax"
weight = 1
chapter = true
+++

RDL (Resource & Rule Definition Language) responsible for definition of resources/rules.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/register-storage-unit.en.md
=====================================================
+++
title = "REGISTER STORAGE UNIT"
weight = 1
+++

### Description

The `REGISTER STORAGE UNIT` syntax is used to register storage unit for the currently selected logical database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
RegisterStorageUnit ::=
  'REGISTER' 'STORAGE' 'UNIT' ifNotExists? storageUnitDefinition (',' storageUnitDefinition)*

storageUnitDefinition ::=
  storageUnitName '(' ('HOST' '=' hostName ',' 'PORT' '=' port ',' 'DB' '=' dbName | 'URL' '=' url) ',' 'USER' '=' user (',' 'PASSWORD' '=' password)? (',' propertiesDefinition)?')'

ifNotExists ::=
  'IF' 'NOT' 'EXISTS'

storageUnitName ::=
  identifier

hostname ::=
  string
    
port ::=
  int

dbName ::=
  string

url ::=
  string

user ::=
  string

password ::=
  string

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

key ::=
  string


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/_index.en.md
=====================================================
+++
title = "Storage Unit Definition"
weight = 1
chapter = true
+++

This chapter describes the syntax of storage unit.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/alter-storage-unit.en.md
=====================================================
+++
title = "ALTER STORAGE UNIT"
weight = 2
+++

### Description

The `ALTER STORAGE UNIT` syntax is used to alter storage units for the currently selected logical database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
AlterStorageUnit ::=
  'ALTER' 'STORAGE' 'UNIT' storageUnitDefinition (',' storageUnitDefinition)*

storageUnitDefinition ::=
  storageUnitName '(' ('HOST' '=' hostName ',' 'PORT' '=' port ',' 'DB' '=' dbName | 'URL' '=' url) ',' 'USER' '=' user (',' 'PASSWORD' '=' password)? (',' propertiesDefinition)?')'

storageUnitName ::=
  identifier

hostname ::=
  string
    
port ::=
  int

dbName ::=
  string

url ::=
  string

user ::=
  string

password ::=
  string

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

key ::=
  string

value ::=
  literal
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/register-storage-unit.cn.md
=====================================================
+++
title = "REGISTER STORAGE UNIT"
weight = 1
+++

### 描述

`REGISTER STORAGE UNIT` 语法用于为当前所选逻辑库(DATABASE)注册存储单元。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
RegisterStorageUnit ::=
  'REGISTER' 'STORAGE' 'UNIT' ifNotExists? storageUnitDefinition (',' storageUnitDefinition)*

storageUnitDefinition ::=
  storageUnitName '(' ('HOST' '=' hostName ',' 'PORT' '=' port ',' 'DB' '=' dbName | 'URL' '=' url) ',' 'USER' '=' user (',' 'PASSWORD' '=' password)? (',' propertiesDefinition)?')'

ifNotExists ::=
  'IF' 'NOT' 'EXISTS'

storageUnitName ::=
  identifier

hostname ::=
  string
    
port ::=
  int

dbName ::=
  string

url ::=
  string

user ::=
  string

password ::=
  string

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

key ::=
  string


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/alter-storage-unit.cn.md
=====================================================
+++
title = "ALTER STORAGE UNIT"
weight = 2
+++

### 描述

`ALTER STORAGE UNIT` 语法用于修改当前所选逻辑库(DATABASE)的存储单元。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
AlterStorageUnit ::=
  'ALTER' 'STORAGE' 'UNIT' storageUnitDefinition (',' storageUnitDefinition)*

storageUnitDefinition ::=
  storageUnitName '(' ('HOST' '=' hostName ',' 'PORT' '=' port ',' 'DB' '=' dbName | 'URL' '=' url) ',' 'USER' '=' user (',' 'PASSWORD' '=' password)? (',' propertiesDefinition)?')'

storageUnitName ::=
  identifier

hostname ::=
  string
    
port ::=
  int

dbName ::=
  string

url ::=
  string

user ::=
  string

password ::=
  string

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

key ::=
  string

value ::=
  literal
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/unregister-storage-unit.en.md
=====================================================
+++
title = "UNREGISTER STORAGE UNIT"
weight = 3
+++

### Description

The `UNREGISTER STORAGE UNIT` syntax is used to unregister storage unit from the current database

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
UnregisterStorageUnit ::=
  'UNREGISTER' 'STORAGE' 'UNIT' ifExists? storageUnitName (',' storageUnitName)* (ignoreSingleTables | ignoreBroadcastTables | ignoreSingleAndBroadcastTables)?

ignoreSingleTables ::=
    'IGNORE' 'SINGLE' 'TABLES'

ignoreBroadcastTables ::=
    'IGNORE' 'BROADCAST' 'TABLES'

ignoreSingleAndBroadcastTables ::=
    'IGNORE' ('SINGLE' ',' 'BROADCAST' | 'BROADCAST' ',' 'SINGLE') 'TABLES'

ifExists ::=
  'IF' 'EXISTS'

storageUnitName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `UNREGISTER STORAGE UNIT` will only unregister storage unit in Proxy, the real data source corresponding to the storage unit will not be
  unregistered;
- Unable to unregister storage unit already used by rules. `Storage unit are still in used.` will be prompted when removing
  storage units used by rules;
- The storage unit need to be removed only contains `SINGLE RULE`, `BROADCAST RULE` and when the user confirms that this restriction
  can be ignored, the `IGNORE SINGLE TABLES`, `IGNORE BROADCAST TABLES`, `IGNORE SINGLE, BROADCAST TABLES` keyword can be added to remove the storage unit;
- `ifExists` clause is used for avoid `Storage unit not exists` error.

### Example


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/unregister-storage-unit.cn.md
=====================================================
+++
title = "UNREGISTER STORAGE UNIT"
weight = 3
+++

### 描述

`UNREGISTER STORAGE UNIT` 语法用于从当前逻辑库中移除存储单元。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
UnregisterStorageUnit ::=
  'UNREGISTER' 'STORAGE' 'UNIT' ifExists? storageUnitName (',' storageUnitName)* (ignoreSingleTables | ignoreBroadcastTables | ignoreSingleAndBroadcastTables)?

ignoreSingleTables ::=
    'IGNORE' 'SINGLE' 'TABLES'

ignoreBroadcastTables ::=
    'IGNORE' 'BROADCAST' 'TABLES'

ignoreSingleAndBroadcastTables ::=
    'IGNORE' ('SINGLE' ',' 'BROADCAST' | 'BROADCAST' ',' 'SINGLE') 'TABLES'

ifExists ::=
  'IF' 'EXISTS'

storageUnitName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `UNREGISTER STORAGE UNIT` 只会移除 Proxy 中的存储单元,不会删除与存储单元对应的真实数据源;
- 无法移除已经被规则使用的存储单元。移除被规则使用的存储单元时会提示 `Storage unit are still in used`;
- 将要移除的存储单元中仅包含 `SINGLE RULE`、`BROADCAST RULE`,且用户确认可以忽略该限制时,可添加 `IGNORE SINGLE TABLES` 、 `IGNORE BROADCAST TABLES` 、 `IGNORE SINGLE, BROADCAST TABLES` 关键字移除存储单元;
- `ifExists` 子句用于避免 `Storage unit not exists` 错误。

### 示例

- 移除存储单元

```sql

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-table-metadata.cn.md
=====================================================
+++
title = "SHOW TABLE METADATA"
weight = 11
+++

### 描述

`SHOW TABLE METADATA` 语法用于查询表的元数据。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowTableMetadata ::=
  'SHOW' 'TABLE' 'METADATA' tableName (',' tableName)* ('FROM' databaseName)?

tableName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列           | 说明    |
|-------------|-------|
| schema_name | 逻辑库名称 |
| table_name  | 表名称   |
| type        | 元数据类型 |
| name        | 元数据名称 |

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE。` 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 示例

- 查询指定逻辑库中多个表的元数据

```sql
SHOW TABLE METADATA t_order, t_order_1 FROM sharding_db;
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-table-metadata.en.md
=====================================================
+++
title = "SHOW TABLE METADATA"
weight = 11
+++

### Description

The `SHOW TABLE METADATA` syntax is used to query tabe metadata.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowTableMetadata ::=
  'SHOW' 'TABLE' 'METADATA' tableName (',' tableName)* ('FROM' databaseName)?

tableName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Columns     | Description   |
|-------------|---------------|
| schema_name | database name |
| table_name  | table name    |
| type        | metadata type |
| name        | metadata name |

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Example

- Query matadata of multiple tables from specified database

```sql
SHOW TABLE METADATA t_order, t_order_1 FROM sharding_db;
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-sharding-algorithm-plugins.en.md
=====================================================
+++
title = "SHOW SHARDING ALGORITHM PLUGINS"
weight = 2
+++

### Description

The `SHOW SHARDING ALGORITHM PLUGINS` syntax is used to query all the plugins of the interface `org.apache.shardingsphere.sharding.spi.ShardingAlgorithm`.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
showShardingAlgorithmPlugins ::=
  'SHOW' 'SHARDING' 'ALGORITHM' 'PLUGINS'
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Columns      | Description  |
|--------------|--------------|
| type         | type         |
| type_aliases | type aliases |
| description  | description  |

### Example

- Query all the plugins for `org.apache.shardingsphere.sharding.spi.ShardingAlgorithm` interface

```sql
SHOW SHARDING ALGORITHM PLUGINS
```

```sql
SHOW SHARDING ALGORITHM PLUGINS;
+----------------+--------------+-------------+
| type           | type_aliases | description |
+----------------+--------------+-------------+
| MOD            |              |             |
| HASH_MOD       |              |             |
| VOLUME_RANGE   |              |             |
| BOUNDARY_RANGE |              |             |
| AUTO_INTERVAL  |              |             |
| INTERVAL       |              |             |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-mask-algorithm-plugins.cn.md
=====================================================
+++
title = "SHOW MASK ALGORITHM PLUGINS"
weight = 5
+++

### 描述

`SHOW MASK ALGORITHM PLUGINS` 语法用于查询 `org.apache.shardingsphere.mask.spi.MaskAlgorithm` 接口的所有实现类。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
showMaskAlgorithmPlugins ::=
  'SHOW' 'MASK' 'ALGORITHM' 'PLUGINS'
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列            | 说明     |
|--------------|--------|
| type         | 类型     |
| type_aliases | 类型别名   |
| description  | 描述     |

### 示例

- 查询 `org.apache.shardingsphere.mask.spi.MaskAlgorithm` 接口的所有实现类

```sql
SHOW MASK ALGORITHM PLUGINS
```

```sql
SHOW MASK ALGORITHM PLUGINS;
+------------------------------+--------------+-------------+
| type                         | type_aliases | description |
+------------------------------+--------------+-------------+
| MD5                          |              |             |
| KEEP_FIRST_N_LAST_M          |              |             |
| KEEP_FROM_X_TO_Y             |              |             |
| MASK_AFTER_SPECIAL_CHARS     |              |             |
| MASK_BEFORE_SPECIAL_CHARS    |              |             |
| MASK_FIRST_N_LAST_M          |              |             |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-shadow-algorithm-plugins.en.md
=====================================================
+++
title = "SHOW SHADOW ALGORITHM PLUGINS"
weight = 6
+++

### Description

The `SHOW SHADOW ALGORITHM PLUGINS` syntax is used to query all the implementations of the interface `org.apache.shardingsphere.shadow.spi.ShadowAlgorithm`.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
showShadowAlgorithmPlugins ::=
  'SHOW' 'SHADOW' 'ALGORITHM' 'PLUGINS'
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Columns      | Description  |
|--------------|--------------|
| type         | type         |
| type_aliases | type aliases |
| description  | description  |

### Example

- Query all the implementations for `org.apache.shardingsphere.shadow.spi.ShadowAlgorithm` interface

```sql
SHOW SHADOW ALGORITHM PLUGINS
```

```sql
SHOW SHADOW ALGORITHM PLUGINS;
+-------------+--------------+-------------+
| type        | type_aliases | description |
+-------------+--------------+-------------+
| SQL_HINT    |              |             |
| REGEX_MATCH |              |             |
| VALUE_MATCH |              |             |
+-------------+--------------+-------------+
3 rows in set (0.37 sec)
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-encrypt-algorithm-plugins.cn.md
=====================================================
+++
title = "SHOW ENCRYPT ALGORITHM PLUGINS"
weight = 4
+++

### 描述

`SHOW ENCRYPT ALGORITHM PLUGINS` 语法用于查询 `org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm` 接口的所有实现类。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
showEncryptAlgorithmPlugins ::=
  'SHOW' 'ENCRYPT' 'ALGORITHM' 'PLUGINS'
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列            | 说明     |
|--------------|--------|
| type         | 类型     |
| type_aliases | 类型别名   |
| description  | 描述     |

### 示例

- 查询 `org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm` 接口的所有实现类

```sql
SHOW ENCRYPT ALGORITHM PLUGINS
```

```sql
SHOW ENCRYPT ALGORITHM PLUGINS;
+------+--------------+-------------+
| type | type_aliases | description |
+------+--------------+-------------+
| AES  |              |             |
| MD5  |              |             |
+------+--------------+-------------+
2 rows in set (0.06 sec)
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-plugins.en.md
=====================================================
+++
title = "SHOW PLUGINS OF SPI"
weight = 1
+++

### Description

The `SHOW PLUGINS OF interfaceClass` syntax is used to query all the implementations of an interface.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
showPluginImplementations ::=
  'SHOW' 'PLUGINS' 'OF' interfaceClass

interfaceClass ::=
  string
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Columns      | Description  |
|--------------|--------------|
| type         | type         |
| type_aliases | type aliases |
| description  | description  |

### Example

- Query all the implementations for `org.apache.shardingsphere.sharding.spi.ShardingAlgorithm` interface

```sql
SHOW PLUGINS OF 'org.apache.shardingsphere.sharding.spi.ShardingAlgorithm'
```

```sql
SHOW PLUGINS OF 'org.apache.shardingsphere.sharding.spi.ShardingAlgorithm';
+----------------+--------------+-------------+
| type           | type_aliases | description |
+----------------+--------------+-------------+
| MOD            |              |             |
| HASH_MOD       |              |             |
| VOLUME_RANGE   |              |             |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-encrypt-algorithm-plugins.en.md
=====================================================
+++
title = "SHOW ENCRYPT ALGORITHM PLUGINS"
weight = 4
+++

### Description

The `SHOW ENCRYPT ALGORITHM PLUGINS` syntax is used to query all the implementations of the interface `org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm`.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
showEncryptAlgorithmPlugins ::=
  'SHOW' 'ENCRYPT' 'ALGORITHM' 'PLUGINS'
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Columns      | Description  |
|--------------|--------------|
| type         | type         |
| type_aliases | type aliases |
| description  | description  |

### Example

- Query all the implementations for `org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm` interface

```sql
SHOW ENCRYPT ALGORITHM PLUGINS
```

```sql
SHOW ENCRYPT ALGORITHM PLUGINS;
+------+--------------+-------------+
| type | type_aliases | description |
+------+--------------+-------------+
| AES  |              |             |
| MD5  |              |             |
+------+--------------+-------------+
2 rows in set (0.06 sec)
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-load-balance-algorithm-plugins.en.md
=====================================================
+++
title = "SHOW LOAD BALANCE ALGORITHM PLUGINS"
weight = 3
+++

### Description

The `SHOW LOAD BALANCE ALGORITHM PLUGINS` syntax is used to query all the implementations of the interface `org.apache.shardingsphere.infra.algorithm.loadbalancer.core.LoadBalanceAlgorithm`.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
showLoadBalanceAlgorithmPlugins ::=
  'SHOW' 'LOAD' 'BALANCE' 'ALGORITHM' 'PLUGINS'
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Columns      | Description  |
|--------------|--------------|
| type         | type         |
| type_aliases | type aliases |
| description  | description  |

### Example

- Query all the implementations for `org.apache.shardingsphere.infra.algorithm.loadbalancer.core.LoadBalanceAlgorithm` interface

```sql
SHOW LOAD BALANCE ALGORITHM PLUGINS
```

```sql
SHOW LOAD BALANCE ALGORITHM PLUGINS;
+-------------+--------------+-------------+
| type        | type_aliases | description |
+-------------+--------------+-------------+
| ROUND_ROBIN |              |             |
| RANDOM      |              |             |
| WEIGHT      |              |             |
+-------------+--------------+-------------+
3 rows in set (0.03 sec)
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/_index.cn.md
=====================================================
+++
title = "插件"
weight = 4
chapter = true

+++

本章节将对插件相关语法进行详细说明。

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/_index.en.md
=====================================================
+++
title = "PLUGIN"
weight = 4
chapter = true

+++

This chapter describes the syntax of plugin.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-load-balance-algorithm-plugins.cn.md
=====================================================
+++
title = "SHOW LOAD BALANCE ALGORITHM PLUGINS"
weight = 3
+++

### 描述

`SHOW LOAD BALANCE ALGORITHM PLUGINS` 语法用于查询 `org.apache.shardingsphere.infra.algorithm.loadbalancer.core.LoadBalanceAlgorithm` 接口的所有实现类。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
showLoadBalanceAlgorithmPlugins ::=
  'SHOW' 'LOAD' 'BALANCE' 'ALGORITHM' 'PLUGINS'
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列            | 说明     |
|--------------|--------|
| type         | 类型     |
| type_aliases | 类型别名   |
| description  | 描述     |

### 示例

- 查询 `org.apache.shardingsphere.infra.algorithm.loadbalancer.core.LoadBalanceAlgorithm` 接口的所有实现类

```sql
SHOW LOAD BALANCE ALGORITHM PLUGINS
```

```sql
SHOW LOAD BALANCE ALGORITHM PLUGINS;
+-------------+--------------+-------------+
| type        | type_aliases | description |
+-------------+--------------+-------------+
| ROUND_ROBIN |              |             |
| RANDOM      |              |             |
| WEIGHT      |              |             |
+-------------+--------------+-------------+
3 rows in set (0.03 sec)
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-plugins.cn.md
=====================================================
+++
title = "SHOW PLUGINS"
weight = 1
+++

### 描述

`SHOW PLUGINS OF interfaceClass` 语法用于查询指定接口的全部实现。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
showPluginImplementations ::=
  'SHOW' 'PLUGINS' 'OF' interfaceClass

interfaceClass ::=
  string
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列            | 说明     |
|--------------|--------|
| type         | 类型     |
| type_aliases | 类型别名   |
| description  | 描述     |

### 示例

- 查询 `org.apache.shardingsphere.sharding.spi.ShardingAlgorithm` 接口的所有实现类

```sql
SHOW PLUGINS OF 'org.apache.shardingsphere.sharding.spi.ShardingAlgorithm'
```

```sql
SHOW PLUGINS OF 'org.apache.shardingsphere.sharding.spi.ShardingAlgorithm';
+----------------+--------------+-------------+
| type           | type_aliases | description |
+----------------+--------------+-------------+
| MOD            |              |             |
| HASH_MOD       |              |             |
| VOLUME_RANGE   |              |             |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-mask-algorithm-plugins.en.md
=====================================================
+++
title = "SHOW MASK ALGORITHM PLUGINS"
weight = 5
+++

### Description

The `SHOW MASK ALGORITHM PLUGINS` syntax is used to query all the implementations of the interface `org.apache.shardingsphere.mask.spi.MaskAlgorithm`.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
showMaskAlgorithmPlugins ::=
  'SHOW' 'MASK' 'ALGORITHM' 'PLUGINS'
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Columns      | Description  |
|--------------|--------------|
| type         | type         |
| type_aliases | type aliases |
| description  | description  |

### Example

- Query all the implementations for `org.apache.shardingsphere.mask.spi.MaskAlgorithm` interface

```sql
SHOW MASK ALGORITHM PLUGINS
```

```sql
SHOW MASK ALGORITHM PLUGINS;
+------------------------------+--------------+-------------+
| type                         | type_aliases | description |
+------------------------------+--------------+-------------+
| MD5                          |              |             |
| KEEP_FIRST_N_LAST_M          |              |             |
| KEEP_FROM_X_TO_Y             |              |             |
| MASK_AFTER_SPECIAL_CHARS     |              |             |
| MASK_BEFORE_SPECIAL_CHARS    |              |             |
| MASK_FIRST_N_LAST_M          |              |             |

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-key-generate-algorithm-plugins.cn.md
=====================================================
+++
title = "SHOW KEY GENERATE ALGORITHM PLUGINS"
weight = 7
+++

### 描述

`SHOW KEY GENERATE ALGORITHM PLUGINS` 语法用于查询 `org.apache.shardingsphere.keygen.core.algorithm.KeyGenerateAlgorithm` 接口的所有实现类。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
showKeyGenerateAlgorithmPlugins ::=
  'SHOW' 'KEY' 'GENERATE' 'ALGORITHM' 'PLUGINS'
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列            | 说明     |
|--------------|--------|
| type         | 类型     |
| type_aliases | 类型别名   |
| description  | 描述     |

### 示例

- 查询 `org.apache.shardingsphere.keygen.core.algorithm.KeyGenerateAlgorithm` 接口的所有实现类

```sql
SHOW KEY GENERATE ALGORITHM PLUGINS
```

```sql
SHOW KEY GENERATE ALGORITHM PLUGINS;
+-----------+--------------+-------------+
| type      | type_aliases | description |
+-----------+--------------+-------------+
| UUID      |              |             |
| SNOWFLAKE |              |             |
+-----------+--------------+-------------+
2 rows in set (0.05 sec)
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/plugin/show-key-generate-algorithm-plugins.en.md
=====================================================
+++
title = "SHOW KEY GENERATE ALGORITHM PLUGINS"
weight = 7
+++

### Description

The `"SHOW KEY GENERATE ALGORITHM PLUGINS"` syntax is used to query all the implementations of the interface `org.apache.shardingsphere.keygen.core.algorithm.KeyGenerateAlgorithm`.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
showKeyGenerateAlgorithmPlugins ::=
  'SHOW' 'KEY' 'GENERATE' 'ALGORITHM' 'PLUGINS'
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Columns      | Description  |
|--------------|--------------|
| type         | type         |
| type_aliases | type aliases |
| description  | description  |

### Example

- Query all the implementations for `org.apache.shardingsphere.keygen.core.algorithm.KeyGenerateAlgorithm` interface

```sql
SHOW KEY GENERATE ALGORITHM PLUGINS
```

```sql
SHOW KEY GENERATE ALGORITHM PLUGINS;
+-----------+--------------+-------------+
| type      | type_aliases | description |
+-----------+--------------+-------------+
| UUID      |              |             |
| SNOWFLAKE |              |             |
+-----------+--------------+-------------+
2 rows in set (0.05 sec)
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/export-database-configuration.en.md
=====================================================
+++
title = "EXPORT DATABASE CONFIGURATION"
weight = 13
+++

### Description

The `EXPORT DATABASE CONFIGURATION` syntax is used to export storage units and rule configurations to `YAML` format.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ExportDatabaseConfiguration ::=
  'EXPORT' 'DATABASE' 'CONFIGURATION' ('FROM' databaseName)? ('TO' 'FILE' filePath)?

databaseName ::=
  identifier

filePath ::=
  string
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the currently used logical database will be exported; if no database is used, `No database selected` will be prompted;
- When `filePath` is not specified, the exported information will be output through the result set;
- When `filePath` is specified, the file will be automatically created. If the file already exists, it will be overwritten.

### Example

- Export currently used logical database

```sql
mysql> EXPORT DATABASE CONFIGURATION;
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| result                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| databaseName: sharding_db
dataSources:
  ds_1:
    password: 123456
    url: jdbc:mysql://127.0.0.1:3306/db0
    username: root

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/set-dist-vairable.cn.md
=====================================================
+++
title = "SET DIST VARIABLE"
weight = 7
+++

### 描述

`SET DIST VARIABLE` 语法用于设置系统变量。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
SetDistVariable ::=
  'SET' 'DIST' 'VARIABLE' (proxyPropertyName '=' proxyPropertyValue | 'agent_plugins_enabled' '=' agentPluginsEnabled)

proxyPropertyName ::= 
  identifier

proxyPropertyValue ::=
  literal

agentPluginsEnabled ::=
  boolean
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `proxy_property_name` 为 `PROXY` 的[属性配置](/cn/user-manual/shardingsphere-proxy/yaml-config/props/),需使用下划线命名

- `agent_plugins_enabled` 为 `agent` 插件的启用状态,默认值 `FALSE`

- `system_log_level` 为 系统日志等级,仅影响 `PROXY` 的日志打印,默认值 `INFO`

### 示例

- 设置 `Proxy` 属性配置

```sql
SET DIST VARIABLE sql_show = true;
```

- 设置 `agent` 插件启用状态


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-rules-used-storage-unit.en.md
=====================================================
+++
title = "SHOW RULES USED STORAGE UNIT"
weight = 12
+++

### Description

The `SHOW RULES USED STORAGE UNIT` syntax is used to query the rules for using the specified storage unit in specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowRulesUsedStorageUnit ::=
  'SHOW' 'RULES' 'USED' 'STORAGE' 'UNIT' storageUnitName ('FROM' databaseName)?

storageUnitName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Columns     | Description   |
|-------------|---------------|
| type        | rule type     |
| name        | rule name     |

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Example

- Query the rules for using the specified storage unit in specified database

```sql
SHOW RULES USED STORAGE UNIT ds_1 FROM sharding_db;
```

```sql
mysql> SHOW RULES USED STORAGE UNIT ds_1 FROM sharding_db;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-compute-node-mode.cn.md
=====================================================
+++
title = "SHOW COMPUTE NODE MODE"
weight = 6
+++

### 描述

`SHOW COMPUTE NODE MODE` 语法用于查询当前 proxy 的模式配置信息。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowComputeNodeMode ::=
  'SHOW' 'COMPUTE' 'NODE' 'MODE'
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列          | 说明              |
|------------|-----------------|
| type       | proxy 模式类型      |
| repository | proxy 持久化仓库类型   |
| props      | proxy 持久化仓库属性参数 |

### 示例

- 查询当前 proxy 实例模式配置信息

```sql
SHOW COMPUTE NODE MODE;
```

```sql
mysql> SHOW COMPUTE NODE MODE;
+---------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| type    | repository | props                                                                                                                                                                  |
+---------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Cluster | ZooKeeper  | {"operationTimeoutMilliseconds":500,"timeToLiveSeconds":60,"maxRetries":3,"namespace":"governance_ds","server-lists":"localhost:2181","retryIntervalMilliseconds":500} |
+---------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
```

### 保留字

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-compute-node-info.en.md
=====================================================
+++
title = "SHOW COMPUTE NODE INFO"
weight = 5
+++

### Description

The `SHOW COMPUTE NODE INFO` syntax is used to query current proxy instance information.
### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowComputeNodeInfo ::=
  'SHOW' 'COMPUTE' 'NODE' 'INFO'
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Columns        | Description           |
|----------------|-----------------------|
| instance_id    | proxy instance id     |
| host           | host address          |
| port           | port number           |
| status         | proxy instance status |
| mode_type      | proxy instance mode   |
| worker_id      | worker id             |
| labels         | labels                |

### Example

- Query current proxy instance information

```sql
SHOW COMPUTE NODE INFO;
```

```sql
mysql> SHOW COMPUTE NODE INFO;
+--------------------------------------+---------------+------+--------+-----------+-----------+--------+
| instance_id                          | host          | port | status | mode_type | worker_id | labels |
+--------------------------------------+---------------+------+--------+-----------+-----------+--------+
| 734bb036-b15d-4af0-be87-2372d8b6a0cd | 192.168.5.163 | 3307 | OK     | Cluster   | -1        |        |
+--------------------------------------+---------------+------+--------+-----------+-----------+--------+
1 row in set (0.01 sec)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/refresh-table-metadata.cn.md
=====================================================
+++
title = "REFRESH TABLE METADATA"
weight = 9
+++

### 描述

`REFRESH TABLE METADATA` 语法用于刷新表元数据。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
RefreshTableMetadata ::=
  'REFRESH' 'TABLE' 'METADATA' (tableName | tableName 'FROM' 'STORAGE' 'UNIT' storageUnitName ('SCHEMA' schemaName)?)?

tableName ::=
  identifier

storageUnitName ::=
  identifier

schemaName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `tableName` 和 `storageUnitName` 时,默认刷新所有表的元数据;

- 刷新元数据需要使用 `DATABASE` 如果未使用 `DATABASE` 则会提示 `No database selected`;

- 如果 `SCHEMA` 中不存在表,则会删除该 `SCHEMA`。

### 示例

- 刷新指定存储单元中指定 `SCHEMA` 中指定表的元数据

```sql
REFRESH TABLE METADATA t_order FROM STORAGE UNIT ds_1 SCHEMA db_schema;
```

- 刷新指定存储单元中指定 `SCHEMA` 中所有表的元数据


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/refresh-database-metadata.en.md
=====================================================
+++
title = "REFRESH DATABASE METADATA FROM GOVERNANCE CENTER"
weight = 10
+++

### Description

The `REFRESH DATABASE METADATA` syntax is used to refresh the metadata of the local logic database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
RefreshDatabaseMetadata ::=
  'FORCE'? 'REFRESH' 'DATABASE' 'METADATA' databaseName?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is to refresh all database metadata.

- When using `FORCE` to refresh metadata, the latest metadata will be obtained locally and written to the governance center. If without `FORCE`, it will be pulled from the governance center.

### Example

- Refresh metadata for specified database

```sql
REFRESH DATABASE METADATA sharding_db;
```

- Refresh all database metadata

```sql
REFRESH DATABASE METADATA;
```

- Force refresh all database metadata

```sql
FORCE REFRESH DATABASE METADATA;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/convert-yaml-configuration.cn.md
=====================================================
+++
title = "CONVERT YAML CONFIGURATION"
weight = 15
+++

### 描述

`CONVERT YAML CONFIGURATION` 语法用于将 `YAML` 配置转换为对应的 DistSQL RDL 语句。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
convertYamlConfiguration ::=
  'CONVERT' 'YAML' 'CONFIGURATION' 'FROM' 'FILE' filePath

filePath ::=
  string
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `CONVERT YAML CONFIGURATION` 语法仅读取 YAML 文件并将配置转换为 DistSQL 语句,不会影响当前元数据;
- 当 YAML 中 `dataSources` 为空时,不会进行 `rules` 的转换。

### 示例

```sql
mysql> CONVERT YAML CONFIGURATION FROM FILE '/xxx/config_sharding_db.yaml';
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| dist_sql                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| CREATE DATABASE sharding_db;
USE sharding_db;

REGISTER STORAGE UNIT ds_0 (
URL='jdbc:mysql://127.0.0.1:3306/demo_ds_0?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true',
USER='root',
PASSWORD='123456',
PROPERTIES('maxPoolSize'='10')
), ds_1 (
URL='jdbc:mysql://127.0.0.1:3306/demo_ds_1?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true',
USER='root',
PASSWORD='123456',

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/alter-migration-rule.cn.md
=====================================================
+++
title = "ALTER MIGRATION RULE"
weight = 2

+++

### 描述

`ALTER MIGRATION RULE` 语法用于修改数据迁移规则。
### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
AlterMigrationRule ::=
  'ALTER' 'MIGRATION' 'RULE' ('(' (readConfiguration ',')?  (writeConfiguration  ',')? (dataChannel)? ')')?

readConfiguration ::=
  'READ' '(' ('WORKER_THREAD' '=' workerThreadPoolSize ',')? ('BATCH_SIZE' '=' batchSize ',')? ('SHARDING_SIZE' '=' shardingSize ',')? (rateLimiter)? ')'

writeConfiguration ::=
  'WRITE' '(' ('WORKER_THREAD' '=' workerThreadPoolSize ',')? ('BATCH_SIZE' '=' batchSize ',')? ('SHARDING_SIZE' '=' shardingSize ',')? (rateLimiter)? ')'

dataChannel ::=
  'STREAM_CHANNEL' '(' 'TYPE' '(' 'NAME' '=' algorithmName ',' propertiesDefinition ')' ')'

workerThreadPoolSize ::=
  int

batchSize ::=
  int

shardingSize ::=
  int

rateLimiter ::=
  'RATE_LIMITER' '(' 'TYPE' '(' 'NAME' '=' algorithmName ',' propertiesDefinition ')' ')'

algorithmName ::=
  string

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

key ::=
  string

value ::=
  literal
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/stop-migration-check.cn.md
=====================================================
+++
title = "STOP MIGRATION CHECK"
weight = 13
+++

### 描述

`STOP MIGRATION CHECK` 语法用于停止指定数据迁移作业的数据校验。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
StopMigrationCheck ::=
  'STOP' 'MIGRATION' 'CHECK' migrationJobId 

migrationJobId ::=
  string
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `migrationJobId` 需要通过 [SHOW MIGRATION LIST](/cn/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/) 语法查询获得

### 示例

- 停止指定数据迁移作业的数据校验

```sql
STOP MIGRATION CHECK 'j010180026753ef0e25d3932d94d1673ba551';
```

### 保留字

`STOP`、`MIGRATION`、`CHECK`

### 相关链接

- [保留字](/cn/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word/)
- [SHOW MIGRATION LIST](/cn/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/rollback-migration.en.md
=====================================================
+++
title = "ROLLBACK MIGRATION"
weight = 17
+++

### Description

The `ROLLBACK MIGRATION` syntax is used to rollback migration process.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
RollbackMigration ::=
  'ROLLBACK' 'MIGRATION'  migrationJobId 

migrationJobId ::=
  string
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}


### Supplement

- `migrationJobId` needs to be obtained through [SHOW MIGRATION LIST](/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/) syntax query

- After the statement is executed, the target will be cleaned up

### Example

- Rollback migration process

```sql
ROLLBACK MIGRATION 'j010180026753ef0e25d3932d94d1673ba551';
```

### Reserved word

`ROLLBACK`, `MIGRATION`

### Related links

- [Reserved word](/en/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word/)
- [SHOW MIGRATION LIST](/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/register-migration-source-storage-unit.cn.md
=====================================================
+++
title = "REGISTER MIGRATION SOURCE STORAGE UNIT"
weight = 3
+++

### 描述

`REGISTER MIGRATION SOURCE STORAGE UNIT` 语法用于为当前连接注册数据迁移源存储单元。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
RegisterStorageUnit ::=
  'REGISTER' 'MIGRATION' 'SOURCE' 'STORAGE' 'UNIT' storageUnitDefinition (',' storageUnitDefinition)*

storageUnitDefinition ::=
  StorageUnitName '('  'URL' '=' url ',' 'USER' '=' user (',' 'PASSWORD' '=' password)? (',' propertiesDefinition)?')'

storageUnitName ::=
  identifier

url ::=
  string

user ::=
  string

password ::=
  string

propertiesDefinition ::=
  'PROPERTIES' '(' ( key  '=' value ) ( ',' key  '=' value )* ')'

key ::=
  string

value ::=
  literal
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 特别说明

- 确认注册的数据迁移源存储单元是可以正常连接的, 否则将不能注册成功;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-check-algorithm.cn.md
=====================================================
+++
title = "SHOW MIGRATION CHECK ALGORITHM"
weight = 9
+++

### 描述

`SHOW MIGRATION CHECK ALGORITHM` 语法用于查询数据迁移一致性校验算法。
### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowMigrationCheckAlgorithm ::=
  'SHOW' 'MIGRATION' 'CHECK' 'ALGORITHMS'
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}


### 返回值说明

| 列                        | 说明        |
|--------------------------|-----------|
| type                     | 一致性校验算法类型 |
| supported_database_types | 支持数据库类型   |
| description              | 说明        |
### 示例

- 查询数据迁移一致性校验算法

```sql
SHOW MIGRATION CHECK ALGORITHMS;
```

```sql
mysql> SHOW MIGRATION CHECK ALGORITHMS;
+-------------+--------------------------------------------------------------+----------------------------+
| type        | supported_database_types                                     | description                |
+-------------+--------------------------------------------------------------+----------------------------+
| CRC32_MATCH | MySQL                                                        | Match CRC32 of records.    |
| DATA_MATCH  | SQL92,MySQL,MariaDB,PostgreSQL,openGauss,Oracle,SQLServer,H2 | Match raw data of records. |
+-------------+--------------------------------------------------------------+----------------------------+
2 rows in set (0.03 sec)
```

### 保留字

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-rule.cn.md
=====================================================
+++
title = "SHOW MIGRATION RULE"
weight = 1

+++

### 描述

`SHOW MIGRATION RULE` 语法用于查询数据迁移规则。
### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowMigrationRule ::=
  'SHOW' 'MIGRATION' 'RULE'
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列              | 说明     |
|----------------|--------|
| read           | 数据读取配置 |
| write          | 数据写入配置 |
| stream_channel | 数据通道   |
### 示例

- 查询数据迁移规则

```sql
SHOW MIGRATION RULE;
```

```sql
mysql> SHOW MIGRATION RULE;
+--------------------------------------------------------------+--------------------------------------+-------------------------------------------------------+
| read                                                         | write                                | stream_channel                                        |
+--------------------------------------------------------------+--------------------------------------+-------------------------------------------------------+
| {"workerThread":20,"batchSize":1000,"shardingSize":10000000} | {"workerThread":20,"batchSize":1000} | {"type":"MEMORY","props":{"block-queue-size":"2000"}} |
+--------------------------------------------------------------+--------------------------------------+-------------------------------------------------------+
1 row in set (0.01 sec)
```

### 保留字


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/stop-migration.en.md
=====================================================
+++
title = "STOP MIGRATION"
weight = 15
+++

### Description

The `STOP MIGRATION` syntax is used to stop migration process.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
StopMigration ::=
  'STOP' 'MIGRATION' migrationJobId 

migrationJobId ::=
  string
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `migrationJobId` needs to be obtained through [SHOW MIGRATION LIST](/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/) syntax query

### Example

- Stop migration process

```sql
STOP MIGRATION 'j010180026753ef0e25d3932d94d1673ba551';
```

### Reserved word

`STOP`, `MIGRATION`

### Related links

- [Reserved word](/en/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word/)
- [SHOW MIGRATION LIST](/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/check-migration.en.md
=====================================================
+++
title = "CHECK MIGRATION "
weight = 10
+++

### Description

The `CHECK MIGRATION LIST` syntax is used to check data consistancy in migration job.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowMigrationList ::=
  'CHECK' 'MIGRATION' migrationJobId 'BY' 'TYPE' '(' 'NAME' '=' migrationCheckAlgorithmType ')'

migrationJobId ::=
  string

migrationCheckAlgorithmType ::=
  string
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `migrationJobId` needs to be obtained through [SHOW MIGRATION LIST](/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/) syntax query

- `migrationCheckAlgorithmType` needs to be obtained through [SHOW MIGRATION CHECK ALGORITHMS](/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-check-algorithm/) syntax query

### Example

- check data consistancy in migration job

```sql
CHECK MIGRATION 'j01016e501b498ed1bdb2c373a2e85e2529a6' BY TYPE (NAME='CRC32_MATCH');
```

### Reserved word

`CHECK`, `MIGRATION`, `BY`, `TYPE`

### Related links

- [Reserved word](/en/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/migrate-table-into.en.md
=====================================================
+++
title = "MIGRATE TABLE INTO"
weight = 6
+++

### Description

`MIGRATE TABLE INTO` syntax is used to migration table from source to target

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
MigrateTableInto ::=
  'MIGRATE' 'TABLE' migrationSource '.' tableName 'INTO' (databaseName '.')? tableName

migrationSource ::=
  identifier

databaseName ::=
  identifier

tableName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Example

- Migrate table from source to current database

```sql
MIGRATE TABLE ds_0.t_order INTO t_order;
```

- Migrate table from source to specified database

```sql
UNREGISTER MIGRATION SOURCE STORAGE UNIT ds_1, ds_2;
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-rule.en.md
=====================================================
+++
title = "SHOW MIGRATION RULE"
weight = 1
+++

### Description

The `SHOW MIGRATION RULE` syntax is used to query migration rule.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowMigrationRule ::=
  'SHOW' 'MIGRATION' 'RULE'
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Column         | Description                |
|----------------|----------------------------|
| read           | Data reading configuration |
| write          | Data writing configuration |
| stream_channel | Data channel               |

### Example

- Query migration rule

```sql
SHOW MIGRATION RULE;
```

```sql
mysql> SHOW MIGRATION RULE;
+--------------------------------------------------------------+--------------------------------------+-------------------------------------------------------+
| read                                                         | write                                | stream_channel                                        |
+--------------------------------------------------------------+--------------------------------------+-------------------------------------------------------+
| {"workerThread":20,"batchSize":1000,"shardingSize":10000000} | {"workerThread":20,"batchSize":1000} | {"type":"MEMORY","props":{"block-queue-size":"2000"}} |
+--------------------------------------------------------------+--------------------------------------+-------------------------------------------------------+
1 row in set (0.01 sec)
```

### Reserved word

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-source-storage-units.en.md
=====================================================
+++
title = "SHOW MIGRATION SOURCE STORAGE UNITS"
weight = 5
+++

### Description

The `SHOW MIGRATION SOURCE STORAGE UNITS` syntax is used to query the registered migration source storage units

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowStorageUnit ::=
  'SHOW' 'MIGRATION' 'SOURCE' 'STORAGE' 'UNITS'
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Column    | Description            |
|-----------|------------------------|
| name      | Storage unit name      |
| type      | Storage unit type      |
| host      | Storage unit host      |
| port      | Storage unit port      |
| db        | Database name          |
| attribute | Storage unit attribute |

 ### Example

- Query registered migration source storage units

```sql
SHOW MIGRATION SOURCE STORAGE UNITS;
```

```sql
mysql> SHOW MIGRATION SOURCE STORAGE UNITS;
+------+-------+-----------+------+----------------+---------------------------------+---------------------------+---------------------------+---------------+---------------+-----------+------------------+
| name | type  | host      | port | db             | connection_timeout_milliseconds | idle_timeout_milliseconds | max_lifetime_milliseconds | max_pool_size | min_pool_size | read_only | other_attributes |
+------+-------+-----------+------+----------------+---------------------------------+---------------------------+---------------------------+---------------+---------------+-----------+------------------+
| ds_1 | MySQL | 127.0.0.1 | 3306 | migration_ds_0 |                                 |                           |                           |               |               |           |                  |
+------+-------+-----------+------+----------------+---------------------------------+---------------------------+---------------------------+---------------+---------------+-----------+------------------+
1 row in set (0.01 sec)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/start-migration.en.md
=====================================================
+++
title = "START MIGRATION"
weight = 14
+++

### Description

The `START MIGRATION` syntax is used to start migration process.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
StartMigration ::=
  'START' 'MIGRATION'  migrationJobId 

migrationJobId ::=
  string
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `migrationJobId` needs to be obtained through [SHOW MIGRATION LIST](/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/) syntax query

### Example

- Start migration process

```sql
START MIGRATION 'j010180026753ef0e25d3932d94d1673ba551';
```

### Reserved word

`START`, `MIGRATION`

### Related links

- [Reserved word](/en/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word/)
- [SHOW MIGRATION LIST](/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list.en.md
=====================================================
+++
title = "SHOW MIGRATION LIST"
weight = 7
+++

### Description

The `SHOW MIGRATION LIST` syntax is used to query migration job list.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowMigrationList ::=
  'SHOW' 'MIGRATION' 'LIST'
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Values Description

| Columns        | Description                    |
|----------------|--------------------------------|
| id             | migration job id               |
| tables         | migration tables               |
| job_item_count | migration job sharding number  |
| active         | migration job states           |
| create_time    | migration job create time      |
| stop_time      | migration job stop time        |

### Example

- Query migration job list

```sql
SHOW MIGRATION LIST;
```

```sql
mysql> SHOW MIGRATION LIST;
+---------------------------------------+---------+----------------+--------+---------------------+---------------------+
| id                                    | tables  | job_item_count | active | create_time         | stop_time           |
+---------------------------------------+---------+----------------+--------+---------------------+---------------------+
| j01013a38b0184e07c864627b5bb05da09ee0 | t_order | 1              | false  | 2022-10-31 18:18:24 | 2022-10-31 18:18:31 |
+---------------------------------------+---------+----------------+--------+---------------------+---------------------+
1 row in set (0.28 sec)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-check-algorithm.en.md
=====================================================
+++
title = "SHOW MIGRATION CHECK ALGORITHM"
weight = 9
+++

### Description

The `SHOW MIGRATION RULE` syntax is used to query migration check algorithm.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowMigrationCheckAlgorithm ::=
  'SHOW' 'MIGRATION' 'CHECK' 'ALGORITHMS'
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Column                   | Description                                |
|--------------------------|--------------------------------------------|
| type                     | migration check algorithm type             |
| supported_database_types | supported database type                    |
| description              | Description of migration check algorithm   |

### Example

- Query migration check algorithm

```sql
SHOW MIGRATION CHECK ALGORITHMS;
```

```sql
mysql> SHOW MIGRATION CHECK ALGORITHMS;
+-------------+--------------------------------------------------------------+----------------------------+
| type        | supported_database_types                                     | description                |
+-------------+--------------------------------------------------------------+----------------------------+
| CRC32_MATCH | MySQL                                                        | Match CRC32 of records.    |
| DATA_MATCH  | SQL92,MySQL,MariaDB,PostgreSQL,openGauss,Oracle,SQLServer,H2 | Match raw data of records. |
+-------------+--------------------------------------------------------------+----------------------------+
2 rows in set (0.03 sec)
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list.cn.md
=====================================================
+++
title = "SHOW MIGRATION LIST"
weight = 7

+++

### 描述

`SHOW MIGRATION LIST` 语法用于查询数据迁移作业列表。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowMigrationList ::=
  'SHOW' 'MIGRATION' 'LIST'
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列              | 说明         |
|----------------|------------|
| id             | 数据迁移作业ID   |
| tables         | 迁移表        |
| job_item_count | 数据迁移作业分片数量 |
| active         | 数据迁移作业状态   |
| create_time    | 数据迁移作业创建时间 |
| stop_time      | 数据迁移作业停止时间 |

### 示例

- 查询数据迁移作业列表

```sql
SHOW MIGRATION LIST;
```

```sql
mysql> SHOW MIGRATION LIST;
+---------------------------------------+---------+----------------+--------+---------------------+---------------------+
| id                                    | tables  | job_item_count | active | create_time         | stop_time           |
+---------------------------------------+---------+----------------+--------+---------------------+---------------------+
| j01013a38b0184e07c864627b5bb05da09ee0 | t_order | 1              | false  | 2022-10-31 18:18:24 | 2022-10-31 18:18:31 |
+---------------------------------------+---------+----------------+--------+---------------------+---------------------+

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/start-migration-check.en.md
=====================================================
+++
title = "START MIGRATION CHECK"
weight = 12
+++

### Description

The `START MIGRATION CHECK` syntax is used to stop migration check process.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
StartMigrationCheck ::=
  'START' 'MIGRATION' 'CHECK' migrationJobId 

migrationJobId ::=
  string
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `migrationJobId` needs to be obtained through [SHOW MIGRATION LIST](/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/) syntax query

### Example

- Stop migration check process

```sql
START MIGRATION CHECK 'j010180026753ef0e25d3932d94d1673ba551';
```

### Reserved word

`START`, `MIGRATION`, `CHECK`

### Related links

- [Reserved word](/en/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word/)
- [SHOW MIGRATION LIST](/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/migrate-table-into.cn.md
=====================================================
+++
title = "MIGRATE TABLE INTO"
weight = 6
+++

### 描述

`MIGRATE TABLE INTO` 语法用于将表从源端迁移到目标端。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
MigrateTableInto ::=
  'MIGRATE' 'TABLE' migrationSource '.' tableName 'INTO' (databaseName '.')? tableName

migrationSource ::=
  identifier

databaseName ::=
  identifier

tableName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 示例

- 将表从源端迁移到当前逻辑库

```sql
MIGRATE TABLE ds_0.t_order INTO t_order;
```

- 将表从源端迁移到指定逻辑库
```sql
MIGRATE TABLE ds_0.t_order INTO sharding_db.t_order;
```

### 保留字

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-status.en.md
=====================================================
+++
title = "SHOW MIGRATION STATUS"
weight = 8
+++

### Description

The `SHOW MIGRATION STATUS` syntax is used to query migration job status for specified migration job.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowMigrationStatus ::=
  'SHOW' 'MIGRATION' 'STATUS' migrationJobId 

migrationJobId ::=
  string
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `migrationJobId` needs to be obtained through `SHOW MIGRATION LIST` syntax query

### Return Value Description

| column                         | Description                          |
|--------------------------------|--------------------------------------|
| item                           | migration job sharding serial number |
| data source                    | migration source                     |
| status                         | migration job status                 |
| processed_records_count        | number of processed rows             |
| inventory_finished_percentage  | finished percentage of migration job |
| incremental_idle_seconds       | incremental idle time                |
| error_message                  | error message                        |

### Example

- Query migration job status

```sql
SHOW MIGRATION STATUS 'j010180026753ef0e25d3932d94d1673ba551';
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/rollback-migration.cn.md
=====================================================
+++
title = "ROLLBACK MIGRATION"
weight = 17
+++

### 描述

`ROLLBACK MIGRATION` 语法用于撤销指定的数据迁移作业。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
RollbackMigration ::=
  'ROLLBACK' 'MIGRATION'  migrationJobId 

migrationJobId ::=
  string
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `migrationJobId` 需要通过 [SHOW MIGRATION LIST](/cn/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/) 语法查询获得

- 该语句执行后会清理目标端

### 示例

- 撤销指定的数据迁移作业

```sql
ROLLBACK MIGRATION 'j010180026753ef0e25d3932d94d1673ba551';
```

### 保留字

`ROLLBACK`、`MIGRATION`

### 相关链接

- [保留字](/cn/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word/)
- [SHOW MIGRATION LIST](/cn/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-source-storage-units.cn.md
=====================================================
+++
title = "SHOW MIGRATION SOURCE STORAGE UNITS"
weight = 5
+++

### 描述

`SHOW MIGRATION SOURCE STORAGE UNITS` 语法用于查询已经注册的数据迁移源存储单元。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowStorageUnit ::=
  'SHOW' 'MIGRATION' 'SOURCE' 'STORAGE' 'UNITS'
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列         | 说明     |
|-----------|--------|
| name      | 存储单元名称 |
| type      | 存储单元类型 |
| host      | 存储单元地址 |
| port      | 存储单元端口 |
| db        | 数据库名称  |
| attribute | 存储单元参数 |

### 示例

- 查询指定逻辑库中未被使用的存储单元

```sql
SHOW MIGRATION SOURCE STORAGE UNITS;
```

```sql
mysql> SHOW MIGRATION SOURCE STORAGE UNITS;
+------+-------+-----------+------+----------------+---------------------------------+---------------------------+---------------------------+---------------+---------------+-----------+------------------+
| name | type  | host      | port | db             | connection_timeout_milliseconds | idle_timeout_milliseconds | max_lifetime_milliseconds | max_pool_size | min_pool_size | read_only | other_attributes |
+------+-------+-----------+------+----------------+---------------------------------+---------------------------+---------------------------+---------------+---------------+-----------+------------------+
| ds_1 | MySQL | 127.0.0.1 | 3306 | migration_ds_0 |                                 |                           |                           |               |               |           |                  |
+------+-------+-----------+------+----------------+---------------------------------+---------------------------+---------------------------+---------------+---------------+-----------+------------------+
1 row in set (0.01 sec)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/register-migration-source-storage-unit.en.md
=====================================================
+++
title = "REGISTER MIGRATION SOURCE STORAGE UNIT"
weight = 3
+++

### Description

The `REGISTER MIGRATION SOURCE STORAGE UNIT` syntax is used to register migration source storage unit for the currently connection.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
RegisterStorageUnit ::=
  'REGISTER' 'MIGRATION' 'SOURCE' 'STORAGE' 'UNIT' storageUnitDefinition (',' storageUnitDefinition)*

storageUnitDefinition ::=
  StorageUnitName '('  'URL' '=' url ',' 'USER' '=' user (',' 'PASSWORD' '=' password)? (',' propertiesDefinition)?')'

storageUnitName ::=
  identifier

url ::=
  string

user ::=
  string

password ::=
  string

propertiesDefinition ::=
  'PROPERTIES' '(' ( key  '=' value ) ( ',' key  '=' value )* ')'

key ::=
  string

value ::=
  literal
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- Confirm that the registered migration source storage unit can be connected normally, otherwise it will not be added successfully;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-check-status.cn.md
=====================================================
+++
title = "SHOW MIGRATION CHECK STATUS"
weight = 11
+++

### 描述

`SHOW MIGRATION CHECK STATUS` 语法用于查询指定数据迁移作业的数据校验情况。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowMigrationCheckStatus ::=
  'SHOW' 'MIGRATION' 'CHECK' 'STATUS' migrationJobId 

migrationJobId ::=
  string
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `migrationJobId` 需要通过 [SHOW MIGRATION LIST](/cn/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/) 语法查询获得

### 返回值说明

| 列                   | 说明     |
|---------------------|--------|
| tables              | 校验表    |
| result              | 校验结果   |
| finished_percentage | 校验完成度  |
| remaining_seconds   | 剩余时间   |
| check_begin_time    | 校验开始时间 |
| check_end_time      | 校验结束时间 |
| error_message       | 错误信息提示 |

### 示例

- 查询指定数据迁移作业的数据校验情况

```sql
SHOW MIGRATION CHECK STATUS 'j010180026753ef0e25d3932d94d1673ba551';
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/commit-migration.en.md
=====================================================
+++
title = "COMMIT MIGRATION"
weight = 16
+++

### Description

The `COMMIT MIGRATION` syntax is used to commit migration process.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
CommitMigration ::=
  'COMMIT' 'MIGRATION'  migrationJobId 

migrationJobId ::=
  string
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `migrationJobId` needs to be obtained through [SHOW MIGRATION LIST](/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/) syntax query

### Example

- Commit migration process

```sql
COMMIT MIGRATION 'j010180026753ef0e25d3932d94d1673ba551';
```

### Reserved word

`COMMIT`, `MIGRATION`

### Related links

- [Reserved word](/en/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word/)
- [SHOW MIGRATION LIST](/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-status.cn.md
=====================================================
+++
title = "SHOW MIGRATION STATUS"
weight = 8
+++

### 描述

`SHOW MIGRATION STATUS` 语法用于查询指定数据迁移作业的详细情况。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowMigrationStatus ::=
  'SHOW' 'MIGRATION' 'STATUS' migrationJobId 

migrationJobId ::=
  string
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `migrationJobId` 需要通过 `SHOW MIGRATION LIST` 语法查询获得

### 返回值说明

| 列                             | 说明         |
|-------------------------------|------------|
| item                          | 数据迁移作业分片编号 |
| data source                   | 数据迁移源      |
| status                        | 数据迁移作业状态   |
| processed_records_count       | 处理数据行数     |
| inventory_finished_percentage | 数据迁移作业完成度  |
| incremental_idle_seconds      | 增量闲置时间     |
| error_message                 | 错误信息提示     |

### 示例

- 查询指定数据迁移作业的详细情况

```sql
SHOW MIGRATION STATUS 'j010180026753ef0e25d3932d94d1673ba551';
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/start-migration.cn.md
=====================================================
+++
title = "START MIGRATION"
weight = 14
+++

### 描述

`START MIGRATION` 语法用于开始指定的数据迁移作业。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
StartMigration ::=
  'START' 'MIGRATION'  migrationJobId 

migrationJobId ::=
  string
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `migrationJobId` 需要通过 [SHOW MIGRATION LIST](/cn/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/) 语法查询获得

### 示例

- 停止指定的数据迁移作业

```sql
START MIGRATION 'j010180026753ef0e25d3932d94d1673ba551';
```

### 保留字

`START`、`MIGRATION`

### 相关链接

- [保留字](/cn/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word/)
- [SHOW MIGRATION LIST](/cn/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/_index.en.md
=====================================================
+++
title = "MIGRATUION"
weight = 3
chapter = true

+++

This chapter describes the syntax of migration.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-check-status.en.md
=====================================================
+++
title = "SHOW MIGRATION CHECK STATUS"
weight = 11
+++

### Description

The `SHOW MIGRATION CHECK STATUS` syntax is used to query migration check status for specified migration job.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowMigrationCheckStatus ::=
  'SHOW' 'MIGRATION' 'CHECK' 'STATUS' migrationJobId 

migrationJobId ::=
  string
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `migrationJobId` needs to be obtained through [SHOW MIGRATION LIST](/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/) syntax query

### Return Value Description

| Columns             | Description                        |
|---------------------|------------------------------------|
| tables              | migration check table              |
| result              | check result                       |
| finished_percentage | check finished finished_percentage |
| remaining_seconds   | check remaining time               |
| check_begin_time    | check begin time                   |
| check_end_time      | check end time                     |
| error_message       | error message                      |

### Example

- Query migration check status

```sql
SHOW MIGRATION CHECK STATUS 'j010180026753ef0e25d3932d94d1673ba551';
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/alter-migration-rule.en.md
=====================================================
+++
title = "ALTER MIGRATION RULE"
weight = 2
+++

### Description

The `ALTER MIGRATION RULE` syntax is used to alter migration rule.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
AlterMigrationRule ::=
  'ALTER' 'MIGRATION' 'RULE' ('(' (readConfiguration ',')?  (writeConfiguration  ',')? (dataChannel)? ')')?

readConfiguration ::=
  'READ' '(' ('WORKER_THREAD' '=' workerThreadPoolSize ',')? ('BATCH_SIZE' '=' batchSize ',')? ('SHARDING_SIZE' '=' shardingSize ',')? (rateLimiter)? ')'

writeConfiguration ::=
  'WRITE' '(' ('WORKER_THREAD' '=' workerThreadPoolSize ',')? ('BATCH_SIZE' '=' batchSize ',')? ('SHARDING_SIZE' '=' shardingSize ',')? (rateLimiter)? ')'

dataChannel ::=
  'STREAM_CHANNEL' '(' 'TYPE' '(' 'NAME' '=' algorithmName ',' propertiesDefinition ')' ')'

workerThreadPoolSize ::=
  int

batchSize ::=
  int

shardingSize ::=
  int

rateLimiter ::=
  'RATE_LIMITER' '(' 'TYPE' '(' 'NAME' '=' algorithmName ',' propertiesDefinition ')' ')'

algorithmName ::=
  string

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

key ::=
  string

value ::=
  literal
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/commit-migration.cn.md
=====================================================
+++
title = "COMMIT MIGRATION"
weight = 16
+++

### 描述

`COMMIT MIGRATION` 语法用于完成指定的数据迁移作业。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
CommitMigration ::=
  'COMMIT' 'MIGRATION'  migrationJobId 

migrationJobId ::=
  string
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `migrationJobId` 需要通过 [SHOW MIGRATION LIST](/cn/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/) 语法查询获得

### 示例

- 完成指定的数据迁移作业

```sql
COMMIT MIGRATION 'j010180026753ef0e25d3932d94d1673ba551';
```

### 保留字

`COMMIT`、`MIGRATION`

### 相关链接

- [保留字](/cn/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word/)
- [SHOW MIGRATION LIST](/cn/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/stop-migration-check.en.md
=====================================================
+++
title = "STOP MIGRATION CHECK"
weight = 13
+++

### Description

The `STOP MIGRATION CHECK` syntax is used to stop migration check process.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
StopMigrationCheck ::=
  'STOP' 'MIGRATION' 'CHECK' migrationJobId 

migrationJobId ::=
  string
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `migrationJobId` needs to be obtained through [SHOW MIGRATION LIST](/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/) syntax query

### Example

- Stop migration check process

```sql
STOP MIGRATION CHECK 'j010180026753ef0e25d3932d94d1673ba551';
```

### Reserved word

`STOP`, `MIGRATION`, `CHECK`

### Related links

- [Reserved word](/en/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word/)
- [SHOW MIGRATION LIST](/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/start-migration-check.cn.md
=====================================================
+++
title = "START MIGRATION CHECK"
weight = 12
+++

### 描述

`START MIGRATION CHECK` 语法用于开始指定数据迁移作业的数据校验。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
StartMigrationCheck ::=
  'START' 'MIGRATION' 'CHECK' migrationJobId 

migrationJobId ::=
  string
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `migrationJobId` 需要通过 [SHOW MIGRATION LIST](/cn/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/) 语法查询获得

### 示例

- 开始指定数据迁移作业的数据校验

```sql
START MIGRATION CHECK 'j010180026753ef0e25d3932d94d1673ba551';
```

### 保留字

`START`、`MIGRATION`、`CHECK`

### 相关链接

- [保留字](/cn/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word/)
- [SHOW MIGRATION LIST](/cn/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/unregister-storage-unit.en.md
=====================================================
+++
title = "UNREGISTER MIGRATION SOURCE STORAGE UNIT"
weight = 4
+++

### Description

The `UNREGISTER MIGRATION SOURCE STORAGE UNIT` syntax is used to unregister migration source storage unit from the current connection

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
UnregisterMigrationSourceStorageUnit ::=
  'UNREGISTER' 'MIGRATION' 'SOURCE' 'STORAGE' 'UNIT' storageUnitName  (',' storageUnitName)* 

storageUnitName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `UNREGISTER MIGRATION SOURCE STORAGE UNIT` will only unregister storage unit in Proxy, the real data source corresponding to the storage unit will not be
  dropped;

### Example

- Drop a migration source storage unit

```sql
UNREGISTER MIGRATION SOURCE STORAGE UNIT ds_0;
```

- Drop multiple migration source storage units

```sql
UNREGISTER MIGRATION SOURCE STORAGE UNIT ds_1, ds_2;
```

### Reserved word

`UNREGISTER`、`MIGRATION`、`SOURCE`、`STORAGE`、`UNIT`

### Related links

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/check-migration.cn.md
=====================================================
+++
title = "CHECK MIGRATION BY"
weight = 10

+++

### 描述

`CHECK MIGRATION BY` 语法用于校验数据迁移作业中的数据一致性。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowMigrationList ::=
  'CHECK' 'MIGRATION' migrationJobId 'BY' 'TYPE' '(' 'NAME' '=' migrationCheckAlgorithmType ')'

migrationJobId ::=
  string

migrationCheckAlgorithmType ::=
  string
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `migrationJobId` 需要通过 [SHOW MIGRATION LIST](/cn/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/) 语法查询获得

- `migrationCheckAlgorithmType` 需要通过 [SHOW MIGRATION CHECK ALGORITHMS](/cn/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-check-algorithm/) 语法查询获得

### 示例

- 校验数据迁移作业中数据一致性

```sql
CHECK MIGRATION 'j01016e501b498ed1bdb2c373a2e85e2529a6' BY TYPE (NAME='CRC32_MATCH');
```

### 保留字

`CHECK`、`MIGRATION`、`BY`、`TYPE`

### 相关链接


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/stop-migration.cn.md
=====================================================
+++
title = "STOP MIGRATION"
weight = 15
+++

### 描述

`STOP MIGRATION` 语法用于停止指定的数据迁移作业。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
StopMigration ::=
  'STOP' 'MIGRATION'  migrationJobId 

migrationJobId ::=
  string
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `migrationJobId` 需要通过 [SHOW MIGRATION LIST](/cn/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/) 语法查询获得

### 示例

- 停止指定的数据迁移作业

```sql
STOP MIGRATION 'j010180026753ef0e25d3932d94d1673ba551';
```

### 保留字

`STOP`、`MIGRATION`

### 相关链接

- [保留字](/cn/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word/)
- [SHOW MIGRATION LIST](/cn/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/unregister-storage-unit.cn.md
=====================================================
+++
title = "UNREGISTER MIGRATION SOURCE STORAGE UNIT"
weight = 4
+++

### 描述

`UNREGISTER MIGRATION SOURCE STORAGE UNIT` 语法用于从当前逻辑库中移除存储单元。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
UnregisterMigrationSourceStorageUnit ::=
  'UNREGISTER' 'MIGRATION' 'SOURCE' 'STORAGE' 'UNIT' storageUnitName  (',' storageUnitName)* 

storageUnitName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `UNREGISTER MIGRATION SOURCE STORAGE UNIT` 只会移除 Proxy 中的存储单元,不会删除与存储单元对应的真实数据源;

### 示例

- 移除数据迁移源存储单元

```sql
UNREGISTER MIGRATION SOURCE STORAGE UNIT ds_0;
```

- 移除多个数据迁移源存储单元
```sql
UNREGISTER MIGRATION SOURCE STORAGE UNIT ds_0, ds_1;
```

### 保留字

`UNREGISTER`、`MIGRATION`、`SOURCE`、`STORAGE`、`UNIT`

### 相关链接

- [保留字](/cn/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-dist-variable.en.md
=====================================================
+++
title = "SHOW DIST VARIABLE"
weight = 8
+++

### Description

The `SHOW DIST VARIABLE` syntax is used to query `PROXY` system variables configuration.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowDistVariable ::=
  'SHOW' 'DIST' ('VARIABLES' ('LIKE' likePattern)?| 'VARIABLE' 'WHERE' 'NAME' '=' variableName)

likePattern ::=
  string

variableName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Columns        | Description           |
|----------------|-----------------------|
| variable_name  | system variable name  |
| variable_value | system variable value |

### Supplement

- When `variableName` is not specified, the default is query all `PROXY` variables configuration.

### Example

- Query all system variables configuration of `PROXY`

```sql
SHOW DIST VARIABLES;
```

```sql
mysql> SHOW DIST VARIABLES;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/unlabel-compute-node.en.md
=====================================================
+++
title = "UNLABEL COMPUTE NODES"
weight = 6
+++

### Description

The `UNLABEL COMPUTE NODES` syntax is used to remove specified label from `PROXY` instance.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
UnlabelComputeNode ::=
  'UNLABEL' 'COMPUTE' 'NODE' instance_id 'WITH' labelName

instance_id ::=
  string

labelName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- needs to be obtained through [SHOW COMPUTE NODES](/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-compute-nodes/) syntax query

### Example

- Remove specified label from `PROXY` instance

```sql
UNLABEL COMPUTE NODE "0699e636-ade9-4681-b37a-65240c584bb3" WITH label_1;
```

### Reserved word

`UNLABEL`, `COMPUTE`, `NODES`, `WITH`

### Related links

- [Reserved word](/en/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word/)
- [SHOW COMPUTE NODES](/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-compute-nodes/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/unlabel-compute-node.cn.md
=====================================================
+++
title = "UNLABEL COMPUTE NODE"
weight = 6
+++

### 描述

`UNLABEL COMPUTE NODE` 语法用于为 `PROXY` 实例去除指定标签。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
UnlabelComputeNode ::=
  'UNLABEL' 'COMPUTE' 'NODE' instance_id 'WITH' labelName

instance_id ::=
  string

labelName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `instance_id` 需要通过 [SHOW COMPUTE NODES](/cn/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-compute-nodes/) 语法查询获得

### 示例

- 为 `PROXY` 实例去除指定标签

```sql
UNLABEL COMPUTE NODE "0699e636-ade9-4681-b37a-65240c584bb3" WITH label_1;
```

### 保留字

`UNLABEL`、`COMPUTE`、`NODE`、`WITH`

### 相关链接

- [保留字](/cn/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word/)
- [SHOW COMPUTE NODES](/cn/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-compute-nodes/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/label-relabel-compute-node.cn.md
=====================================================
+++
title = "LABEL|RELABEL COMPUTE NODE"
weight = 5
+++

### 描述

`LABEL|RELABEL COMPUTE NODE` 语法用于为 `PROXY` 实例添加标签。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
LableRelabelComputeNodes ::=
  ('LABEL' | 'RELABEL') 'COMPUTE' 'NODE' instance_id 'WITH' labelName

instance_id ::=
  string

labelName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `instance_id` 需要通过 [SHOW COMPUTE NODES](/cn/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-compute-nodes/) 语法查询获得

- `RELABEL` 用于为 `PROXY` 实例修改标签

### 示例

- 为 `PROXY` 实例添加标签

```sql
LABEL COMPUTE NODE "0699e636-ade9-4681-b37a-65240c584bb3" WITH label_1;
```

- 为 `PROXY` 实例修改标签
```sql
RELABEL COMPUTE NODE "0699e636-ade9-4681-b37a-65240c584bb3" WITH label_2;
```

### 保留字


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-status-from-readwrite-splitting-rule.cn.md
=====================================================
+++
title = "SHOW STATUS FROM READWRITE_SPLITTING RULE"
weight = 2
+++

### 描述

`SHOW STATUS FROM READWRITE_SPLITTING RULE` 语法用于查询指定逻辑库中指定读写分离规则中读写分离存储单元状态。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowStatusFromReadwriteSplittingRule ::=
  'SHOW' 'STATUS' 'FROM' 'READWRITE_SPLITTING' ('RULES' | 'RULE' groupName) ('FROM' databaseName)?

groupName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE`。 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 返回值说明

| 列              | 说明     |
|----------------|--------|
| storage_unit   | 存储单元名称 |
| status         | 存储单元状态 |

### 示例

- 查询指定逻辑库中指定读写分离规则中读写分离存储单元状态

```sql
SHOW STATUS FROM READWRITE_SPLITTING RULE ms_group_0 FROM sharding_db;
```

```sql
mysql> SHOW STATUS FROM READWRITE_SPLITTING RULE ms_group_0 FROM sharding_db;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/label-relabel-compute-node.en.md
=====================================================
+++
title = "LABEL|RELABEL COMPUTE NODES"
weight = 5
+++

### Description

The `LABEL|RELABEL COMPUTE NODES` syntax is used to label `PROXY` instance.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
LableRelabelComputeNodes ::=
  ('LABEL' | 'RELABEL') 'COMPUTE' 'NODE' instance_id 'WITH' labelName

instance_id ::=
  string

labelName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- needs to be obtained through [SHOW COMPUTE NODES](/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-compute-nodes/) syntax query

- `RELABEL` is used to relabel `PROXY` instance

### Example

- Label `PROXY` instance

```sql
LABEL COMPUTE NODE "0699e636-ade9-4681-b37a-65240c584bb3" WITH label_1;
```

- Relabel `PROXY` instance

```sql
RELABEL COMPUTE NODE "0699e636-ade9-4681-b37a-65240c584bb3" WITH label_2;
```

### Reserved word

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/alter-readwrite-splitting-rule-enable-disable.en.md
=====================================================
+++
title = "ALTER READWRITE_SPLITTING RULE ENABLE/DISABLE"
weight = 1
+++

## Description

The `ALTER READWRITE_SPLITTING RULE ENABLE/DISABLE` syntax is used enable/disable a specified read source for specified readwrite-splitting rule.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
AlterReadwriteSplittingRule ::=
  'ALTER' 'READWRITE_SPLITTING' 'RULE' groupName ('ENABLE' | 'DISABLE') storageUnitName 'FROM' databaseName

groupName ::=
  identifier

storageUnitName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Example

- Disable a specified read source for specified readwrite-splitting rule in specified database

```sql
ALTER READWRITE_SPLITTING RULE ms_group_0 DISABLE read_ds_0 FROM sharding_db;
```

- Enable a specified read source for specified readwrite-splitting rule in specified database

```sql
ALTER READWRITE_SPLITTING RULE ms_group_0 ENABLE read_ds_0 FROM sharding_db;
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/_index.en.md
=====================================================
+++
title = "CIRCUIT BREAKER"
weight = 2
chapter = true

+++

This chapter describes the syntax of Circuit Breaker.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/enable-disable-compute-node.cn.md
=====================================================
+++
title = "ENABLE/DISABLE COMPUTE NODE"
weight = 4
+++

## 描述

`ENABLE/DISABLE COMPUTE NODE` 语法用于启用/禁用指定 proxy 实例。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
EnableDisableComputeNode ::=
  ('ENABLE' | 'DISABLE') 'COMPUTE' 'NODE' instanceId

instanceId ::=
  string
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `instanceId` 需要通过 [SHOW COMPUTE NODES](/cn/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-compute-nodes/) 语法查询得到

- 不可禁用当前正在使用的 proxy 实例

### 示例

- 禁用指定 proxy 实例

```sql
DISABLE COMPUTE NODE '734bb086-b15d-4af0-be87-2372d8b6a0cd';
```

- 启用指定 proxy 实例

```sql
ENABLE COMPUTE NODE '734bb086-b15d-4af0-be87-2372d8b6a0cd';
```

### 保留字

`ENABLE`、`DISABLE`、`COMPUTE`、`NODE`


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-compute-nodes.cn.md
=====================================================
+++
title = "SHOW COMPUTE NODES"
weight = 3
+++

### 描述

`SHOW COMPUTE NODES` 语法用于查询计算节点信息。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowComputeNodes ::=
  'SHOW' 'COMPUTE' 'NODES'
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列             | 说明      |
|---------------|-----------|
| instance_id   | 实例 id    |
| instance_type | 实例类型    |
| host          | 主机地址    |
| port          | 端口号     |
| status        | 实例状态    |
| mode_type     | 模式类型    |
| worker_id     | worker id |
| labels        | 标签       |
| version       | 版本       |

### 示例

```sql
mysql> SHOW COMPUTE NODES;
+--------------------------------------+---------------+------------+------+--------+------------+-----------+--------+----------+
| instance_id                          | instance_type | host       | port | status | mode_type  | worker_id | labels | version  |
+--------------------------------------+---------------+------------+------+--------+------------+-----------+--------+----------+
| 3e84d33e-cb97-42f2-b6ce-f78fea0ded89 | PROXY         | 127.0.0.1  | 3307 | OK     | Cluster    | -1        |        | 5.4.2    |
+--------------------------------------+---------------+------------+------+--------+------------+-----------+--------+----------+
1 row in set (0.01 sec)
```

### 保留字

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-compute-nodes.en.md
=====================================================
+++
title = "SHOW COMPUTE NODES"
weight = 3
+++

### Description

The `SHOW COMPUTE NODES` syntax is used to query compute nodes information.
### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowComputeNodes ::=
  'SHOW' 'COMPUTE' 'NODES'
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Columns       | Description   |
|---------------|---------------|
| instance_id   | instance id   |
| instance_type | instance type |
| host          | host          |
| port          | port          |
| status        | status        |
| mode_type     | mode type     |
| worker_id     | worker id     |
| labels        | labels        |
| version       | version       |

### Example

```sql
mysql> SHOW COMPUTE NODES;
+--------------------------------------+---------------+------------+------+--------+------------+-----------+--------+----------+
| instance_id                          | instance_type | host       | port | status | mode_type  | worker_id | labels | version  |
+--------------------------------------+---------------+------------+------+--------+------------+-----------+--------+----------+
| 3e84d33e-cb97-42f2-b6ce-f78fea0ded89 | PROXY         | 127.0.0.1  | 3307 | OK     | Cluster    | -1        |        | 5.4.2    |
+--------------------------------------+---------------+------------+------+--------+------------+-----------+--------+----------+
1 row in set (0.01 sec)
```

### Dedicated Terminology


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-status-from-readwrite-splitting-rule.en.md
=====================================================
+++
title = "SHOW STATUS FROM READWRITE_SPLITTING RULE"
weight = 2
+++

### Description

The `SHOW STATUS FROM READWRITE_SPLITTING RULE` syntax is used to query readwrite-splitting storage unit status for specified readwrite-splitting rule in specified database.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowStatusFromReadwriteSplittingRule ::=
  'SHOW' 'STATUS' 'FROM' 'READWRITE_SPLITTING' ('RULES' | 'RULE' groupName) ('FROM' databaseName)?

groupName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `databaseName` is not specified, the default is the currently used `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

### Return Value Description

| Columns        | Description         |
|----------------|---------------------|
| storage_unit   | storage unit name   |
| status         | storage unit status |

### Example

- Query readwrite-splitting storage unit status for specified readwrite-splitting rule in specified database.

```sql
SHOW STATUS FROM READWRITE_SPLITTING RULE ms_group_0 FROM sharding_db;
```

```sql
mysql> SHOW STATUS FROM READWRITE_SPLITTING RULE ms_group_0 FROM sharding_db;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/enable-disable-compute-node.en.md
=====================================================
+++
title = "ENABLE/DISABLE COMPUTE NODE"
weight = 4
+++

## Description

The `ENABLE/DISABLE COMPUTE NODE` syntax is used enable/disable a specified proxy instance

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
EnableDisableComputeNode ::=
  ('ENABLE' | 'DISABLE') 'COMPUTE' 'NODE' instanceId

instanceId ::=
  string
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `instanceId` needs to be obtained through [SHOW COMPUTE NODES](/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-compute-nodes/) syntax query

- The currently in-use proxy instance cannot be disabled

### Example

- Disable a specified proxy instance
```sql
DISABLE COMPUTE NODE '734bb086-b15d-4af0-be87-2372d8b6a0cd';
```

- Enable a specified proxy instance

```sql
ENABLE COMPUTE NODE '734bb086-b15d-4af0-be87-2372d8b6a0cd';
```

### Reserved word

`ENABLE`, `DISABLE`, `COMPUTE`, `NODE`

### Related links

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/convert-yaml-configuration.en.md
=====================================================
+++
title = "CONVERT YAML CONFIGURATION"
weight = 15
+++

### Description

The `CONVERT YAML CONFIGURATION` syntax is used to convert `YAML` configuration to DistSQL RDL statements.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
convertYamlConfiguration ::=
  'CONVERT' 'YAML' 'CONFIGURATION' 'FROM' 'FILE' filePath

filePath ::=
  string
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- The `CONVERT YAML CONFIGURATION` syntax only reads the YAML file and converts the configuration into DistSQL statements without affecting the current metadata;
- When `dataSources` in YAML is empty, `rules` conversion will not be performed.

### Example

```sql
mysql> CONVERT YAML CONFIGURATION FROM FILE '/xxx/config_sharding_db.yaml';
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| dist_sql                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| CREATE DATABASE sharding_db;
USE sharding_db;

REGISTER STORAGE UNIT ds_0 (
URL='jdbc:mysql://127.0.0.1:3306/demo_ds_0?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true',
USER='root',
PASSWORD='123456',
PROPERTIES('maxPoolSize'='10')
), ds_1 (
URL='jdbc:mysql://127.0.0.1:3306/demo_ds_1?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true',
USER='root',
PASSWORD='123456',

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-dist-variable.cn.md
=====================================================
+++
title = "SHOW DIST VARIABLE"
weight = 8
+++

### 描述

`SHOW DIST VARIABLE` 语法用于查询 `PROXY` 系统变量配置。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowDistVariable ::=
  'SHOW' 'DIST' ('VARIABLES' ('LIKE' likePattern)?| 'VARIABLE' 'WHERE' 'NAME' '=' variableName)

likePattern ::=
  string

variableName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列              | 说明     |
|----------------|--------|
| variable_name  | 系统变量名称 |
| variable_value | 系统变量值  |

### 补充说明

- 未指定 `vairableName` 时,默认查询所有 `PROXY` 系统变量配置

### 示例

- 查询所有 `PROXY` 系统变量配置

```sql
SHOW DIST VARIABLES;
```

```sql
mysql> SHOW DIST VARIABLES;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/export-database-configuration.cn.md
=====================================================
+++
title = "EXPORT DATABASE CONFIGURATION"
weight = 13
+++

### 描述

`EXPORT DATABASE CONFIGURATION` 语法用于将逻辑库中的存储单元和规则配置导出为 `YAML` 格式。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ExportDatabaseConfiguration ::=
  'EXPORT' 'DATABASE' 'CONFIGURATION' ('FROM' databaseName)? ('TO' 'FILE' filePath)?

databaseName ::=
  identifier

filePath ::=
  string
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,导出当前使用的逻辑库;如果也未使用逻辑库则提示 `No database selected`;
- 未指定 `filePath` 时,会将导出的信息通过结果集输出;
- 指定 `filePath` 时,会自动创建文件,若文件已存在,会被覆盖。

### 示例

- 导出当前逻辑库的配置信息

```sql
mysql> EXPORT DATABASE CONFIGURATION;
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| result                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| databaseName: sharding_db
dataSources:
  ds_1:
    password: 123456
    url: jdbc:mysql://127.0.0.1:3306/db0
    username: root

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/refresh-table-metadata.en.md
=====================================================
+++
title = "REFRESH TABLE METADATA"
weight = 9
+++

### Description

The `REFRESH TABLE METADATA` syntax is used to refresh table metadata.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
RefreshTableMetadata ::=
  'REFRESH' 'TABLE' 'METADATA' (tableName | tableName 'FROM' 'STORAGE' 'UNIT' storageUnitName ('SCHEMA' schemaName)?)?

tableName ::=
  identifier

storageUnitName ::=
  identifier

schemaName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `tableName` and `storageUnitName` is not specified, the default is to refresh all table metadata.

- refresh table metadata need to use `DATABASE`. If `DATABASE` is not used, `No database selected` will be prompted.

- If there are no tables in the schema, the schema will be deleted.


### Example

- Refresh specified table's metadata in specified schema of a specified storage unit

```sql
REFRESH TABLE METADATA t_order FROM STORAGE UNIT ds_1 SCHEMA db_schema;
```

- Refresh all tables' metadata in specified schema of a specified storage unit

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/_index.en.md
=====================================================
+++
title = "RAL Syntax"
weight = 3
chapter = true
+++

RAL (Resource & Rule Administration Language) responsible for the added-on feature of transaction type switch, scaling and so on.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/set-dist-vairable.en.md
=====================================================
+++
title = "SET DIST VARIABLE"
weight = 7
+++

### Description

The `SET DIST VARIABLE` syntax is used to set system variables.
### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
SetDistVariable ::=
  'SET' 'DIST' 'VARIABLE' (proxyPropertyName '=' proxyPropertyValue | 'agent_plugins_enabled' '=' agentPluginsEnabled)

proxyPropertyName ::= 
  identifier

proxyPropertyValue ::=
  literal

agentPluginsEnabled ::=
  boolean
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `proxy_property_name` is one of [properties configuration](/en/user-manual/shardingsphere-proxy/yaml-config/props/) of `PROXY`, name is split by underscore

- `agent_plugins_enabled` is use to set the `agent` plugins enable status, the default value is `FALSE`

- `system_log_level` is the system log level, only affects the log printing of `PROXY`, the default value is `INFO`

### Example

- Set property configuration of `Proxy`

```sql
SET DIST VARIABLE sql_show = true;
```

- Set `agent` plugin enable status

```sql

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/import-database-configuration.en.md
=====================================================
+++
title = "IMPORT DATABASE CONFIGURATION"
weight = 14
+++

### Description

The `IMPORT DATABASE CONFIGURATION` syntax is used to import a database from the configuration in `YAML`.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ExportDatabaseConfiguration ::=
  'IMPORT' 'DATABASE' 'CONFIGURATION' 'FROM' 'FILE' filePath

filePath ::=
  string
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When a database with the same name already exists in the metadata, it cannot be imported;
- When `databaseName` in YAML is empty, it cannot be imported;
- When `dataSources` in YAML is empty, only empty database will be imported.

### Example

```sql
IMPORT DATABASE CONFIGURATION FROM FILE "/xxx/config_sharding_db.yaml";
```

### Reserved word

`IMPORT`, `DATABASE`, `CONFIGURATION`, `FROM`, `FILE`

### Related links

- [Reserved word](/en/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word/)

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-rules-used-storage-unit.cn.md
=====================================================
+++
title = "SHOW RULES USED STORAGE UNIT"
weight = 12
+++

### 描述

`SHOW RULES USED STORAGE UNIT` 语法用于查询指定逻辑库中使用指定存储单元的规则。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowRulesUsedStorageUnit ::=
  'SHOW' 'RULES' 'USED' 'STORAGE' 'UNIT' storageUnitName ('FROM' databaseName)?

storageUnitName ::=
  identifier

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列    | 说明   |
|------|------|
| type | 规则类型 |
| name | 规则名称 |

### 补充说明

- 未指定 `databaseName` 时,默认是当前使用的 `DATABASE。` 如果也未使用 `DATABASE` 则会提示 `No database selected`。

### 示例

- 查询指定逻辑库中使用指定存储单元的规则

```sql
SHOW RULES USED STORAGE UNIT ds_1 FROM sharding_db;
```

```sql
mysql> SHOW RULES USED STORAGE UNIT ds_1 FROM sharding_db;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/refresh-database-metadata.cn.md
=====================================================
+++
title = "REFRESH DATABASE METADATA"
weight = 10
+++

### 描述

`REFRESH DATABASE METADATA` 语法用于刷新本地逻辑库元数据。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
RefreshDatabaseMetadata ::=
  'FORCE'? 'REFRESH' 'DATABASE' 'METADATA' databaseName?

databaseName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `databaseName` 时,默认刷新所有逻辑库的元数据

- 刷新元数据使用 `FORCE` 时,将会从本地获取最新元数据,并写入到治理中心,未开启 `FORCE` 则会从治理中心拉取最新配置

### 示例

- 刷新指定逻辑库的元数据

```sql
REFRESH DATABASE METADATA sharding_db;
```

- 刷新所有逻辑库的元数据

```sql
REFRESH DATABASE METADATA;
```

- 强制刷新所有逻辑库的元数据

```sql
FORCE REFRESH DATABASE METADATA;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-traffic-rule.en.md
=====================================================
+++
title = "ALTER TRAFFIC RULE"
weight = 7
+++

### Description

The `ALTER TRAFFIC RULE` syntax is used to alter dual routing rule.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
AlterTrafficRule ::=
  'ALTER' 'TRAFFIC' 'RULE'  '(' 'LABELS' '(' lableName ')' ',' trafficAlgorithmDefinition ',' loadBalancerDefinition ')'

lableName ::=
  identifier

trafficAlgorithmDefinition ::=
  'TRAFFIC_ALGORITHM' '(' 'TYPE' '(' 'NAME' '=' trafficAlgorithmTypeName (',' propertiesDefinition)? ')' ')'

loadBalancerDefinition ::=
  'LOAD_BALANCER' '(' 'TYPE' '(' 'NAME' '=' loadBalancerName (',' propertiesDefinition)? ')' ')'

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

trafficAlgorithmTypeName ::=
  string

loadBalancerTypeName ::=
  string

key ::= 
  string

value ::=
  literal
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `TRAFFIC_ALGORITHM` support `SQL_MATCH` and `SQL_HINT` two types;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-authority-rule.en.md
=====================================================
+++
title = "SHOW AUTHORITY RULE"
weight = 1
+++

### Description

The `SHOW AUTHORITY RULE` syntax is used to query authority rule configuration.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowAuthorityRule ::=
  'SHOW' 'AUTHORITY' 'RULE'
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Column      | Description             |
|-------------|-------------------------|
| users       | users                   |
| provider    | privilege provider type |
| props       | privilege properties    |

### Example

- Query authority rule configuration

```sql
SHOW AUTHORITY RULE;
```

```sql
mysql> SHOW AUTHORITY RULE;
+--------------------+---------------+-------+
| users              | provider      | props |
+--------------------+---------------+-------+
| root@%; sharding@% | ALL_PERMITTED |       |
+--------------------+---------------+-------+
1 row in set (0.07 sec)
```

### Reserved word

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-sql-federation-rule.en.md
=====================================================
+++
title = "ALTER SQL_FEDERATION RULE"
weight = 9
+++

### Description

The `ALTER SQL_FEDERATION RULE` syntax is used to modify the federated query configuration.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
AlterSQLFederationRule ::=
  'ALTER' 'SQL_FEDERATION' 'RULE' sqlFederationRuleDefinition

sqlFederationRuleDefinition ::=
  '(' sqlFederationEnabled? allQueryUseSQLFederation? (','? executionPlanCache)? ')'

sqlFederationEnabled ::=
  'SQL_FEDERATION_ENABLED' '=' boolean_

allQueryUseSQLFederation ::=
  'ALL_QUERY_USE_SQL_FEDERATION' '=' boolean_

executionPlanCache ::=
  'EXECUTION_PLAN_CACHE' '(' cacheOption ')'

cacheOption ::=
  ('INITIAL_CAPACITY' '=' initialCapacity)? (',' 'MAXIMUM_SIZE' '=' maximumSize)?

initialCapacity ::=
  int

maximumSize ::=
  int

boolean_ ::=
  TRUE | FALSE
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Example

- Alter SQL Federation rule

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-sql-parser-rule.en.md
=====================================================
+++
title = "Alter SQL_PARSER Rule"
weight = 5
+++

### Description

The `ALTER SQL_PARSER RULE` syntax is used to alter the SQL parser rule configuration.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
AlterSqlParserRule ::=
  'ALTER' 'SQL_PARSER' 'RULE' '(' sqlParserRuleDefinition ')'

sqlParserRuleDefinition ::=
  parseTreeCacheDefinition? (',' sqlStatementCacheDefinition)?

parseTreeCacheDefinition ::=
  'PARSE_TREE_CACHE' '(' cacheOption ')'

sqlStatementCacheDefinition ::=
  'SQL_STATEMENT_CACHE' '(' cacheOption ')'

cacheOption ::=
  ('INITIAL_CAPACITY' '=' initialCapacity)? (','? 'MAXIMUM_SIZE' '=' maximumSize)?

initialCapacity ::=
  int

maximumSize ::=
  int
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Note
- `PARSE_TREE_CACHE`: local cache configuration of the syntax tree.

- `SQL_STATEMENT_CACHE`: the local cache of SQL statement.

### Example

- Alter SQL parser rule


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-sql-federation-rule.cn.md
=====================================================
+++
title = "SHOW SQL_FEDERATION RULE"
weight = 8
+++

### 描述

`SHOW SQL_FEDERATION RULE` 语法用于查询联邦查询配置。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowSQLFederationRule ::=
  'SHOW' 'SQL_FEDERATION' 'RULE'
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列        | 说明                |
|----------|-------------------|
| sql_federation_enabled    | 是否开启联邦查询          |
| all_query_use_sql_federation | 是否全部查询 SQL 使用联邦查询 |
| execution_plan_cache    | 执行计划缓存            |

### 示例

- 查询联邦查询配置

```sql
SHOW SQL_FEDERATION RULE;
```

```sql
mysql> show sql_federation rule;
+------------------------+------------------------------+-------------------------------------------+
| sql_federation_enabled | all_query_use_sql_federation | execution_plan_cache                      |
+------------------------+------------------------------+-------------------------------------------+
| true                   | false                        | initialCapacity: 2000, maximumSize: 65535 |
+------------------------+------------------------------+-------------------------------------------+
1 row in set (0.31 sec)
```

### 保留字

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-authority-rule.cn.md
=====================================================
+++
title = "SHOW AUTHORITY RULE"
weight = 1
+++

### 描述

`SHOW AUTHORITY RULE` 语法用于查询权限规则配置。
### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowAuthorityRule ::=
  'SHOW' 'AUTHORITY' 'RULE'
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列        | 说明      |
|----------|---------|
| users    | 用户      |
| provider | 权限提供者类型 |
| props    | 权限参数    |

### 示例

- 查询权限规则配置

```sql
SHOW AUTHORITY RULE;
```

```sql
mysql> SHOW AUTHORITY RULE;
+--------------------+---------------+-------+
| users              | provider      | props |
+--------------------+---------------+-------+
| root@%; sharding@% | ALL_PERMITTED |       |
+--------------------+---------------+-------+
1 row in set (0.07 sec)
```

### 保留字


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-transaction-rule.en.md
=====================================================
+++
title = "ALTER TRANSACTION RULE"
weight = 3
+++

### Description

The `ALTER TRANSACTION RULE` syntax is used to alter transaction rule configuration.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
AlterTransactionRule ::=
  'ALTER' 'TRANSACTION' 'RULE' '(' 'DEFAULT' '=' defaultTransactionType ',' 'TYPE' '(' 'NAME' '=' transactionManager ',' propertiesDefinition ')' ')'

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

defaultTransactionType ::=
  string

transactionManager ::=
  string

key ::=
  string

value ::=
  literal
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- `defaultTransactionType` support `LOCAL`, `XA`, `BASE`

- `transactionManager` support  `Atomikos` and `Narayana`

### Example

- Alter transaction rule

```sql
ALTER TRANSACTION RULE(

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-transaction-rule.cn.md
=====================================================
+++
title = "SHOW TRANSACTION RULE"
weight = 2
+++

### 描述

`SHOW TRANSACTION RULE` 语法用于查询事务规则配置。
### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowTransactionRule ::=
  'SHOW' 'TRANSACTION' 'RULE'
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列             | 说明      |
|---------------|---------|
| default_type  | 默认事务类型  |
| provider_type | 事务提供者类型 |
| props         | 事务参数    |

### 示例

- 查询事务规则配置

```sql
SHOW TRANSACTION RULE;
```

```sql
mysql> SHOW TRANSACTION RULE;
+--------------+---------------+-------+
| default_type | provider_type | props |
+--------------+---------------+-------+
| LOCAL        |               |       |
+--------------+---------------+-------+
1 row in set (0.05 sec)
```

### 保留字


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-sql-parser-rule.en.md
=====================================================
+++
title = "SHOW SQL_PARSER RULE"
weight = 4
+++

### Description

The `SHOW SQL_PARSER RULE` syntax is used to query sql parser rule configuration.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowSqlParserRule ::=
  'SHOW' 'SQL_PARSER' 'RULE'
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Column                    | Description                       |
|---------------------------|-----------------------------------|
| parse_tree_cache          | parse tree cache configuration    |
| sql_statement_cache       | SQL statement cache configuration |

### Example

- Query sql parser rule configuration

```sql
SHOW SQL_PARSER RULE;
```

```sql
mysql> SHOW SQL_PARSER RULE;
+-----------------------------------------+-------------------------------------------+
| parse_tree_cache                        | sql_statement_cache                       |
+-----------------------------------------+-------------------------------------------+
| initialCapacity: 128, maximumSize: 1024 | initialCapacity: 2000, maximumSize: 65535 |
+-----------------------------------------+-------------------------------------------+
1 row in set (0.05 sec)
```

### Reserved word


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-traffic-rule.cn.md
=====================================================
+++
title = "SHOW TRAFFIC RULE"
weight = 6
+++

### 描述

`SHOW TRAFFIC RULE` 语法用于查询指定的双路由规则。
### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowTrafficRule ::=
  'SHOW' 'TRAFFIC' ('RULES' | 'RULE' ruleName)?

ruleName ::=
  identifier
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- 未指定 `ruleName` 时,默认查询所有双路由规则

### 返回值说明

| 列                   | 说明      |
|---------------------|---------|
| name                | 双路由规则名称 |
| labels              | 计算节点标签  |
| algorithm_type      | 双路由算法类型 |
| algorithm_props     | 双路由算法参数 |
| load_balancer_type  | 负载均衡器类型 |
| load_balancer_props | 负载均衡器参数 |

### 示例

- 查询指定双路由规则

```sql
SHOW TRAFFIC RULE sql_match_traffic;
```

```sql
mysql> SHOW TRAFFIC RULE sql_match_traffic;

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-traffic-rule.cn.md
=====================================================
+++
title = "ALTER TRAFFIC RULE"
weight = 7
+++

## 描述

`ALTER TRAFFIC RULE` 语法用于修改双路由规则。

### 语法定义

{{< tabs >}}
{{% tab name="语法" %}}
```sql
AlterTrafficRule ::=
  'ALTER' 'TRAFFIC' 'RULE'  '(' 'LABELS' '(' lableName ')' ',' trafficAlgorithmDefinition ',' loadBalancerDefinition ')'

lableName ::=
  identifier

trafficAlgorithmDefinition ::=
  'TRAFFIC_ALGORITHM' '(' 'TYPE' '(' 'NAME' '=' trafficAlgorithmTypeName (',' propertiesDefinition)? ')' ')'

loadBalancerDefinition ::=
  'LOAD_BALANCER' '(' 'TYPE' '(' 'NAME' '=' loadBalancerName (',' propertiesDefinition)? ')' ')'

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

trafficAlgorithmTypeName ::=
  string

loadBalancerTypeName ::=
  string

key ::= 
  string

value ::=
  literal
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `TRAFFIC_ALGORITHM` 支持 `SQL_MATCH` 与 `SQL_HINT` 两种类型

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-transaction-rule.en.md
=====================================================
+++
title = "SHOW TRANSACTION RULE"
weight = 2
+++

### Description

The `SHOW TRANSACTION RULE` syntax is used to query transaction rule configuration.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowTransactionRule ::=
  'SHOW' 'TRANSACTION' 'RULE'
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Column   | Description             |
|----------|-------------------------|
| users    | users                   |
| provider | privilege provider type |
| props    | privilege properties    |

### Example

- Query transaction rule configuration

```sql
SHOW TRANSACTION RULE;
```

```sql
mysql> SHOW TRANSACTION RULE;
+--------------+---------------+-------+
| default_type | provider_type | props |
+--------------+---------------+-------+
| LOCAL        |               |       |
+--------------+---------------+-------+
1 row in set (0.05 sec)
```

### Reserved word

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-sql-parser-rule.cn.md
=====================================================
+++
title = "ALTER SQL_PARSER RULE"
weight = 5
+++

### 描述

`ALTER SQL_PARSER RULE` 语法用于修改解析引擎规则配置。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
AlterSqlParserRule ::=
  'ALTER' 'SQL_PARSER' 'RULE' '(' sqlParserRuleDefinition ')'

sqlParserRuleDefinition ::=
  parseTreeCacheDefinition? (',' sqlStatementCacheDefinition)?

parseTreeCacheDefinition ::=
  'PARSE_TREE_CACHE' '(' cacheOption ')'

sqlStatementCacheDefinition ::=
  'SQL_STATEMENT_CACHE' '(' cacheOption ')'

cacheOption ::=
  ('INITIAL_CAPACITY' '=' initialCapacity)? (','? 'MAXIMUM_SIZE' '=' maximumSize)?

initialCapacity ::=
  int

maximumSize ::=
  int
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `PARSE_TREE_CACHE`:语法树本地缓存配置

- `SQL_STATEMENT_CACHE`:SQL 语句本地缓存配置项

### 示例

- 修改 SQL 解析引擎规则

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-traffic-rule.en.md
=====================================================
+++
title = "SHOW TRAFFIC RULE"
weight = 6
+++

### Description

The `SHOW TRAFFIC RULE` syntax is used to query specified dual routing rule.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowTrafficRule ::=
  'SHOW' 'TRAFFIC' ('RULES' | 'RULE' ruleName)?

ruleName ::=
  identifier
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Supplement

- When `ruleName` not specified, the default is show all traffic rules

### Return Value Description

| Column              | Description                  |
|---------------------|------------------------------|
| name                | traffic rule name            |
| labels              | compute node labels          |
| algorithm_type      | traffic algorithm type       |
| algorithm_props     | traffic algorithn properties |
| load_balancer_type  | load balancer type           |
| load_balancer_props | load balancer properties     |

### Example

- Query specified traffic rule

```sql
SHOW TRAFFIC RULE sql_match_traffic;
```

```sql

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/_index.en.md
=====================================================
+++
title = "GLOBAL RULE"
weight = 1
chapter = true

+++

This chapter describes the syntax of Global Rule.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-sql-parser-rule.cn.md
=====================================================
+++
title = "SHOW SQL_PARSER RULE"
weight = 4
+++

### 描述

`SHOW SQL_PARSER RULE` 语法用于查询解析引擎规则配置。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowSqlParserRule ::=
  'SHOW' 'SQL_PARSER' 'RULE'
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列                        | 说明                |
|---------------------------|--------------------|
| parse_tree_cache          | 语法树缓存           |
| sql_statement_cache       | SQL 语句缓存         |

### 示例

- 查询解析引擎规则配置

```sql
SHOW SQL_PARSER RULE;
```

```sql
mysql> SHOW SQL_PARSER RULE;
+-----------------------------------------+-------------------------------------------+
| parse_tree_cache                        | sql_statement_cache                       |
+-----------------------------------------+-------------------------------------------+
| initialCapacity: 128, maximumSize: 1024 | initialCapacity: 2000, maximumSize: 65535 |
+-----------------------------------------+-------------------------------------------+
1 row in set (0.05 sec)
```

### 保留字


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-transaction-rule.cn.md
=====================================================
+++
title = "ALTER TRANSACTION RULE"
weight = 3
+++

### 描述

`ALTER TRANSACTION RULE` 语法用于修改事务规则。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
AlterTransactionRule ::=
  'ALTER' 'TRANSACTION' 'RULE' '(' 'DEFAULT' '=' defaultTransactionType ',' 'TYPE' '(' 'NAME' '=' transactionManager ',' propertiesDefinition ')' ')'

propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'

defaultTransactionType ::=
  string

transactionManager ::=
  string

key ::=
  string

value ::=
  literal
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 补充说明

- `defaultTransactionType` 支持 `LOCAL`、`XA`、`BASE`

- `transactionManager` 支持  `Atomikos` 和 `Narayana`

### 示例

- 修改事务规则配置

```sql
ALTER TRANSACTION RULE(

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-sql-federation-rule.cn.md
=====================================================
+++
title = "ALTER SQL_FEDERATION RULE"
weight = 9
+++

### 描述

`ALTER SQL_FEDERATION RULE` 语法用于修改联邦查询配置。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
AlterSQLFederationRule ::=
  'ALTER' 'SQL_FEDERATION' 'RULE' sqlFederationRuleDefinition

sqlFederationRuleDefinition ::=
  '(' sqlFederationEnabled? allQueryUseSQLFederation? (','? executionPlanCache)? ')'

sqlFederationEnabled ::=
  'SQL_FEDERATION_ENABLED' '=' boolean_

allQueryUseSQLFederation ::=
  'ALL_QUERY_USE_SQL_FEDERATION' '=' boolean_

executionPlanCache ::=
  'EXECUTION_PLAN_CACHE' '(' cacheOption ')'

cacheOption ::=
  ('INITIAL_CAPACITY' '=' initialCapacity)? (',' 'MAXIMUM_SIZE' '=' maximumSize)?

initialCapacity ::=
  int

maximumSize ::=
  int

boolean_ ::=
  TRUE | FALSE
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 示例

- 修改联邦查询配置

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-sql-federation-rule.en.md
=====================================================
+++
title = "SHOW SQL_FEDERATION RULE"
weight = 8
+++

### Description

The `SHOW SQL_FEDERATION RULE` syntax is used to query the federated query configuration.

### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowSQLFederationRule ::=
  'SHOW' 'SQL_FEDERATION' 'RULE'
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Column                       | Description                                |
|------------------------------|--------------------------------------------|
| sql_federation_enabled       | SQL federation enabled configuration       |
| all_query_use_sql_federation | all query use SQL federation configuration |
| execution_plan_cache         | execution plan cache configuration         |

### Example

- Query sql federation rule configuration

```sql
SHOW SQL_FEDERATION RULE;
```

```sql
mysql> show sql_federation rule;
+------------------------+------------------------------+-------------------------------------------+
| sql_federation_enabled | all_query_use_sql_federation | execution_plan_cache                      |
+------------------------+------------------------------+-------------------------------------------+
| true                   | false                        | initialCapacity: 2000, maximumSize: 65535 |
+------------------------+------------------------------+-------------------------------------------+
1 row in set (0.31 sec)
```

### Reserved word

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-compute-node-info.cn.md
=====================================================
+++
title = "SHOW COMPUTE NODE INFO"
weight = 5
+++

### 描述

`SHOW COMPUTE NODE INFO` 语法用于查询当前 proxy 实例信息。

### 语法

{{< tabs >}}
{{% tab name="语法" %}}
```sql
ShowComputeNodeInfo ::=
  'SHOW' 'COMPUTE' 'NODE' 'INFO'
```
{{% /tab %}}
{{% tab name="铁路图" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### 返回值说明

| 列           | 说明         |
|-------------|------------|
| instance_id | proxy 实例编号 |
| host        | 主机地址       |
| port        | 端口号        |
| status      | proxy 实例状态 |
| mode_type   | proxy 实例模式 |
| worker_id   | worker id  |
| labels      | 标签         |

### 示例

- 查询当前 proxy 实例信息

```sql
SHOW COMPUTE NODE INFO;
```

```sql
mysql> SHOW COMPUTE NODE INFO;
+--------------------------------------+---------------+------+--------+-----------+-----------+--------+
| instance_id                          | host          | port | status | mode_type | worker_id | labels |
+--------------------------------------+---------------+------+--------+-----------+-----------+--------+
| 734bb036-b15d-4af0-be87-2372d8b6a0cd | 192.168.5.163 | 3307 | OK     | Cluster   | -1        |        |
+--------------------------------------+---------------+------+--------+-----------+-----------+--------+

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-compute-node-mode.en.md
=====================================================
+++
title = "SHOW COMPUTE NODE MODE"
weight = 6
+++

### Description

The `SHOW COMPUTE NODE MODE` syntax is used to query current proxy instance mode configuration information.
### Syntax

{{< tabs >}}
{{% tab name="Grammar" %}}
```sql
ShowComputeNodeInfo ::=
  'SHOW' 'COMPUTE' 'NODE' 'MODE'
```
{{% /tab %}}
{{% tab name="Railroad diagram" %}}
<iframe frameborder="0" name="diagram" id="diagram" width="100%" height="100%"></iframe>
{{% /tab %}}
{{< /tabs >}}

### Return Value Description

| Columns      | Description                        |
|--------------|------------------------------------|
| type         | type of proxy mode configuration   |
| repository   | type of persist repository         |
| props        | properties of persist repository   |

### Example

- Query current proxy instance mode configuration information

```sql
SHOW COMPUTE NODE MODE;
```

```sql
mysql> SHOW COMPUTE NODE MODE;
+---------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| type    | repository | props                                                                                                                                                                  |
+---------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Cluster | ZooKeeper  | {"operationTimeoutMilliseconds":500,"timeToLiveSeconds":60,"maxRetries":3,"namespace":"governance_ds","server-lists":"localhost:2181","retryIntervalMilliseconds":500} |
+---------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

```

### Reserved word

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/_index.en.md
=====================================================
+++
title = "Syntax"
weight = 1
chapter = true
+++

This chapter describes the syntax of DistSQL in detail, and introduces use of DistSQL with practical examples.

## Syntax Rule

In DistSQL statement, except for keywords, the input format of other elements shall conform to the following rules.

### Identifier

1. The identifier represents an object in the SQL statement, including:

- database name
- table name
- column name
- index name
- resource name
- rule name
- algorithm name

2. The allowed characters in the identifier are: [`a-z, A-Z, 0-9, _`] (letters, numbers, underscores) and should start with a letter.
3. When keywords or special characters appear in the identifier, use the backticks (`).

### Literal

Types of literals include:

- string: enclosed in single quotes (') or double quotes (")
- int: it is generally a positive integer, such as 0-9;

Note: some DistSQL syntax allows negative values. In this case, a negative sign (-) can be added before the number, such as -1.

- boolean, containing only true & false. Case insensitive.

### Special Instructions

- The `""` must be used to mark the algorithm type name when specifying a user-defined algorithm type name, for example, `NAME="AlgorithmTypeName"`

- The `""` is not necessary when specifying a ShardingSphere [Built-in algorithm](/en/user-manual/common-config/builtin-algorithm/) type name, for example, `NAME=HASH_MOD`

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/_index.en.md
=====================================================
+++
title = "DistSQL"
weight = 3
chapter = true
+++

This chapter will introduce the detailed syntax of DistSQL.

## Definition

DistSQL (Distributed SQL) is Apache ShardingSphere's specific SQL, providing additional operation capabilities compared to standard SQL.

Flexible rule configuration and resource management & control capabilities are one of the characteristics of Apache ShardingSphere.

When using 4.x and earlier versions, developers can operate data just like using a database, but they need to configure resources and rules through YAML file (or registry center). However, the YAML file format and the changes brought by using the registry center made it unfriendly to DBAs.

Starting from version 5.x, DistSQL enables users to operate Apache ShardingSphere just like a database, transforming it from a framework and middleware for developers to a database product for DBAs.

## Related Concepts

DistSQL is divided into RDL, RQL, RAL and RUL.

### RDL

Resource & Rule Definition Language, is responsible for the definition of resources and rules.

### RQL

Resource & Rule Query Language, is responsible for the query of resources and rules.

### RAL

Resource & Rule Administration Language, is responsible for hint, circuit breaker, configuration import and export, scaling control and other management functions.

### RUL

Resource & Rule Utility Language, is responsible for SQL parsing, SQL formatting, preview execution plan, etc.

## Impact on the System

### Before

Before having DistSQL, users used SQL to operate data while using YAML configuration files to manage ShardingSphere, as shown below:

![Before](https://shardingsphere.apache.org/document/current/img/distsql/before.png)

At that time, users faced the following problems:
- Different types of clients are required to operate data and manage ShardingSphere configuration.
- Multiple logical databases require multiple YAML files.
- Editing a YAML file requires writing permissions.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/encrypt-rule.cn.md
=====================================================
+++
title = "数据加密"
weight = 3
+++

## 存储单元操作

```sql
REGISTER STORAGE UNIT ds_0 (
    HOST="127.0.0.1",
    PORT=3306,
    DB="ds_0",
    USER="root",
    PASSWORD="root"
);
```

## 规则操作

- 创建加密规则

```sql
CREATE ENCRYPT RULE t_encrypt (
    COLUMNS(
        (NAME=user_id,CIPHER=user_cipher,ENCRYPT_ALGORITHM(TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abc')))),
        (NAME=order_id,CIPHER =order_cipher,ENCRYPT_ALGORITHM(TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abc'))))
));
```

- 创建加密表

```sql
CREATE TABLE `t_encrypt` (
    `id` int(11) NOT NULL,
    `user_id` varchar(45) DEFAULT NULL,
    `order_id` varchar(45) DEFAULT NULL,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```

- 修改加密规则

```sql
ALTER ENCRYPT RULE t_encrypt (
    COLUMNS(
        (NAME=user_id,CIPHER=user_cipher,ENCRYPT_ALGORITHM(TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abc'))))
));
```

- 删除加密规则

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/sharding-rule.cn.md
=====================================================
+++
title = "数据分片"
weight = 1
+++

## 存储单元操作

```sql
REGISTER STORAGE UNIT ds_0 (
    HOST="127.0.0.1",
    PORT=3306,
    DB="ds_1",
    USER="root",
    PASSWORD="root"
),ds_1 (
    HOST="127.0.0.1",
    PORT=3306,
    DB="ds_2",
    USER="root",
    PASSWORD="root"
);
```

## 规则操作

- 创建分片规则

```sql
CREATE SHARDING TABLE RULE t_order(
STORAGE_UNITS(ds_0,ds_1),
SHARDING_COLUMN=order_id,
TYPE(NAME="hash_mod",PROPERTIES("sharding-count"="4")),
KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME="snowflake"))
);
```

- 创建切分表

```sql
CREATE TABLE `t_order` (
  `order_id` int NOT NULL,
  `user_id` int NOT NULL,
  `status` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`order_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
```

- 删除切分表

```sql

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/readwirte-splitting-rule.cn.md
=====================================================
+++
title = "读写分离"
weight = 2
+++

## 存储单元操作

```sql
REGISTER STORAGE UNIT write_ds (
    HOST="127.0.0.1",
    PORT=3306,
    DB="ds_0",
    USER="root",
    PASSWORD="root"
),read_ds (
    HOST="127.0.0.1",
    PORT=3307,
    DB="ds_0",
    USER="root",
    PASSWORD="root"
);
```

## 规则操作

- 创建读写分离规则

```sql
CREATE READWRITE_SPLITTING RULE group_0 (
WRITE_STORAGE_UNIT=write_ds,
READ_STORAGE_UNITS(read_ds),
TYPE(NAME="random")
);
```

- 修改读写分离规则

```sql
ALTER READWRITE_SPLITTING RULE group_0 (
WRITE_STORAGE_UNIT=write_ds,
READ_STORAGE_UNITS(read_ds),
TYPE(NAME="random",PROPERTIES("read_weight"="2:0"))
);
```

- 删除读写分离规则

```sql
DROP READWRITE_SPLITTING RULE group_0;
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/mask-rule.en.md
=====================================================
+++
title = "MASK"
weight = 4
+++

## Storage unit Operation

```sql
REGISTER STORAGE UNIT ds_0 (
    HOST="127.0.0.1",
    PORT=3306,
    DB="ds_0",
    USER="root",
    PASSWORD="root"
);
```

## Rule Operation

- Create mask rule

```sql
CREATE MASK RULE t_mask (
    COLUMNS(
        (NAME=phone_number,TYPE(NAME='MASK_FROM_X_TO_Y', PROPERTIES("from-x"=1, "to-y"=2, "replace-char"="*"))),
        (NAME=address,TYPE(NAME='MD5'))
));
```

- Create mask table

```sql
CREATE TABLE `t_mask` (
    `id` int(11) NOT NULL,
    `user_id` varchar(45) DEFAULT NULL,
    `phone_number` varchar(45) DEFAULT NULL,
    `address` varchar(45) DEFAULT NULL,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```

- Alter mask rule

```sql
ALTER MASK RULE t_mask (
    COLUMNS(
        (NAME=user_id,TYPE(NAME='MD5'))
));
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/shadow-rule.en.md
=====================================================
+++
title = "Shadow"
weight = 5
+++

## Storage unit Operation

```sql
REGISTER STORAGE UNIT ds_0 (
    HOST="127.0.0.1",
    PORT=3306,
    DB="ds_0",
    USER="root",
    PASSWORD="root"
),ds_1 (
    HOST="127.0.0.1",
    PORT=3306,
    DB="ds_1",
    USER="root",
    PASSWORD="root"
),ds_2 (
    HOST="127.0.0.1",
    PORT=3306,
    DB="ds_2",
    USER="root",
    PASSWORD="root"
);
```

## Rule Operation

- Create shadow rule

```sql
CREATE SHADOW RULE group_0(
SOURCE=ds_0,
SHADOW=ds_1,
t_order(TYPE(NAME="SQL_HINT"),TYPE(NAME="REGEX_MATCH", PROPERTIES("operation"="insert","column"="user_id", "regex"='[1]'))), 
t_order_item(TYPE(NAME="SQL_HINT")));
```

- Alter shadow rule

```sql
ALTER SHADOW RULE group_0(
SOURCE=ds_0,
SHADOW=ds_2,
t_order_item(TYPE(NAME="SQL_HINT")));
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/sharding-rule.en.md
=====================================================
+++
title = "Sharding"
weight = 1
+++

## Storage unit Operation

- Configure data source information

```sql
REGISTER STORAGE UNIT ds_0 (
    HOST="127.0.0.1",
    PORT=3306,
    DB="ds_1",
    USER="root",
    PASSWORD="root"
),ds_1 (
    HOST="127.0.0.1",
    PORT=3306,
    DB="ds_2",
    USER="root",
    PASSWORD="root"
);
```

## Rule Operation

- Create sharding rule

```sql
CREATE SHARDING TABLE RULE t_order(
STORAGE_UNITS(ds_0,ds_1),
SHARDING_COLUMN=order_id,
TYPE(NAME="hash_mod",PROPERTIES("sharding-count"="4")),
KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME="snowflake"))
);
```

- Create sharding table

```sql
CREATE TABLE `t_order` (
  `order_id` int NOT NULL,
  `user_id` int NOT NULL,
  `status` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`order_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
```

- Drop sharding table

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/shadow-rule.cn.md
=====================================================
+++
title = "影子库压测"
weight = 5
+++

## 存储单元操作

```sql
REGISTER STORAGE UNIT ds_0 (
    HOST="127.0.0.1",
    PORT=3306,
    DB="ds_0",
    USER="root",
    PASSWORD="root"
),ds_1 (
    HOST="127.0.0.1",
    PORT=3306,
    DB="ds_1",
    USER="root",
    PASSWORD="root"
),ds_2 (
    HOST="127.0.0.1",
    PORT=3306,
    DB="ds_2",
    USER="root",
    PASSWORD="root"
);
```

## 规则操作

- 创建影子库压测规则

```sql
CREATE SHADOW RULE group_0(
SOURCE=ds_0,
SHADOW=ds_1,
t_order(TYPE(NAME="SQL_HINT"),TYPE(NAME="REGEX_MATCH", PROPERTIES("operation"="insert","column"="user_id", "regex"='[1]'))), 
t_order_item(TYPE(NAME="SQL_HINT")));
```

- 修改影子库压测规则

```sql
ALTER SHADOW RULE group_0(
SOURCE=ds_0,
SHADOW=ds_2,
t_order_item(TYPE(NAME="SQL_HINT")));
```


=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/_index.en.md
=====================================================
+++
title = "Usage"
weight = 2
chapter = true
+++

This chapter will introduce how to use DistSQL to manage resources and rules in a distributed database.

## Pre-work

Use MySQL as example, can replace to other databases.

1. Start the MySQL service;
1. Create to be registered MySQL databases;
1. Create role and user in MySQL with creation permission for ShardingSphere-Proxy;
1. Start Zookeeper service;
1. Add `mode` and `authentication` configurations to `global.yaml`;
1. Start ShardingSphere-Proxy;
1. Use SDK or terminal connect to ShardingSphere-Proxy.

## Create Logic Database

1. Create logic database

```sql
CREATE DATABASE foo_db;
```

2. Use newly created logic database

```sql
USE foo_db;
```

## Resource Operation

More details please see concentrate rule examples.

## Rule Operation

More details please see concentrate rule examples.

### Notice

1. Currently, `DROP DATABASE` will only remove the `logical distributed database`, not the user's actual database;
1. `DROP TABLE` will delete all logical fragmented tables and actual tables in the database;
1. `CREATE DATABASE` will only create a `logical distributed database`, so users need to create actual databases in advance.

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/readwirte-splitting-rule.en.md
=====================================================
+++
title = "Readwrite_splitting"
weight = 2
+++

## Storage unit Operation

```sql
REGISTER STORAGE UNIT write_ds (
    HOST="127.0.0.1",
    PORT=3306,
    DB="ds_0",
    USER="root",
    PASSWORD="root"
),read_ds (
    HOST="127.0.0.1",
    PORT=3307,
    DB="ds_0",
    USER="root",
    PASSWORD="root"
);
```

## Rule Operation

- Create readwrite_splitting rule

```sql
CREATE READWRITE_SPLITTING RULE group_0 (
WRITE_STORAGE_UNIT=write_ds,
READ_STORAGE_UNITS(read_ds),
TYPE(NAME="random")
);
```

- Alter readwrite_splitting rule

```sql
ALTER READWRITE_SPLITTING RULE group_0 (
WRITE_STORAGE_UNIT=write_ds,
READ_STORAGE_UNITS(read_ds),
TYPE(NAME="random",PROPERTIES("read_weight"="2:0"))
);
```

- Drop readwrite_splitting rule

```sql
DROP READWRITE_SPLITTING RULE group_0;
```

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/encrypt-rule.en.md
=====================================================
+++
title = "Encrypt"
weight = 3
+++

## Storage unit Operation

```sql
REGISTER STORAGE UNIT ds_0 (
    HOST="127.0.0.1",
    PORT=3306,
    DB="ds_0",
    USER="root",
    PASSWORD="root"
);
```

## Rule Operation

- Create encrypt rule

```sql
CREATE ENCRYPT RULE t_encrypt (
    COLUMNS(
        (NAME=user_id,CIPHER=user_cipher,ENCRYPT_ALGORITHM(TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abc')))),
        (NAME=order_id,CIPHER =order_cipher,ENCRYPT_ALGORITHM(TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abc'))))
));
```

- Create encrypt table

```sql
CREATE TABLE `t_encrypt` (
    `id` int(11) NOT NULL,
    `user_id` varchar(45) DEFAULT NULL,
    `order_id` varchar(45) DEFAULT NULL,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```

- Alter encrypt rule

```sql
ALTER ENCRYPT RULE t_encrypt (
    COLUMNS(
        (NAME=user_id,CIPHER=user_cipher,ENCRYPT_ALGORITHM(TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abc'))))
));
```

- Drop encrypt rule

=====================================================
== File: docs/document/content/user-manual/shardingsphere-proxy/distsql/usage/mask-rule.cn.md
=====================================================
+++
title = "数据脱敏"
weight = 4
+++

## 存储单元操作

```sql
REGISTER STORAGE UNIT ds_0 (
    HOST="127.0.0.1",
    PORT=3306,
    DB="ds_0",
    USER="root",
    PASSWORD="root"
);
```

## 规则操作

- 创建数据脱敏规则

```sql
CREATE MASK RULE t_mask (
    COLUMNS(
        (NAME=phone_number,TYPE(NAME='MASK_FROM_X_TO_Y', PROPERTIES("from-x"=1, "to-y"=2, "replace-char"="*"))),
        (NAME=address,TYPE(NAME='MD5'))
));
```

- 创建数据脱敏表

```sql
CREATE TABLE `t_mask` (
    `id` int(11) NOT NULL,
    `user_id` varchar(45) DEFAULT NULL,
    `phone_number` varchar(45) DEFAULT NULL,
    `address` varchar(45) DEFAULT NULL,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```

- 修改数据脱敏规则

```sql
ALTER MASK RULE t_mask (
    COLUMNS(
        (NAME=user_id,TYPE(NAME='MD5'))
));
```


=====================================================
== File: docs/document/content/user-manual/_index.cn.md
=====================================================
+++
pre = "<b>4. </b>"
title = "用户手册"
weight = 4
chapter = true
+++

本章节面向 Apache ShardingSphere 的用户,详细阐述项目的使用说明。

=====================================================
== File: docs/document/content/user-manual/_index.en.md
=====================================================
+++
pre = "<b>4. </b>"
title = "User Manual"
weight = 4
chapter = true
+++

This chapter describes how to use projects of Apache ShardingSphere.

=====================================================
== File: docs/document/content/user-manual/error-code/sql-error-code.en.md
=====================================================
+++
title = "SQL Error Code"
weight = 1
chapter = true
+++

SQL error codes provide by standard `SQL State`, `Vendor Code` and `Reason`, which return to client when SQL execute error.

**the error codes are draft, still need to be adjusted.**

## Kernel Exception

### Meta data

| Vendor Code | SQL State | Reason                                                                              |
|-------------|-----------|-------------------------------------------------------------------------------------|
| 10000       | 42S02     | Database is required.                                                               |
| 10001       | 42S02     | Schema '%s' does not exist.                                                         |
| 10002       | 42S02     | Table or view '%s' does not exist.                                                  |
| 10003       | 42S02     | Unknown column '%s' in '%s'.                                                        |
| 10010       | HY000     | Rule and storage meta data mismatched, reason is: %s.                               |
| 10100       | HY000     | Can not %s storage units '%s'.                                                      |
| 10101       | 42S02     | There is no storage unit in database '%s'.                                          |
| 10102       | 44000     | Storage units '%s' do not exist in database '%s'.                                   |
| 10103       | 44000     | Storage unit '%s' still used by '%s'.                                               |
| 10104       | 42S01     | Duplicate storage unit names '%s'.                                                  |
| 10110       | 08000     | Storage units can not connect, error messages are: %s.                              |
| 10111       | 0A000     | Can not alter connection info in storage units: '%s'.                               |
| 10120       | 44000     | Invalid storage unit status, error message is: %s.                                  |
| 10200       | 44000     | Invalid '%s' rule '%s', error message is: %s                                        |
| 10201       | 42S02     | There is no rule in database '%s'.                                                  |
| 10202       | 42S02     | %s rules '%s' do not exist in database '%s'.                                        |
| 10203       | 44000     | %s rules '%s' in database '%s' are still in used.                                   |
| 10204       | 42S01     | Duplicate %s rule names '%s' in database '%s'.                                      |
| 10210       | 42S02     | %s strategies '%s' do not exist.                                                    |
| 10300       | HY000     | Invalid format for actual data node '%s'.                                           |
| 10301       | 0A000     | Can not support 3-tier structure for actual data node '%s' with JDBC '%s'.          |
| 10400       | 44000     | Algorithm '%s.'%s' initialization failed, reason is: %s.                            |
| 10401       | 42S02     | '%s' algorithm on %s is required.                                                   |
| 10402       | 42S02     | '%s' algorithm '%s' on %s is unregistered.                                          |
| 10403       | 44000     | %s algorithms '%s' in database '%s' are still in used.                              |
| 10404       | 44000     | Invalid %s algorithm configuration '%s'.                                            |
| 10410       | 0A000     | Unsupported %s.%s with database type '%s'.                                          |
| 10440       | HY000     | Algorithm '%s.%s' execute failed, reason is: %s.                                    |
| 10500       | 44000     | Invalid single rule configuration, reason is: %s.                                   |
| 10501       | 42S02     | Single table '%s' does not exist.                                                   |
| 10502       | HY000     | Can not load table with database name '%s' and data source name '%s', reason is: %s |
| 10503       | 0A000     | Can not drop schema '%s' because of contains tables.                                |

### Data

=====================================================
== File: docs/document/content/user-manual/error-code/_index.en.md
=====================================================
+++
pre = "<b>4.4. </b>"
title = "Error Code"
weight = 4
chapter = true
+++

This chapter lists error codes of Apache ShardingSphere.
They include SQL error codes and server error codes.

**All contents of this chapter are draft, the error codes maybe need to adjust.**

=====================================================
== File: docs/document/content/user-manual/error-code/server-error-code.en.md
=====================================================
+++
title = "Server Error Code"
weight = 2
chapter = true
+++

Unique codes provided when server exception occur, which printed by Proxy backend or JDBC startup logs.

| Error Code        | Reason                                                     |
|-------------------|------------------------------------------------------------|
| SPI-00001         | No implementation class load from SPI '%s' with type '%s'. |
| DATA-SOURCE-00001 | Data source '%s' is unavailable.                           |
| PROPS-00001       | Properties convert failed, details are: %s.                |
| PROXY-00001       | Load database server info failed.                          |

=====================================================
== File: docs/document/content/overview/_index.en.md
=====================================================
+++
pre = "<b>1. </b>"
title = "Overview"
weight = 1
chapter = true
+++

## What is ShardingSphere

### Introduction

Apache ShardingSphere is an ecosystem to transform any database into a distributed database system,
and enhance it with sharding, elastic scaling, encryption features & more.

The project is committed to providing a multi-source heterogeneous, enhanced database platform and further building an ecosystem around the upper layer of the platform.
Database Plus, the design philosophy of Apache ShardingSphere, aims at building the standard and ecosystem on the upper layer of the heterogeneous database.
It focuses on how to make full and reasonable use of the computing and storage capabilities of existing databases rather than creating a brand new database.
It attaches greater importance to the collaboration between multiple databases instead of the database itself.

#### ShardingSphere-JDBC

[![Maven Status](https://img.shields.io/maven-central/v/org.apache.shardingsphere/shardingsphere-jdbc.svg?color=green)](https://mvnrepository.com/artifact/org.apache.shardingsphere/shardingsphere-jdbc)

ShardingSphere-JDBC is a lightweight Java framework that provides additional services at Java's JDBC layer.

#### ShardingSphere-Proxy

[![Nightly-Download](https://img.shields.io/badge/nightly--builds-download-orange.svg)](https://nightlies.apache.org/shardingsphere/)
[![Download](https://img.shields.io/badge/release-download-orange.svg)](/cn/downloads/)
[![Docker Pulls](https://img.shields.io/docker/pulls/apache/shardingsphere-proxy.svg)](https://hub.docker.com/r/apache/shardingsphere-proxy)

ShardingSphere-Proxy is a transparent database proxy, providing a database server that encapsulates database binary protocol to support heterogeneous languages.

### Product Features

| Feature                 | Definition                                                                                                                                                                                                                                                                                                                                   |
|-------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Data Sharding           | Data sharding is an effective way to deal with massive data storage and computing. ShardingSphere provides a distributed database solution based on the underlying database, which can scale computing and storage horizontally.                                                                                                             |
| Distributed Transaction | Transactional capability is key to ensuring database integrity and security and is also one of the databases' core technologies. With a hybrid engine based on XA and BASE transactions, ShardingSphere provides distributed transaction capabilities on top of standalone databases, enabling data security across underlying data sources. |
| Read/write Splitting    | Read/write splitting can be used to cope with business access with high stress. ShardingSphere provides flexible read/write splitting capabilities and can achieve read access load balancing based on the understanding of SQL semantics and the ability to perceive the underlying database topology.                                      |
| Data Migration          | Data migration is the key to connecting data ecosystems. ShardingSphere provides migration capabilities to help users migrate the data from other data sources, while simultaneously performing data sharding.                                                                                                                               |
| Query Federation        | Federated queries are effective in utilizing data in a complex data environment. ShardingSphere provides complex data query and analysis capabilities across data sources, simplifying the data aggregation from different data locations.                                                                                                   |
| Data Encryption         | Data Encryption is a basic way to ensure data security. ShardingSphere provides a complete, transparent, secure, and low-cost data encryption solution.                                                                                                                                                                                      |
| Shadow Database         | In full-link online load testing scenarios, ShardingSphere supports data isolation in complex load testing scenarios through the shadow database function. Execute your load testing scenarios in a production environment without worrying about test data polluting your production data.                                                  |

### Advantages

- Ultimate Performance 

Having been polished for years, the driver is close to a native JDBC in terms of efficiency, with ultimate performance.

=====================================================
== File: docs/document/content/test-manual/integration-test/_index.en.md
=====================================================
+++
pre = "<b>6.1. </b>"
title = "Integration Test"
weight = 1
+++

## Design

The integration testing consists of three modules: test case, test environment and test engine.

### Test case

It is used to define the SQL to be tested and the assertion data of the test results.

Each case defines one SQL, which can define multiple database execution types.

### Test environment

It is used to set up the database and ShardingSphere-Proxy environment for running test cases.
The environment is classified into environment preparation mode, database type, and scenario.

Environment preparation mode is divided into Native and Docker, and Embed type will be supported in the future.
  - Native environment is used for test cases to run directly in the test environment provided by the developer, suitable for debugging scenarios;
  - Docker environment is directly built when Maven runs the Docker-Compose plug-in. It is suitable for cloud compilation environment and testing ShardingSphere-Proxy, such as GitHub Action;
  - Embed environment is built when the test framework automatically builds embedded MySQL. It is suitable for the local environment test of ShardingSphere-JDBC.

Currently, the Native environment is adopted by default, and ShardingSphere-JDBC + H2 database is used to run test cases.
Maven's `-pit. Env.docker` parameter specifies how the Docker environment is run.
In the future, ShardingSphere-JDBC + MySQL of the Embed environment will be adopted to replace the default environment type used when Native executes test cases.

Database types currently support MySQL, PostgreSQL, SQLServer, and Oracle, and test cases can be executed using ShardingSphere-JDBC or ShardingSphere-Proxy.

Scenarios are used to test the supporting rules of ShardingSphere. Currently, data sharding and read/write splitting and other related scenarios are supported, and the combination of scenarios will be improved continuously in the future. 

### Test engine

It is used to read test cases in batches and execute and assert test results line by line.

The test engine arranges test cases and environments to test as many scenarios as possible with the fewest test cases.

Each SQL generates a test report in the combination of `database type * access port type * SQL execution mode * JDBC execution mode * Scenario`. Currently, each dimension is supported as follows:

  - Database types: H2, MySQL, PostgreSQL, SQLServer, and Oracle;
  - Access port types: ShardingSphere-JDBC and ShardingSphere-Proxy;
  - SQL execution modes: Statement and PreparedStatement;
    
  - JDBC execution modes: execute and executeQuery/executeUpdate;
  - Scenarios: database shards, table shards, read/write splitting and sharding + read/write splitting

Therefore, one SQL will drive `Database type (5) * Access port type (2) * SQL execution mode (2) * JDBC execution mode (2) * Scenario (4) = 160` test cases to be run to achieve the pursuit of high quality.

=====================================================
== File: docs/document/content/test-manual/performance-test/benchmarksql-proxy-sharding-test.cn.md
=====================================================
+++
title = "BenchmarkSQL ShardingSphere Proxy 分片性能测试"
weight = 2
+++

## 测试目的

使用 BenchmarkSQL 工具测试 ShardingSphere Proxy 的分片性能。

## 测试方法

ShardingSphere Proxy 支持通过 [BenchmarkSQL 5.0](https://sourceforge.net/projects/benchmarksql/) 进行 TPC-C 测试。
除本文说明的内容外,BenchmarkSQL 操作步骤按照原文档 `HOW-TO-RUN.txt` 即可。

## 测试工具微调

与单机数据库压测不同,分布式数据库解决方案难免在功能支持上有所取舍。使用 BenchmarkSQL 压测 ShardingSphere Proxy 建议进行如下调整。

### 移除外键与 extraHistID

修改 BenchmarkSQL 目录下 `run/runDatabaseBuild.sh`,文件第 17 行。

修改前:
```bash
AFTER_LOAD="indexCreates foreignKeys extraHistID buildFinish"
```

修改后:
```bash
AFTER_LOAD="indexCreates buildFinish"
```

## 压测环境或参数建议

**注意:本节中提到的任何参数都不是绝对值,都需要根据实际测试结果进行调整或取舍。**

### 建议使用 Java 17 运行 ShardingSphere

编译 ShardingSphere 可以使用 Java 8。

使用 Java 17 可以在默认情况下尽量提升 ShardingSphere 的性能。

### ShardingSphere 数据分片建议

对 BenchmarkSQL 的数据分片,可以考虑以各个表中的 warehouse id 作为分片键。  

其中一个表 `bmsql_item` 没有 warehouse id,数据量固定 10 万行:
- 可以取 `i_id` 作为分片键。但可能会导致同一个 Proxy 连接同时持有多个不同数据源的连接。
- 或考虑不做分片,存在单个数据源内。可能会导致某一数据源压力较大。
- 或对 `i_id` 进行范围分片,例如 1-50000 分布在数据源 0、50001-100000 分布在数据源 1。

=====================================================
== File: docs/document/content/test-manual/performance-test/sysbench-proxy-norules-test.cn.md
=====================================================
+++
title = "Sysbench ShardingSphere Proxy 空 Rules 性能测试"
weight = 1
+++

## 测试目的

对 ShardingSphere-Proxy 及 MySQL 进行性能对比
1. sysbench 直接压测 MySQL 性能
2. sysbench 压测 ShardingSphere-Proxy(底层透传 MySQL)

基于以上两组实验,得到使用 ShardingSphere-Proxy 对于 MySQL 的损耗。

## 测试环境搭建

### 服务器信息

1. DB 相关配置:推荐内存大于压测的数据量,使得数据均在内存热块中,其余可自行调整;
2. ShardingSphere-Proxy 相关配置:推荐使用高性能多核 CPU,其余可自行调整;
3. 压测涉及服务器均关闭 swap 分区。

### 数据库

```shell
[mysqld]
innodb_buffer_pool_size=${MORE_THAN_DATA_SIZE}
innodb-log-file-size=3000000000
innodb-log-files-in-group=5
innodb-flush-log-at-trx-commit=0
innodb-change-buffer-max-size=40
back_log=900
innodb_max_dirty_pages_pct=75
innodb_open_files=20480
innodb_buffer_pool_instances=8
innodb_page_cleaners=8
innodb_purge_threads=2
innodb_read_io_threads=8
innodb_write_io_threads=8
table_open_cache=102400
log_timestamps=system
thread_cache_size=16384
transaction_isolation=READ-COMMITTED

# 可参考进行适当调优,旨在放大底层 DB 性能,不让实验受制于 DB 性能瓶颈。

```

### 压测工具

可通过 [ sysbench ](https://github.com/akopytov/sysbench) 官网自行获取

=====================================================
== File: docs/document/content/test-manual/performance-test/benchmarksql-proxy-sharding-test.en.md
=====================================================
+++
title = "BenchmarkSQL ShardingSphere-Proxy Sharding Performance Test"
weight = 2
+++

## Objective

BenchmarkSQL tool is used to test the sharding performance of ShardingSphere-Proxy.

## Method

ShardingSphere-Proxy supports the TPC-C test through [BenchmarkSQL 5.0](https://sourceforge.net/projects/benchmarksql/).
In addition to the content described in this document, BenchmarkSQL is operated according to the original document `HOW-TO-RUN.txt`.

## Fine tuning to test tools

Unlike stand-alone database stress testing, distributed database solutions inevitably face trade-offs in functions. It is recommended to make the following adjustments when using BenchmarkSQL to carry out stress testing on ShardingSphere-Proxy.

### Remove the foreign key and extraHistID

Modify `run/runDatabaseBuild.sh` in the BenchmarkSQL directory at line 17.

Before modification: 
```bash
AFTER_LOAD="indexCreates foreignKeys extraHistID buildFinish"
```

After modification: 
```bash
AFTER_LOAD="indexCreates buildFinish"
```

## Stress testing environment or parameter recommendations

**Note: None of the parameters mentioned in this section are absolute values and need to be adjusted based on actual test results.**

### It is recommended to run ShardingSphere using Java 17

ShardingSphere can be compiled using Java 8.

When using Java 17, maximize the ShardingSphere performance by default.

### ShardingSphere data sharding recommendations

The data sharding of BenchmarkSQL can use the warehouse id in each table as the sharding key.

One of the tables `bmsql_item` has no warehouse id and has a fixed data volume of 100,000 rows:
- You can take `i_id` as a sharding key. However, the same Proxy connection may hold connections to multiple different data sources at the same time. 
- Or you can give up sharding and store it in a single data source. But a data source may be under great pressure.
- Or you may choose range-based sharding for `i_id`, such as 1-50000 for data source 0 and 50001-100000 for data source 1.

=====================================================
== File: docs/document/content/test-manual/performance-test/_index.cn.md
=====================================================
+++
pre = "<b>6.2. </b>"
title = "性能测试"
weight = 2
+++

提供各个压测工具的性能测试结果。

=====================================================
== File: docs/document/content/test-manual/performance-test/_index.en.md
=====================================================
+++
pre = "<b>6.2. </b>"
title = "Performance Test"
weight = 2
+++

Provides result for each performance test tools. 

=====================================================
== File: docs/document/content/test-manual/performance-test/sysbench-proxy-norules-test.en.md
=====================================================
+++
title = "SysBench ShardingSphere-Proxy Empty Rule Performance Test"
weight = 1
+++

## Objectives

Compare the performance of ShardingSphere-Proxy and MySQL
1. Sysbench directly carries out stress testing on the performance of MySQL.
1. Sysbench directly carries out stress testing on ShardingSphere-Proxy (directly connect MySQL). 

Based on the above two groups of experiments, we can figure out the loss of MySQL when using ShardingSphere-Proxy.

## Set up the test environment

### Server information

1. Db-related configuration: it is recommended that the memory is larger than the amount of data to be tested, so that the data is stored in the memory hot block, and the rest can be adjusted.
1. ShardingSphere-Proxy-related configuration: it is recommended to use a high-performance, multi-core CPU, and other configurations can be customized.
1. Disable swap partitions on all servers involved in the stress testing.

### Database

```shell
[mysqld]
innodb_buffer_pool_size=${MORE_THAN_DATA_SIZE}
innodb-log-file-size=3000000000
innodb-log-files-in-group=5
innodb-flush-log-at-trx-commit=0
innodb-change-buffer-max-size=40
back_log=900
innodb_max_dirty_pages_pct=75
innodb_open_files=20480
innodb_buffer_pool_instances=8
innodb_page_cleaners=8
innodb_purge_threads=2
innodb_read_io_threads=8
innodb_write_io_threads=8
table_open_cache=102400
log_timestamps=system
thread_cache_size=16384
transaction_isolation=READ-COMMITTED

# Appropriate tuning can be considered to magnify the underlying DB performance, so that the experiment doesn't subject to DB performance bottleneck.

```

### Stress testing tool

Refer to [ sysbench's GitHub ](https://github.com/akopytov/sysbench)

=====================================================
== File: docs/document/content/test-manual/_index.cn.md
=====================================================
+++
pre = "<b>6. </b>"
title = "测试手册"
weight = 6
chapter = true
+++

Apache ShardingSphere 提供了完善的整合测试、模块测试和性能测试。

## 整合测试

通过真实的 Apache ShardingSphere 和数据库的连接,提供端到端的测试。

整合测试引擎以 XML 方式定义 SQL,分别为各个数据库独立运行测试用例。
为了方便上手,测试引擎无需修改任何 **Java** 代码,只需修改相应的配置文件即可运行断言。
测试引擎不依赖于任何第三方环境,用于测试的 ShardingSphere-Proxy 计算节点和数据库均由 Docker 镜像提供。

## 模块测试

将复杂的模块单独提炼成为测试引擎。

模块测试引擎同样以 XML 方式定义 SQL,分别为各个数据库独立运行测试用例,包括 SQL 解析和 SQL 改写模块。

## 性能测试

提供多样性的性能测试方法,包括 Sysbench、JMH、TPCC 等。

=====================================================
== File: docs/document/content/test-manual/_index.en.md
=====================================================
+++
pre = "<b>6. </b>"
title = "Test Manual"
weight = 6
chapter = true
+++

Apache ShardingSphere provides test engines for integration, module and performance.

## Integration Test

Provide point to point test which connect real ShardingSphere and database instances.

They define SQLs in XML files, engine run for each database independently.
All test engines designed to modify the configuration files to execute all assertions without any **Java code** modification.
It does not depend on any third-party environment, ShardingSphere-Proxy and database used for testing are provided by docker image.

## Module Test

Provide module test engine for complex modules.

They define SQLs in XML files, engine run for each database independently too
It includes SQL parser and SQL rewriter modules.

## Performance Test

Provide multiple performance test methods, includes Sysbench, JMH or TPCC and so on.

## Sysbench Test

=====================================================
== File: docs/document/content/test-manual/pipeline-e2e-test/_index.cn.md
=====================================================
+++
pre = "<b>6.4. </b>"
title = "Pipeline E2E 测试"
weight = 4
+++

## 测试目的

验证 pipeline 各个场景的功能正确性。

## 测试环境类型

目前支持 NATIVE 和 DOCKER。

1. NATIVE:运行在开发者本机环境。需要在本机启动 ShardingSphere-Proxy 实例和数据库实例。一般用于本机调试。
2. DOCKER:运行在 Maven 插件拉起的 docker 环境。一般用于 GitHub Action,也可以在本机运行。

支持的数据库:MySQL、PostgreSQL、openGauss。

## 使用指南

模块路径 `test/e2e/operation/pipeline`。

### 环境配置

`${DOCKER-IMAGE}` 表示 docker 镜像名称,如 `mysql:5.7` 。 `${DATABASE-TYPE}` 表示数据库类型。

目录:`src/test/resources/env/`
- `it-env.properties`:环境配置文件。
- `${DATABASE-TYPE}/global.yaml`:ShardingSphere-Proxy 配置文件。
- `${DATABASE-TYPE}/initdb.sql`:数据库初始化 SQL 文件。
- `${DATABASE-TYPE}/*.cnf,*.conf`:数据库配置文件。
- `common/*.xml`:测试用到的 DistSQL 文件。
- `scenario/`:各个测试场景的 SQL 文件。

### 测试用例

用例示例:MySQLMigrationGeneralE2EIT。
覆盖的功能点如下:
- 库级别迁移(所有表)
- 表级别迁移(任意多个表)
- 迁移数据一致性校验
- 数据迁移过程中支持重启
- 数据迁移支持整型主键
- 数据迁移支持字符串主键
- 使用非管理员账号进行数据迁移

### 运行测试用例

`it-env.properties` 所有属性都可以通过 Maven 命令行 `-D` 的方式传入,优先级高于配置文件。

=====================================================
== File: docs/document/content/test-manual/pipeline-e2e-test/_index.en.md
=====================================================
+++
pre = "<b>6.4. </b>"
title = "Pipeline E2E Test"
weight = 4
+++

## Objectives

Verify the functional correctness of pipeline scenarios.

## Test environment type

Currently, NATIVE and DOCKER are available.
1. NATIVE : Run on developer local machine. Need to start ShardingSphere-Proxy instance and database instance by developer. It could be used for local debugging.
2. DOCKER : Run on docker started by Maven plugin. It could be used for GitHub Actions, and it could be used for local debugging too.

Supported databases: MySQL, PostgreSQL and openGuass.

## User guide

Module path: `test/e2e/operation/pipeline`.

### Environment setup

`${DOCKER-IMAGE}` refers to the name of a docker mirror, such as `mysql:5.7`. `${DATABASE-TYPE}` refers to database types.

Directory: `src/test/resources/env/`
- `it-env.properties`: Environment setup configuration file.
- `${DATABASE-TYPE}/global.yaml`: ShardingSphere-Proxy configuration fi;e.
- `${DATABASE-TYPE}/initdb.sql`: Database initialization SQL file.
- `${DATABASE-TYPE}/*.cnf,*.conf`: Database configuration files.
- `common/*.xml`: DistSQL files.
- `scenario/`: SQL files for different scenarios.

### Test case

Test case example: MySQLMigrationGeneralE2EIT.
Functions included:
- Database-level migration (all tables).
- Table-level migration (any number).
- Verify migration data consistency.
- Support restart during data migration.
- Support integer primary keys during data migration.
- Support string primary keys during data migration.
- A non-administrator account can be used to migrate data.

### Running the test case

Any property of `it-env.properties` could be defined by Maven command line parameter `-D`, and its priority is higher than configuration file.


=====================================================
== File: docs/document/content/test-manual/module-test/parser-test.en.md
=====================================================
+++
title = "SQL Parser Test"
weight = 1
+++

## Prepare Data

Not like Integration test, SQL parse test does not need a specific database environment, just define the sql  to parse, and the assert data:

### SQL Data

As mentioned `sql-case-id` in Integration test, test-case-id could be shared in different module to test, and the file is in `shardingsphere-test-it-parser` module, at `test/it/parser/src/main/resources/sql/supported/${SQL-TYPE}/*.xml`

### Assert Data

The assert data is at `test/it/parser/src/main/resources/case/${SQL-TYPE}/*.xml`
in that xml file, it could assert against the table name, token or sql condition and so on. For example:

```xml
<parser-result-sets>
    <parser-result sql-case-id="insert_with_multiple_values">
        <tables>
            <table name="t_order" />
        </tables>
        <tokens>
            <table-token start-index="12" table-name="t_order" length="7" />
        </tokens>
        <sharding-conditions>
            <and-condition>
                <condition column-name="order_id" table-name="t_order" operator="EQUAL">
                    <value literal="1" type="int" />
                </condition>
                <condition column-name="user_id" table-name="t_order" operator="EQUAL">
                    <value literal="1" type="int" />
                </condition>
            </and-condition>
            <and-condition>
                <condition column-name="order_id" table-name="t_order" operator="EQUAL">
                    <value literal="2" type="int" />
                </condition>
                <condition column-name="user_id" table-name="t_order" operator="EQUAL">
                    <value literal="2" type="int" />
                </condition>
            </and-condition>
        </sharding-conditions>
    </parser-result>
</parser-result-sets>
```

When these configs are ready, launch the test engine in `test/it/parser` to test SQL parse. 

=====================================================
== File: docs/document/content/test-manual/module-test/_index.cn.md
=====================================================
+++
pre = "<b>6.3. </b>"
title = "模块测试"
weight = 3
+++

提供复杂模块的测试引擎。

=====================================================
== File: docs/document/content/test-manual/module-test/rewrite-test.en.md
=====================================================
+++
title = "SQL Rewrite Test"
weight = 2
+++

## Target

Facing logic databases and tables cannot be executed directly in actual databases. SQL rewrite is used to rewrite logic SQL into rightly executable ones in actual databases, including two parts, correctness rewrite and optimization rewrite. rewrite tests are for these targets.

### Test

The rewrite tests are in the test folder under `test/it/rewriter` . Followings are the main part for rewrite tests:

  - test engine
  - environment configuration
  - assert data

Test engine is the entrance of rewrite tests, just like other test engines, through Junit [Parameterized](https://github.com/junit-team/junit4/wiki/Parameterized-tests), read every and each data in the xml file under the target test type in `test\resources`, and then assert by the engine one by one

Environment configuration is the yaml file under test type under `test\resources\yaml`. The configuration file contains dataSources, shardingRule, encryptRule and other info. for example:

```yaml
dataSources:
  db: !!com.zaxxer.hikari.HikariDataSource
    driverClassName: org.h2.Driver
    jdbcUrl: jdbc:h2:mem:db;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MYSQL
    username: sa
    password:

## sharding Rules
rules:
- !SHARDING
  tables:
    t_account:
      actualDataNodes: db.t_account_${0..1}
      tableStrategy: 
        standard:
          shardingColumn: account_id
          shardingAlgorithmName: account_table_inline
      keyGenerateStrategy:
        column: account_id
        keyGeneratorName: snowflake
    t_account_detail:
      actualDataNodes: db.t_account_detail_${0..1}
      tableStrategy: 
        standard:
          shardingColumn: order_id
          shardingAlgorithmName: account_detail_table_inline
  bindingTables:
    - t_account, t_account_detail

=====================================================
== File: docs/document/content/test-manual/module-test/_index.en.md
=====================================================
+++
pre = "<b>6.3. </b>"
title = "Module Test"
weight = 3
+++

Provides test engine with each complex modules. 

=====================================================
== File: docs/document/content/quick-start/shardingsphere-proxy-quick-start.cn.md
=====================================================
+++
pre = "<b>2.2. </b>"
title = "ShardingSphere-Proxy"
weight = 2
+++

## 应用场景

![shardingsphere-proxy](https://shardingsphere.apache.org/document/current/img/shardingsphere-proxy_v2.png)

ShardingSphere-Proxy 的定位为透明化的数据库代理,理论上支持任何使用 MySQL、PostgreSQL、openGauss 协议的客户端操作数据,对异构语言、运维场景更友好。

## 使用限制

ShardingSphere-Proxy 对系统库/表(如 information_schema、pg_catalog)支持有限,通过部分图形化数据库客户端连接 Proxy 时,可能客户端或 Proxy 会有错误提示。可以使用命令行客户端(`mysql`、`psql`、`gsql` 等)连接 Proxy 验证功能。

## 前提条件

使用 Docker 启动 ShardingSphere-Proxy 无须额外依赖。
使用二进制分发包启动 Proxy,需要环境具备 Java JRE 8 或更高版本。

## 操作步骤

1. 获取 ShardingSphere-Proxy

目前 ShardingSphere-Proxy 可以通过以下方式:
- [二进制发布包](/cn/user-manual/shardingsphere-proxy/startup/bin/)
- [Docker](/cn/user-manual/shardingsphere-proxy/startup/docker/)
- [Helm](/cn/user-manual/shardingsphere-proxy/startup/helm/)

2. 规则配置

编辑 `%SHARDINGSPHERE_PROXY_HOME%/conf/global.yaml`。

编辑 `%SHARDINGSPHERE_PROXY_HOME%/conf/database-xxx.yaml`。

> %SHARDINGSPHERE_PROXY_HOME% 为 Proxy 解压后的路径,例:`/opt/shardingsphere-proxy-bin/`

详情请参见 [配置手册](/cn/user-manual/shardingsphere-proxy/yaml-config/)。

3. 引入依赖

如果后端连接 PostgreSQL 或 openGauss 数据库,不需要引入额外依赖。

如果后端连接 MySQL 数据库,请下载 [mysql-connector-java-5.1.49.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar) 或者 [mysql-connector-java-8.0.11.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11.jar),并将其放入 `%SHARDINGSPHERE_PROXY_HOME%/ext-lib` 目录。

4. 启动服务

* 使用默认配置项


=====================================================
== File: docs/document/content/quick-start/_index.cn.md
=====================================================
+++
pre = "<b>2. </b>"
title = "快速入门"
weight = 2
chapter = true
+++

本章节以尽量短的时间,为使用者提供最简单的 Apache ShardingSphere 的快速入门。

**示例代码:https://github.com/apache/shardingsphere/tree/master/examples**

=====================================================
== File: docs/document/content/quick-start/_index.en.md
=====================================================
+++
pre = "<b>2. </b>"
title = "Quick Start"
weight = 2
chapter = true
+++

In shortest time, this chapter provides users with a simplest quick start with Apache ShardingSphere.

**Example Codes: https://github.com/apache/shardingsphere/tree/master/examples**

=====================================================
== File: docs/document/content/quick-start/shardingsphere-jdbc-quick-start.cn.md
=====================================================
+++
pre = "<b>2.1. </b>"
title = "ShardingSphere-JDBC"
weight = 1
+++

## 应用场景

Apache ShardingSphere-JDBC 可以通过 `Java` 和 `YAML` 这 2 种方式进行配置,开发者可根据场景选择适合的配置方式。

## 使用限制

目前仅支持 JAVA 语言

## 前提条件

开发环境需要具备 Java JRE 8 或更高版本。

## 操作步骤


1. 规则配置。

详情请参见[用户手册](/cn/user-manual/shardingsphere-jdbc/)。

2. 引入 maven 依赖。

```xml
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-jdbc</artifactId>
    <version>${latest.release.version}</version>
</dependency>
```

> 注意:请将 `${latest.release.version}` 更改为实际的版本号。

3. 创建 YAML 配置文件

```yaml
# JDBC 逻辑库名称。在集群模式中,使用该参数来联通 ShardingSphere-JDBC 与 ShardingSphere-Proxy。
# 默认值:logic_db
databaseName (?):

mode:

dataSources:

rules:
- !FOO_XXX

=====================================================
== File: docs/document/content/quick-start/shardingsphere-proxy-quick-start.en.md
=====================================================
+++
pre = "<b>2.2. </b>"
title = "ShardingSphere-Proxy"
weight = 2
+++

## Scenarios

![shardingsphere-proxy](https://shardingsphere.apache.org/document/current/img/shardingsphere-proxy_v2.png)

ShardingSphere-Proxy is positioned as a transparent database proxy. It theoretically supports any client operation data using MySQL, PostgreSQL and openGauss protocols, and is friendly to heterogeneous languages and operation and maintenance scenarios.

## Limitations

Proxy provides limited support for system databases / tables (such as information_schema, pg_catalog). When connecting to Proxy through some graph database clients, the client or proxy may have an error prompt. You can use command-line clients (`mysql`, `psql`, `gsql`, etc.) to connect to the Proxy's authentication function.

## Requirements

Starting ShardingSphere-Proxy with Docker requires no additional dependency.
To start the Proxy using binary distribution, the environment must have Java JRE 8 or higher.

## Procedure

1. Get ShardingSphere-Proxy.

ShardingSphere-Proxy is available at:
- [Binary Distribution](/en/user-manual/shardingsphere-proxy/startup/bin/)
- [Docker](/en/user-manual/shardingsphere-proxy/startup/docker/)
- [Helm](/en/user-manual/shardingsphere-proxy/startup/helm/)

2. Rule configuration.

Edit `%SHARDINGSPHERE_PROXY_HOME%/conf/global.yaml`.

Edit `%SHARDINGSPHERE_PROXY_HOME%/conf/database-xxx.yaml`.

> %SHARDINGSPHERE_PROXY_HOME% is the proxy extract path. for example: `/opt/shardingsphere-proxy-bin/`

Please refer to [Configuration Manual](/en/user-manual/shardingsphere-proxy/yaml-config/) for more details.

3. Import dependencies.

If the backend database is PostgreSQL or openGauss, no additional dependencies are required.

If the backend database is MySQL, please download [mysql-connector-java-5.1.49.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar) or [mysql-connector-java-8.0.11.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11.jar) and put it into the `%SHARDINGSPHERE_PROXY_HOME%/ext-lib` directory.

4. Start server.

* Use the default configuration to start


=====================================================
== File: docs/document/content/quick-start/shardingsphere-jdbc-quick-start.en.md
=====================================================
+++
pre = "<b>2.1. </b>"
title = "ShardingSphere-JDBC"
weight = 1
+++

## Scenarios

There are two ways you can configure Apache ShardingSphere: `Java` and `YAML`. 
Developers can choose the preferred method according to their requirements. 

## Limitations

Currently only Java language is supported.

## Requirements

The development environment requires Java JRE 8 or later.

## Procedure

1. Rules configuration.

Please refer to [User Manual](/en/user-manual/shardingsphere-jdbc/) for more details.

2. Import Maven dependency

```xml
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-jdbc</artifactId>
    <version>${latest.release.version}</version>
</dependency>
```

> Notice: Please change `${latest.release.version}` to the actual version.

3. Create YAML configuration file

```yaml
# JDBC database name. In cluster mode, use this parameter to connect ShardingSphere-JDBC and ShardingSphere-Proxy.
# Default:logic_db
databaseName (?):

mode:

dataSources:

rules:
- !FOO_XXX

=====================================================
== File: docs/document/content/dev-manual/encrypt.cn.md
=====================================================
+++
pre = "<b>5.6. </b>"
title = "数据加密"
weight = 6
chapter = true
+++

## EncryptAlgorithm

### 全限定类名

[`org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/encrypt/api/src/main/java/org/apache/shardingsphere/encrypt/spi/EncryptAlgorithm.java)

### 定义

数据加密算法

### 已知实现

| *配置标识*           | *详细说明*           | *全限定类名*                                                                                                                                                                                                                                                            |
|------------------|------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| AES              | 基于 AES 的数据加密算法   | [`org.apache.shardingsphere.encrypt.algorithm.encrypt.AESEncryptAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/algorithm/standard/AESEncryptAlgorithm.java)                |
| MD5              | 基于 MD5 的辅助查询加密算法 | [`org.apache.shardingsphere.encrypt.algorithm.encrypt.MD5EncryptAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/algorithm/assisted/MD5AssistedEncryptAlgorithm.java)        |

=====================================================
== File: docs/document/content/dev-manual/sql-parser.en.md
=====================================================
+++
pre = "<b>5.2. </b>"
title = "SQL Parser"
weight = 2
chapter = true
+++

## DatabaseTypedSQLParserFacade

### Fully-qualified class name

[`org.apache.shardingsphere.sql.parser.spi.DialectSQLParserFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/DialectSQLParserFacade.java)

### Definition

Database typed SQL parser facade service definition

### Implementation classes

| *Configuration Type* | *Description*                        | *Fully-qualified class name*                                                                                                                                                                                                                                           |
|----------------------|--------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| MySQL                | SQL parser entry based on MySQL      | [`org.apache.shardingsphere.sql.parser.mysql.parser.MySQLParserFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/parser/MySQLParserFacade.java)                          |
| PostgreSQL           | SQL parser entry based on PostgreSQL | [`org.apache.shardingsphere.sql.parser.postgresql.parser.PostgreSQLParserFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/parser/PostgreSQLParserFacade.java) |
| SQLServer            | SQL parser entry based on SQLServer  | [`org.apache.shardingsphere.sql.parser.sqlserver.parser.SQLServerParserFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/parser/SQLServerParserFacade.java)      |
| Oracle               | SQL parser entry based on Oracle     | [`org.apache.shardingsphere.sql.parser.oracle.parser.OracleParserFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/parser/OracleParserFacade.java)                     |
| SQL92                | SQL parser entry based on SQL92      | [`org.apache.shardingsphere.sql.parser.sql92.parser.SQL92ParserFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/parser/SQL92ParserFacade.java)                          |
| openGauss            | SQL parser entry based on openGauss  | [`org.apache.shardingsphere.sql.parser.opengauss.parser.OpenGaussParserFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/parser/OpenGaussParserFacade.java)      |

## SQLStatementVisitorFacade

### Fully-qualified class name

[`org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/SQLStatementVisitorFacade.java)

### Definition

SQL visitor facade class definition

### Implementation classes

| *Configuration Type* | *Description*                        | *Fully-qualified class name*                                                                                                                                                                                                                                                                                     |
|----------------------|--------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| MySQL                | MySQL syntax tree visitor entry      | [`org.apache.shardingsphere.sql.parser.mysql.visitor.statement.MySQLStatementVisitorFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/MySQLStatementVisitorFacade.java)                          |
| PostgreSQL           | PostgreSQL syntax tree visitor entry | [`org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.PostgreSQLStatementVisitorFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/PostgreSQLStatementVisitorFacade.java) |
| SQLServer            | SQLServer syntax tree visitor entry  | [`org.apache.shardingsphere.sql.parser.sqlserver.visitor.statement.SQLServerStatementVisitorFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/SQLServerStatementVisitorFacade.java)      |
| Oracle               | Oracle syntax tree visitor entry     | [`org.apache.shardingsphere.sql.parser.oracle.visitor.statement.OracleStatementVisitorFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/OracleStatementVisitorFacade.java)                     |
| SQL92                | SQL92 syntax tree visitor entry      | [`org.apache.shardingsphere.sql.parser.sql92.visitor.statement.SQL92StatementVisitorFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/SQL92StatementVisitorFacade.java)                          |
| openGauss            | openGauss syntax tree visitor entry  | [`org.apache.shardingsphere.sql.parser.opengauss.visitor.statement.OpenGaussStatementVisitorFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/OpenGaussStatementVisitorFacade.java)      |

=====================================================
== File: docs/document/content/dev-manual/sharding.cn.md
=====================================================
+++
pre = "<b>5.3. </b>"
title = "数据分片"
weight = 3
chapter = true
+++

## ShardingAlgorithm

### 全限定类名

[`org.apache.shardingsphere.sharding.spi.ShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/spi/ShardingAlgorithm.java)

### 定义

分片算法

### 已知实现

| *配置标识*                   | *自动分片算法* | *详细说明*                    | *全限定类名*                                                                                                                                                                                                                                                                                                                               |
|--------------------------|----------|---------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| MOD                      | Y        | 基于取模的分片算法                 | [`org.apache.shardingsphere.sharding.algorithm.sharding.mod.ModShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/mod/ModShardingAlgorithm.java)                                                                     |
| HASH_MOD                 | Y        | 基于哈希取模的分片算法               | [`org.apache.shardingsphere.sharding.algorithm.sharding.mod.HashModShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/mod/HashModShardingAlgorithm.java)                                                             |
| BOUNDARY_RANGE           | Y        | 基于分片边界的范围分片算法             | [`org.apache.shardingsphere.sharding.algorithm.sharding.range.BoundaryBasedRangeShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/BoundaryBasedRangeShardingAlgorithm.java)                                   |
| VOLUME_RANGE             | Y        | 基于分片容量的范围分片算法             | [`org.apache.shardingsphere.sharding.algorithm.sharding.range.VolumeBasedRangeShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/VolumeBasedRangeShardingAlgorithm.java)                                       |
| AUTO_INTERVAL            | Y        | 基于可变时间范围的分片算法             | [`org.apache.shardingsphere.sharding.algorithm.sharding.datetime.AutoIntervalShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/AutoIntervalShardingAlgorithm.java)                                         |
| INTERVAL                 | N        | 基于固定时间范围的分片算法             | [`org.apache.shardingsphere.sharding.algorithm.sharding.datetime.IntervalShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/IntervalShardingAlgorithm.java)                                                 |
| CLASS_BASED              | N        | 基于自定义类的分片算法               | [`org.apache.shardingsphere.sharding.algorithm.sharding.classbased.ClassBasedShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/classbased/ClassBasedShardingAlgorithm.java)                                         |
| INLINE                   | N        | 基于行表达式的分片算法               | [`org.apache.shardingsphere.sharding.algorithm.sharding.inline.InlineShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/inline/InlineShardingAlgorithm.java)                                                         |
| COMPLEX_INLINE           | N        | 基于行表达式的复合分片算法             | [`org.apache.shardingsphere.sharding.algorithm.sharding.complex.ComplexInlineShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/inline/ComplexInlineShardingAlgorithm.java)                                          |
| HINT_INLINE              | N        | 基于行表达式的 Hint 分片算法         | [`org.apache.shardingsphere.sharding.algorithm.sharding.hint.HintInlineShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/hint/HintInlineShardingAlgorithm.java)                                                     |

## ShardingAuditAlgorithm

### 全限定类名

[`org.apache.shardingsphere.sharding.spi.ShardingAuditAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/spi/ShardingAuditAlgorithm.java)

### 定义

分片审计算法

### 已知实现

| *配置标识*                  | *详细说明*          | *全限定类名*                                                                                                                                                                                                                                                                                           |
|-------------------------|-----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| DML_SHARDING_CONDITIONS | 禁止不带分片键的DML审计算法 | [`org.apache.shardingsphere.sharding.algorithm.audit.DMLShardingConditionsShardingAuditAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/audit/DMLShardingConditionsShardingAuditAlgorithm.java) |

## DatetimeService


=====================================================
== File: docs/document/content/dev-manual/mode.en.md
=====================================================
+++
pre = "<b>5.1. </b>"
title = "Mode"
weight = 1
chapter = true
+++

## StandalonePersistRepository

### Fully-qualified class name

[`org.apache.shardingsphere.mode.repository.standalone.StandalonePersistRepository`](https://github.com/apache/shardingsphere/blob/master/mode/type/standalone/repository/api/src/main/java/org/apache/shardingsphere/mode/repository/standalone/StandalonePersistRepository.java)

### Definition

Standalone mode configuration information persistence definition

### Implementation classes

| *Configuration Type* | *Description*          | *Fully-qualified class name*                                                                                                                                                                                                                                                 |
|----------------------|------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| JDBC                 | JDBC-based persistence | [`org.apache.shardingsphere.mode.repository.standalone.jdbc.JDBCRepository`](https://github.com/apache/shardingsphere/blob/master/mode/type/standalone/repository/provider/jdbc/src/main/java/org/apache/shardingsphere/mode/repository/standalone/jdbc/JDBCRepository.java) |

## ClusterPersistRepository

### Fully-qualified class name

[`org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepository`](https://github.com/apache/shardingsphere/blob/master/mode/type/cluster/repository/api/src/main/java/org/apache/shardingsphere/mode/repository/cluster/ClusterPersistRepository.java)

### Definition

Cluster mode configuration information persistence definition

### Implementation classes

| *Configuration Type* | *Description*               | *Fully-qualified class name*                                                                                                                                                                                                                                                                 |
|----------------------|-----------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ZooKeeper            | ZooKeeper based persistence | [`org.apache.shardingsphere.mode.repository.cluster.zookeeper.ZookeeperRepository`](https://github.com/apache/shardingsphere/blob/master/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepository.java) |
| etcd                 | Etcd based persistence      | [`org.apache.shardingsphere.mode.repository.cluster.etcd.EtcdRepository`](https://github.com/apache/shardingsphere/blob/master/mode/type/cluster/repository/provider/etcd/src/main/java/org/apache/shardingsphere/mode/repository/cluster/etcd/EtcdRepository.java)                          |

=====================================================
== File: docs/document/content/dev-manual/sql-parser.cn.md
=====================================================
+++
pre = "<b>5.2. </b>"
title = "SQL 解析"
weight = 2
chapter = true
+++

## DatabaseTypedSQLParserFacade

### 全限定类名

[`org.apache.shardingsphere.sql.parser.spi.DialectSQLParserFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/DialectSQLParserFacade.java)

### 定义

配置用于 SQL 解析的词法分析器和语法分析器入口

### 已知实现

| *配置标识*     | *详细说明*                    | *全限定类名*                                                                                                                                                                                                                                                                |
|------------|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| MySQL      | 基于 MySQL 的 SQL 解析器入口      | [`org.apache.shardingsphere.sql.parser.mysql.parser.MySQLParserFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/parser/MySQLParserFacade.java)                          |
| PostgreSQL | 基于 PostgreSQL 的 SQL 解析器入口 | [`org.apache.shardingsphere.sql.parser.postgresql.parser.PostgreSQLParserFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/parser/PostgreSQLParserFacade.java) |
| SQLServer  | 基于 SQLServer 的 SQL 解析器入口  | [`org.apache.shardingsphere.sql.parser.sqlserver.parser.SQLServerParserFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/parser/SQLServerParserFacade.java)      |
| Oracle     | 基于 Oracle 的 SQL 解析器入口     | [`org.apache.shardingsphere.sql.parser.oracle.parser.OracleParserFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/parser/OracleParserFacade.java)                     |
| SQL92      | 基于 SQL92 的 SQL 解析器入口      | [`org.apache.shardingsphere.sql.parser.sql92.parser.SQL92ParserFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/parser/SQL92ParserFacade.java)                          |
| openGauss  | 基于 openGauss 的 SQL 解析器入口  | [`org.apache.shardingsphere.sql.parser.opengauss.parser.OpenGaussParserFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/parser/OpenGaussParserFacade.java)      |


## SQLStatementVisitorFacade

### 全限定类名

[`org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/SQLStatementVisitorFacade.java)

### 定义

SQL 语法树访问器入口

### 已知实现

| *配置标识*     | *详细说明*                       | *全限定类名*                                                                                                                                                                                                                                                                                                          |
|------------|------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| MySQL      | 基于 MySQL 的 SQL 语法树访问器入口      | [`org.apache.shardingsphere.sql.parser.mysql.visitor.statement.MySQLStatementVisitorFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/MySQLStatementVisitorFacade.java)                          |
| PostgreSQL | 基于 PostgreSQL 的 SQL 语法树访问器入口 | [`org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.PostgreSQLStatementVisitorFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/PostgreSQLStatementVisitorFacade.java) |
| SQLServer  | 基于 SQLServer 的 SQL 语法树访问器入口  | [`org.apache.shardingsphere.sql.parser.sqlserver.visitor.statement.SQLServerStatementVisitorFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/SQLServerStatementVisitorFacade.java)      |
| Oracle     | 基于 Oracle 的 SQL 语法树访问器入口     | [`org.apache.shardingsphere.sql.parser.oracle.visitor.statement.OracleStatementVisitorFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/OracleStatementVisitorFacade.java)                     |
| SQL92      | 基于 SQL92 的 SQL 语法树访问器入口      | [`org.apache.shardingsphere.sql.parser.sql92.visitor.statement.SQL92StatementVisitorFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/SQL92StatementVisitorFacade.java)                          |
| openGauss  | 基于 openGauss 的 SQL 语法树访问器入口  | [`org.apache.shardingsphere.sql.parser.opengauss.visitor.statement.OpenGaussStatementVisitorFacade`](https://github.com/apache/shardingsphere/blob/master/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/OpenGaussStatementVisitorFacade.java)      |

=====================================================
== File: docs/document/content/dev-manual/agent.cn.md
=====================================================
+++
pre = "<b>5.9. </b>"
title = "可观察性"
weight = 9
chapter = true
+++

## PluginLifecycleService

### 全限定类名

[`org.apache.shardingsphere.agent.spi.PluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PluginLifecycleService.java)

### 定义

插件生命周期管理接口

### 已知实现

| *配置标识*        | *详细说明*                  | *全限定类名*                                                                                                                                                                                                                                                                                                                               |
|---------------|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| File          | File 插件生命周期管理类          | [`org.apache.shardingsphere.agent.plugin.logging.file.FileLoggingPluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/logging/type/file/src/main/java/org/apache/shardingsphere/agent/plugin/logging/file/FileLoggingPluginLifecycleService.java)                                              |
| Prometheus    | Prometheus 插件生命周期管理类    | [`org.apache.shardingsphere.agent.plugin.metrics.prometheus.PrometheusPluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginLifecycleService.java)                              |
| OpenTelemetry | OpenTelemetry 插件生命周期管理类 | [`org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.OpenTelemetryTracingPluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/OpenTelemetryTracingPluginLifecycleService.java) |

=====================================================
== File: docs/document/content/dev-manual/mask.cn.md
=====================================================
+++
pre = "<b>5.7 </b>"
title = "数据脱敏"
weight = 7
chapter = true
+++

## MaskAlgorithm

### 全限定类名

[`org.apache.shardingsphere.mask.spi.MaskAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/api/src/main/java/org/apache/shardingsphere/mask/spi/MaskAlgorithm.java)

### 定义

数据脱敏算法

### 已知实现

| *配置标识*                                  | *详细说明*           | *全限定类名*                                                                                                                                                                                                                                                                                     |
|-----------------------------------------|------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| MD5                                     | 基于 MD5 的数据脱敏算法   | [`org.apache.shardingsphere.mask.algorithm.hash.MD5MaskAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/hash/MD5MaskAlgorithm.java)                                                               |
| KEEP_FIRST_N_LAST_M                     | 保留前 n 后 m 数据脱敏算法 | [`org.apache.shardingsphere.mask.algorithm.cover.KeepFirstNLastMMaskAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/KeepFirstNLastMMaskAlgorithm.java)                                     |
| KEEP_FROM_X_TO_Y                        | 保留自 x 至 y 数据脱敏算法 | [`org.apache.shardingsphere.mask.algorithm.cover.KeepFromXToYMaskAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/KeepFromXToYMaskAlgorithm.java)                                           |
| MASK_FIRST_N_LAST_M                     | 遮盖前 n 后 m 数据脱敏算法 | [`org.apache.shardingsphere.mask.algorithm.cover.MaskFirstNLastMMaskAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskFirstNLastMMaskAlgorithm.java)                                     |
| MASK_FROM_X_TO_Y                        | 遮盖自 x 至 y 数据脱敏算法 | [`org.apache.shardingsphere.mask.algorithm.cover.MaskFromXToYMaskAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskFromXToYMaskAlgorithm.java)                                           |
| MASK_BEFORE_SPECIAL_CHARS               | 特殊字符前遮盖数据脱敏算法    | [`org.apache.shardingsphere.mask.algorithm.cover.MaskBeforeSpecialCharsAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskBeforeSpecialCharsAlgorithm.java)                               |
| MASK_AFTER_SPECIAL_CHARS                | 特殊字符后遮盖数据脱敏算法    | [`org.apache.shardingsphere.mask.algorithm.cover.MaskAfterSpecialCharsAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskAfterSpecialCharsAlgorithm.java)                                 |
| GENERIC_TABLE_RANDOM_REPLACE            | 通⽤表格随机替换         | [`org.apache.shardingsphere.mask.algorithm.replace.GenericTableRandomReplaceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/GenericTableRandomReplaceAlgorithm.java)                     |

=====================================================
== File: docs/document/content/dev-manual/shadow.en.md
=====================================================
+++
pre = "<b>5.8. </b>"
title = "Shadow DB"
weight = 8
chapter = true
+++

## ShadowAlgorithm

### Fully-qualified class name

[`org.apache.shardingsphere.shadow.spi.ShadowAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/shadow/api/src/main/java/org/apache/shardingsphere/shadow/spi/ShadowAlgorithm.java)

### Definition

Shadow algorithm's definition

### Implementation classes

| *Configuration Type* | *Description*                                          | *Fully-qualified class name*                                                                                                                                                                                                                                                            |
|----------------------|--------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| VALUE_MATCH          | Match shadow algorithms based on field values          | [`org.apache.shardingsphere.shadow.algorithm.shadow.column.ColumnValueMatchedShadowAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/algorithm/shadow/column/ColumnValueMatchedShadowAlgorithm.java) |
| REGEX_MATCH          | Regular matching shadow algorithm based on field value | [`org.apache.shardingsphere.shadow.algorithm.shadow.column.ColumnRegexMatchedShadowAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/algorithm/shadow/column/ColumnRegexMatchedShadowAlgorithm.java) |
| SQL_HINT             | Shadow algorithm on sql hint                           | [`org.apache.shardingsphere.shadow.algorithm.shadow.hint.SQLHintShadowAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/algorithm/shadow/hint/SQLHintShadowAlgorithm.java)                           |

=====================================================
== File: docs/document/content/dev-manual/infra-algorithm.cn.md
=====================================================
+++
pre = "<b>5.4. </b>"
title = "基础算法"
weight = 4
chapter = true
+++

## LoadBalanceAlgorithm

### 全限定类名

[`org.apache.shardingsphere.infra.algorithm.loadbalancer.core.LoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/infra/algorithm/load-balancer/core/src/main/java/org/apache/shardingsphere/infra/algorithm/loadbalancer/core/LoadBalanceAlgorithm.java)

### 定义

负载均衡算法,可以使用在读写分离、JDBC 双路由等功能中。

### 已知实现

| *配置标识*      | *详细说明*        | *全限定类名*                                                                                                                                                                                                                                                                                                                              |
|-------------|---------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ROUND_ROBIN | 基于轮询的负载均衡算法 | [`org.apache.shardingsphere.infra.algorithm.loadbalancer.round.robin.RoundRobinLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/infra/algorithm/load-balancer/type/round-robin/src/main/java/org/apache/shardingsphere/infra/algorithm/loadbalancer/round/robin/RoundRobinLoadBalanceAlgorithm.java) |
| RANDOM      | 基于随机的负载均衡算法 | [`org.apache.shardingsphere.infra.algorithm.loadbalancer.random.RandomLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/infra/algorithm/load-balancer/type/random/src/main/java/org/apache/shardingsphere/infra/algorithm/loadbalancer/random/RandomLoadBalanceAlgorithm.java)         |
| WEIGHT      | 基于权重的负载均衡算法 | [`org.apache.shardingsphere.infra.algorithm.loadbalancer.weight.WeightLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/infra/algorithm/load-balancer/type/weight/src/main/java/org/apache/shardingsphere/infra/algorithm/loadbalancer/weight/WeightLoadBalanceAlgorithm.java)         |

## KeyGenerateAlgorithm

### 全限定类名

[`org.apache.shardingsphere.keygen.core.algorithm.KeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/infra/algorithm/key-generator/core/src/main/java/org/apache/shardingsphere/infra/algorithm/keygen/core/KeyGenerateAlgorithm.java)

### 定义

分布式主键生成算法,可以使用在数据分片功能中。

### 已知实现

| *配置标识*       | *详细说明*                      | *全限定类名*                                                                                                                                                                                                                                                                                               |
|-----------------|--------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| SNOWFLAKE       | 基于雪花算法的分布式主键生成算法    | [`org.apache.shardingsphere.keygen.snowflake.algorithm.SnowflakeKeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/infra/algorithm/key-generator/type/snowflake/src/main/java/org/apache/shardingsphere/infra/algorithm/keygen/snowflake/SnowflakeKeyGenerateAlgorithm.java)    |
| UUID            | 基于 UUID 的分布式主键生成算法     | [`org.apache.shardingsphere.keygen.uuid.algorithm.UUIDKeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/infra/algorithm/key-generator/type/uuid/src/main/java/org/apache/shardingsphere/infra/algorithm/keygen/uuid/UUIDKeyGenerateAlgorithm.java)                             |

## MessageDigestAlgorithm

### 全限定类名

[`org.apache.shardingsphere.infra.algorithm.messagedigest.core.MessageDigestAlgorithm`](https://github.com/apache/shardingsphere/blob/master/infra/algorithm/message-digest/core/src/main/java/org/apache/shardingsphere/infra/algorithm/messagedigest/core/MessageDigestAlgorithm.java)

### 定义


=====================================================
== File: docs/document/content/dev-manual/encrypt.en.md
=====================================================
+++
pre = "<b>5.6. </b>"
title = "Encryption"
weight = 6
chapter = true
+++

## EncryptAlgorithm

### Fully-qualified class name

[`org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/encrypt/api/src/main/java/org/apache/shardingsphere/encrypt/spi/EncryptAlgorithm.java)

### Definition

Data encrypt algorithm definition

### Implementation classes

| *Configuration Type* | *Description*                               | *Fully-qualified class name*                                                                                                                                                                                                                                       |
|----------------------|---------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| AES                  | AES data encrypt algorithm                  | [`org.apache.shardingsphere.encrypt.algorithm.encrypt.AESEncryptAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/algorithm/standard/AESEncryptAlgorithm.java)                |
| MD5                  | MD5 assisted query encrypt algorithm        | [`org.apache.shardingsphere.encrypt.algorithm.encrypt.MD5EncryptAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/algorithm/assisted/MD5AssistedEncryptAlgorithm.java)        |

=====================================================
== File: docs/document/content/dev-manual/_index.cn.md
=====================================================
+++
pre = "<b>5. </b>"
title = "开发者手册"
weight = 5
chapter = true
+++

Apache ShardingSphere 可插拔架构提供了数十个基于 SPI 的扩展点。对于开发者来说,可以十分方便的对功能进行定制化扩展。
 
本章节将 Apache ShardingSphere 的 SPI 扩展点悉数列出。
如无特殊需求,用户可以使用 Apache ShardingSphere 提供的内置实现;高级用户则可以参考各个功能模块的接口进行自定义实现。

Apache ShardingSphere 社区非常欢迎开发者将自己的实现类反馈至[开源社区](https://github.com/apache/shardingsphere/pulls),让更多用户从中收益。

=====================================================
== File: docs/document/content/dev-manual/shadow.cn.md
=====================================================
+++
pre = "<b>5.8. </b>"
title = "影子库"
weight = 8
chapter = true
+++

## ShadowAlgorithm

### 全限定类名

[`org.apache.shardingsphere.shadow.spi.ShadowAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/shadow/api/src/main/java/org/apache/shardingsphere/shadow/spi/ShadowAlgorithm.java)

### 定义

影子库提供的影子算法

### 已知实现

| *配置表示*      | *详细说明*            | *完全限定类名*                                                                                                                                                                                                                                                                                |
|-------------|-------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| VALUE_MATCH | 基于字段值匹配影子算法       | [`org.apache.shardingsphere.shadow.algorithm.shadow.column.ColumnValueMatchedShadowAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/algorithm/shadow/column/ColumnValueMatchedShadowAlgorithm.java) |
| REGEX_MATCH | 基于字段值正则匹配影子算法     | [`org.apache.shardingsphere.shadow.algorithm.shadow.column.ColumnRegexMatchedShadowAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/algorithm/shadow/column/ColumnRegexMatchedShadowAlgorithm.java) |
| SQL_HINT    | 基于 SQL Hint 的影子算法 | [`org.apache.shardingsphere.shadow.algorithm.shadow.hint.SQLHintShadowAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/algorithm/shadow/hint/SQLHintShadowAlgorithm.java)                           |

=====================================================
== File: docs/document/content/dev-manual/mode.cn.md
=====================================================
+++
pre = "<b>5.1. </b>"
title = "运行模式"
weight = 1
chapter = true
+++

## StandalonePersistRepository

### 全限定类名

[`org.apache.shardingsphere.mode.repository.standalone.StandalonePersistRepository`](https://github.com/apache/shardingsphere/blob/master/mode/type/standalone/repository/api/src/main/java/org/apache/shardingsphere/mode/repository/standalone/StandalonePersistRepository.java)

### 定义

单机模式配置信息持久化定义

### 已知实现

| *配置标识* | *详细说明*       | *全限定类名*                                                                                                                                                                                                                                                                      |
|--------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| JDBC   | 基于 JDBC 的持久化 | [`org.apache.shardingsphere.mode.repository.standalone.jdbc.JDBCRepository`](https://github.com/apache/shardingsphere/blob/master/mode/type/standalone/repository/provider/jdbc/src/main/java/org/apache/shardingsphere/mode/repository/standalone/jdbc/JDBCRepository.java) |

## ClusterPersistRepository

### 全限定类名

[`org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepository`](https://github.com/apache/shardingsphere/blob/master/mode/type/cluster/repository/api/src/main/java/org/apache/shardingsphere/mode/repository/cluster/ClusterPersistRepository.java)

### 定义

集群模式配置信息持久化定义

### 已知实现

| *配置标识*    | *详细说明*            | *全限定类名*                                                                                                                                                                                                                                                                                      |
|-----------|-------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ZooKeeper | 基于 ZooKeeper 的持久化 | [`org.apache.shardingsphere.mode.repository.cluster.zookeeper.ZookeeperRepository`](https://github.com/apache/shardingsphere/blob/master/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepository.java) |
| etcd      | 基于 Etcd 的持久化      | [`org.apache.shardingsphere.mode.repository.cluster.etcd.EtcdRepository`](https://github.com/apache/shardingsphere/blob/master/mode/type/cluster/repository/provider/etcd/src/main/java/org/apache/shardingsphere/mode/repository/cluster/etcd/EtcdRepository.java)                          |

=====================================================
== File: docs/document/content/dev-manual/mask.en.md
=====================================================
+++
pre = "<b>5.7. </b>"
title = "Data Masking"
weight = 7
chapter = true
+++

## MaskAlgorithm

### Fully-qualified class name

[`org.apache.shardingsphere.mask.spi.MaskAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/api/src/main/java/org/apache/shardingsphere/mask/spi/MaskAlgorithm.java)

### Definition

Data masking algorithm definition

### Implementation classes

| *Configuration Type*                    | *Description*                                                  | *Fully-qualified class name*                                                                                                                                                                                                                                                                |
|-----------------------------------------|----------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| MD5                                     | Data masking algorithm based on MD5                            | [`org.apache.shardingsphere.mask.algorithm.hash.MD5MaskAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/hash/MD5MaskAlgorithm.java)                                                               |
| KEEP_FIRST_N_LAST_M                     | Keep first n last m data masking algorithm                     | [`org.apache.shardingsphere.mask.algorithm.cover.KeepFirstNLastMMaskAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/KeepFirstNLastMMaskAlgorithm.java)                                     |
| KEEP_FROM_X_TO_Y                        | Keep from x to y data masking algorithm                        | [`org.apache.shardingsphere.mask.algorithm.cover.KeepFromXToYMaskAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/KeepFromXToYMaskAlgorithm.java)                                           |
| MASK_FIRST_N_LAST_M                     | Mask first n last m data masking algorithm                     | [`org.apache.shardingsphere.mask.algorithm.cover.MaskFirstNLastMMaskAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskFirstNLastMMaskAlgorithm.java)                                     |
| MASK_FROM_X_TO_Y                        | Mask from x to y data masking algorithm                        | [`org.apache.shardingsphere.mask.algorithm.cover.MaskFromXToYMaskAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskFromXToYMaskAlgorithm.java)                                           |
| MASK_BEFORE_SPECIAL_CHARS               | Mask before special chars data masking algorithm               | [`org.apache.shardingsphere.mask.algorithm.cover.MaskBeforeSpecialCharsAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskBeforeSpecialCharsAlgorithm.java)                               |
| MASK_AFTER_SPECIAL_CHARS                | Mask after special chars data masking algorithm                | [`org.apache.shardingsphere.mask.algorithm.cover.MaskAfterSpecialCharsAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/cover/MaskAfterSpecialCharsAlgorithm.java)                                 |
| GENERIC_TABLE_RANDOM_REPLACE            | Generic table random replace algorithm                         | [`org.apache.shardingsphere.mask.algorithm.replace.GenericTableRandomReplaceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/GenericTableRandomReplaceAlgorithm.java)                     |

=====================================================
== File: docs/document/content/dev-manual/sql-audit.cn.md
=====================================================
+++
pre = "<b>5.5. </b>"
title = "SQL 审计"
weight = 5
chapter = true
+++

## SQLAuditor

### 全限定类名

[`org.apache.shardingsphere.infra.executor.audit.SQLAuditor`](https://github.com/apache/shardingsphere/blob/master/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/audit/SQLAuditor.java)

### 定义

SQL 审计定义接口

### 已知实现

| *配置标识*   | *详细说明*     | *全限定类名*                                                                                                                                                                                                                         |
|----------|------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Sharding | 分片 SQL 审计器 | [`org.apache.shardingsphere.sharding.auditor.ShardingSQLAuditor`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditor.java) |

=====================================================
== File: docs/document/content/dev-manual/_index.en.md
=====================================================
+++
pre = "<b>5. </b>"
title = "Dev Manual"
weight = 5
chapter = true
+++

Apache ShardingSphere provides dozens of SPI based extensions. 
it is very convenient to customize the functions for developers.

This chapter lists all SPI extensions of Apache ShardingSphere.
If there is no special requirement, users can use the built-in implementation provided by Apache ShardingSphere; 
advanced users can refer to the interfaces for customized implementation.

Apache ShardingSphere community welcomes developers to feed back their implementations to the [open-source community](https://github.com/apache/shardingsphere/pulls), 
so that more users can benefit from it.

=====================================================
== File: docs/document/content/dev-manual/agent.en.md
=====================================================
+++
pre = "<b>5.9. </b>"
title = "Observability"
weight = 9
chapter = true
+++

## PluginLifecycleService

### Fully-qualified class name

[`org.apache.shardingsphere.agent.spi.PluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PluginLifecycleService.java)

### Definition

Plug lifecycle management interface

### Implementation classes

| *Configuration Type* | *Description*                                        | *Fully-qualified class name*                                                                                                                                                                                                                                                                                                          |
|----------------------|------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| File                 | Logging plug lifecycle management class              | [`org.apache.shardingsphere.agent.plugin.logging.file.FileLoggingPluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/logging/type/file/src/main/java/org/apache/shardingsphere/agent/plugin/logging/file/FileLoggingPluginLifecycleService.java)                                              |
| Prometheus           | Prometheus plug lifecycle management class           | [`org.apache.shardingsphere.agent.plugin.metrics.prometheus.PrometheusPluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginLifecycleService.java)                              |
| OpenTelemetry        | OpenTelemetryTracing plug lifecycle management class | [`org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.OpenTelemetryTracingPluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/OpenTelemetryTracingPluginLifecycleService.java) |

=====================================================
== File: docs/document/content/dev-manual/sql-audit.en.md
=====================================================
+++
pre = "<b>5.5. </b>"
title = "SQL Audit"
weight = 5
chapter = true
+++

## SQLAuditor

### Fully-qualified class name

[`org.apache.shardingsphere.infra.executor.audit.SQLAuditor`](https://github.com/apache/shardingsphere/blob/master/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/audit/SQLAuditor.java)

### Definition

SQL auditor class definition

### Implementation classes

| *Configuration Type* | *Description*    | *Fully-qualified class name*                                                                                                                                                                                                    |
|----------------------|------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Sharding             | Sharding auditor | [`org.apache.shardingsphere.sharding.auditor.ShardingSQLAuditor`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditor.java) |

=====================================================
== File: docs/document/content/dev-manual/sharding.en.md
=====================================================
+++
pre = "<b>5.3. </b>"
title = "Data Sharding"
weight = 3
chapter = true
+++

## ShardingAlgorithm

### Fully-qualified class name

[`org.apache.shardingsphere.sharding.spi.ShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/spi/ShardingAlgorithm.java)

### Definition

Sharding Algorithm definition

### Implementation classes

| *Configuration Type*     | *Auto Create Tables* | *Description*                                                           | *Fully-qualified class name*                                                                                                                                                                                                                                                                                                          |
|--------------------------|----------------------|-------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| MOD                      | Y                    | Modulo sharding algorithm                                               | [`org.apache.shardingsphere.sharding.algorithm.sharding.mod.ModShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/mod/ModShardingAlgorithm.java)                                                                     |
| HASH_MOD                 | Y                    | Hash modulo sharding algorithm                                          | [`org.apache.shardingsphere.sharding.algorithm.sharding.mod.HashModShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/mod/HashModShardingAlgorithm.java)                                                             |
| BOUNDARY_RANGE           | Y                    | Boundary based range sharding algorithm                                 | [`org.apache.shardingsphere.sharding.algorithm.sharding.range.BoundaryBasedRangeShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/BoundaryBasedRangeShardingAlgorithm.java)                                   |
| VOLUME_RANGE             | Y                    | Volume based range sharding algorithm                                   | [`org.apache.shardingsphere.sharding.algorithm.sharding.range.VolumeBasedRangeShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/VolumeBasedRangeShardingAlgorithm.java)                                       |
| AUTO_INTERVAL            | Y                    | Mutable interval sharding algorithm                                     | [`org.apache.shardingsphere.sharding.algorithm.sharding.datetime.AutoIntervalShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/AutoIntervalShardingAlgorithm.java)                                         |
| INTERVAL                 | N                    | Fixed interval sharding algorithm                                       | [`org.apache.shardingsphere.sharding.algorithm.sharding.datetime.IntervalShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/IntervalShardingAlgorithm.java)                                                 |
| CLASS_BASED              | N                    | Class based sharding algorithm                                          | [`org.apache.shardingsphere.sharding.algorithm.sharding.classbased.ClassBasedShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/classbased/ClassBasedShardingAlgorithm.java)                                         |
| INLINE                   | N                    | Inline sharding algorithm                                               | [`org.apache.shardingsphere.sharding.algorithm.sharding.inline.InlineShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/inline/InlineShardingAlgorithm.java)                                                         |
| COMPLEX_INLINE           | N                    | Complex inline sharding algorithm                                       | [`org.apache.shardingsphere.sharding.algorithm.sharding.complex.ComplexInlineShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/inline/ComplexInlineShardingAlgorithm.java)                                          |
| HINT_INLINE              | N                    | Hint inline sharding algorithm                                          | [`org.apache.shardingsphere.sharding.algorithm.sharding.hint.HintInlineShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/hint/HintInlineShardingAlgorithm.java)                                                     |

## ShardingAuditAlgorithm

### Fully-qualified class name

[`org.apache.shardingsphere.sharding.spi.ShardingAuditAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/spi/ShardingAuditAlgorithm.java)

### Definition

Sharding audit algorithm definition

### Implementation classes

| *Configuration Type*    | *Description*                                               | *Fully-qualified class name*                                                                                                                                                                                                                                                                      |
|-------------------------|-------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| DML_SHARDING_CONDITIONS | Prohibit DML auditing algorithm without sharding conditions | [`org.apache.shardingsphere.sharding.algorithm.audit.DMLShardingConditionsShardingAuditAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/audit/DMLShardingConditionsShardingAuditAlgorithm.java) |

## DatetimeService


=====================================================
== File: docs/document/content/dev-manual/infra-algorithm.en.md
=====================================================
+++
pre = "<b>5.4. </b>"
title = "Infra algorithm"
weight = 4
chapter = true
+++

## LoadBalanceAlgorithm

### Fully-qualified class name

[`org.apache.shardingsphere.infra.algorithm.loadbalancer.core.LoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/infra/algorithm/load-balancer/core/src/main/java/org/apache/shardingsphere/infra/algorithm/loadbalancer/core/LoadBalanceAlgorithm.java)

### Definition

Load balance algorithms, they can be used in readwrite-splitting and traffic features.

### Implementation classes

| *Configuration Type* | *Description*                                          | *Fully-qualified class name*                                                                                                                                                                                                                                                                                                         |
|----------------------|--------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ROUND_ROBIN          | load balancer algorithm based on polling | [`org.apache.shardingsphere.infra.algorithm.loadbalancer.round.robin.RoundRobinLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/infra/algorithm/load-balancer/type/round-robin/src/main/java/org/apache/shardingsphere/infra/algorithm/loadbalancer/round/robin/RoundRobinLoadBalanceAlgorithm.java) |
| RANDOM               | load balancer algorithm based on random | [`org.apache.shardingsphere.infra.algorithm.loadbalancer.random.RandomLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/infra/algorithm/load-balancer/type/random/src/main/java/org/apache/shardingsphere/infra/algorithm/loadbalancer/random/RandomLoadBalanceAlgorithm.java)         |
| WEIGHT               | load balancer algorithm based on weight | [`org.apache.shardingsphere.infra.algorithm.loadbalancer.weight.WeightLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/infra/algorithm/load-balancer/type/weight/src/main/java/org/apache/shardingsphere/infra/algorithm/loadbalancer/weight/WeightLoadBalanceAlgorithm.java)         |

## KeyGenerateAlgorithm

### Fully-qualified class name

[`org.apache.shardingsphere.keygen.core.algorithm.KeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/infra/algorithm/key-generator/core/src/main/java/org/apache/shardingsphere/infra/algorithm/keygen/core/KeyGenerateAlgorithm.java)

### Definition

Distributed key generated algorithms, they can be used in sharding feature.

### Implementation classes

| *Configuration Type* | *Description*                    | *Fully-qualified class name*                                                                                                                                                                                                                                                                          |
|----------------------|----------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| SNOWFLAKE            | Snowflake key generate algorithm | [`org.apache.shardingsphere.keygen.snowflake.algorithm.SnowflakeKeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/infra/algorithm/key-generator/type/snowflake/src/main/java/org/apache/shardingsphere/infra/algorithm/keygen/snowflake/SnowflakeKeyGenerateAlgorithm.java) |
| UUID                 | UUID key generate algorithm      | [`org.apache.shardingsphere.keygen.uuid.algorithm.UUIDKeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/infra/algorithm/key-generator/type/uuid/src/main/java/org/apache/shardingsphere/infra/algorithm/keygen/uuid/UUIDKeyGenerateAlgorithm.java)                          |

## MessageDigestAlgorithm

### Fully-qualified class name

[`org.apache.shardingsphere.infra.algorithm.messagedigest.core.MessageDigestAlgorithm`](https://github.com/apache/shardingsphere/blob/master/infra/algorithm/message-digest/core/src/main/java/org/apache/shardingsphere/infra/algorithm/messagedigest/core/MessageDigestAlgorithm.java)

### Definition


=====================================================
== File: docs/document/content/faq/_index.cn.md
=====================================================
+++
pre = "<b>8. </b>"
title = "FAQ"
weight = 8
chapter = true
+++

## JDBC

### [JDBC] 引入 `shardingsphere-transaction-xa-core` 后,如何避免 spring-boot 自动加载默认的 JtaTransactionManager?

回答:

1. 需要在 spring-boot 的引导类中添加 `@SpringBootApplication(exclude = JtaAutoConfiguration.class)`。

### [JDBC] Oracle 表名、字段名配置大小写在加载 `metadata` 元数据时结果不正确?

回答:
需要注意,Oracle 表名和字段名,默认元数据都是大写,除非建表语句中带双引号,如 `CREATE TABLE "TableName"("Id" number)` 元数据为双引号中内容,可参考以下SQL查看元数据的具体情况:
```sql
SELECT OWNER, TABLE_NAME, COLUMN_NAME, DATA_TYPE FROM ALL_TAB_COLUMNS WHERE TABLE_NAME IN ('TableName') 
```
ShardingSphere 使用 `OracleTableMetaDataLoader` 对 Oracle 元数据进行加载,配置时需确保表名、字段名的大小写配置与数据库中的一致。
ShardingSphere 查询元数据关键SQL:
```java
 private String getTableMetaDataSQL(final Collection<String> tables, final DatabaseMetaData metaData) throws SQLException {
     StringBuilder stringBuilder = new StringBuilder(28);
     if (versionContainsIdentityColumn(metaData)) {
         stringBuilder.append(", IDENTITY_COLUMN");
     }
     if (versionContainsCollation(metaData)) {
         stringBuilder.append(", COLLATION");
     }
     String collation = stringBuilder.toString();
     return tables.isEmpty() ? String.format(TABLE_META_DATA_SQL, collation)
             : String.format(TABLE_META_DATA_SQL_IN_TABLES, collation, tables.stream().map(each -> String.format("'%s'", each)).collect(Collectors.joining(",")));
 }
```

### [JDBC] 使用 MySQL XA 事务时报 `SQLException: Unable to unwrap to interface com.mysql.jdbc.Connection` 异常

回答:

多个 MySQL 驱动之间不兼容。由于优先加载了类路径下 MySQL5 版本的驱动类,当试图调用 MySQL8 驱动里的 `unwrap` 方法时,类型转换异常。

解决方案:
检查类路径下是否同时存在 MySQL5 和 MySQL8 的驱动,只保留对应版本的一个驱动包即可。

异常堆栈如下:
```

=====================================================
== File: docs/document/content/faq/_index.en.md
=====================================================
+++
pre = "<b>8. </b>"
title = "FAQ"
weight = 8
chapter = true
+++

## JDBC

### [JDBC] Found a JtaTransactionManager in spring boot project when integrating with XAtransaction.

Answer:

1. `shardingsphere-transaction-xa-core` include atomikos, it will trigger auto-configuration mechanism in spring-boot, add `@SpringBootApplication(exclude = JtaAutoConfiguration.class)` will solve it.

### [JDBC] The tableName and columnName configured in yaml or properties leading incorrect result when loading Oracle metadata?

Answer:

Note that, in Oracle's metadata, the tableName and columnName is default UPPERCASE, while double-quoted such as `CREATE TABLE "TableName"("Id" number)` the tableName and columnName is the actual content double-quoted, refer to the following SQL for the reality in metadata:
```sql
SELECT OWNER, TABLE_NAME, COLUMN_NAME, DATA_TYPE FROM ALL_TAB_COLUMNS WHERE TABLE_NAME IN ('TableName') 
```
ShardingSphere uses the `OracleTableMetaDataLoader` to load the metadata, keep the tableName and columnName in the yaml or properties consistent with the metadata.
ShardingSphere assembled the SQL using the following code:
```java
 private String getTableMetaDataSQL(final Collection<String> tables, final DatabaseMetaData metaData) throws SQLException {
     StringBuilder stringBuilder = new StringBuilder(28);
     if (versionContainsIdentityColumn(metaData)) {
         stringBuilder.append(", IDENTITY_COLUMN");
     }
     if (versionContainsCollation(metaData)) {
         stringBuilder.append(", COLLATION");
     }
     String collation = stringBuilder.toString();
     return tables.isEmpty() ? String.format(TABLE_META_DATA_SQL, collation)
             : String.format(TABLE_META_DATA_SQL_IN_TABLES, collation, tables.stream().map(each -> String.format("'%s'", each)).collect(Collectors.joining(",")));
 }
``` 

### [JDBC] `SQLException: Unable to unwrap to interface com.mysql.jdbc.Connection` exception thrown when using MySQL XA transaction

Answer:

Incompatibility between multiple MySQL drivers. Because the MySQL5 version of the driver class under the class path is loaded first, when trying to call the `unwrap` method in the MySQL8 driver, the type conversion exception occurs.

The solutions:
Check whether there are both MySQL5 and MySQL8 drivers in the class path, and only keep one driver package of the corresponding version.

The exception stack is as follows:

=====================================================
== File: docs/document/content/downloads/_index.en.md
=====================================================
+++
pre = "<b>9. </b>"
title = "Downloads"
weight = 9
chapter = true
extracss = true
+++

## Latest Releases

Apache ShardingSphere is released as source code tarballs with corresponding binary tarballs for convenience.
The downloads are distributed via mirror sites and should be checked for tampering using GPG or SHA-512.

##### Apache ShardingSphere - Version: 5.4.1 ( Release Date: October 18th, 2023 )

- Source Codes: [<u>SRC</u>](https://www.apache.org/dyn/closer.lua/shardingsphere/5.4.1/apache-shardingsphere-5.4.1-src.zip) ( [<u>ASC</u>](https://downloads.apache.org/shardingsphere/5.4.1/apache-shardingsphere-5.4.1-src.zip.asc), [<u>SHA512</u>](https://downloads.apache.org/shardingsphere/5.4.1/apache-shardingsphere-5.4.1-src.zip.sha512) )
- ShardingSphere-JDBC Binary Distribution: [<u>TAR</u>](https://www.apache.org/dyn/closer.lua/shardingsphere/5.4.1/apache-shardingsphere-5.4.1-shardingsphere-jdbc-bin.tar.gz) ( [<u>ASC</u>](https://downloads.apache.org/shardingsphere/5.4.1/apache-shardingsphere-5.4.1-shardingsphere-jdbc-bin.tar.gz.asc), [<u>SHA512</u>](https://downloads.apache.org/shardingsphere/5.4.1/apache-shardingsphere-5.4.1-shardingsphere-jdbc-bin.tar.gz.sha512) )
- ShardingSphere-Proxy Binary Distribution: [<u>TAR</u>](https://www.apache.org/dyn/closer.lua/shardingsphere/5.4.1/apache-shardingsphere-5.4.1-shardingsphere-proxy-bin.tar.gz) ( [<u>ASC</u>](https://downloads.apache.org/shardingsphere/5.4.1/apache-shardingsphere-5.4.1-shardingsphere-proxy-bin.tar.gz.asc), [<u>SHA512</u>](https://downloads.apache.org/shardingsphere/5.4.1/apache-shardingsphere-5.4.1-shardingsphere-proxy-bin.tar.gz.sha512) )
- ShardingSphere-Agent Binary Distribution: [<u>TAR</u>](https://www.apache.org/dyn/closer.lua/shardingsphere/5.4.1/apache-shardingsphere-5.4.1-shardingsphere-agent-bin.tar.gz) ( [<u>ASC</u>](https://downloads.apache.org/shardingsphere/5.4.1/apache-shardingsphere-5.4.1-shardingsphere-agent-bin.tar.gz.asc), [<u>SHA512</u>](https://downloads.apache.org/shardingsphere/5.4.1/apache-shardingsphere-5.4.1-shardingsphere-agent-bin.tar.gz.sha512) )

## All Releases

Find all releases in the [Archive repository](https://archive.apache.org/dist/shardingsphere/).</br>
Find all incubator releases in the [Archive incubator repository](https://archive.apache.org/dist/incubator/shardingsphere/).

## Verify the Releases

[PGP signatures KEYS](https://downloads.apache.org/shardingsphere/KEYS)

It is essential that you verify the integrity of the downloaded files using the PGP or SHA signatures.
The PGP signatures can be verified using GPG or PGP.
Please download the KEYS as well as the asc signature files for relevant distribution.
It is recommended to get these files from the main distribution directory and not from the mirrors.

```shell
gpg -i KEYS
```

or

```shell
pgpk -a KEYS
```

or

```shell
pgp -ka KEYS
```


=====================================================
== File: docs/document/content/features/mask/concept.en.md
=====================================================
+++
title = "Core Concept"
weight = 1
+++

## Logic column

The logical name used to calculate masked column, which is logical identifier of column in SQL.

=====================================================
== File: docs/document/content/features/mask/limitations.en.md
=====================================================
+++
title = "Limitations"
weight = 2
+++

- Masked columns only support string types, not other non-string types.

=====================================================
== File: docs/document/content/features/mask/_index.en.md
=====================================================
+++
pre = "<b>3.8. </b>"
title = "Data Masking"
weight = 8
chapter = true
+++

## Background

With the introduction of laws on user data protection, the protection of personal privacy data has risen to the legal level. Traditional application systems generally lack protection measures for personal privacy data.
Data masking can achieve special encryption, masking and replacement of the data returned by the production database according to user-defined masking rules without any changes to the data in the production database to ensure the sensitivity of the production environment data can be protected.

## Challenges

In real business scenarios, relevant DevOps teams often need to implement and maintain a set of masking functions by themselves according to data masking requirements, and the masking functions are often coupled in various business logics. Additionally different business systems are difficult to reuse. When the masking scenario changes, the masking function maintained by itself often faces the risk of refactoring or modification.

## Goal

According to industry needs for data masking and the pain points of business transformation, it provides a complete, safe, transparent, and low transformation cost data masking integration solution, which is the main design goal of the Apache ShardingSphere data masking module.

## Application Scenarios

Whether it is a new business that is launched quickly or a mature business that has already been launched, you can access the data masking function of ShardingSphere to quickly complete the configuration of mask rules. 
Customers can use data masking function transparently without developing a masking function coupled to the business system, and without changing any business logic and SQL.

## Related References

- [Configuration: Data Mask](/en/user-manual/shardingsphere-jdbc/yaml-config/rules/mask/)
- [Developer Guide: Data Mask](/en/dev-manual/mask/)

=====================================================
== File: docs/document/content/features/observability/concept.en.md
=====================================================
+++
title = "Core Concept"
weight = 1
+++

## Agent

Based on bytecode enhancement and plugin design to provide tracing, metrics and logging features.

Only after the plugin of the Agent is enabled, the monitoring indicator data can be output to the third-party APM for display.

## APM

APM is an acronym for Application Performance Monitoring.

Focusing on the performance diagnosis of distributed systems, its main functions include call chain display, application topology analysis, etc.

## Tracing

Tracing data between distributed services or internal processes will be collected by agent. It will then be sent to third-party APM systems.

## Metrics

System statistical indicators are collected through probes for display by third-party applications.

## Logging

The log can be easily expanded through the agent to provide more information for analyzing the system running status.

=====================================================
== File: docs/document/content/features/observability/_index.en.md
=====================================================
+++
pre = "<b>3.10. </b>"
title = "Observability"
weight = 10
+++

## Background

In order to grasp the distributed system status, observe running state of the cluster is a new challenge. The point-to-point operation mode of logging in to a specific server cannot suite to large number of distributed servers. Telemetry through observable data is the recommended operation and maintenance mode for them. Tracking, metrics and logging are important ways to obtain observable data of system status.

APM (application performance monitoring) is to monitor and diagnose the performance of the system by collecting, storing and analyzing the observable data of the system. Its main functions include performance index monitoring, call stack analysis, service topology, etc.

Apache ShardingSphere is not responsible for gathering, storing and demonstrating APM data, but provides the necessary information for the APM. In other words, Apache ShardingSphere is only responsible for generating valuable data and submitting it to relevant systems through standard protocols or plug-ins. Tracing is to obtain the tracking information of SQL parsing and SQL execution. Apache ShardingSphere provides support for OpenTelemetry, SkyWalking by default. It also supports users to develop customized components through plug-in.

- Use OpenTelemetry
OpenTelemetry was merged by OpenTracing and OpenCencus in 2019. In this way, you only need to fill in the appropriate configuration in the agent configuration file according to [OpenTelemetry SDK Autoconfigure Guide](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure). Data can be exported to Jaeger, Zipkin.

- Use SkyWalking
Enable the SkyWalking plug-in in configuration file and need to configure the SkyWalking apm-toolkit.

- Use SkyWalking’s automatic monitor probe
Cooperating with [Apache SkyWalking](https://skywalking.apache.org/) team, Apache ShardingSphere team has realized ShardingSphere automatic monitor probe to automatically send performance data to SkyWalking. Note that automatic probe in this way cannot be used together with Apache ShardingSphere plug-in probe.

Metrics used to collect and display statistical indicator of cluster. Apache ShardingSphere supports Prometheus by default.

![Overview](https://shardingsphere.apache.org/document/current/img/apm/overview_v3.png)

![Agent ClassLoader](https://shardingsphere.apache.org/document/current/img/apm/agent-class-loader.png)

## Challenges

Tracing and metrics need to collect system information through event tracking. Lots of events tracking make kernel code mess, difficult to maintain, and difficult to customize extend.

## Goal

The goal of Apache ShardingSphere observability module is providing as many performance and statistical indicators as possible and isolating kernel code and embedded code.

## Application Scenarios

ShardingSphere provides observability for applications through the Agent module, and this feature applies to the following scenarios:

### Monitoring panel

The system's static information (such as application version) and dynamic information (such as the number of threads and SQL processing information) are exposed to a third-party application (such as Prometheus) using a standard interface. Administrators can visually monitor the real-time system status.

### Monitoring application performance

In ShardingSphere, a SQL statement needs to go through the processes of parsing, routing, rewriting, execution, and result merging before it is finally executed and the response can be output. If a SQL statement is complex and the overall execution takes a long time, how do we know which procedure has room for optimization?

Through Agent plus Tracing, administrators can learn about the time consumption of each step of SQL execution. Thus, they can easily locate performance risks and formulate targeted SQL optimization schemes.

=====================================================
== File: docs/document/content/features/migration/concept.en.md
=====================================================
+++
title = "Core Concept"
weight = 1
+++

## Nodes

Instances for running compute or storage tier component processes. These can either be physical machines, virtual machines, or containers, etc.

## Cluster

Multiple nodes that are assembled together to provide a specified service.

## Source

The storage cluster where the original data resides.

## Target

The target storage cluster to which the original data is to be migrated.

## Data Migration Process

The entire process of replicating data from one storage cluster to another.

## Stock Data

The data that was already in the data node before the data migration operation started.

## Incremental Data

New data generated by operational systems during the execution of data migration operations.

=====================================================
== File: docs/document/content/features/migration/limitations.en.md
=====================================================
+++
title = "Limitations"
weight = 2
+++

## Procedures Supported

* Migration of peripheral data to databases managed by Apache ShardingSphere.
* Target proxy without rule or configure any rule.
* Migration of single column primary key or unique key table, the first column type could be: integer data type, string data type and part of binary data type (e.g. MySQL VARBINARY).
* Migration of multiple column primary keys or unique keys table.

## Procedures not supported

* Migration on top of the current storage node is not supported, so a brand new database cluster needs to be prepared as the migration target cluster.
* Target proxy table rule contains HINT strategy.
* Use different target table schema from source table schema.
* Source table DDL changes during migration.

=====================================================
== File: docs/document/content/features/migration/_index.en.md
=====================================================
+++
pre = "<b>3.6. </b>"
title = "Data Migration"
weight = 6
chapter = true
+++

## Background

In a scenario where the business continues to develop and the amount of data and concurrency reaches a certain extent, the traditional single database may face problems in terms of performance, scalability and availability.

Although NoSQL solutions can solve the above problems through data sharding and horizontal scale-out, NoSQL databases generally do not support transactions and SQL.

ShardingSphere can also solve the above problems and supports data sharding and horizontal scale-out, while at the same time, also supporting distributed transactions and SQL.

The data migration scheme provided by ShardingSphere can help the traditional single database smoothly switch to ShardingSphere.

## Challenges

The data migration process should not affect the running services. So the first challenge is to minimize the time window during which data is not available.

Next, data migration should not affect existing data. So the second challenge is to ensure the data correctness.

## Goal

The major goal of Apache ShardingSphere in performing data migration is to reduce the impact of data migration on services and provide a one-stop universal data migration solution.

## Application Scenarios

Application scenario one: when an application system is using a traditional single database, and the amount of data in a single table reaches 100 million and is still growing rapidly, a single database that continues to run with a high load will become the bottleneck of the system. 

Once the database becomes the bottleneck, it is useless to scale out the application server. Instead, it is the database that needs to be scaled out. 

## Related References

- [Configurations of data migration ](/en/user-manual/shardingsphere-proxy/migration/)
- [Reference of data migration](/en/reference/migration/)

=====================================================
== File: docs/document/content/features/management/concept.en.md
=====================================================
+++
title = "Core Concept"
weight = 1
+++

## Circuit Breaker

Fuse connection between Apache ShardingSphere and the database.
When an Apache ShardingSphere node exceeds the max load, stop the node's access to the database, 
so that the database can ensure sufficient resources to provide services for other Apache ShardingSphere nodes.

## Request Limit

In the face of overload requests, open request limiting to protect some requests can still respond quickly.

=====================================================
== File: docs/document/content/features/management/_index.en.md
=====================================================
+++
pre = "<b>3.5. </b>"
title = "Traffic Governance"
weight = 5
chapter = true
+++

## Background

As the scale of data continues to expand, a distributed database has become a trend gradually.
The unified management ability of cluster perspective, and control ability of individual components are necessary ability in modern database system.

## Challenges

The challenge is ability which are unified management of centralized management, and  operation in case of single node in failure.

Centralized management is to uniformly manage the state of database storage nodes and middleware computing nodes, 
and can detect the latest updates in the distributed environment in real time, further provide information with control and scheduling.

In the overload traffic scenario, circuit breaker and request limiting for a node to ensure whole database cluster can run continuously is a challenge to control ability of a single node.

## Goal

The goal of Apache ShardingSphere management module is to realize the integrated management ability from database to computing node, and provide control ability for components in case of failure.

## Application Scenarios

### Overloaded compute node protection

When a compute node in a ShardingSphere cluster exceeds its load, the circuit breaker function is used to block the traffic to the compute node, to ensure that the whole cluster continues to provide stable services.

### Storage node traffic limit

In the read-write splitting scenario where a storage node responsible for the read traffic in a ShardingSphere cluster receives overloaded requests, the traffic limit function is used to block traffic from compute nodes to the storage node, to ensure normal response of the storage node cluster.

=====================================================
== File: docs/document/content/features/sharding/concept.en.md
=====================================================
+++
title = "Core Concept"
weight = 1
+++

## Table

Tables are a key concept for transparent data sharding. Apache ShardingSphere adapts to the data sharding requirements under different scenarios by providing diverse table types.

### Logic Table

The logical name of the horizontally sharded database (table) of the same structure is the logical identifier of the table in SQL. Example: Order data is split into 10 tables according to the primary key endings, are `t_order_0` to `t_order_9`, and their logical table names are `t_order`.

### Actual Table

Physical tables that exist in the horizontally sharded databases. Those are, `t_order_0` to `t_order_9` in the previous example.


### Binding Table

Refers to a set of sharded tables with consistent sharding rules. When using binding tables for multi-table associated query, a sharding key must be used for the association, otherwise, Cartesian product association or cross-library association will occur, affecting query efficiency. 

For example, if the `t_order` table and `t_order_item` table are both sharded according to `order_id` and are correlated using `order_id`, the two tables are binding tables. The multi-table associated queries between binding tables will not have a Cartesian product association, so the associated queries will be much more effective. Here is an example,

If SQL is:

```sql
SELECT i.* FROM t_order o JOIN t_order_item i ON o.order_id=i.order_id WHERE o.order_id in (10, 11);
```

In the case where no binding table relationships are being set, assume that the sharding key `order_id` routes the value 10 to slice 0 and the value 11 to slice 1, then the routed SQL should be 4 items, which are presented as a Cartesian product:

```sql
SELECT i.* FROM t_order_0 o JOIN t_order_item_0 i ON o.order_id=i.order_id WHERE o.order_id in (10, 11);

SELECT i.* FROM t_order_0 o JOIN t_order_item_1 i ON o.order_id=i.order_id WHERE o.order_id in (10, 11);

SELECT i.* FROM t_order_1 o JOIN t_order_item_0 i ON o.order_id=i.order_id WHERE o.order_id in (10, 11);

SELECT i.* FROM t_order_1 o JOIN t_order_item_1 i ON o.order_id=i.order_id WHERE o.order_id in (10, 11);
```

After the relationships between binding tables are configured and associated with order_id, the routed SQL should then be 2 items:

```sql
SELECT i.* FROM t_order_0 o JOIN t_order_item_0 i ON o.order_id=i.order_id WHERE o.order_id in (10, 11);

SELECT i.* FROM t_order_1 o JOIN t_order_item_1 i ON o.order_id=i.order_id WHERE o.order_id in (10, 11);
```


=====================================================
== File: docs/document/content/features/sharding/appendix.en.md
=====================================================
+++
title = "Appendix with SQL operator"
weight = 3
+++

Limited supported SQL:

- When using `getGeneratedKeys` interface of JDBC specification to return auto-increment key, it is necessary to use a distributed key generator that supports auto-increment, and does not support other types of distributed key generators

Unsupported SQL:

- CASE WHEN contains sub-query
- Logical table names are used in CASE WHEN( Please use an alias)
- INSERT INTO tbl_name (col1, col2, …) SELECT * FROM tbl_name WHERE col3 = ?(The SELECT clause does not support * and the built-in distributed primary key generator)
- REPLACE INTO tbl_name (col1, col2, …) SELECT * FROM tbl_name WHERE col3 = ?(The SELECT clause does not support * and the built-in distributed primary key generator)
- SELECT MAX(tbl_name.col1) FROM tbl_name (If the query column is a function expression, use the table alias instead of the table name)

Other:

- You should keep actual tables, sharding columns and key generate columns in sharding rule same capitalization with tables and columns in database.

=====================================================
== File: docs/document/content/features/sharding/_index.en.md
=====================================================
+++
pre = "<b>3.1. </b>"
title = "Sharding"
weight = 1
chapter = true
+++

## Background

The traditional solution that stores all the data in one concentrated node has hardly satisfied the requirement of massive data scenario in three aspects, performance, availability and operation cost.

In performance, the relational database mostly uses B+ tree index. When the data amount exceeds the threshold, deeper index will increase the disk IO access number, and thereby, weaken the performance of query. In the same time, high concurrency requests also make the centralized database to be the greatest limitation of the system.

In availability, capacity can be expanded at a relatively low cost and any extent with stateless service, which can make all the pressure, at last, fall on the database. But the single data node or simple primary-replica structure has been harder and harder to take these pressures. Therefore, database availability has become the key to the whole system.

From the aspect of operation costs, when the data in a database instance has reached above the threshold, DBA’s operation pressure will also increase. The time cost of data backup and data recovery will be more uncontrollable with increasing amount of data. Generally, it is a relatively reasonable range for the data in single database case to be within 1TB.

Under the circumstance that traditional relational databases cannot satisfy the requirement of the Internet, there are more and more attempts to store the data in native distributed NoSQL. But its incompatibility with SQL and imperfection in ecosystem block it from defeating the relational database in the competition, so the relational database still holds an unshakable position.

Sharding refers to splitting the data in one database and storing them in multiple tables and databases according to some certain standard, so that the performance and availability can be improved. Both methods can effectively avoid the query limitation caused by data exceeding affordable threshold. What’s more, database sharding can also effectively disperse TPS. Table sharding, though cannot ease the database pressure, can provide possibilities to transfer distributed transactions to local transactions, since cross-database upgrades are once involved, distributed transactions can turn pretty tricky sometimes. The use of multiple primary-replica sharding method can effectively avoid the data concentrating on one node and increase the architecture availability.

Splitting data through database sharding and table sharding is an effective method to deal with high TPS and mass amount data system, because it can keep the data amount lower than the threshold and evacuate the traffic. Sharding method can be divided into vertical sharding and horizontal sharding.

### Vertical Sharding

According to business sharding method, it is called vertical sharding, or longitudinal sharding, the core concept of which is to specialize databases for different uses. Before sharding, a database consists of many tables corresponding to different businesses. But after sharding, tables are categorized into different databases according to business, and the pressure is also separated into different databases. The diagram below has presented the solution to assign user tables and order tables to different databases by vertical sharding according to business need.

![Vertical Sharding](https://shardingsphere.apache.org/document/current/img/sharding/vertical_sharding.png)

Vertical sharding requires to adjust the architecture and design from time to time. Generally speaking, it is not soon enough to deal with fast changing needs from  Internet business and not able to really solve the single-node problem. it can ease problems brought by the high data amount and concurrency amount,  but cannot solve them completely. After vertical sharding, if the data amount in the table still exceeds the single node threshold, it should be further processed by horizontal sharding.

### Horizontal Sharding

Horizontal sharding is also called transverse sharding. Compared with the categorization method according to business logic of vertical sharding, horizontal sharding categorizes data to multiple databases or tables according to some certain rules through certain fields, with each sharding containing only part of the data. For example, according to primary key sharding, even primary keys are put into the 0 database (or table) and odd primary keys are put into the 1 database (or table), which is illustrated as the following diagram.

![Horizontal Sharding](https://shardingsphere.apache.org/document/current/img/sharding/horizontal_sharding.png)

Theoretically, horizontal sharding has overcome the limitation of data processing volume in single machine and can be extended relatively freely, so it can be taken as a standard solution to database sharding and table sharding.

## Challenges

Although data sharding solves problems regarding performance, availability, and backup recovery of single points, the distributed architecture has introduced new problems while gaining benefits.

One of the major challenges is that application development engineers and database administrators become extremely overwhelmed with all these operations after such a scattered way of data sharding. They need to know from which specific sub-table can they fetch the data needed.

Another challenge is that SQL that works correctly in one single-node database does not necessarily work correctly in a sharded database. For example, table splitting results in table name changes, or incorrect handling of operations such as paging, sorting, and aggregate grouping.

Cross-library transactions are also tricky for a distributed database cluster. Reasonable use of table splitting can minimize the use of local transactions while reducing the amount of data in a single table, and appropriate use of different tables in the same database can effectively avoid the trouble caused by distributed transactions. In scenarios where cross-library transactions cannot be avoided, some businesses might still be in the need to maintain transaction consistency. The XA-based distributed transactions are not used by Internet giants on a large scale because their performance cannot meet the needs in scenarios with high concurrency, and most of them use flexible transactions with ultimate consistency instead of strong consistent transactions.

## Goal

=====================================================
== File: docs/document/content/features/sharding/limitation.en.md
=====================================================
+++
title = "Limitations"
weight = 2
+++

Compatible with all commonly used SQL that routes to single data nodes; SQL routing to multiple data nodes is divided, because of complexity issues, into three conditions: stable support, experimental support, and no support.

## Stable Support

Full support for DML, DDL, DCL, TCL, and common DALs. Support for complex queries such as paging, de-duplication, sorting, grouping, aggregation, table association, etc.
Support SCHEMA DDL and DML statements of PostgreSQL and openGauss database. When no schema is specified in SQL, default access to 'public' schema. Other schemas need to declare before the table name, and do not support 'SEARCH_PATH' to modify the schema search path.

### Normal Queries

- main statement SELECT

```sql
SELECT select_expr [, select_expr ...] FROM table_reference [, table_reference ...]
[WHERE predicates]
[GROUP BY {col_name | position} [ASC | DESC], ...]
[ORDER BY {col_name | position} [ASC | DESC], ...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
```

- select_expr

```sql
* | 
[DISTINCT] COLUMN_NAME [AS] [alias] | 
(MAX | MIN | SUM | AVG)(COLUMN_NAME | alias) [AS] [alias] | 
COUNT(* | COLUMN_NAME | alias) [AS] [alias]
```

- table_reference

```sql
tbl_name [AS] alias] [index_hint_list]
| table_reference ([INNER] | {LEFT|RIGHT} [OUTER]) JOIN table_factor [JOIN ON conditional_expr | USING (column_list)]
```

### Sub-query

Stable support is provided by the kernel when both the subquery and the outer query specify a shard key and the values of the slice key remain consistent.
e.g:

```sql
SELECT * FROM (SELECT * FROM t_order WHERE order_id = 1) o WHERE o.order_id = 1;
```
Sub-query for [pagination](https://shardingsphere.apache.org/document/current/en/features/sharding/limitation/#pagination-query) can be stably supported by the kernel.
e.g.:

=====================================================
== File: docs/document/content/features/sql-federation/limitation.cn.md
=====================================================
+++
title = "使用限制"
weight = 1
+++

Apache ShardingSphere 的联邦查询处于实验阶段。

=====================================================
== File: docs/document/content/features/sql-federation/_index.en.md
=====================================================
+++
pre = "<b>3.11. </b>"
title = "SQL Federation"
weight = 11
chapter = true
+++

## Background

When users use data sharding to horizontally split massive amounts of data, although it can effectively solve database performance bottlenecks, it also brings some new problems in business.

For example, in the following scenarios: cross database association queries, sub queries, pagination, sorting, aggregation queries.

When implementing business operations, it is important to pay attention to the usage range of SQL queries and avoid cross database instance queries as much as possible, which limits the functionality of the business at the database level.

## Challenges

User business queries in SQL are often complex and variable, and it is costly to integrate them into ShardingSphere through business SQL transformation.

Convert the original queries on the business side into distributed queries and perform corresponding SQL optimization in distributed query scenarios, which can be completed across database instances: associated queries, sub queries, pagination, sorting, and aggregation queries.

In terms of business implementation, it can enable R&D personnel to no longer care about the scope of SQL usage, focus on business function development, and reduce functional limitations at the business level.

## Goal

Implementing distributed SQL for cross database instance queries is the main design goal of Apache ShardingSphere federated queries.

## Application Scenario

When cross database association queries, sub queries, and aggregate queries are required. No need to modify SQL, enabling federated queries through configuration can complete the execution of distributed query statements.

## Related References

- [SQL Federation Configuration](/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-federation/)

=====================================================
== File: docs/document/content/features/sql-federation/limitation.en.md
=====================================================
+++
title = "Limitations"
weight = 1
+++

The SQL federation query of Apache ShardingSphere is experimental.

=====================================================
== File: docs/document/content/features/_index.en.md
=====================================================
+++
pre = "<b>3. </b>"
title = "Features"
weight = 3
chapter = true
+++

Apache ShardingSphere provides a variety of features, from database kernel and database distributed solution to applications closed features.

There is no boundary for these features, warmly welcome more open source engineers to join the community and provide exciting ideas and features.

=====================================================
== File: docs/document/content/features/shadow/concept.en.md
=====================================================
+++
title = "Core Concept"
weight = 1
+++

## Production Database

Database for production data

## Shadow Database

The Database for stress test data isolation. Configurations should be the same as the Production Database.

## Shadow Algorithm

Shadow Algorithm, which is closely related to business operations, currently has 2 types.

- Column based shadow algorithm
Routing to shadow database by recognizing data from SQL. Suitable for stress test scenario that has an emphasis on data list.
- Hint based shadow algorithm
Routing to shadow database by recognizing comments from SQL. Suitable for stress test driven by the identification of upstream system passage.

=====================================================
== File: docs/document/content/features/shadow/limitations.en.md
=====================================================
+++
title = "Limitations"
weight = 2
+++

## Hint based shadow algorithm

No

## Column based shadow algorithm

Does not support DDL.

Does not support scope, group, subqueries such as BETWEEN, GROUP BY ... HAVING, etc.

SQL support list

  - INSERT
  
  | *SQL*                                                                            | *support or not* |
  |----------------------------------------------------------------------------------|------------------|
  | INSERT INTO table (column,...) VALUES (value,...)                                | support          |
  | INSERT INTO table (column,...) VALUES (value,...),(value,...),...                | support          |
  | INSERT INTO table (column,...) SELECT column1 from table1 where column1 = value1 | do not support   |
 
  - SELECT/UPDATE/DELETE
  
  | *condition categories* | *SQL*                                                                                   | *support or not* |
  |------------------------|-----------------------------------------------------------------------------------------|------------------|
  | =                      | SELECT/UPDATE/DELETE ... WHERE column = value                                           | support          |
  | LIKE/NOT LIKE          | SELECT/UPDATE/DELETE ... WHERE column LIKE/NOT LIKE value                               | support          |                        
  | IN/NOT IN              | SELECT/UPDATE/DELETE ... WHERE column IN/NOT IN (value1,value2,...)                     | support          |
  | BETWEEN                | SELECT/UPDATE/DELETE ... WHERE column BETWEEN value1 AND value2                         | do not support   |
  | GROUP BY ... HAVING... | SELECT/UPDATE/DELETE ... WHERE ... GROUP BY column HAVING column > value                | do not support   |
  | Sub Query              | SELECT/UPDATE/DELETE ... WHERE column = (SELECT column FROM table WHERE column = value) | do not support   |

=====================================================
== File: docs/document/content/features/shadow/_index.en.md
=====================================================
+++
pre = "<b>3.9. </b>"
title = "Shadow"
weight = 9
+++

## Background

Under the distributed application architecture based on microservices, business requires multiple services to be completed through a series of services and middleware calls. The pressure testing of a single service can no longer reflect the real scenario.

In the test environment, the cost of rebuild complete set of pressure test environment similar to the production environment is too high. It is usually impossible to simulate the complexity and data of the production environment.

So, it is the better way to use the production environment for pressure test. The test results obtained real capacity and performance of the system accurately.

## Challenges

pressure testing on production environment is a complex and huge task. Coordination and adjustments between microservices and middlewares required to cope with the transparent transmission of different flow rates and pressure test tags. Usually we will build a complete set of pressure testing platform for different test plans.

Data isolation have to be done at the database-level, in order to ensure the reliability and integrity of the production data, data generated by pressure testing routed to test database. Prevent test data from polluting the real data in the production database.

This requires business applications to perform data classification based on the transparently transmitted pressure test identification before executing SQL, and route the corresponding SQL to the corresponding data source.

## Goal

Apache ShardingSphere focuses on data solutions in pressure testing on production environment.

The main goal of the Apache ShardingSphere shadow Database module is routing pressure testing data to user defined database automatically.

## Application Scenario

In order to improve the accuracy of stress testing and reduce the testing cost under the distributed application architecture based on microservices, stress testing is usually carried out in production environments, which will notably increase testing risks. However, the ShardingSphere shadow DB function, combined with the flexible configuration of the shadow algorithm, can address data pollution, improve database performance, and meet the requirements of online stress testing in complex business scenarios.

## Related References

- [Java API: shadow DB ](/en/user-manual/shardingsphere-jdbc/java-api/rules/shadow/)
- [YAML configuration: shadow DB ](/en/user-manual/shardingsphere-jdbc/yaml-config/rules/shadow/)

=====================================================
== File: docs/document/content/features/readwrite-splitting/concept.en.md
=====================================================
+++
title = "Core Concept"
weight = 1
+++

## Primary database

The primary database is used to add, update, and delete data operations. Currently, only single primary database is supported.

## Secondary database

The secondary database is used to query data operations and multi-secondary databases are supported.

## Primary-Secondary synchronization

It refers to the operation of asynchronously synchronizing data from a primary database to a secondary database. Due to the asynchronism of primary-secondary synchronization,
data from the primary and secondary databases may be inconsistent for a short time.

## Load balancer policy

Channel query requests to different secondary databases through load balancer policy.

=====================================================
== File: docs/document/content/features/readwrite-splitting/limitations.en.md
=====================================================
+++
title = "Limitations"
weight = 2
+++

* Data synchronization of primary and secondary databases is not supported.
* Data inconsistency resulting from data synchronization delays between primary and secondary databases is not supported.
* Multi-write of primary database is not supported.
* Transactional consistency between primary and secondary databases is not supported. In the primary-secondary model, both data reads and writes in transactions use the primary database.

=====================================================
== File: docs/document/content/features/readwrite-splitting/_index.en.md
=====================================================
+++
pre = "<b>3.3. </b>"
title = "Readwrite-splitting"
weight = 3
chapter = true
+++

## Background

Database throughput has faced the bottleneck with increasing TPS. For the application with massive concurrence read but less write in the same time, we can divide the database into a primary database and a replica database. The primary database is responsible for the insert, delete and update of transactions, while the replica database is responsible for queries. It can significantly improve the query performance of the whole system by effectively avoiding row locks.

One primary database with multiple replica databases can further enhance processing capacity by distributing queries evenly into multiple data replicas. Multiple primary databases with multiple replica databases can enhance not only throughput but also availability. Therefore, the system can still run normally, even though any database is down or physical disk destroyed.

Different from the sharding that separates data to all nodes according to sharding keys, readwrite-splitting routes read and write separately to primary database and replica databases according SQL analysis.

![background](https://shardingsphere.apache.org/document/current/img/readwrite-splitting/background.png)

Data in readwrite-splitting nodes are consistent, whereas that in shards is not. The combined use of sharding and readwrite-splitting will effectively enhance the system performance.

## Challenges

Though readwrite-splitting can enhance system throughput and availability, it also brings inconsistent data, including that among multiple primary databases and among primary databases and replica databases. What’s more, it also brings the same problem as data sharding, complicating developer and operator’s maintenance and operation. The following diagram has shown the complex topological relations between applications and database groups when sharding used together with readwrite-splitting.

![challenges](https://shardingsphere.apache.org/document/current/img/readwrite-splitting/challenges.png)

## Goal

The main design goal of readwrite-splitting of Apache ShardingSphere is to try to reduce the influence of readwrite-splitting, in order to let users use primary-replica database group like one database.

## Application Scenarios

### Complex primary-secondary database architecture

Many systems rely on the configuration of primary-secondary database architecture to improve the throughput of the whole system. Nevertheless, this configuration can make it more complex to use services. 

After accessing ShardingSphere, the read/write splitting feature can be used to manage primary-secondary databases and achieve transparent read/write splitting, enabling users to use databases with primary/secondary architecture just like using one single database.

## Related References

[Java API](/en/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting)
[YAML Configuration](/en/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting)

=====================================================
== File: docs/document/content/features/db-gateway/concept.en.md
=====================================================
+++
title = "Core Concept"
weight = 1
+++

## SQL Dialect

SQL dialect means database dialect, and it indicates that some database projects have their own unique syntax in addition to SQL, which are also called dialects. Different database projects may have different SQL dialects.

=====================================================
== File: docs/document/content/features/db-gateway/limitations.en.md
=====================================================
+++
title = "Limitations"
weight = 2
+++

The SQL dialect translation of Apache ShardingSphere is experimental.

Currently, only MySQL/PostgreSQL dialects can be automatically translated. Engineers can use MySQL dialects and protocols to access PostgreSQL databases and vice versa.

=====================================================
== File: docs/document/content/features/db-gateway/_index.en.md
=====================================================
+++
pre = "<b>3.4. </b>"
title = "DB Gateway"
weight = 4
chapter = true
+++

## Background

With the trend of database fragmentation, using multiple types of databases together has become the norm. The scenario of using one SQL dialect to access all heterogeneous databases is increasing.

## Challenges

The existence of diversified databases makes it difficult to standardize the SQL dialect accessing the database. Engineers need to use different dialects for different kinds of databases, and there is no unified query platform.

Automatically translate different types of database dialects into the dialects used by the database, so that engineers can use any database dialect to access all heterogeneous databases, which can reduce development and maintenance cost greatly.

## Goal

The goal of database gateway for Apache ShardingSphere is translating SQL automatically among various databases.

## Application Scenarios

As business scenarios and database products of enterprises become increasingly diversified, the connection between business applications and various database products becomes extremely complex. ShardingSphere database gateway can shield the connection between business applications and the underlying diversified databases. At the same time, it provides a unified access protocol and syntax system for different business scenarios, which can help enterprises quickly build a unified data access platform.

=====================================================
== File: docs/document/content/features/encrypt/concept.en.md
=====================================================
+++
title = "Core Concept"
weight = 1
+++

## Logic column

It is used to calculate the encryption and decryption columns and it is the logical identifier of the column in SQL. Logical columns contain ciphertext columns (mandatory), query-helper columns (optional), like-query columns (optional), and plaintext columns (optional).

## Cipher column

Encrypted data columns.

## Assisted query column

It is a helper column used for queries. For some non-idempotent encryption algorithms with higher security levels, irreversible idempotent columns are provided for queries.

## Like query column

It is a helper column used for like queries.

=====================================================
== File: docs/document/content/features/encrypt/appendix.en.md
=====================================================
+++
title = "Appendix with SQL operator"
weight = 3
+++

Unsupported SQL:

- The case-insensitive queries are not supported by encrypted fields.
- Comparison operations are not supported for encrypted fields, such as GREATER THAN, LESS THAN, ORDER BY, BETWEEN.
- Calculation operations are not supported for encrypted fields, such as AVG, SUM, and computation expressions.
- SQL that contains encrypt column in subquery and uses asterisks for outer projection is not supported.
- SQL that contains encrypt column in UNION, INTERSECT, and EXCEPT statements is not supported.

Other:

- You should keep encrypt columns, assisted columns and like columns in encrypt rule same capitalization with columns in database. 

=====================================================
== File: docs/document/content/features/encrypt/limitations.en.md
=====================================================
+++
title = "Limitations"
weight = 2
+++

- You need to process the original data on stocks in the database by yourself.
- The `like` query supports %, _, but currently does not support escape.
- Case insensitive queries are not supported for the encrypted fields.
- Comparison operations are not supported for encrypted fields, such as `GREATER THAN`, `LESS THAN`, `ORDER BY`, `BETWEEN`.
- Calculation operations are not supported for encrypted fields, such as `AVG`, `SUM`, and computation expressions.
- When projection subquery contains encrypt column, you must use alias.

=====================================================
== File: docs/document/content/features/encrypt/_index.en.md
=====================================================
+++
pre = "<b>3.7. </b>"
title = "Encryption"
weight = 7
chapter = true
+++

## Background

Security control has always been a crucial link of data governance, data encryption falls into this category. For both Internet enterprises and traditional sectors, data security has always been a highly valued and sensitive topic. Data encryption refers to transforming some sensitive information through encrypt rules to safely protect the private data. Data involves client’s security or business sensibility, such as ID number, phone number, card number, client number and other personal information, requires data encryption according to relevant regulations.

For data encryption requirements, there are the following situations in realistic business scenarios:

* When the new business start to launch, and the security department stipulates that the sensitive information related to users, such as banks and mobile phone numbers, should be encrypted and stored in the database, and then decrypted when used.

## Challenges

In the real business scenario, the relevant business development team often needs to implement and maintain a set of encryption and decryption system according to the needs of the company’s security department. When the encryption scenario changes, the encryption system often faces the risk of reconstruction or modification. In addition, for the online business system, it is relatively complex to realize seamless encryption transformation with transparency, security and low risk without modifying the business logic and SQL.

## Goal

Provides a security and transparent data encryption solution, which is the main design goal of Apache ShardingSphere data encryption module.

## Application Scenarios

For scenarios requiring the quick launch of new services while respecting encryption regulations. The ShardingSphere encryption feature can be used to quickly achieve compliant data encryption, without requiring users to develop complex encryption systems. 

At the same time, its flexibility can also help users avoid complex rebuilding and modification risks caused by encryption scenario changes.

## Related References

- [Configuration: Data Encryption](/en/user-manual/shardingsphere-jdbc/yaml-config/rules/encrypt/)
- [Developer Guide: Data Encryption](/en/dev-manual/encrypt/)

=====================================================
== File: docs/document/content/features/transaction/concept.cn.md
=====================================================
+++
title = "核心概念"
weight = 1
+++

## XA 协议

XA 协议最早的分布式事务模型是由 `X/Open` 国际联盟提出的 `X/Open Distributed Transaction Processing (DTP)` 模型,简称 XA 协议。


=====================================================
== File: docs/document/content/features/transaction/concept.en.md
=====================================================
+++
title = "Core Concept"
weight = 1
+++

## XA Protocol

The original distributed transaction model of XA protocol is the "X/Open Distributed Transaction Processing (DTP)" model, XA protocol for short, which was proposed by the X/Open international consortium.

=====================================================
== File: docs/document/content/features/transaction/appendix.en.md
=====================================================
+++
title = "Appendix with SQL operator"
weight = 3
+++

Unsupported SQL:

- RAL and RDL operations of DistSQL that are used in transactions.
- DDL statements that are used in XA transactions.

Privileges required for XA transactions:

In MySQL8, you need to grant the user `XA_RECOVER_ADMIN` privileges, otherwise, the XA transaction manager will report an error when executing the `XA RECOVER` statement.

=====================================================
== File: docs/document/content/features/transaction/limitations.en.md
=====================================================
+++
title = "Limitations"
weight = 2
+++

Although Apache ShardingSphere aims at being compatible with all distributed scenario and providing the best performance, under the CAP theorem guidance, there is no sliver bullet with distributed transaction solution.

The Apache ShardingSphere community chose instead to give the users the ability to choose their preferred distributed transaction type and use the most suitable solution according to their scenarios.

## LOCAL Transaction

### Unsupported

* Does not support the cross-database transactions caused by network or hardware crash. For example, when updating two databases in transaction, if one database crashes before commit, then only the data of the other database can commit.

## XA Transaction

### Unsupported

* Recover committing and rolling back in other machines after the service is down.
* MySQL, in the transaction block, the SQL execution is abnormal, and run `Commit`, and data remains consistent.
* After XA transactions are configured, the maximum length of the storage unit name cannot exceed 45 characters.

## BASE Transaction

### Unsupported

* Does not support isolation level.

=====================================================
== File: docs/document/content/features/transaction/_index.en.md
=====================================================
+++
pre = "<b>3.2. </b>"
title = "Distributed Transaction"
weight = 2
chapter = true
+++

## Background

Database transactions should satisfy the features of ACID (atomicity, consistency, isolation and durability).

- Atomicity: transactions are executed as a whole, and either all or none is executed.
- Consistency: transactions should ensure that the state of data remains consistent after the transition.
- Isolation: when multiple transactions execute concurrently, the execution of one transaction should not affect the execution of others.
- Durability: when a transaction committed modifies data, the operation will be saved persistently.

In single data node, transactions are only restricted to the access and control of single database resources, called local transactions. Almost all the mature relational databases have provided native support for local transactions. But in distributed application situations based on micro-services, more and more of them require to include multiple accesses to services and the corresponding database resources in the same transaction. As a result, distributed transactions appear.

Though the relational database has provided perfect native ACID support, it can become an obstacle to the system performance under distributed situations. How to make databases satisfy ACID features under distributed situations or find a corresponding substitute solution, is the priority work of distributed transactions.

## Challenge

For different application situations, developers need to reasonably weight the performance and the function between all kinds of distributed transactions.

Highly consistent transactions do not have totally the same API and functions as soft transactions, and they cannot switch between each other freely and invisibly. The choice between highly consistent transactions and soft transactions as early as development decision-making phase has sharply increased the design and development cost.

Highly consistent transactions based on XA is relatively easy to use, but is not good at dealing with long transaction and high concurrency situation of the Internet. With a high access cost, soft transactions require developers to transform the application and realize resources lock and backward compensation.

## Goal

The main design goal of the distributed transaction modular of Apache ShardingSphere is to integrate existing mature transaction cases to provide an unified distributed transaction interface for local transactions, 2PC transactions and soft transactions; compensate for the deficiencies of current solutions to provide a one-stop distributed transaction solution.

## How it works

ShardingSphere provides begin/ commit/rollback traditional transaction interfaces externally, and provides distributed transaction capabilities through LOCAL, XA and BASE modes.

### LOCAL Transaction

LOCAL mode is implemented based on ShardingSphere's proxy database interfaces, that is begin/commit/rolllback.
For a logical SQL, ShardingSphere starts transactions on each proxied database with the begin directive, executes the actual SQL, and performs commit/rollback.
Since each data node manages its own transactions, there is no coordination and communication between them, and they do not know whether other data node transactions succeed or not.
There is no loss in performance, but strong consistency and final consistency cannot be guaranteed.

### XA Transaction

XA transaction adopts the concepts including AP(application program), TM(transaction manager) and RM(resource manager) to ensure the strong consistency of distributed transactions. Those concepts are abstracted from [DTP mode](http://pubs.opengroup.org/onlinepubs/009680699/toc.pdf) which is defined by X/OPEN group.
Among them, TM and RM use XA protocol to carry out both-way communication, which is realized through two-phase commit.
Compared to traditional local transactions, XA transaction adds a preparation stage where the database can also inform the caller whether the transaction can be committed, in addition to passively accepting commit instructions.
TM can collect the results of all branch transactions and make atomic commit at the end to ensure the strong consistency of transactions.


=====================================================
== File: docs/document/content/reference/mask/_index.cn.md
=====================================================
+++
pre = "<b>7.8. </b>"
title = "数据脱敏"
weight = 8
+++

## 处理流程详解

Apache ShardingSphere 通过对用户查询的 SQL 进行解析,并依据用户提供的脱敏规则对 SQL 执行结果进行装饰,从而实现对原文数据进行脱敏。
### 整体架构

![1](https://shardingsphere.apache.org/document/current/img/mask/1_cn.png)

脱敏模块将用户发起的 SQL 进行拦截,并通过 SQL 语法解析器进行解析、执行,再依据用户传入的脱敏规则,找出需要脱敏的字段和所使用的脱敏算法对查询结果进行装饰,返回给客户端。


### 脱敏规则

在详解整套流程之前,我们需要先了解下脱敏规则与配置,这是认识整套流程的基础。脱敏配置主要分为三部分:数据源配置,脱敏算法配置,脱敏表配置:

![2](https://shardingsphere.apache.org/document/current/img/mask/2_cn.png)

**数据源配置**:指数据源配置。

**脱敏算法配置**:指使用什么脱敏算法。目前 ShardingSphere 内置了多种脱敏算法:MD5、KEEP_FIRST_N_LAST_M、KEEP_FROM_X_TO_Y 、MASK_FIRST_N_LAST_M、MASK_FROM_X_TO_Y、MASK_BEFORE_SPECIAL_CHARS、MASK_AFTER_SPECIAL_CHARS 和 GENERIC_TABLE_RANDOM_REPLACE。用户还可以通过实现 ShardingSphere 提供的接口,自行实现一套脱敏算法。

**脱敏表配置**:用于告诉 ShardingSphere 数据表里哪个列用于数据脱敏、使用什么算法脱敏。

**脱敏规则创建即可生效**

### 脱敏处理过程

举例说明,假如数据库里有一张表叫做 `t_user`,这张表里有一个字段 `phone_number` 使用 `MASK_FROM_X_TO_Y`  进行算法处理,Apache ShardingSphere 不会改变数据存储,只会按脱敏算法对结果进行装饰,从而达到脱敏的效果

如下图所示:

![3](https://shardingsphere.apache.org/document/current/img/mask/3_cn.png)



=====================================================
== File: docs/document/content/reference/mask/_index.en.md
=====================================================
+++
pre = "<b>7.8. </b>"
title = "Mask"
weight = 8
+++

Apache ShardingSphere achieves the desensitization of the original data by parsing the SQL queried by users and masking the SQL execution results according to the desensitization rules provided by users. 

### Overall Architecture

![1](https://shardingsphere.apache.org/document/current/img/mask/1_en.png)

The desensitization module intercepts the SQL initiated by the user, analyzes and executes it through the SQL syntax parser. It then masks the query results by finding out the fields to be desensitized and the desensitization algorithm to be used according to the rules passed specified by the user, and returns to the client.

### Mask Rules

Before explaining the whole process in detail, we need to first understand the desensitization rules and configuration, which is the basis of understanding the whole process. 

Desensitization configuration is mainly divided into three parts: data source configuration, desensitization algorithm configuration, desensitization table configuration:

![2](https://shardingsphere.apache.org/document/current/img/mask/2_en.png)

**Data source configuration**: the configuration of the data source.

**Mask algorithm configuration**: currently, ShardingSphere has a variety of built-in desensitization algorithms: MD5, KEEP_FIRST_N_LAST_M, KEEP_FROM_X_TO_Y , MASK_FIRST_N_LAST_M, MASK_FROM_X_TO_Y, MASK_BEFORE_SPECIAL_CHARS, MASK_AFTER_SPECIAL_CHARS and GENERIC_TABLE_RANDOM_REPLACE. 

Users can also implement a set of desensitization algorithms by implementing the interface provided by ShardingSphere.

**Mask table configuration**: used to tell ShardingSphere which column in the data table is used for data desensitization and which algorithm is used for desensitization.

**The mask rule takes effect after it is created**

Query attribute configuration: if both plaintext and ciphertext data are stored in the underlying database table, this attribute can be used to determine whether to query the plaintext data in the database table and return it directly, or query the ciphertext data and return it after decryption through Apache ShardingSphere. 

This attribute can be configured at the table level and the entire rule level. The table-level has the highest priority.

### Mask Process

For example, if there is a table in the database called `t_user and` there is a field in the table called `phone_number` that uses `MASK_FROM_X_TO_Y`, Apache ShardingSphere does not change the data store. 

It'll only mask the result according to the desensitization algorithm, to achieve the desensitization effect. 
 
As shown in the picture below:

![3](https://shardingsphere.apache.org/document/current/img/mask/3_en.png)


=====================================================
== File: docs/document/content/reference/db-compatibility/_index.cn.md
=====================================================
+++
pre = "<b>7.1. </b>"
title = "数据兼容性"
weight = 1
+++

![SQL 解析的核心 抽象语法树](https://shardingsphere.apache.org/document/current/img/db-compatibility/principle1.png)

- SQL 兼容

SQL 是使用者与数据库交流的标准语言。 SQL 解析引擎负责将 SQL 字符串解析为抽象语法树,供 Apache ShardingSphere 理解并实现其增量功能。

ShardingSphere 目前支持 MySQL, PostgreSQL, SQLServer, Oracle, openGauss 以及符合 SQL92 规范的 SQL 方言。 由于 SQL 语法的复杂性,目前仍然存在少量不支持的 SQL。

- 数据库协议兼容

Apache ShardingSphere 目前根据不同的数据协议,实现了 MySQL 和 PostgreSQL 协议。

- 特性支持

Apache ShardingSphere 为数据库提供了分布式协作的能力,同时将一部分数据库特性抽象到了上层,进行统一管理,以降低用户的使用难度。

因此,对于统一提供的特性,原生的 SQL 将不再下发到数据库,并提示该操作不被支持,用户可使用 ShardingSphere 提供的的方式进行代替。

=====================================================
== File: docs/document/content/reference/db-compatibility/_index.en.md
=====================================================
+++
pre = "<b>7.1. </b>"
title = "Database Compatibility"
weight = 1
+++

![The core of SQL parsing: Abstract Syntax Tree (AST)](https://shardingsphere.apache.org/document/current/img/db-compatibility/principle1.png)

- SQL compatibility

SQL is the standard language for users to communicate with databases. The SQL parsing engine is responsible for parsing SQL strings into abstract syntax trees so that Apache ShardingSphere can understand and implement its incremental function.
ShardingSphere currently supports MySQL, PostgreSQL, SQLServer, Oracle, openGauss, and SQL dialects conforming to the SQL92 standard. Due to the complexity of SQL syntax, a few SQL are not supported for now.

- Database protocol compatibility

Apache ShardingSphere currently implements MySQL and PostgreSQL protocols according to different data protocols.

- Supported features

Apache ShardingSphere provides distributed collaboration capabilities for databases. At the same time, it abstracts some database features to the upper layer for unified management, so as to facilitate users.

Therefore, native SQL will not deliver the features provided uniformly to the database, and a message will be displayed indicating that the operation is not supported. Users can replace it with methods provided by ShardingSphere.

=====================================================
== File: docs/document/content/reference/observability/_index.en.md
=====================================================
+++
pre = "<b>7.10. </b>"
title = "Oberservability"
weight = 10
+++

## How it works

ShardingSphere-Agent module provides an observable framework for ShardingSphere, which is implemented based on Java Agent.

Metrics, tracing and logging functions are integrated into the agent through plugins, as shown in the following figure:

![Overview](https://shardingsphere.apache.org/document/current/img/apm/overview_v3.png)

- The metrics plugin is used to collect and display statistical indicators for the entire cluster. Apache ShardingSphere supports Prometheus by default.
- The tracing plugin is used to obtain the link trace information of SQL parsing and SQL execution. Apache ShardingSphere provides support for exporting tracing data to Jaeger and Zipkin by default. It also supports users developing customized tracing components through plugin.
- The default logging plugin shows how to record additional logs in ShardingSphere. In practical applications, users need to explore according to their own needs.

=====================================================
== File: docs/document/content/reference/gateway/_index.en.md
=====================================================
+++
pre = "<b>7.2. </b>"
title = "Database Gateway"
weight = 2
+++

Apache ShardingSphere provides the ability for SQL dialect translation to achieve automatic conversion between database dialects. For example, users can use MySQL client to connect ShardingSphere and send SQL based on MySQL dialect. ShardingSphere can automatically identify user protocol and storage node type, automatically complete SQL dialect conversion, and access heterogeneous storage nodes such as PostgreSQL.

![Gateway](https://shardingsphere.apache.org/document/current/img/gateway/gateway_en.png)

=====================================================
== File: docs/document/content/reference/migration/_index.en.md
=====================================================
+++
pre = "<b>7.6. </b>"
title = "Data Migration"
weight = 6
+++

## Explanation

The current data migration solution uses a completely new database cluster as the migration target.

This implementation has the following advantages:

1. No impact on the original data during migration.
2. No risk in case of migration failure.
3. Freedom from sharding strategy limitations.

The implementation has the following disadvantages:

1. Redundant servers can exist for a certain period of time.
2. All data needs to be moved.

A single data migration mainly consists of the following phases:

1. Preparation.
2. Stock data migration.
3. The synchronization of incremental data.
4. Traffic switching .

![Illustration](https://shardingsphere.apache.org/document/current/img/migration/principle.png)

## Execution Stage Explained

### Preparation 

In the preparation stage, the data migration module verifies data source connectivity and permissions, counts stock data statistics, records the log and finally shards the tasks according to data volume and parallelism set by the users.

### Stock data migration

Execute the stock data migration tasks that have been sharded during preparation stage. The stock migration stage uses JDBC queries to read data directly from the source and write into the target based on the sharding rules and other configurations.

### The Synchronization of incremental data

Since the duration of stock data migration depends on factors such as data volume and parallelism, it is necessary to synchronize the data added to the business operations during this period.
Different databases differ in technical details, but in general they are all based on replication protocols or WAL logs to achieve the capture of changed data.

- MySQL: subscribe and parse binlog.
- PostgreSQL: uses official logical replication [test_decoding](https://www.postgresql.org/docs/9.4/test-decoding.html).

The incremental data captured is also written into the new data nodes by the data migration modules. When synchronization of incremental data is completed (the incremental data flow is not interrupted since the business system is still in function), you can then move to the traffic switching stage.


=====================================================
== File: docs/document/content/reference/management/_index.en.md
=====================================================
+++
pre = "<b>7.3. </b>"
title = "Management"
weight = 3
+++

## Data Structure in Registry Center

Under a defined namespace, `rules`, `props` and `metadata` nodes persist in YAML. Modifying nodes can dynamically refresh configurations.
`nodes` persist the runtime node of the database access object, to distinguish different database access instances.
`statistics` persist data records in system tables.

```
namespace
   ├──rules                                              # Global rule configuration
   ├     ├──transaction
   ├     ├     ├──active_version                                     
   ├     ├     ├──versions  
   ├     ├     ├     ├──0       
   ├──props                                              # Properties configuration
   ├     ├──active_verison                                     
   ├     ├──versions  
   ├     ├     ├──0                  
   ├──metadata                                           # Metadata configuration
   ├     ├──${databaseName} 
   ├     ├     ├──data_sources                          
   ├     ├     ├     ├──units 							 # Storage unit configuration
   ├     ├     ├     ├    ├──${dataSourceName}                        
   ├     ├     ├     ├    ├     ├──active_verison             # Active version                                 
   ├     ├     ├     ├    ├     ├──versions                   # version list
   ├     ├     ├     ├    ├     ├     ├──0
   ├     ├     ├     ├    ├──...   
   ├     ├     ├     ├──nodes 							 # Storage node configuration
   ├     ├     ├     ├    ├──${dataSourceName}                        
   ├     ├     ├     ├    ├     ├──active_verison             # Active version                                 
   ├     ├     ├     ├    ├     ├──versions                   # version list
   ├     ├     ├     ├    ├     ├     ├──0
   ├     ├     ├     ├    ├──...                             
   ├     ├     ├──schemas                                # Schema list
   ├     ├     ├     ├──${schemaName}                    
   ├     ├     ├     ├     ├──tables                     # Table configuration
   ├     ├     ├     ├     ├     ├──${tableName}         
   ├     ├     ├     ├     ├     ├     ├──active_verison # Active version                                 
   ├     ├     ├     ├     ├     ├     ├──versions       # version list
   ├     ├     ├     ├     ├     ├     ├     ├──0
   ├     ├     ├     ├     ├     ├──...  
   ├     ├     ├     ├     ├──views                      # View configuration
   ├     ├     ├     ├     ├     ├──${viewName}
   ├     ├     ├     ├     ├     ├     ├──active_verison # Active version                           
   ├     ├     ├     ├     ├     ├     ├──versions       # version list

=====================================================
== File: docs/document/content/reference/_index.cn.md
=====================================================
+++
pre = "<b>7. </b>"
title = "技术参考"
weight = 7
chapter = true
+++

本章包含了 Apache ShardingSphere 的技术实现细节,供开发者和用户参考。

=====================================================
== File: docs/document/content/reference/sharding/execute.en.md
=====================================================
+++
title = "Execute Engine"
weight = 4
+++

ShardingSphere uses an automated execution engine to safely and efficiently send the real SQL, which has been routed and rewritten, to the underlying data source for execution. 

It does not simply send SQL directly to the data source for execution via JDBC, nor are execution requests placed directly into a thread pool for concurrent execution. 

It focuses more on the creation of a balanced data source connection, the consumption generated by the memory usage, and the maximum utilization of the concurrency. The objective of the execution engine is to automatically balance resource control with execution efficiency.

## Connection Mode

From the perspective of resource control, the connection number a business can make to the database should be limited. It can effectively prevent certain business operations from occupying excessive resources, exhausting database connection resources, and influencing the normal access of other businesses. 

Especially when one database instance contains many sub-tables, a logical SQL that does not contain any shard key will produce a large number of real SQLs that fall into different tables in one database. If each real SQL takes an independent connection, a query will undoubtedly take up excessive resources.

From the perspective of execution efficiency, maintaining an independent database connection for each shard query can make more effective use of multi-thread to improve execution efficiency. 

Creating a separate thread for each database connection allows I/O consumption to be processed in parallel. Maintaining a separate database connection for each shard also prevents premature loading of query result data into memory. 

It is enough for independent database connections to maintain result set quotation and cursor position, and move the cursor when acquiring corresponding data.

Merging the result set by moving down its cursor is called the stream merger. It does not need to load all the query results into the memory, which can effectively save memory resources effectively and reduce the frequency of garbage collection. 

If each shard query cannot be guaranteed to have an independent database connection, the current query result set needs to be loaded into memory before reusing the database connection to obtain the query result set of the next shard table. Therefore, though the stream merger can be used, it will also degenerate into the memory merger in this scenario.

On the one hand, we need to control and protect database connection resources; on the other hand, it is important to save middleware memory resources by adopting a better merging mode. How to deal with the relationship between the two is a problem that the ShardingSphere execution engine needs to solve. Specifically, if an SQL is sharded through the ShardingSphere, it needs to operate on 200 tables under a database instance. So, should we choose to create 200 connections in parallel, or one connection in sequence? How to choose between efficiency and resource control?
For the above scenario, ShardingSphere provides a solution. It introduces the concept of Connection Mode, which is divided into MEMORY_STRICTLY and CONNECTION_STRICTLY.

### MEMORY_STRICTLY Mode

The prerequisite to using this mode is that ShardingSphere does not restrict the connection number of one operation. If the actual executed SQL needs to operate 200 tables in some database instance, it will create a new database connection for each table and deal with them concurrently through multi-thread to maximize the execution efficiency. When SQL meets the conditions, stream merger is preferred to avoid memory overflow or frequent garbage recycling.

### CONNECTION_STRICTLY Mode

The prerequisite to using this mode is that ShardingSphere strictly restricts the connection consumption number of one operation. If the SQL to be executed needs to operate 200 tables in a database instance, it will create one database connection and operate them serially. If shards exist in different databases, it will still adopt multi-thread operations for different databases, but with only one database connection being created for each operation in each database. It prevents the problem of consuming too many database connections for one request. The mode chooses memory merger all the time. 

The MEMORY_STRICTLY mode applies to OLAP operation and can increase the system throughput by removing database connection restrictions. It is also applicable to OLTP operation, which usually has shard keys and can be routed to a single shard. So it is a wise choice to control database connections strictly to make sure that database resources in an online system can be used by more applications. 

## Automatic Execution Engine

ShardingSphere initially leaves the decision of which mode to use up to the users and they can choose to use MEMORY_STRICTLY mode or CONNECTION_STRICTLY mode according to their actual business scenarios.

This solution gives users the right to choose, who must understand the pros and cons of the two modes and make a choice based on the requirements of the business scenarios. No doubt, it is not the best solution as it increases users' learning and use costs.

This dichotomy solution, which leaves the switching of the two modes to static initialization, lacks flexibility. In practical scenarios, the routing result varies with SQL and placeholder indexes. This means that some operations may need to use memory merger, while others may prefer stream merger. Connection modes should not be set by the user before ShardingSphere is started, but should be determined dynamically based on the SQL and placeholder indexes scenarios.

In order to reduce the usage cost for users and achieve a dynamic connection mode, ShardingSphere has extracted the concept of the automatic execution engine to eliminate the connection mode concept internally. The user does not need to know what the MEMORY_STRICTLY mode and CONNECTION_STRICTLY mode are, but the execution engine automatically selects the best execution scheme according to the current scenario.


=====================================================
== File: docs/document/content/reference/sharding/merge.en.md
=====================================================
+++
title = "Merger Engine"
weight = 5

+++

Result merger refers to merging multi-data result sets acquired from all the data nodes as one result set and returning it to the requesting client correctly.

The result merger supported by ShardingSphere can be divided into five functional types: traversal, order-by, group-by, pagination and aggregation, which are combined rather than mutually exclusive. From the perspective of structure, it can be divided into stream merger, memory merger and decorator merger, among which stream merger and memory merger are mutually exclusive, and decorator merger can be further processed based on stream merger and memory merger. 

Since the result set is returned from the database one by one instead of being loaded to the memory all at a time, the method of merging the result sets returned from the database can greatly reduce memory consumption and is the preferred method of merging.

Stream merger means that each time the data is obtained from the result set is able to return the correct single piece of data line by line. It is the best fit with the native method of returning the result set of the database. Traversal, order-by, and stream group-by are all examples of the stream merger.

Memory merger needs to traverse all the data in the result set and store it in the memory first. After unified grouping, ordering, aggregation and other calculations, the data is packaged into the data result set accessed one by one and returned.

Decorator merger merges and reinforces all the result sets function uniformly. Currently, decorator merger has two types: pagination merger and aggregation merger.

## Traversal Merger

As the simplest merger method, traversal merger only requires the combination of multiple data result sets into a one-way linked table. After traversing current data result sets in the linked table, it only needs to move the elements of the linked table back one bit and continue traversing the next data result set.

## Order-by Merger

Because there is an `ORDER BY` statement in SQL, each data result has its own order. So it only needs to sort data value that the result set cursor currently points to, which is equal to sorting multiple ordered arrays. Therefore, order-by merger is the most suitable sorting algorithm in this scenario.

When merging ordered queries, ShardingSphere will compare current data values in each result set (which is realized by the Java Comparable interface) and put them into the priority queue. Each time when acquiring the next piece of data, it only needs to move down the result set cursor at the top of the queue, reenter the priority order according to the new cursor and relocate its own position.

Here is an instance to explain ShardingSphere’s order-by merger. The following picture is an illustration of ordering by the score. Data result sets returned by 3 tables are shown in the example and each of them has already been ordered according to the score, but there is no order between the 3 data result sets. Order the data value that the result set cursor currently points to in these 3 result sets. Then put them into the priority queue. The first data value of `t_score_0` is the biggest, followed by that of `t_score_2` and `t_score_1` in sequence. Thus, the priority queue is ordered by the sequence of `t_score_0`, `t_score_2` and `t_score_1`.

![Order by merger example 1](https://shardingsphere.apache.org/document/current/img/sharding/order_by_merge_1.png)

The following diagram illustrates how the order-by merger works when using next call. We can see from the diagram that when using the `next` call, `t_score_0` at the first of the queue will be popped out. After returning the data value currently pointed by the cursor (i.e., 100) to the requesting client, the cursor will be moved down and `t_score_0` will be put back into the queue.

While the priority queue will also be ordered according to the `t_score_0` data value (90 here) pointed by the cursor of the current data result set. According to the current value, `t_score_0` is at the end of the queue, and the data result set of `t_score_2`, originally in the second place of the queue, automatically moves to the first place of the queue.

In the second `next` call, `t_score_2` in the first place is popped out. Its value pointed by the cursor of the data result set is returned to the client end, with its cursor moved down to rejoin the queue, and the following will be the same way. If there is no data in the result set, it will not rejoin the queue.

![Order by merger example 2](https://shardingsphere.apache.org/document/current/img/sharding/order_by_merge_2.png)

It can be seen that when data in each result set is ordered, but multiple result sets are disordered, ShardingSphere can still order them with no need to upload all the data to the memory. In the stream merger method, each `next` operation only acquires the right piece of data each time, which saves memory consumption to a large extent.

On the other hand, the order-by merger has maintained the orderliness on the horizontal axis and vertical axis of the data result set. Naturally ordered, the vertical axis refers to each data result set itself, which is acquired by SQL with `ORDER BY`. The horizontal axis refers to the current value pointed by each data result set, and its order needs to be maintained by the priority queue. Each time when the current cursor moves down, it requires putting the result set in the priority order again, which means only the cursor of the first data result set can be moved down.

## Group-by Merger

Group-by merger is the most complex one and can be divided into stream group-by merger and memory group-by merger. Stream group-by merger requires that the SQL's ordering items must be consistent with the field and ordering types (ASC or DESC) of the group-by item; otherwise, data correctness can only be guaranteed by memory merger.

For instance, if it is sharded based on subject, the table structure contains the examinees’ name (to simplify, name repetition is not taken into consideration) and score. The following SQL is used to acquire each examinee’s total score:


=====================================================
== File: docs/document/content/reference/sharding/_index.cn.md
=====================================================
+++
pre = "<b>7.4. </b>"
title = "数据分片"
weight = 4
chapter = true
+++

ShardingSphere 数据分片的原理如下图所示,按照是否需要进行查询优化,可以分为 Simple Push Down 下推流程和 SQL Federation 执行引擎流程。 Simple Push Down 下推流程由 `SQL 解析 => SQL 绑定 => SQL 路由 => SQL 改写 => SQL 执行 => 结果归并` 组成,主要用于处理标准分片场景下的 SQL 执行。
SQL Federation 执行引擎流程由 `SQL 解析 => SQL 绑定 => 逻辑优化 => 物理优化 => 数据拉取 => 算子执行` 组成,SQL Federation 执行引擎内部进行逻辑优化和物理优化,在优化执行阶段依赖 Standard 内核流程,对优化后的逻辑 SQL 进行路由、改写、执行和归并。

![分片架构图](https://shardingsphere.apache.org/document/current/img/sharding/sharding_architecture_cn_v3.png)

## SQL 解析

分为词法解析和语法解析。
先通过词法解析器将 SQL 拆分为一个个不可再分的单词。再使用语法解析器对 SQL 进行理解,并最终提炼出解析上下文。
解析上下文包括表、选择项、排序项、分组项、聚合函数、分页信息、查询条件以及可能需要修改的占位符的标记。

## SQL 路由

根据解析上下文匹配用户配置的分片策略,并生成路由路径。目前支持分片路由和广播路由。

## SQL 改写

将 SQL 改写为在真实数据库中可以正确执行的语句。SQL 改写分为正确性改写和优化改写。

## SQL 执行

通过多线程执行器异步执行。

## 结果归并

将多个执行结果集归并以便于通过统一的 JDBC 接口输出。结果归并包括流式归并、内存归并和使用装饰者模式的追加归并这几种方式。

## 查询优化

由 Federation 执行引擎(开发中)提供支持,对关联查询、子查询等复杂查询进行优化,同时支持跨多个数据库实例的分布式查询,内部使用关系代数优化查询计划,通过最优计划查询出结果。

=====================================================
== File: docs/document/content/reference/sharding/parse.en.md
=====================================================
+++
title = "Parse Engine"
weight = 1
+++

SQL is relatively simple compared with other programming languages, but it's still a complete programming language. Therefore, there's no essential difference between parsing SQL syntax and parsing other languages (such as Java, C and Go, etc.).

## Abstract Syntax Tree

The parsing process is divided into lexical parsing and syntactic parsing. The lexical parser is used to split SQL into indivisible atomic symbols called Tokens. 

Tokens are classified into keywords, expressions, literals, and operators based on the dictionaries provided by different database dialects. The syntactic parser is then used to convert the output of the lexical parser into an abstract syntax tree.

For example:

```sql
SELECT id, name FROM t_user WHERE status = 'ACTIVE' AND age > 18
```

After the above SQL is parsed, its AST (Abstract Syntax Tree) is as follows:

![SQL AST](https://shardingsphere.apache.org/document/current/img/sharding/sql_ast.png)

The tokens for keywords in the AST are green, while the tokens for variables are red, and gray ones indicate that further splitting is required.

Finally, the domain model is traversed through the abstract syntax tree by visitor; the context required for sharding is extracted through the domain model (SQLStatement); and then, mark locations that may need rewriting.

The parsing context for sharding includes select items, table, sharding condition, auto-increment primary key, and Order By, Group By, and pagination information (Limit, Rownum, Top). The SQL parsing process is irreversible. 

Each Token is parsed in the original SQL order, providing high performance. Taking the similarities and differences of SQL dialects of various databases into consideration, the SQL dialect dictionary of various databases is provided in the parsing module.

## SQL Parser Engine

### Iteration

SQL parsing is the core of sharding solutions, and its performance and compatibility are the most important indicators. ShardingSphere's SQL parser has undergone three iterations and upgrades.

To achieve high performance and fast implementation, the first generation of SQL parsers used Druid prior to V1.4.x. In practical tests, its performance far exceeds that of other parsers.

The second generation of SQL parsers started from V1.5.x. ShardingSphere uses a completely self-developed SQL parsing engine. Owing to different purposes, ShardingSphere does not need to convert SQL into a complete abstract syntax tree, nor does it require a second traversal through the accessor pattern. It uses a half-parsing method to extract only the context required by data sharding, thus further improving the performance and compatibility of SQL parsing.

The third generation of SQL parsers, starting with V3.0.x, attempts to use ANTLR as a generator of SQL parsing engines and uses Visit to obtain SQL statements from the AST. 
Since V5.0.x, the architecture of the parsing engine has been restructured and adjusted. Moreover, the AST obtained from the first parsing is stored in the cache so that the parsing results of the same SQL can be directly obtained next time to improve parsing efficiency. Therefore, it is recommended that you use PreparedStatement, a SQL-precompiled method, to improve performance.

### Features

* Independent SQL parsing engine
* The syntax rules can be easily expanded and modified (using `ANTLR`)
* Support multiple dialects


=====================================================
== File: docs/document/content/reference/sharding/rewrite.en.md
=====================================================
+++
title = "Rewrite Engine"
weight = 3
+++

SQL written by engineers for logical databases and tables cannot be directly executed in real databases. 

SQL rewriting is used to rewrite logical SQL into SQL that can be executed correctly in real databases. It includes rewriting for correctness and rewriting for optimization.

## Rewriting for Correctness

In a scenario with table shards, you need to rewrite the logical table name in the table shards configuration to the real table name obtained after routing. 

Only database shards do not require rewriting table names. Additionally, it also includes column derivation and pagination information correction. 

## Identifier Rewriting

The identifiers that need to be overwritten include table names, index names, and Schema names.

Rewriting table names is the process of finding the location of the logical table in the original SQL and rewriting it into a real table. 

Table name rewriting is a typical scenario that requires SQL parsing. For example, if logical SQL is:

```sql
SELECT order_id FROM t_order WHERE order_id=1;
```

Assume that the SQL is configured with the shard key `order_id` and `order_id=1`, it will be routed to shard table 1. Then the rewritten SQL should be:

```sql
SELECT order_id FROM t_order_1 WHERE order_id=1;
```

In the simplest SQL scenario, it doesn't seem to matter whether or not the SQL is parsed into an abstract syntax tree. 

SQL can be rewritten correctly only by finding and replacing strings. However, it is impossible to achieve the same effect in the following scenarios.

```sql
SELECT order_id FROM t_order WHERE order_id=1 AND remarks=' t_order xxx';
```

The correct rewritten SQL would be:

```sql
SELECT order_id FROM t_order_1 WHERE order_id=1 AND remarks=' t_order xxx';
```

Instead of:

```sql

=====================================================
== File: docs/document/content/reference/sharding/_index.en.md
=====================================================
+++
pre = "<b>7.4. </b>"
title = "Sharding"
weight = 4
chapter = true
+++

The figure below shows how sharding works. According to whether query and optimization are needed, it can be divided into the Simple Push Down process and SQL Federation execution engine process. 
Simple Push Down process consists of `SQL parser => SQL binder => SQL router => SQL rewriter => SQL executor => result merger`, mainly used to deal with SQL execution in standard sharding scenarios. 
SQL Federation execution engine consists of `SQL parser => SQL binder => logical optimization => physical optimization => data fetcher => operator calculation`. 
This process performs logical optimization and physical optimization internally, during which the standard kernel procedure is adopted to route, rewrite, execute and merge the optimized logical SQL.

![Sharding Architecture Diagram](https://shardingsphere.apache.org/document/current/img/sharding/sharding_architecture_en_v3.png)

## SQL Parser

It is divided into the lexical parser and syntactic parser. SQL is first split into indivisible words through a lexical parser. 

The syntactic parser is then used to analyze SQL and ultimately extract the parsing context, which can include tables, options, ordering items, grouping items, aggregation functions, pagination information, query conditions, and placeholders that may be modified.

## SQL Route

The sharding strategy configured by the user is matched according to the parsing context and the routing path is generated. Currently, sharding router and broadcast router are supported.

## SQL Rewrite

Rewrite SQL into statements that can be executed correctly in a real database. SQL rewriting is divided into rewriting for correctness and rewriting for optimization. 

## SQL Execution

 It executes asynchronously through a multithreaded executor.

## Result Merger

It merges multiple execution result sets to achieve output through the unified JDBC interface. The result merger includes the stream merger, memory merger and appended merger using decorator mode.

## Query Optimization

Supported by the experimental Federation Execution Engine, it optimizes complex queries such as associated queries and sub-queries and supports distributed queries across multiple database instances. It internally optimizes query plans using relational algebra to query results through optimal plans.

=====================================================
== File: docs/document/content/reference/sharding/route.en.md
=====================================================
+++
title = "Route Engine"
weight = 2
+++

Sharding strategies for databases and tables are matched based on the parsing context, and routing paths are generated. SQL with shard keys can be divided into the single-shard router (the shard key operator is equal), multi-shard router (the shard key operator is IN), and range router (the shard key operator is BETWEEN). SQL that does not carry shard keys adopts broadcast routing.

Sharding strategies can usually be configured either by the built-in database or by the user. The built-in database scheme is relatively simple, and the built-in sharding strategy can be roughly divided into mantissa modulo, hash, range, label, time, etc.

The sharding strategies configured by the user are more flexible. You can customize the compound sharding strategy based on the user's requirements. If it is used with automatic data migration, users do not need to work on the sharding strategies. 

Sharding and data balancing can be automatically achieved by the middle layer of the database, and distributed databases can achieve elastic scalability. In the planning of ShardingSphere, the elastic scaling function will be available at V4.x.

## Sharding Route

The scenario that is routed based on shard keys is divided into three types: direct route, standard route, and Cartesian route. 

### Direct Route

The requirement for direct route is relatively harsh. It needs to be sharded by Hint (using HintAPI to specify routes to databases and tables), and it can avoid SQL parsing and subsequent result merge on the premise of having database shards but not table shards. 

Therefore, it is the most compatible one and can execute any SQL in complex scenarios including sub-queries and custom functions. The direct route can also be used when shard keys are not in SQL. For example, set the key for database sharding to `3`,

```java
hintManager.setDatabaseShardingValue(3);
```

If the routing algorithm is `value % 2`, when a logical database `t_order` corresponds to two physical databases`t_order_0` and `t_order_1`, the SQL will be executed on `t_order_1` after routing.
The following is a sample code using the API.

```java
String sql = "SELECT * FROM t_order";
try (
        HintManager hintManager = HintManager.getInstance();
        Connection conn = dataSource.getConnection();
        PreparedStatement pstmt = conn.prepareStatement(sql)) {
    hintManager.setDatabaseShardingValue(3);
    try (ResultSet rs = pstmt.executeQuery()) {
        while (rs.next()) {
            //...
        }
    }
}
```

### Standard Route

The standard route is the most recommended sharding method, and it is applicable to SQL that does not contain an associated query or only contains the associated query between binding tables. 

When the sharding operator is equal, the routing result will fall into a single database (table). When the sharding operator is BETWEEN or IN, the routing result will not necessarily fall into a unique database (table).

=====================================================
== File: docs/document/content/reference/architecture/_index.en.md
=====================================================
+++
pre = "<b>7.11. </b>"
title = "Architecture"
weight = 11
+++

Apache ShardingSphere's pluggable architecture is designed to enable developers to customize their own unique systems by adding the desired features, just like adding building blocks.

A plugin-oriented architecture has very high requirements for program architecture design. It requires making each module independent, and using a pluggable kernel to combine various functions in an overlapping manner. Designing an architecture system that completely isolates the feature development not only fosters an active open source community, but also ensures the quality of the project.

Apache ShardingSphere began to focus on the pluggable architecture since version 5.X, and the functional components of the project can be flexibly extended in a pluggable manner. Currently, features such as data sharding, read/write splitting, database high availability, data encryption, shadow DB stress testing, and support for SQL and protocols such as MySQL, PostgreSQL, SQLServer, Oracle, etc. are woven into the project through plugins. 
Apache ShardingSphere has provided dozens of SPIs (service provider interfaces) as extension points of the system, with the total number still increasing.

![Pluggable Platform](https://shardingsphere.apache.org/document/current/img/pluggable_platform.png)

=====================================================
== File: docs/document/content/reference/_index.en.md
=====================================================
+++
pre = "<b>7. </b>"
title = "Reference"
weight = 7
chapter = true
+++

This chapter contains a section of technical implementation with Apache ShardingSphere, 
which provide the reference with users and developers.

=====================================================
== File: docs/document/content/reference/shadow/_index.en.md
=====================================================
+++
pre = "<b>7.9. </b>"
title = "Shadow"
weight = 9
+++

## How it works

Apache ShardingSphere determines the incoming SQL via shadow by parsing the SQL and routing it to the production or shadow database based on the shadow rules set by the user in the configuration file.
![execute process](https://shardingsphere.apache.org/document/current/img/shadow/execute.png)

In the example of an INSERT statement, when writing data, Apache ShardingSphere parses the SQL and then constructs a routing chain based on the rules in the configuration file.
In the current version, the shadow feature is at the last execution unit in the routing chain, i.e. if other rules exist that require routing, such as sharding, Apache ShardingSphere will first route to a particular database according to the sharding rules, and then run the shadow routing determination process to determine that the execution SQL meets the configuration set by shadow rules. Then data is routed to the corresponding shadow database, while the production data remains unchanged.

### DML sentence

Two algorithms are supported. Shadow determination first determines whether the execution SQL-related table intersects with the configured shadow table. If the result is positive, the shadow algorithm within the part of intersection associated with the shadow table will be determined sequentially. If any of the determination is successful, the SQL statement is routed to the shadow library.
If there is no intersection or the shadow algorithm determination is unsuccessful, the SQL statement is routed to the production database.

### DDL sentence

Only supports shadow algorithm with comments attached. In stress testing scenarios, DDL statements are generally not required for testing, and are used mainly when initializing or modifying shadow tables in the shadow database.
The shadow determination will first determine whether the execution SQL contains comments  or not. If the result is a yes, the HINT shadow algorithm configured in the shadow rules determines them in order. The SQL statement is routed to the shadow database if any of the determinations are successful.
If the execution SQL does not contain comments or the HINT shadow algorithm determination is unsuccessful, the SQL statements are routed to the production database.

## References

[JAVA API: shadow database configuration](/en/user-manual/shardingsphere-jdbc/java-api/rules/shadow/)  
[YAMLconfiguration: shadow database](/en/user-manual/shardingsphere-jdbc/yaml-config/rules/shadow/)  

=====================================================
== File: docs/document/content/reference/encrypt/_index.cn.md
=====================================================
+++
pre = "<b>7.7. </b>"
title = "数据加密"
weight = 7
+++

## 处理流程详解

Apache ShardingSphere 通过对用户输入的 SQL 进行解析,并依据用户提供的加密规则对 SQL 进行改写,从而实现对原文数据进行加密。
在用户查询数据时,它仅从数据库中取出密文数据,并对其解密,最终将解密后的原始数据返回给用户。
Apache ShardingSphere 自动化 & 透明化了数据加密过程,让用户无需关注数据加密的实现细节,像使用普通数据那样使用加密数据。

### 整体架构

![1](https://shardingsphere.apache.org/document/current/img/encrypt/1_cn_v2.png)

加密模块将用户发起的 SQL 进行拦截,并通过 SQL 语法解析器进行解析、理解 SQL 行为,再依据用户传入的加密规则,找出需要加密的字段和所使用的加解密算法对目标字段进行加解密处理后,再与底层数据库进行交互。
Apache ShardingSphere 会将用户请求的明文进行加密后存储到底层数据库;并在用户查询时,将密文从数据库中取出进行解密后返回给终端用户。
通过屏蔽对数据的加密处理,使用户无需感知解析 SQL、数据加密、数据解密的处理过程,就像在使用普通数据一样使用加密数据。

### 加密规则

在详解整套流程之前,我们需要先了解下加密规则与配置,这是认识整套流程的基础。加密配置主要分为三部分:数据源配置,加密算法配置,加密表配置,其详情如下图所示:

![2](https://shardingsphere.apache.org/document/current/img/encrypt/2_cn_v3.png)

**数据源配置**:指数据源配置。

**加密算法配置**:指使用什么加密算法进行加解密。目前 ShardingSphere 内置了三种加解密算法:AES,MD5 和 RC4。用户还可以通过实现 ShardingSphere 提供的接口,自行实现一套加解密算法。

**加密表配置**:用于告诉 ShardingSphere 数据表里哪个列用于存储密文数据(cipherColumn)、使用什么算法加解密(encryptorName)、哪个列用于存储辅助查询数据(assistedQueryColumn)、使用什么算法加解密(assistedQueryEncryptorName)以及用户想使用哪个列进行 SQL 编写(logicColumn)。

>  如何理解 `用户想使用哪个列进行 SQL 编写(logicColumn)`?
>
> 我们可以从加密模块存在的意义来理解。加密模块最终目的是希望屏蔽底层对数据的加密处理,也就是说我们不希望用户知道数据是如何被加解密的、如何将密文数据存储到 cipherColumn,将辅助查询数据存储到 assistedQueryColumn。
换句话说,我们不希望用户知道 cipherColumn 和 assistedQueryColumn 的存在和使用。
所以,我们需要给用户提供一个概念意义上的列,这个列可以脱离底层数据库的真实列,它可以是数据库表里的一个真实列,也可以不是,从而使得用户可以随意改变底层数据库的 cipherColumn 和 assistedQueryColumn 的列名。
只要用户的 SQL 面向这个逻辑列进行编写,并在加密规则里给出 logicColumn、cipherColumn、assistedQueryColumn 之间正确的映射关系即可。
>
> 为什么要这么做呢?答案在文章后面,即为了让已上线的业务能无缝、透明、安全地进行数据加密迁移。

### 加密处理过程

举例说明,假如数据库里有一张表叫做 `t_user`,这张表里实际有两个字段 `pwd_cipher`,用于存放密文数据、`pwd_assisted_query`,用于存放辅助查询数据,同时定义 logicColumn 为 `pwd`。
那么,用户在编写 SQL 时应该面向 logicColumn 进行编写,即 `INSERT INTO t_user SET pwd = '123'`。
Apache ShardingSphere 接收到该 SQL,通过用户提供的加密配置,发现 `pwd` 是 logicColumn,于是便对逻辑列及其对应的明文数据进行加密处理。
**Apache ShardingSphere 将面向用户的逻辑列与面向底层数据库的密文列进行了列名以及数据的加密映射转换。** 
如下图所示:

![3](https://shardingsphere.apache.org/document/current/img/encrypt/3_cn_v2.png)

=====================================================
== File: docs/document/content/reference/encrypt/_index.en.md
=====================================================
+++
pre = "<b>7.7. </b>"
title = "Encryption"
weight = 7
+++

Apache ShardingSphere parses the SQL entered by users and rewrites the SQL according to the encryption rules provided by users. 

When a user queries data, it only retrieves ciphertext data from the database, decrypts it, and finally returns the decrypted source data to the user. Apache ShardingSphere achieves a transparent and automatic data encryption process. Users can use encrypted data as normal data without paying attention to the implementation details of data encryption. 

### Overall Architecture

![1](https://shardingsphere.apache.org/document/current/img/encrypt/1_en.png)

The encrypted module intercepts the SQL initiated by the user and parses and understands the SQL behavior through the SQL syntactic parser. Then it finds out the fields to be encrypted and the encryption and decryption algorithm according to the encryption rules introduced by the user and interacts with the underlying database. 

Apache ShardingSphere will encrypt the plaintext requested by users and store it in the underlying database. When the user queries, the ciphertext is extracted from the database, decrypted, and returned to the terminal user. By shielding the data encryption process, users do not need to operate the SQL parsing process, data encryption, and data decryption.

### Encryption Rules

Before explaining the whole process, we need to understand the encryption rules and configuration. Encryption configuration is mainly divided into three parts: data source configuration, encryptor configuration, encryption table configuration, as shown in the figure below:

![2](https://shardingsphere.apache.org/document/current/img/encrypt/2_en_v3.png)

Data source configuration: the configuration of the data source.

Encryptor configuration: refers to the encryption algorithm used for encryption and decryption. Currently, ShardingSphere has three built-in encryption and decryption algorithms: AES, MD5 and RC4. Users can also implement a set of encryption and decryption algorithms by implementing the interfaces provided by ShardingSphere.

Encryption table configuration: it is used to tell ShardingSphere which column in the data table is used to store ciphertext data (`cipherColumn`), and which column the user would like to use for SQL writing (`logicColumn`).

> What does it mean by "which column the user would like to use for SQL writing (logicColumn)"?
We have to know first why the encrypted module exists. The goal of the encrypted module is to shield the underlying data encryption process, which means we don't want users to know how data is encrypted and decrypted, and how to store ciphertext data into `cipherColumn`. In other words, we don't want users to know there is a `cipherColumn` or how they are used. Therefore, we need to provide the user with a conceptual column that can be separated from the real column in the underlying database. It may or may not be a real column in the database table so that users can change the column names of `cipherColumn` of the underlying database at will. The only thing we have to ensure is that the user's SQL is written towards the logical column, and the correct mapping relation between `logicColumn` and `cipherColumn` can be seen in the encryption rules.
>

Query attribute configuration: if both plaintext and ciphertext data are stored in the underlying database table, this attribute can be used to determine whether to query the plaintext data in the database table and return it directly, or query the ciphertext data and return it after decryption through Apache ShardingSphere. This attribute can be configured at the table level and the entire rule level. The table-level has the highest priority.

### Encryption Process

For example, if there is a table named `t_user` in the database, and they're two fields in the table: `pwd_cipher` for storing ciphertext data, and logicColumn is defined as `pwd`, then users should write SQL for `logicColumn`, that is `INSERT INTO t_user SET pwd = '123'`. Apache ShardingSphere receives the SQL and finds that the `pwd` is the `logicColumn` based on the encryption configuration provided by the user. Therefore, it encrypts the logical column and its corresponding plaintext data. 

Apache ShardingSphere transforms the column names and data encryption mapping between the logical columns facing users and cipher columns facing the underlying database. As shown in the figure below:

![3](https://shardingsphere.apache.org/document/current/img/encrypt/3_en.png)

The user's SQL is separated from the underlying data table structure according to the encryption rules provided by the user so that the user's SQL writing does not depend on the real database table structure. 

The connection, mapping, and transformation between the user and the underlying database are handled by Apache ShardingSphere.

The picture below shows the processing flow and conversion logic when the encryption module is used to add, delete, change and check, as shown in the figure below.


=====================================================
== File: docs/document/content/reference/transaction/base-transaction-seata.en.md
=====================================================
+++
title = "Seata BASE transaction"
weight = 2
+++

When integrating Seata AT transaction, we need to integrate TM, RM and TC component into ShardingSphere transaction manager. 
Seata have proxied `DataSource` interface in order to RPC with TC. 
Similarly, Apache ShardingSphere faced to `DataSource` interface to aggregate data sources too. 
After Seata `DataSource` encapsulation, it is easy to put Seata AT transaction into Apache ShardingSphere sharding ecosystem.

![Seata BASE transaction](https://shardingsphere.apache.org/document/current/img/transaction/sharding-transaciton-base-seata-at-design.png)

## Init Seata Engine

When an application containing `ShardingSphereTransactionBaseSeataAT` startup, the user-configured DataSource will be wrapped into seata `DataSourceProxy` through `seata.conf`, then registered into RM.

## Transaction Begin

TM controls the boundaries of global transactions. TM obtains the global transaction ID by sending Begin instructions to TC. 
All branch transactions participate in the global transaction through this global transaction ID. 
The context of the global transaction ID will be stored in the thread local variable.

## Execute actual sharding SQL

Actual SQL in Seata global transaction will be intercepted to generate undo snapshots by RM and sends participate instructions to TC to join global transaction. 
Since actual sharding SQLs executed in multi-threads, global transaction context should transfer from main thread to child thread, which is exactly the same as context transfer between services.

## Commit or Rollback

When submitting a seata transaction, TM sends TC the commit and rollback instructions of the global transaction. TC coordinates all branch transactions for commit and rollback according to the global transaction ID.

=====================================================
== File: docs/document/content/reference/transaction/_index.en.md
=====================================================
+++
pre = "<b>7.5. </b>"
title = "Transaction"
weight = 5
chapter = true
+++

## Navigation

This chapter mainly introduces the principles of the distributed transactions:

* 2PC transaction with XA
* BASE transaction with Seata

=====================================================
== File: docs/document/content/reference/transaction/2pc-xa-transaction.en.md
=====================================================
+++
title = "XA Transaction"
weight = 1
+++

`XAShardingSphereTransactionManager` is XA transaction manager of Apache ShardingSphere.
Its main responsibility is manage and adapt multiple data sources, and sent corresponding transactions to concrete XA transaction manager.

![Principle of ShardingSphere transaction XA](https://shardingsphere.apache.org/document/current/img/transaction/2pc-xa-transaction-design.png)

## Transaction Begin

When receiving `set autoCommit=0` from client, `XAShardingSphereTransactionManager` will use XA transaction managers to start overall XA transactions, which is marked by XID.

## Execute actual sharding SQL

After `XAShardingSphereTransactionManager` register the corresponding XAResource to the current XA transaction, transaction manager will send `XAResource.start` command to databases.
After databases received `XAResource.end` command, all SQL operator will mark as XA transaction. 

For example:

```
XAResource1.start             ## execute in the enlist phase
statement.execute("sql1");
statement.execute("sql2");
XAResource1.end               ## execute in the commit phase
```

`sql1` and `sql2` in example will be marked as XA transaction.

## Commit or Rollback

After `XAShardingSphereTransactionManager` receives the commit command in the access, it will delegate it to the actual XA manager. 
It will collect all the registered XAResource in the thread, before sending `XAResource.end` to mark the boundary for the XA transaction. 
Then it will send prepare command one by one to collect votes from XAResource. 
If all the XAResource feedback is OK, it will send commit command to finally finish it; 
If there is any No XAResource feedback, it will send rollback command to roll back. 
After sending the commit command, all XAResource exceptions will be submitted again according to the recovery log to ensure the atomicity and high consistency.

For example:

```
XAResource1.prepare           ## ack: yes
XAResource2.prepare           ## ack: yes
XAResource1.commit
XAResource2.commit

XAResource1.prepare           ## ack: yes
XAResource2.prepare           ## ack: no
XAResource1.rollback

=====================================================
== File: docs/document/archetypes/default.md
=====================================================
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
---


=====================================================
== File: docs/document/config.toml
=====================================================
baseURL = "https://shardingsphere.apache.org/document/current/"
canonifyurls = true
languageCode = "en-us"
title = "ShardingSphere"
theme = "hugo-theme-learn"

defaultContentLanguage = "en"
defaultContentLanguageInSubdir= true

[Languages]
[Languages.en]
#baseURL = "https://shardingsphere.apache.org/document/current/"
title = "ShardingSphere"
weight = 1
languageName = "English"

[Languages.cn]
#baseURL = "https://shardingsphere.apache.org/document/current/"
title = "ShardingSphere"
weight = 2
languageName = "简体中文"

[params]
# Change default color scheme with a variant one. Can be "red", "blue", "green".
themeVariant = "white"
# Disable search function. It will hide search bar
disableSearch = false
editURL = "https://github.com/apache/shardingsphere/tree/master/docs/document/content/"
# Hide Next and Previous page buttons normally displayed full height beside content
disableNextPrev = true
# Hide breadcrumbs in the header and only show the current page title
disableBreadcrumb = true
description = "Apache ShardingSphere Document"

[markup]
[markup.tableOfContents]
endLevel = 3
ordered = false
startLevel = 2

[markup.goldmark]
[markup.goldmark.renderer]
unsafe = true

=====================================================
== File: docs/README.md
=====================================================
# ShardingSphere Documents

## HOW to build ShardingSphere website?

To build ShardingSphere website by means of [hugo](http://gohugo.io/overview/introduction/) and [hugo theme learn](https://github.com/matcornic/hugo-theme-learn).

Follow the steps below to deploy ShardingSphere website, 

1. Execute `docs/build.sh` to generate `html` files at the directory of `docs/target/`.
2. Clone [shardingsphere-doc](https://github.com/apache/shardingsphere-doc.git).
3. Checkout to `asf-site` branch.
4. Overwrite `document/current` with `docs/target/document/current`, `community` with `docs/target/community` and `blog` with `docs/target/blog`.
5. Commit changes and raise a PR for [shardingsphere-doc](https://github.com/apache/shardingsphere-doc.git).

### Note:

1. If you modify `docs/build.sh`, please test it locally.

## HOW to insert a video of Bilibili or YouTube?

1. First please make sure you get the correct url of the video you want to add.

2. - DO REMEMBER use the `bvid argument` of bilibili url:

     for example : https://www.bilibili.com/video/BV1aE411X7kQ?from=search&seid=5978719442257399675 ( bvid argument means `BV1aE411X7kQ` , or you can simply recognize the argument with `Capital Letter` )

   - YouTube url is much easier to recognize : https://www.youtube.com/watch?v=2MsN8gpT6jY , the argument you needed is `2MsN8gpT6jY` at the end of the url.

3. Use the shortcodes at wherever you want to place:

   - `{{< bilibili BV1aE411X7kQ >}}`

   - `{{< youtube 2MsN8gpT6jY >}}`

=====================================================
== File: docs/build.sh
=====================================================
#!/bin/bash
cd `dirname $0`

rm -rf target

mkdir -p target/document/current
cd document
hugo --cleanDestinationDir
find ../document/public/ -name '*.html' -exec sed -i -e 's|[[:space:]]*<option id="\([a-zA-Z]\+\)" value="|<option id="\1" value="/document/current|g' {} \;
cd public/en
sed -i -e 's/cn/en/g' index.html
cd ../..
cd ..
mv document/public/* target/document/current

mkdir target/community
cd community
hugo --cleanDestinationDir
find ../community/public/ -name '*.html' -exec sed -i -e 's|[[:space:]]*<option id="\([a-zA-Z]\+\)" value="|<option id="\1" value="/community|g' {} \;
cd public/en
sed -i -e 's/cn/en/g' index.html
cd ../..
cd ..
mv community/public/* target/community/

mkdir target/blog
cd blog
hugo --cleanDestinationDir
find ../blog/public/ -name '*.html' -exec sed -i -e 's|[[:space:]]*<option id="\([a-zA-Z]\+\)" value="|<option id="\1" value="/blog|g' {} \;
cd public/en
sed -i -e 's/cn/en/g' index.html
cd ../..
cd ..
mv blog/public/* target/blog/

=====================================================
== File: docs/blog/static/css/theme-mine.css
=====================================================
/* background behind the logo*/
#header {
    background: black;
    border-color: black;
}

#header-wrapper {
    background: black;
    border-color: black;
}

#chapter p {
    text-align: left;
}

.copy-to-clipboard {
    background-image: none;
    display: none;
}

#body img, #body .video-container {
    margin: auto;
    text-align: left;
    display: inherit;
}

.post p{
    text-indent: 0em;
}

=====================================================
== File: docs/blog/static/css/theme-black.css
=====================================================
@charset "UTF-8";

#top-github-link,
#body #breadcrumbs {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.button,
.button-secondary {
    display: inline-block;
    padding: 7px 12px;
}

.button:active,
.button-secondary:active {
    margin: 2px 0 -2px 0;
}

@font-face {
    font-family: 'Novacento Sans Wide';
    src: url("../fonts/Novecentosanswide-UltraLight-webfont.eot");
    src: url("../fonts/Novecentosanswide-UltraLight-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/Novecentosanswide-UltraLight-webfont.woff2") format("woff2"), url("../fonts/Novecentosanswide-UltraLight-webfont.woff") format("woff"), url("../fonts/Novecentosanswide-UltraLight-webfont.ttf") format("truetype"), url("../fonts/Novecentosanswide-UltraLight-webfont.svg#novecento_sans_wideultralight") format("svg");
    font-style: normal;
    font-weight: 200;
}

@font-face {
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 300;
    src: url("../fonts/Work_Sans_300.eot?#iefix") format("embedded-opentype"), url("../fonts/Work_Sans_300.woff") format("woff"), url("../fonts/Work_Sans_300.woff2") format("woff2"), url("../fonts/Work_Sans_300.svg#WorkSans") format("svg"), url("../fonts/Work_Sans_300.ttf") format("truetype");
}

@font-face {
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 500;
    src: url("../fonts/Work_Sans_500.eot?#iefix") format("embedded-opentype"), url("../fonts/Work_Sans_500.woff") format("woff"), url("../fonts/Work_Sans_500.woff2") format("woff2"), url("../fonts/Work_Sans_500.svg#WorkSans") format("svg"), url("../fonts/Work_Sans_500.ttf") format("truetype");
}

body {
    background: #fff;
    color: #777;
}

=====================================================
== File: docs/blog/static/fonts/glyphicons-halflings-regular.svg
=====================================================
<?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 xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
<font-face units-per-em="1200" ascent="960" descent="-240" />
<missing-glyph horiz-adv-x="500" />
<glyph />
<glyph />
<glyph unicode="&#xd;" />
<glyph unicode=" " />
<glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" />
<glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" />
<glyph unicode="&#xa0;" />
<glyph unicode="&#x2000;" horiz-adv-x="652" />
<glyph unicode="&#x2001;" horiz-adv-x="1304" />
<glyph unicode="&#x2002;" horiz-adv-x="652" />
<glyph unicode="&#x2003;" horiz-adv-x="1304" />
<glyph unicode="&#x2004;" horiz-adv-x="434" />
<glyph unicode="&#x2005;" horiz-adv-x="326" />
<glyph unicode="&#x2006;" horiz-adv-x="217" />
<glyph unicode="&#x2007;" horiz-adv-x="217" />
<glyph unicode="&#x2008;" horiz-adv-x="163" />
<glyph unicode="&#x2009;" horiz-adv-x="260" />
<glyph unicode="&#x200a;" horiz-adv-x="72" />
<glyph unicode="&#x202f;" horiz-adv-x="260" />
<glyph unicode="&#x205f;" horiz-adv-x="326" />
<glyph unicode="&#x20ac;" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
<glyph unicode="&#x2212;" d="M200 400h900v300h-900v-300z" />
<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
<glyph unicode="&#x2601;" d="M-14 494q0 -80 56.5 -137t135.5 -57h750q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5z" />
<glyph unicode="&#x2709;" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
<glyph unicode="&#x270f;" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
<glyph unicode="&#xe001;" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
<glyph unicode="&#xe002;" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q18 -55 86 -75.5t147 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" />
<glyph unicode="&#xe003;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
<glyph unicode="&#xe005;" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
<glyph unicode="&#xe006;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1z" />
<glyph unicode="&#xe007;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" />
<glyph unicode="&#xe008;" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" />
<glyph unicode="&#xe009;" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" />
<glyph unicode="&#xe010;" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe011;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0 21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe012;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe013;" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
<glyph unicode="&#xe014;" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
<glyph unicode="&#xe015;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
<glyph unicode="&#xe016;" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" />
<glyph unicode="&#xe017;" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />

=====================================================
== File: docs/blog/layouts/partials/style.html
=====================================================
<link rel="stylesheet" href="http://cdn.bootcss.com/highlight.js/9.8.0/styles/monokai-sublime.min.css">
<link rel="stylesheet" href="http://ovfotjrsi.bkt.clouddn.com/docs/css/style.css">

=====================================================
== File: docs/blog/layouts/partials/logo.html
=====================================================
<a href="https://shardingsphere.apache.org/"><img src="https://shardingsphere.apache.org/document/current/img/logo_v2.png" /></a>

=====================================================
== File: docs/blog/layouts/partials/favicon.html
=====================================================
<link rel="shortcut icon" href="https://shardingsphere.apache.org/document/current/img/favicon.png" type="image/x-icon" />

=====================================================
== File: docs/blog/layouts/partials/menu-footer.html
=====================================================
<p></p>

=====================================================
== File: docs/blog/layouts/partials/javascript.html
=====================================================
<script src="http://cdn.bootcss.com/highlight.js/9.8.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>

=====================================================
== File: docs/blog/layouts/index.html
=====================================================
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="refresh" content="0; url=https://shardingsphere.apache.org/blog/en/material">
    <title>Index</title>
</head>
<body>
</body>
</html>

=====================================================
== File: docs/blog/layouts/shortcodes/bilibili.html
=====================================================
<!DOCTYPE HTML>
<html>

<head>
</head>

<body>
    <div class="aspect-ratio" style="position: relative; width: 100%; height: 0; padding-bottom: 75%">
        <iframe
            src="https://player.bilibili.com/player.html?bvid={{.Get 0 }}&page={{ if .Get 1 }}{{.Get 1}}{{ else }}1&high_quality=1&danmaku=0{{end}}"
            scrolling="no" 
            border="0" 
            frameborder="no" 
            framespacing="0" 
            allowfullscreen="true"
            sandbox="allow-top-navigation allow-same-origin allow-forms allow-scripts"
            style="position: absolute; width: 100%; height: 100%; left: 0; top: 0;"
            >
        </iframe>
    </div>
</body>

</html>

<!-- arguements &high_quality=1&danmaku=0 in src control the quality of video and bullet-screen comments-->
<!-- sandbox option avoid jumpping to bilibili.com -->

=====================================================
== File: docs/blog/layouts/shortcodes/qq.html
=====================================================
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div class="aspect-ratio" style="position: relative; width: 100%; height: 0; padding-bottom: 75%">
    <iframe src="https://v.qq.com/txp/iframe/player.html?vid={{.Get 0 }}&autoplay=true&bullet=true"
            scrolling="no"
            border="0"
            frameborder="no"
            framespacing="0"
            allowFullScreen="true"
            sandbox="allow-top-navigation allow-same-origin allow-forms allow-scripts"
            style="position: absolute; width: 100%; height: 100%; left: 0; top: 0;"
    ></iframe>
</div>
</body>
</html>

=====================================================
== File: docs/blog/themes/tale4zh/README.md
=====================================================
# Tale

This is a tale-hugo theme for Chinese.

## Quick Start

```
cd /path/to/your/hugo/

git submodule add https://github.com/hanyouqing/tale-hugo.git themes/tale4zh

git submodule init

git submodule update
```

Keep original documentation below:

--- 

[![Build Status](https://travis-ci.com/EmielH/tale-hugo.svg?branch=master)](https://travis-ci.com/EmielH/tale-hugo)

This is a port of the [Tale theme for Jekyll](https://github.com/chesterhow/tale) to Hugo. Tale is a minimal Jekyll theme curated for storytellers. Checkout the demo [here](https://chesterhow.github.io/tale/). I did not design this theme; I only ported it from Jekyll to Hugo.

![Tale screenshot](https://raw.githubusercontent.com/EmielH/tale-hugo/master/images/screenshot.png)

## Installation

### 1. Install the theme

If your site is also under version control using git, the easiest way to install this theme is to add it as a submodule. If you have not created a git repo for your project yet, you need to run `git init` beforehand. Inside the folder of your Hugo site, run the following command.

```
git submodule add https://github.com/EmielH/tale-hugo.git themes/tale
```

Alternatively, you can clone the theme into your project.

```
git clone https://github.com/EmielH/tale-hugo.git themes/tale
```

### 2. Configure Hugo

Add the following line to `config.toml` to tell Hugo to use the theme.

```
theme = "tale"
```


=====================================================
== File: docs/blog/themes/tale4zh/static/css/fonts.css
=====================================================
/* libre-baskerville-regular - latin */
@font-face {
    font-family: 'Libre Baskerville';
    font-style: normal;
    font-weight: 400;
    src: url('/fonts/libre-baskerville-v7-latin-regular.eot'); /* IE9 Compat Modes */
    src: local('Libre Baskerville'), local('LibreBaskerville-Regular'),
    url('/fonts/libre-baskerville-v7-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('/fonts/libre-baskerville-v7-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
    url('/fonts/libre-baskerville-v7-latin-regular.woff') format('woff'), /* Modern Browsers */
    url('/fonts/libre-baskerville-v7-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
    url('/fonts/libre-baskerville-v7-latin-regular.svg#LibreBaskerville') format('svg'); /* Legacy iOS */
}

/* libre-baskerville-700 - latin */
@font-face {
    font-family: 'Libre Baskerville';
    font-style: normal;
    font-weight: 700;
    src: url('/fonts/libre-baskerville-v7-latin-700.eot'); /* IE9 Compat Modes */
    src: local('Libre Baskerville Bold'), local('LibreBaskerville-Bold'),
    url('/fonts/libre-baskerville-v7-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('/fonts/libre-baskerville-v7-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
    url('/fonts/libre-baskerville-v7-latin-700.woff') format('woff'), /* Modern Browsers */
    url('/fonts/libre-baskerville-v7-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
    url('/fonts/libre-baskerville-v7-latin-700.svg#LibreBaskerville') format('svg'); /* Legacy iOS */
}

/* libre-baskerville-italic - latin */
@font-face {
    font-family: 'Libre Baskerville';
    font-style: italic;
    font-weight: 400;
    src: url('/fonts/libre-baskerville-v7-latin-italic.eot'); /* IE9 Compat Modes */
    src: local('Libre Baskerville Italic'), local('LibreBaskerville-Italic'),
    url('/fonts/libre-baskerville-v7-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('/fonts/libre-baskerville-v7-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
    url('/fonts/libre-baskerville-v7-latin-italic.woff') format('woff'), /* Modern Browsers */
    url('/fonts/libre-baskerville-v7-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
    url('/fonts/libre-baskerville-v7-latin-italic.svg#LibreBaskerville') format('svg'); /* Legacy iOS */
}
@font-face {
    font-family: 'webfont';
    font-display: swap;
    src: url('//at.alicdn.com/t/webfont_86oq155nxz.eot'); /* IE9*/
    src: url('//at.alicdn.com/t/webfont_86oq155nxz.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('//at.alicdn.com/t/webfont_86oq155nxz.woff2') format('woff2'),
    url('//at.alicdn.com/t/webfont_86oq155nxz.woff') format('woff'), /* chrome、firefox */
    url('//at.alicdn.com/t/webfont_86oq155nxz.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
    url('//at.alicdn.com/t/webfont_86oq155nxz.svg#AlibabaPuHuiTiL') format('svg'); /* iOS 4.1- */

=====================================================
== File: docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-italic.svg
=====================================================
<?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 xmlns="http://www.w3.org/2000/svg">
<defs >
<font id="LibreBaskerville" horiz-adv-x="458" ><font-face
    font-family="Libre Baskerville"
    units-per-em="1000"
    panose-1="2 0 0 0 0 0 0 0 0 0"
    ascent="970"
    descent="-270"
    alphabetic="0" />
<glyph unicode=" " glyph-name="space" horiz-adv-x="275" />
<glyph unicode="!" glyph-name="exclam" horiz-adv-x="317" d="M129 207L177 662Q184 726 200 753T252 780Q280 780 293 763T307 705Q307 686 304 668T293 626T273 571T243 494Q229 459 217 420T194 343T176 270T164 207H129ZM119 -10Q94 -10 76 7T57 51Q57 78
75 97T120 116Q147 116 165 97T183 52Q183 26 164 8T119 -10Z" />
<glyph unicode="&quot;" glyph-name="quotedbl" horiz-adv-x="359" d="M154 564Q162 624 165 673T174 757T195 811T239 830Q256 830 265 821T275 795Q275 789 266 766T244 710T214 639T183 564H154ZM306 564Q314 624 317 673T326 757T347 811T391 830Q408 830
417 821T427 795Q427 789 418 766T396 710T366 639T335 564H306Z" />
<glyph unicode="#" glyph-name="numbersign" horiz-adv-x="670" d="M612 255H473L436 0H377L412 255H261L223 0H163L201 255H61L69 305H211L235 475H92L100 525H244L279 770H339L304 525H455L489 770H549L515 525H649L641 475H506L483 305H620L612 255ZM295 475L271
305H422L445 475H295Z" />
<glyph unicode="$" glyph-name="dollar" horiz-adv-x="584" d="M175 -3Q142 5 114 21T66 58T34 106T22 162Q22 185 30 206T51 243T82 269T119 279Q149 279 168 255Q140 244 124 217T107 154Q107 114 128 87T188 49L267 374Q241 393 217 414T174 459T144 511T132
574Q132 616 150 653T199 718T272 762T365 780L386 865H443L421 776Q484 765 522 729T561 641Q561 597 535 571T466 544Q449 544 440 549T425 565Q448 572 464 596T480 650Q480 712 409 726L345 461Q373 441 401 419T451 370T488 310T503 233Q503 183 482 139T424
62T339 10T235 -10H231L198 -146H141L175 -3ZM414 185Q414 233 385 269T315 337L244 43Q280 44 311 55T365 85T401 129T414 185ZM230 613Q230 577 249 550T297 498L352 727Q297 722 264 692T230 613Z" />
<glyph unicode="%" glyph-name="percent" horiz-adv-x="683" d="M80 0H13L636 770H694L80 0ZM207 465Q169 465 145 494T121 572Q121 611 134 648T170 715T221 763T278 781Q317 781 341 753T365 679Q365 641 351 603T315 534T264 484T207 465ZM274 755Q257 755
239 736T207 687T184 620T175 546Q175 491 213 491Q230 491 247 510T279 559T301 627T310 703Q310 755 274 755ZM449 -10Q411 -10 387 19T363 97Q363 136 376 173T412 240T463 288T520 306Q559 306 583 278T607 204Q607 166 593 128T557 59T506 9T449 -10ZM516
280Q499 280 481 261T449 212T426 145T417 71Q417 16 455 16Q472 16 489 35T521 84T543 152T552 228Q552 280 516 280Z" />
<glyph unicode="&amp;" glyph-name="ampersand" horiz-adv-x="898" d="M388 780Q449 780 486 749T524 667Q524 643 515 627T491 607Q474 645 444 666T376 688Q330 688 301 658T271 579Q271 528 305 517Q329 509 345 503T370 489T382 473T386 452Q386 430 374 418T338
406Q317 406 304 415T280 434T257 454T227 463Q192 463 169 429T146 342Q146 290 168 245T230 167T323 114T437 95Q493 95 543 113T632 162T692 234T714 321Q714 352 703 379T674 427T630 458T574 470Q525 470 495 446T465 380Q465 350 480 330T519 309Q542 309
542 333Q542 340 541 348T540 364Q540 381 551 392T579 404Q600 404 615 386T630 342Q630 324 622 309T600 282T567 263T527 256Q503 256 483 265T448 292T425 332T416 384Q416 420 430 450T470 501T531 535T610 547H715Q775 547 811 572T847 639Q847 665 831 684T795
704Q778 704 774 693T767 670T757 646T724 635Q700 635 687 648T673 686Q673 719 698 738T766 758Q797 758 823 747T869 717T899 672T910 614Q910 579 896 550T856 498T795 464T717 450L715 446Q741 430 757 389T774 297Q774 233 746 177T668 80T552 14T409 -10Q334
-10 270 13T159 76T86 170T59 289Q59 377 104 438T228 520Q220 537 216 563T211 614Q211 651 224 681T260 734T316 768T388 780Z" />
<glyph unicode="&apos;" glyph-name="quotesingle" horiz-adv-x="207" d="M154 564Q162 624 165 673T174 757T195 811T239 830Q256 830 265 821T275 795Q275 789 266 766T244 710T214 639T183 564H154Z" />
<glyph unicode="(" glyph-name="parenleft" horiz-adv-x="337" d="M443 803Q359 718 299 638T199 474T141 299T122 101Q122 25 140 -40T198 -166L160 -194Q32 -27 32 167Q32 343 131 512T419 831L443 803Z" />
<glyph unicode=")" glyph-name="parenright" horiz-adv-x="335" d="M192 831Q252 750 281 663T310 482Q310 393 283 304T205 129T79 -38T-92 -194L-115 -166Q-45 -106 17 -27T125 144T197 336T224 537Q224 602 207 664T153 803L192 831Z" />
<glyph unicode="*" glyph-name="asterisk" horiz-adv-x="532" d="M332 536Q326 517 322 502T317 474T314 448T313 421Q311 360 268 360Q244 360 233 375T222 408Q222 421 228 429T251 455Q258 462 264 469T275 486T287 510T303 546Q262 539 239 530T201 512T178
497T157 491Q138 491 125 505T112 538Q112 555 125 569T161 583Q178 583 197 577T242 570Q265 570 298 576Q269 609 246 624T207 649T181 666T172 693Q172 719 187 729T219 740Q238 740 247 729T265 697T285 651T322 595Q334 630 336 657T339 713Q339 740 351 755T384
770Q405 770 418 756T431 725Q431 712 423 699T402 670T375 634T350 584Q386 591 409 600T447 619T474 634T496 640Q513 640 526 626T540 593Q540 579 529 564T494 549Q478 549 462 554T419 560Q407 560 391 559T356 554Q379 527 402 512T443 487T472 465T484 435Q484
412 470 401T438 390Q424 390 416 395T401 409T392 428T387 446Q383 462 368 489T332 536Z" />
<glyph unicode="+" glyph-name="plus" horiz-adv-x="578" d="M263 104V313H55V363H263V572H315V363H523V313H315V104H263Z" />
<glyph unicode="," glyph-name="comma" horiz-adv-x="265" d="M71 3Q59 0 50 0Q24 0 12 16T-1 58Q-1 88 19 109T68 130Q99 130 119 109T139 59Q139 3 99 -59T-16 -175L-39 -143Q15 -105 43 -66T71 3Z" />
<glyph unicode="-" glyph-name="hyphen" horiz-adv-x="465" d="M60 248L83 331H392L369 248H60Z" />
<glyph unicode="." glyph-name="period" horiz-adv-x="262" d="M68 -10Q40 -10 20 9T-1 58Q-1 88 19 109T68 130Q99 130 119 109T139 59Q139 30 118 10T68 -10Z" />
<glyph unicode="/" glyph-name="slash" horiz-adv-x="390" d="M40 0H-29L395 770H457L40 0Z" />
<glyph unicode="0" glyph-name="zero" horiz-adv-x="656" d="M260 -10Q217 -10 182 9T122 64T83 148T69 258Q69 354 101 447T185 615T303 734T437 780Q480 780 515 762T576 710T615 629T629 525Q629 462 614 398T573 274T510 163T433 73T348 12T260 -10ZM427 728Q398
728 369 705T312 643T260 550T219 435T191 309T180 179Q180 114 204 79T273 43Q302 43 331 66T387 129T438 222T479 338T507 466T517 598Q517 661 494 694T427 728Z" />
<glyph unicode="1" glyph-name="one" horiz-adv-x="474" d="M297 268Q287 228 279 192T270 127Q270 107 275 91T292 64T325 46T377 40L366 0H-4L7 40Q42 40 68 46T114 68T148 111T172 179L274 590Q275 595 275 599T276 606Q276 619 261 619Q244 619 209 611T115
603L121 645Q164 645 201 656T271 686T333 729T389 780H426L297 268Z" />
<glyph unicode="2" glyph-name="two" horiz-adv-x="625" d="M165 98H369Q393 98 411 101T445 113T474 136T501 173H538L475 0H11L20 53Q145 153 231 231T371 374T448 493T472 600Q472 658 442 693T359 728Q330 728 305 717T260 688T231 644T220 591Q220 546 244
521T314 496Q305 471 282 457T228 443Q179 443 149 477T119 566Q119 611 139 650T195 718T278 764T380 781Q427 781 466 768T532 731T575 673T590 597Q590 546 567 493T492 381T361 254T165 103V98Z" />
<glyph unicode="3" glyph-name="three" horiz-adv-x="617" d="M411 219Q411 252 403 280T379 330T344 363T299 375Q282 375 260 371T220 367Q188 367 188 387Q188 404 208 411T257 425T321 440T385 469T435 524T455 618Q455 675 434 702T365 729Q312 729 279 700T246
626Q246 595 262 578T308 561Q300 544 282 534T240 523Q202 523 179 548T155 616Q155 651 171 681T217 733T286 767T373 780Q461 780 513 739T565 626Q565 591 551 558T513 496T455 447T384 417V411Q453 393 491 347T529 235Q529 184 506 140T442 62T347 10T231
-10Q185 -10 147 1T82 33T39 81T24 145Q24 173 34 198T60 243T99 273T147 284Q173 284 192 272T215 240Q197 240 181 232T152 209T132 175T124 134Q124 90 154 66T239 42Q278 42 309 54T363 90T398 146T411 219Z" />

=====================================================
== File: docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-regular.svg
=====================================================
<?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 xmlns="http://www.w3.org/2000/svg">
<defs >
<font id="LibreBaskerville" horiz-adv-x="513" ><font-face
    font-family="Libre Baskerville"
    units-per-em="1000"
    panose-1="2 0 0 0 0 0 0 0 0 0"
    ascent="970"
    descent="-270"
    alphabetic="0" />
<glyph unicode=" " glyph-name="space" horiz-adv-x="287" />
<glyph unicode="!" glyph-name="exclam" horiz-adv-x="308" d="M89 55Q89 83 108 102T154 121Q182 121 201 102T220 55Q220 28 201 9T154 -10Q127 -10 108 9T89 55ZM130 207Q130 287 129 343T124 441T115 516T104 584Q99 612 96 630T92 662T90 687T89 714Q89 741
106 760T154 780Q184 780 201 761T219 714Q219 700 219 689T218 663T213 630T204 580Q198 547 193 515T185 441T180 343T178 207H130Z" />
<glyph unicode="&quot;" glyph-name="quotedbl" horiz-adv-x="367" d="M93 564Q89 592 84 625T73 689T64 744T60 781Q60 802 73 816T107 830Q127 830 140 816T154 780Q154 768 151 743T142 688T132 625T122 564H93ZM245 564Q241 592 236 625T225 689T216 744T212
781Q212 802 225 816T259 830Q279 830 292 816T306 780Q306 768 303 743T294 688T284 625T274 564H245Z" />
<glyph unicode="#" glyph-name="numbersign" horiz-adv-x="666" d="M590 255H451L414 0H355L390 255H239L201 0H141L179 255H39L47 305H189L213 475H70L78 525H222L257 770H317L282 525H433L467 770H527L493 525H627L619 475H484L461 305H598L590 255ZM273 475L249
305H400L423 475H273Z" />
<glyph unicode="$" glyph-name="dollar" horiz-adv-x="622" d="M343 900V778Q385 774 423 760T489 725T534 678T551 624Q551 598 537 584T499 570Q477 570 467 581T450 608T439 645T424 682T396 713T343 731V455Q409 426 453 400T526 345T566 285T578 217Q578
170 561 131T513 62T439 14T343 -8V-170H288V-9Q238 -7 193 7T114 44T59 98T38 168Q38 202 53 216T87 230Q106 230 117 219T136 191T147 156T154 126Q158 110 166 96T190 69T229 50T288 41V341Q250 357 213 375T147 419T100 481T82 568Q82 613 96 650T138 715T203
759T288 779V900H343ZM474 169Q474 198 464 220T436 260T394 291T343 317V43Q409 51 441 84T474 169ZM176 618Q176 576 202 542T288 479V730Q236 722 206 693T176 618Z" />
<glyph unicode="%" glyph-name="percent" horiz-adv-x="671" d="M92 0H35L588 770H636L92 0ZM200 780Q224 780 245 768T283 734T308 683T318 620Q318 587 309 559T283 509T246 476T200 464Q176 464 155 476T117 509T92 558T82 620Q82 654 91 683T117 733T154 767T200
780ZM200 489Q229 489 245 516T261 618Q261 657 257 683T245 726T226 748T200 755Q185 755 174 749T155 726T143 684T139 618Q139 543 155 516T200 489ZM471 306Q495 306 516 294T554 260T579 209T589 146Q589 113 580 85T554 35T517 2T471 -10Q447 -10 426 2T388
35T363 84T353 146Q353 180 362 209T388 259T425 293T471 306ZM471 15Q500 15 516 42T532 144Q532 183 528 209T516 252T497 274T471 281Q456 281 445 275T426 252T414 210T410 144Q410 69 426 42T471 15Z" />
<glyph unicode="&amp;" glyph-name="ampersand" horiz-adv-x="878" d="M347 458Q395 495 417 533T439 617Q439 664 418 691T362 719Q296 719 296 618Q296 574 309 534T347 458ZM290 364Q227 328 192 280T157 179Q157 124 192 89T284 53Q326 53 374 74T465 133L290
364ZM537 209Q561 239 581 267T617 321T640 368T648 402Q648 418 634 425T587 432V467H817V432Q795 432 780 430T752 421T730 405T709 379L567 171Q609 114 654 85T745 55Q758 55 768 57T786 66T802 84T818 112L843 105Q832 49 794 20T695 -10Q670 -10 648 -5T602
14T553 48T496 100Q446 48 381 19T247 -10Q201 -10 163 3T96 40T52 96T36 167Q36 235 90 292T263 408Q231 455 217 496T202 582Q202 626 214 662T250 725T305 765T376 780Q410 780 438 769T488 738T520 691T532 631Q532 575 496 526T375 420L537 209Z" />
<glyph unicode="&apos;" glyph-name="quotesingle" horiz-adv-x="215" d="M93 564Q89 592 84 625T73 689T64 744T60 781Q60 802 73 816T107 830Q127 830 140 816T154 780Q154 768 151 743T142 688T132 625T122 564H93Z" />
<glyph unicode="(" glyph-name="parenleft" horiz-adv-x="332" d="M312 803Q263 737 231 682T181 573T155 464T147 340Q147 257 156 187T187 56T241 -60T320 -166L289 -194Q169 -77 108 53T47 323Q47 459 106 587T281 831L312 803Z" />
<glyph unicode=")" glyph-name="parenright" horiz-adv-x="332" d="M51 831Q167 715 226 587T285 323Q285 184 224 54T43 -194L12 -166Q58 -115 91 -61T145 55T175 187T185 340Q185 408 178 464T152 573T101 681T20 803L51 831Z" />
<glyph unicode="*" glyph-name="asterisk" horiz-adv-x="516" d="M272 539Q272 508 276 485T286 445T296 415T301 394Q301 376 288 363T257 349Q236 349 224 363T211 398Q211 405 215 416T225 443T236 483T242 539Q201 516 182 497T153 464T135 443T109 435Q90
435 77 448T63 481Q63 504 76 513T111 527T163 539T227 565Q197 582 175 589T137 599T110 603T89 610Q77 617 71 627T65 650Q65 670 79 682T112 695Q125 695 137 685T163 659T197 625T243 591Q243 653 226 693Q221 701 217 713T213 734Q213 754 225 767T258 780Q278
780 291 767T304 734Q304 726 300 715T291 693Q281 672 278 648T273 591Q309 612 328 631T358 664T378 687T404 695Q423 695 437 682T451 650Q451 626 441 619T411 607T360 596T289 565Q326 543 356 537T408 526T441 514T453 480Q453 460 439 448T406 436Q394 436
382 443T355 474Q346 488 324 506T272 539Z" />
<glyph unicode="+" glyph-name="plus" horiz-adv-x="550" d="M249 104V313H41V363H249V572H301V363H509V313H301V104H249Z" />
<glyph unicode="," glyph-name="comma" horiz-adv-x="273" d="M49 -143Q103 -105 126 -70T149 8Q136 0 119 0Q96 0 82 16T67 59Q67 87 85 104T134 121Q206 121 206 21Q206 -7 199 -31T177 -78T135 -124T72 -175L49 -143Z" />
<glyph unicode="-" glyph-name="hyphen" horiz-adv-x="463" d="M77 248V331H386V248H77Z" />
<glyph unicode="." glyph-name="period" horiz-adv-x="265" d="M67 55Q67 83 86 102T132 121Q160 121 179 102T198 55Q198 28 179 9T132 -10Q105 -10 86 9T67 55Z" />
<glyph unicode="/" glyph-name="slash" horiz-adv-x="460" d="M87 0H29L382 770H431L87 0Z" />
<glyph unicode="0" glyph-name="zero" horiz-adv-x="714" d="M357 780Q418 780 472 749T566 664T629 537T653 379Q653 298 630 227T566 104T472 21T357 -10Q296 -10 242 20T148 103T85 227T61 379Q61 464 84 537T148 664T242 749T357 780ZM357 38Q396 38 426 54T478
109T511 213T523 376Q523 478 512 546T479 655T427 714T357 732Q318 732 287 715T235 656T203 546T191 376Q191 278 202 213T235 109T287 54T357 38Z" />
<glyph unicode="1" glyph-name="one" horiz-adv-x="446" d="M276 162Q276 123 279 100T294 63T325 44T380 38V0H74V38Q107 39 127 44T159 62T174 97T178 155V522Q178 580 178 618T174 668Q169 690 144 695T69 700V738Q118 740 172 751T276 780V162Z" />
<glyph unicode="2" glyph-name="two" horiz-adv-x="616" d="M196 98H395Q419 98 437 102T469 120T494 155T516 213H553L515 0H50V33Q164 135 237 211T353 349T411 461T427 566Q427 644 391 689T291 734Q231 734 194 695T156 594Q156 540 185 508T266 476Q261 452
240 438T188 423Q160 423 137 434T96 465T69 512T59 573Q59 618 78 656T130 721T208 765T307 781Q360 781 404 765T480 720T529 652T547 564Q547 502 520 443T444 326T332 213T195 103L196 98Z" />
<glyph unicode="3" glyph-name="three" horiz-adv-x="616" d="M429 214Q429 297 396 342T301 388Q286 380 268 375T234 370Q214 370 201 379T188 404Q188 418 200 425T232 432Q245 432 261 429T293 421Q347 421 379 469T412 597Q412 737 294 737Q241 737 211 713T180
647Q180 613 200 592T252 571Q247 554 228 544T182 533Q160 533 142 541T110 563T88 597T80 639Q80 671 95 697T139 741T206 770T294 780Q348 780 392 767T467 731T515 675T532 602Q532 568 520 538T488 484T441 442T382 417V411Q419 401 451 382T506 337T542 278T555
207Q555 160 535 121T480 52T397 7T290 -10Q238 -10 195 3T119 40T69 96T51 167Q51 194 60 217T84 257T121 284T166 294Q194 294 216 282T243 250Q205 250 181 223T157 152Q157 101 193 69T288 37Q357 37 393 82T429 214Z" />
<glyph unicode="4" glyph-name="four" horiz-adv-x="585" d="M18 229L370 780H401V227Q432 228 450 231T478 244T491 271T494 318H529V95H494Q494 122 491 139T479 165T451 178T401 183V162Q401 123 404 99T415 62T439 43T480 38V0H199V38Q232 38 252 43T284 61T299
97T303 155V179H18V229ZM303 585H298L68 229H303V585Z" />
<glyph unicode="5" glyph-name="five" horiz-adv-x="568" d="M198 482L200 479Q215 490 244 497T302 505Q346 505 384 488T449 439T493 366T509 274Q509 214 487 163T425 73T332 12T216 -10Q174 -10 138 0T77 29T37 72T22 128Q22 155 34 170T70 185Q91 185 101

=====================================================
== File: docs/blog/themes/tale4zh/static/fonts/libre-baskerville-v7-latin-700.svg
=====================================================
<?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 xmlns="http://www.w3.org/2000/svg">
<defs >
<font id="LibreBaskerville" horiz-adv-x="526" ><font-face
    font-family="Libre Baskerville"
    units-per-em="1000"
    panose-1="2 0 0 0 0 0 0 0 0 0"
    ascent="970"
    descent="-270"
    alphabetic="0" />
<glyph unicode=" " glyph-name="space" horiz-adv-x="266" />
<glyph unicode="!" glyph-name="exclam" horiz-adv-x="311" d="M125 207Q125 298 119 361T105 472Q100 502 95 528T86 580T80 632T77 690Q77 780 155 780Q233 780 233 690Q233 659 231 633T224 581T215 529T205 472Q197 424 191 362T185 207H125ZM80 65Q80 97
102 119T156 141Q188 141 210 119T232 65Q232 33 210 12T156 -10Q124 -10 102 11T80 65Z" />
<glyph unicode="&quot;" glyph-name="quotedbl" horiz-adv-x="392" d="M86 554Q81 581 75 614T62 678T52 734T48 771Q48 797 64 813T106 830Q132 830 148 813T165 770Q165 758 161 733T150 678T138 614T127 554H86ZM266 554Q261 581 255 614T242 678T232 734T227
771Q227 797 243 813T286 830Q311 830 327 813T344 770Q344 758 340 733T330 678T318 614T307 554H266Z" />
<glyph unicode="#" glyph-name="numbersign" horiz-adv-x="702" d="M625 250H479L441 0H369L405 250H256L217 0H144L183 250H36L47 310H196L219 470H69L79 530H230L266 770H339L303 530H452L487 770H560L525 530H666L655 470H514L491 310H635L625 250ZM292 470L269
310H417L439 470H292Z" />
<glyph unicode="$" glyph-name="dollar" horiz-adv-x="644" d="M353 900V777Q396 777 436 764T508 727T557 673T576 610Q576 584 560 568T518 552Q494 552 480 564T457 594T440 634T423 674T396 705T353 717V473Q420 446 468 418T547 360T592 295T607 220Q607
173 589 133T538 64T458 16T353 -8V-170H285V-9Q232 -6 187 9T108 50T56 108T37 178Q37 213 52 231T96 250Q124 250 141 228T174 146Q196 59 285 52V328Q170 374 117 430T64 562Q64 613 83 653T133 721T203 764T285 779V900H353ZM480 168Q480 210 451 240T353 301V54Q414
62 447 91T480 168ZM177 616Q177 550 285 501V716Q263 716 244 708T209 687T186 655T177 616Z" />
<glyph unicode="%" glyph-name="percent" horiz-adv-x="712" d="M111 0H31L611 770H682L111 0ZM215 780Q242 780 265 768T306 734T334 683T344 620Q344 587 334 559T307 509T266 476T215 464Q189 464 166 476T125 509T97 558T86 620Q86 654 96 683T124 733T165
767T215 780ZM215 499Q241 499 255 524T269 618Q269 691 255 718T215 745Q189 745 175 718T161 618Q161 549 175 524T215 499ZM499 306Q525 306 548 294T589 260T617 209T628 146Q628 113 618 85T590 35T549 2T499 -10Q473 -10 450 2T409 35T381 84T370 146Q370
180 380 209T408 259T449 293T499 306ZM499 25Q525 25 539 50T553 144Q553 217 539 244T499 271Q473 271 459 244T445 144Q445 75 459 50T499 25Z" />
<glyph unicode="&amp;" glyph-name="ampersand" horiz-adv-x="891" d="M356 473Q399 506 418 541T438 617Q438 659 418 684T362 709Q298 709 298 618Q298 579 313 542T356 473ZM282 354Q231 320 204 274T177 179Q177 128 209 96T290 63Q329 63 374 81T460 133L282
354ZM551 224Q575 251 595 278T631 328T654 371T662 402Q662 418 648 425T598 432V472H840V432Q817 432 801 428T771 417T746 398T724 370L585 177Q626 125 673 95T764 65Q792 65 808 74T841 112L867 105Q856 49 816 20T712 -10Q686 -10 663 -4T615 15T563 48T503
97Q452 49 383 20T241 -10Q193 -10 153 3T83 40T37 96T20 167Q20 234 74 291T248 408Q215 455 200 496T184 582Q184 626 198 662T237 725T298 765T377 780Q415 780 447 769T502 738T538 691T551 631Q551 577 513 529T391 425L551 224Z" />
<glyph unicode="&apos;" glyph-name="quotesingle" horiz-adv-x="213" d="M86 554Q81 581 75 614T62 678T52 734T48 771Q48 797 64 813T106 830Q132 830 148 813T165 770Q165 758 161 733T150 678T138 614T127 554H86Z" />
<glyph unicode="(" glyph-name="parenleft" horiz-adv-x="343" d="M323 803Q279 738 250 678T203 560T178 448T170 342Q170 277 179 210T207 77T258 -49T332 -161L299 -194Q168 -78 102 52T35 323Q35 459 99 587T291 831L323 803Z" />
<glyph unicode=")" glyph-name="parenright" horiz-adv-x="343" d="M52 831Q180 715 244 587T308 323Q308 183 242 53T44 -194L11 -161Q54 -110 85 -49T135 77T164 209T173 342Q173 394 166 448T141 559T94 677T20 803L52 831Z" />
<glyph unicode="*" glyph-name="asterisk" horiz-adv-x="492" d="M267 528Q268 493 272 476T282 449T292 431T297 405Q297 379 283 364T246 349Q223 349 208 364T193 406Q193 420 198 430T209 453T220 482T225 527Q201 516 187 500T160 468T134 441T101 430Q82
430 67 444T52 481Q52 495 59 508T83 531Q95 538 106 539T131 540T162 545T203 564Q178 576 158 582T115 589Q91 589 72 606T52 646Q52 669 67 683T103 698Q126 698 137 689T158 666T181 634T224 601Q223 635 218 652T208 679T198 697T193 722Q193 748 207 764T245
780Q268 780 283 764T298 722Q298 708 293 698T282 675T271 646T266 601Q294 617 308 634T331 665T352 689T387 698Q406 698 422 684T438 646Q438 635 433 625T418 607T398 594T375 589Q351 589 332 584T287 564Q311 550 328 546T358 541T383 539T407 531Q438 512
438 481Q438 459 423 445T389 430Q366 430 353 441T329 469T305 501T267 528Z" />
<glyph unicode="+" glyph-name="plus" horiz-adv-x="560" d="M246 86V307H34V369H246V590H314V369H526V307H314V86H246Z" />
<glyph unicode="," glyph-name="comma" horiz-adv-x="262" d="M30 -113Q84 -77 109 -48T135 8Q130 5 122 3T105 0Q84 0 69 19T54 64Q54 97 75 119T129 141Q164 141 185 116T206 48Q206 -6 170 -55T59 -155L30 -113Z" />
<glyph unicode="-" glyph-name="hyphen" horiz-adv-x="457" d="M66 243V336H391V243H66Z" />
<glyph unicode="." glyph-name="period" horiz-adv-x="260" d="M54 64Q54 96 75 118T129 141Q162 141 184 119T206 64Q206 33 184 12T129 -10Q97 -10 76 11T54 64Z" />
<glyph unicode="/" glyph-name="slash" horiz-adv-x="477" d="M94 0H23L394 770H455L94 0Z" />
<glyph unicode="0" glyph-name="zero" horiz-adv-x="755" d="M375 780Q444 780 504 749T610 664T681 537T708 379Q708 298 682 227T610 104T505 21T375 -10Q307 -10 248 20T144 103T73 227T47 379Q47 464 73 537T143 664T247 749T375 780ZM375 48Q411 48 439 63T488
117T518 218T529 376Q529 475 519 541T488 648T440 705T375 722Q339 722 311 705T262 648T232 542T221 376Q221 281 231 218T262 117T310 64T375 48Z" />
<glyph unicode="1" glyph-name="one" horiz-adv-x="436" d="M302 164Q302 125 305 102T320 65T353 46T411 40V0H35V40Q74 41 97 46T133 64T150 99T155 157V520Q155 578 155 616T150 666Q144 688 116 693T30 698V738Q57 739 92 742T165 751T239 764T302 780V164Z" />
<glyph unicode="2" glyph-name="two" horiz-adv-x="651" d="M228 118H432Q457 118 476 122T509 140T536 175T559 233H603L563 0H39V46Q158 148 234 222T353 355T413 463T430 566Q430 639 397 681T307 723Q280 723 257 714T217 687T191 646T181 594Q181 544 206
515T276 486Q271 457 249 440T194 423Q163 423 137 434T91 465T60 512T49 573Q49 618 69 655T127 721T214 764T324 780Q383 780 432 764T516 720T571 652T591 564Q591 504 564 447T488 336T373 229T227 123L228 118Z" />
<glyph unicode="3" glyph-name="three" horiz-adv-x="637" d="M429 216Q429 293 399 335T315 378Q295 370 277 365T245 360Q217 360 202 371T186 404Q186 422 201 432T243 442Q257 442 274 439T306 431Q354 431 382 468T411 581Q411 653 383 690T305 727Q259 727
234 705T208 644Q208 617 223 599T263 581Q257 554 237 539T186 523Q162 523 141 532T103 557T78 593T68 638Q68 670 85 696T133 741T208 770T306 780Q365 780 412 768T494 732T546 675T564 602Q564 570 554 540T524 486T478 443T420 417V411Q458 400 489 381T543
334T577 275T589 207Q589 160 568 120T508 51T417 6T301 -10Q244 -10 196 3T112 40T57 96T37 168Q37 196 47 220T76 263T118 293T169 304Q202 304 225 287T254 240Q224 240 204 216T184 155Q184 106 215 77T300 47Q357 47 393 93T429 216Z" />
<glyph unicode="4" glyph-name="four" horiz-adv-x="664" d="M8 268L373 780H468V271Q504 272 527 276T563 291T581 320T586 367H623V124H586Q586 151 581 168T563 194T527 207T468 212V181Q468 146 471 120T485 77T513 50T561 40V0H218V40Q253 41 274 50T307
77T323 118T327 174V208H8V268ZM327 595H323L93 271H327V595Z" />
<glyph unicode="5" glyph-name="five" horiz-adv-x="595" d="M202 477L204 474Q221 492 251 503T314 515Q365 515 408 497T483 446T533 370T551 274Q551 214 526 163T457 73T353 12T224 -10Q177 -10 138 0T71 29T26 72T10 128Q10 160 25 177T70 195Q92 195 103

=====================================================
== File: docs/blog/themes/tale4zh/theme.toml
=====================================================
# theme.toml template for a Hugo theme
# See https://github.com/gohugoio/hugoThemes#themetoml for an example

name = "Tale"
license = "MIT"
licenselink = "https://github.com/EmielH/tale-hugo/blob/master/LICENSE"
description = "A port of the Tale theme for Hugo. Tale is a minimal Jekyll theme curated for storytellers."
homepage = "https://github.com/EmielH/tale-hugo"
tags = ["minimal", "clean", "responsive", "simple", "personal", "blog", "starter", "light", "typography"]
features = ["pagination"]
min_version = "0.50"

[author]
  name = "Emiel Hollander"
  homepage = "https://www.emielhollander.nl"

# If porting an existing theme
[original]
  name = "Chester How"
  homepage = "https://github.com/chesterhow/tale"
  repo = "https://github.com/chesterhow/tale"

=====================================================
== File: docs/blog/themes/tale4zh/layouts/_default/list.html
=====================================================
{{ define "main" }}

<main>
	<div class="catalogue">
		{{ range (.Paginate .Pages.ByWeight.Reverse).Pages }}
			{{ .Render "summary" }}
		{{ end }}
	</div>
	
	<div class="pagination">
		{{ if .Paginator.HasPrev }}
			<a href="{{ .Paginator.Prev.URL }}" class="left arrow">&#8592;</a>
		{{ end }}
		{{ if .Paginator.HasNext }}
			<a href="{{ .Paginator.Next.URL }}" class="right arrow">&#8594;</a>
		{{ end }}
	
		<span>{{ .Paginator.PageNumber }}</span>
	</div>
</main>

{{ end }}

=====================================================
== File: docs/blog/themes/tale4zh/layouts/_default/taxonomy.html
=====================================================
{{ define "main" }}

<main>
    <h1>{{ strings.FirstUpper .Data.Singular }} {{ .Title }}</h1>
	<div class="catalogue">
		{{ range (.Paginate .Pages.ByWeight.Reverse).Pages }}
			{{ .Render "summary" }}
		{{ end }}
	</div>
	
	<div class="pagination">
		{{ if .Paginator.HasPrev }}
			<a href="{{ .Paginator.Prev.URL }}" class="left arrow">&#8592;</a>
		{{ end }}
		{{ if .Paginator.HasNext }}
			<a href="{{ .Paginator.Next.URL }}" class="right arrow">&#8594;</a>
		{{ end }}
	
		<span>{{ .Paginator.PageNumber }}</span>
	</div>
</main>

{{ end }}

=====================================================
== File: docs/blog/themes/tale4zh/layouts/_default/baseof.html
=====================================================
<!DOCTYPE html>
<html lang="{{ .Site.LanguageCode | default "en" }}">
    <head>
        <style>
            a {
                word-wrap: break-word;
            }
        </style>
    </head>  
    <body>
        {{ partial "head.html" . }}
        <div style="position: sticky; position: -webkit-sticky; top: 0px; background-color: rgba(255, 255, 255, 0.888);">{{ partial "header.html" . }}</div>
        {{ block "main" . }}{{ end }}
        {{ partial "footer.html" . }}
    </body>
</html>

=====================================================
== File: docs/blog/themes/tale4zh/layouts/_default/terms.html
=====================================================
{{ define "main" }}
<main>
    <h1>{{ .Title }}</h1>
	<div class="catalogue">
        <ul>
        {{- range (.Paginate .Data.Pages.ByWeight.Reverse).Pages -}}
            <li><a href="{{ .Permalink }}">{{ .Title }}</a></li>
        {{- end -}}
        </ul>
	</div>
	
	<div class="pagination">
		{{- if .Paginator.HasPrev -}}
			<a href="{{ .Paginator.Prev.URL }}" class="left arrow">&#8592;</a>
		{{- end -}}
		{{- if .Paginator.HasNext -}}
			<a href="{{ .Paginator.Next.URL }}" class="right arrow">&#8594;</a>
		{{- end -}}
	
		<span>{{ .Paginator.PageNumber }}</span>
	</div>
</main>

{{ end }}

=====================================================
== File: docs/blog/themes/tale4zh/layouts/_default/single.html
=====================================================
{{ define "main" }}

<main>
	<div class="post">
		{{ partial "single/title.html" . }}
		{{ partial "single/post-info.html" . }}

		{{ partial "single/header.html" . }}

		{{ .Content }}

		{{ partial "single/footer.html" . }}
	</div>

	<div class="pagination">
		{{- if .PrevPage }}
		<a href="{{ .PrevPage.RelPermalink }}" class="left arrow">&#8592;</a>
		{{- end }}
		{{- if .NextPage }}
		<a href="{{ .NextPage.RelPermalink }}" class="right arrow">&#8594;</a>
		{{- end }}

		<a href="#" class="top">Top</a>
	</div>
</main>

{{ end }}

=====================================================
== File: docs/blog/themes/tale4zh/layouts/_default/summary.html
=====================================================
<a href="{{ .Permalink }}" class="catalogue-item">
    <div>
        <!-- <time datetime="{{ .PublishDate }}" class="catalogue-time">{{ i18n "publishdate" . }}</time> -->
        <h2 class="catalogue-title">{{ .Title }}</h2>
        <div class="catalogue-line"></div>

        <p>
            {{ if isset .Params "summary" }}{{ .Params.Summary | markdownify }}{{ else }}{{ substr .Summary 0 310 }}{{ end }}
        </p>
    </div>
</a>

=====================================================
== File: docs/blog/themes/tale4zh/layouts/404.html
=====================================================

=====================================================
== File: docs/blog/themes/tale4zh/layouts/partials/footer.html
=====================================================
		<footer>
			<span>
			<!-- &copy; <time datetime="{{ now }}">{{ now.Format "2006" }}</time> {{ .Site.Author.name }}. {{ i18n "generator" | safeHTML }} -->
			Copyright &copy; 2018-2020, <a href="https://shardingsphere.apache.org/blog/">Apache ShardingSphere</a>, ShardingSphere, Apache, the Apache feather logo, and the Apache ShardingSphere project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.
			</span>
		</footer>

=====================================================
== File: docs/blog/themes/tale4zh/layouts/partials/head.html
=====================================================
<head>
		<meta charset="UTF-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		{{- if .IsHome }}
			<meta name="description" content="{{ .Site.Params.Description }}">
		{{- else if .Description }}
			<meta name="description" content="{{ .Description }}">
		{{- end }}

		<title>{{- if .IsHome }}{{ .Site.Title }}{{- else }}{{ .Title }} &middot; {{ .Site.Title }}{{- end }}</title>

		<!-- CSS -->
		{{- $inServerMode	:= .Site.IsServer }}
		{{- $cssTarget		:= "css/style.css" }}
		{{- $cssOptions		:= cond ($inServerMode) (dict "targetPath" $cssTarget "enableSourceMap" true) (dict "targetPath" $cssTarget "outputStyle" "compressed") }}
		{{- $style			:= resources.Get "scss/tale.scss" | toCSS $cssOptions }}
  		<link rel="stylesheet" href="{{ $style.RelPermalink }}">
		<link rel="stylesheet" href="{{ "css/fonts.css" | relURL }}">
		{{ range .Site.Params.css -}}
			<link rel="stylesheet" href="{{ . | relURL }}">
		{{ end -}}

		<!-- Favicon -->
		<link rel="icon" type="image/png" sizes="32x32" href="{{ "images/favicon-32x32.png" | relURL }}">
		<link rel="icon" type="image/png" sizes="16x16" href="{{ "images/favicon-16x16.png" | relURL }}">
		<link rel="apple-touch-icon" sizes="180x180" href="{{ "images/apple-touch-icon.png" | relURL }}">

		<!-- RSS -->
		<link href="{{ with .OutputFormats.Get "RSS" }}{{ .RelPermalink }}{{ end }}" rel="alternate" type="application/rss+xml" title="{{ .Site.Title }}" />
	</head>

=====================================================
== File: docs/blog/themes/tale4zh/layouts/partials/single/footer.html
=====================================================
<!-- 
This is a placeholder partial for the post footer. Create a file called
layouts/partials/single/footer.html in your own site to overwrite this
placeholder.
-->

=====================================================
== File: docs/blog/themes/tale4zh/layouts/partials/single/post-info.html
=====================================================
<div class="post-info">
    {{- if .Params.Author }}
        <span>{{ i18n "writtenBy" }}</span>
        {{ .Params.Author }}
    {{- else }}
        {{ .Site.Params.Author }}
    {{- end }}

    {{- if .PublishDate }}
        <span>{{ i18n "on" }}&nbsp;</span><time datetime="{{ .PublishDate }}">{{ i18n "publishdate" . }}</time>
    {{- end }}
</div>

=====================================================
== File: docs/blog/themes/tale4zh/layouts/partials/single/header.html
=====================================================
<!-- 
This is a placeholder partial for the post header. Create a file called
layouts/partials/single/header.html in your own site to overwrite this
placeholder.
-->

=====================================================
== File: docs/blog/themes/tale4zh/layouts/partials/single/title.html
=====================================================
<h1 class="post-title">{{ .Title }}</h1>
<!-- <div class="post-line"></div> -->

=====================================================
== File: docs/blog/themes/tale4zh/layouts/partials/header.html
=====================================================
		<nav class="nav">
			<div class="nav-container">
				<a href="https://shardingsphere.apache.org/blog/">
					<h1 class="nav-title">{{ .Site.Title }}</h1>
				</a>

				<span style="padding-left: 65px;">
					{{ $currentPage := . }}
					{{ range .Site.Menus.main }}
					<li>
						<a href="{{ .URL }}">
							<h3>{{ .Name }}</h3>
						</a>
					</li>
					{{ end }}
				</span>

				<span style="position: relative; left: 75px; 
				background: rgba(0, 0, 0, 0.664);
				font-weight: bold;
				padding:0.1rem; 
				padding-left:15px; 
				padding-right:15px; 
				padding-top: 2px; 
				padding-bottom: 5px; 
				border-radius:10px;">
					{{ range .Translations }}
					{{ if ne $.Site.Language .Language }}
					<a style="color: white;" href="{{ .Permalink }}">{{ .Language.LanguageName }}</a>
					{{ end }}
					{{ end }}
				</span>
			</div>
			</div>
		</nav>

=====================================================
== File: docs/blog/themes/tale4zh/layouts/partials/header-menu.html
=====================================================
<ul>
    {{ $currentPage := . }}
    {{ range .Site.Menus.main }}
        <li>
            <a href="{{ .URL }}">
                {{ .Pre }}
                <span>{{ .Name }}</span>
                {{ .Post }}
            </a>
        </li>
    {{ end }}
</ul>   

=====================================================
== File: docs/blog/themes/tale4zh/layouts/partials/index/introduction.html
=====================================================
<!-- 
This is a placeholder partial for the introduction. Create a file called
layouts/partials/index/introduction.html in your own site to overwrite this
placeholder.
-->

=====================================================
== File: docs/blog/themes/tale4zh/layouts/index.html
=====================================================
{{ define "main" }}

<main>
	{{ partial "index/introduction.html" . }}

	<div class="catalogue">
		{{ range (.Paginate .Site.RegularPages).Pages }}
			{{ .Render "summary" }}
		{{ end }}
	</div>

	<div class="pagination">
		{{ if .Paginator.HasPrev }}
			<a href="{{ .Paginator.Prev.URL }}" class="left arrow">&#8592;</a>
		{{ end }}
		{{ if .Paginator.HasNext }}
			<a href="{{ .Paginator.Next.URL }}" class="right arrow">&#8594;</a>
		{{ end }}

		<span>{{ .Paginator.PageNumber }}</span>
	</div>
</main>

{{ end }}

=====================================================
== File: docs/blog/themes/tale4zh/layouts/about/list.html
=====================================================
{{ define "main" }}

<main>
	<div class="post">

		<h1 class="post-title">{{ .Title }}</h1>
		<div class="post-line"></div>

		{{ .Content }}

	</div>
</main>

{{ end }}

=====================================================
== File: docs/blog/themes/tale4zh/i18n/de.toml
=====================================================
[writtenBy]
other = "Von"

[on]
other = "am"

[generator]
other = "Made with <a href='https://gohugo.io'>Hugo</a> using the <a href='https://github.com/EmielH/tale-hugo/'>Tale</a> theme."

[publishdate]
other = "{{ .PublishDate.Day }}. {{ index $.Site.Data.months_de (printf \"%d\" .PublishDate.Month) }} {{ .PublishDate.Year }}"

=====================================================
== File: docs/blog/themes/tale4zh/i18n/nl.toml
=====================================================
[writtenBy]
other = "Geschreven door"

[on]
other = "op"

[generator]
other = "Gemaakt met <a href='https://gohugo.io'>Hugo</a> en thema <a href='https://github.com/EmielH/tale-hugo/'>Tale</a>."

[publishdate]
other = "{{ .PublishDate.Day }} {{ index $.Site.Data.months_nl (printf \"%d\" .PublishDate.Month) }} {{ .PublishDate.Year }}"

=====================================================
== File: docs/blog/themes/tale4zh/i18n/en.toml
=====================================================
[writtenBy]
other = "Written by"

[on]
other = "on"

[generator]
other = "Made with <a href='https://gohugo.io'>Hugo</a> using the <a href='https://github.com/EmielH/tale-hugo/'>Tale</a> theme."

[publishdate]
other = "{{ .PublishDate.Format \"January 2, 2006\" }}"

=====================================================
== File: docs/blog/themes/tale4zh/i18n/fr.toml
=====================================================
[writtenBy]
other = "Écrit par"

[on]
other = "le"

[generator]
other = "Fait avec <a href='https://gohugo.io'>Hugo</a>, à partir du thème <a href='https://github.com/EmielH/tale-hugo/'>Tale</a>."

[publishdate]
other = "{{ .PublishDate.Day }} {{ index $.Site.Data.months_fr (printf \"%d\" .PublishDate.Month) }} {{ .PublishDate.Year }}"

=====================================================
== File: docs/blog/themes/tale4zh/i18n/es.toml
=====================================================
[writtenBy]
other = "Escrito por"

[on]
other = "el"

[generator]
other = "Hecho con <a href='https://gohugo.io'>Hugo</a> usando el tema <a href='https://github.com/EmielH/tale-hugo/'>Tale</a>."

[publishdate]
other = "{{ .PublishDate.Day }} de {{ index $.Site.Data.months_es (printf \"%d\" .PublishDate.Month) }} de {{ .PublishDate.Year }}"

=====================================================
== File: docs/blog/themes/tale4zh/data/months_es.yaml
=====================================================
1: "enero"
2: "febrero"
3: "marzo"
4: "abril"
5: "mayo"
6: "junio"
7: "julio"
8: "agosto"
9: "septiembre"
10: "octubre"
11: "noviembre"
12: "diciembre"

=====================================================
== File: docs/blog/themes/tale4zh/data/months_nl.yaml
=====================================================
1: "januari"
2: "februari"
3: "maart"
4: "april"
5: "mei"
6: "juni"
7: "juli"
8: "augustus"
9: "september"
10: "oktober"
11: "november"
12: "december"

=====================================================
== File: docs/blog/themes/tale4zh/data/months_fr.yaml
=====================================================
1: "janvier"
2: "février"
3: "mars"
4: "avril"
5: "mai"
6: "juin"
7: "juillet"
8: "août"
9: "septembre"
10: "octobre"
11: "novembre"
12: "décembre"

=====================================================
== File: docs/blog/themes/tale4zh/data/months_de.yaml
=====================================================
1: "Januar"
2: "Februar"
3: "März"
4: "April"
5: "Mai"
6: "Juni"
7: "Juli"
8: "August"
9: "September"
10: "Oktober"
11: "November"
12: "Dezember"

=====================================================
== File: docs/blog/themes/tale4zh/assets/scss/tale.scss
=====================================================
@import 'tale/variables';
@import 'tale/base';
@import 'tale/code';
@import 'tale/post';
@import 'tale/syntax';
@import 'tale/layout';
@import 'tale/pagination';
@import 'tale/catalogue';

=====================================================
== File: docs/blog/themes/tale4zh/assets/scss/tale/_syntax.scss
=====================================================
.highlight .hll { background-color: #ffc; }
.highlight .c { color: #999; } /* Comment */
.highlight .err { color: #a00; background-color: #faa } /* Error */
.highlight .k { color: #069; } /* Keyword */
.highlight .o { color: #555 } /* Operator */
.highlight .cm { color: #09f; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #099 } /* Comment.Preproc */
.highlight .c1 { color: #999; } /* Comment.Single */
.highlight .cs { color: #999; } /* Comment.Special */
.highlight .gd { background-color: #fcc; border: 1px solid #c00 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #f00 } /* Generic.Error */
.highlight .gh { color: #030; } /* Generic.Heading */
.highlight .gi { background-color: #cfc; border: 1px solid #0c0 } /* Generic.Inserted */
.highlight .go { color: #aaa } /* Generic.Output */
.highlight .gp { color: #009; } /* Generic.Prompt */
.highlight .gs { } /* Generic.Strong */
.highlight .gu { color: #030; } /* Generic.Subheading */
.highlight .gt { color: #9c6 } /* Generic.Traceback */
.highlight .kc { color: #069; } /* Keyword.Constant */
.highlight .kd { color: #069; } /* Keyword.Declaration */
.highlight .kn { color: #069; } /* Keyword.Namespace */
.highlight .kp { color: #069 } /* Keyword.Pseudo */
.highlight .kr { color: #069; } /* Keyword.Reserved */
.highlight .kt { color: #078; } /* Keyword.Type */
.highlight .m { color: #f60 } /* Literal.Number */
.highlight .s { color: #d44950 } /* Literal.String */
.highlight .na { color: #4f9fcf } /* Name.Attribute */
.highlight .nb { color: #366 } /* Name.Builtin */
.highlight .nc { color: #0a8; } /* Name.Class */
.highlight .no { color: #360 } /* Name.Constant */
.highlight .nd { color: #99f } /* Name.Decorator */
.highlight .ni { color: #999; } /* Name.Entity */
.highlight .ne { color: #c00; } /* Name.Exception */
.highlight .nf { color: #c0f } /* Name.Function */
.highlight .nl { color: #99f } /* Name.Label */
.highlight .nn { color: #0cf; } /* Name.Namespace */
.highlight .nt { color: #2f6f9f; } /* Name.Tag */
.highlight .nv { color: #033 } /* Name.Variable */
.highlight .ow { color: #000; } /* Operator.Word */
.highlight .w { color: #bbb } /* Text.Whitespace */
.highlight .mf { color: #f60 } /* Literal.Number.Float */
.highlight .mh { color: #f60 } /* Literal.Number.Hex */
.highlight .mi { color: #f60 } /* Literal.Number.Integer */
.highlight .mo { color: #f60 } /* Literal.Number.Oct */
.highlight .sb { color: #c30 } /* Literal.String.Backtick */
.highlight .sc { color: #c30 } /* Literal.String.Char */
.highlight .sd { color: #c30; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #c30 } /* Literal.String.Double */
.highlight .se { color: #c30; } /* Literal.String.Escape */

=====================================================
== File: docs/blog/themes/tale4zh/assets/scss/tale/_pagination.scss
=====================================================
.pagination {
  border-top: .5px solid $grey-2;
  font-family: $serif-secondary;
  padding-top: 2rem;
  position: relative;
  text-align: center;

  span {
    color: $default-shade;
    font-size: 1.1rem;
  }

  .top {
    @include transition(all .3s ease-out);
    color: $default-color;
    font-family: $sans-serif;
    font-size: 1.1rem;
    opacity: .6;

    &:hover {
      opacity: 1;
    }
  }

  .arrow {
    @include transition(all .3s ease-out);
    color: $default-color;
    position: absolute;

    &:hover,
    &:focus {
      opacity: .6;
      text-decoration: none;
    }
  }

  .left {
    left: 0;
  }

  .right {
    right: 0;
  }
}

=====================================================
== File: docs/blog/themes/tale4zh/assets/scss/tale/_post.scss
=====================================================
.post {
  padding: 3rem 0;

  &-info {
    color: $default-tint;
    font-family: $serif-secondary;
    letter-spacing: 0.5px;
    text-align: right;
    line-height: 1em;

    span {
      font-style: italic;
    }
  }

  &-title {
    color: $default-shade;
    font-family: $sans-serif;
    font-size: 1.5rem;
    margin: 1rem 0;
    text-align: center;
  }

  &-line {
    border-top: 0.4rem solid $default-shade;
    display: block;
    margin: 0 auto 0.5rem;
    width: 4rem;
  }

  h1 {
    font-size: 1.8rem;
  }
  h2 {
    border-left: 5px solid $black-0;
    text-indent: 1rem;
    font-size: 1.6rem;
  }
  h3 {
    font-size: 1.4rem;
  }

  p {
    margin: 0 0 1rem;
    // text-align: justify;
    line-height: 2em;
    // text-indent: 2em;
    text-indent: 0em;
  }


=====================================================
== File: docs/blog/themes/tale4zh/assets/scss/tale/_base.scss
=====================================================
* {
  @include box-sizing;
  line-height: 2em;
  font-family: "webfont";
  padding-top: 5px;
  padding-bottom: 5px;
}

html,
body {
  color: $default-color;
  background-color: #fff;
  margin: 0;
  padding: 0;
}

html {
  font-family: $serif-primary;
  font-size: 14px;
  overflow-y: scroll;

  @media (min-width: 700px) {
    font-size: 16px;
  }
}

body {
  -webkit-text-size-adjust: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: $default-shade;
  font-family: $sans-serif;
  line-height: normal;
}
a {
  color: $blue;
  text-decoration: none;
}

blockquote {
  // border-left: .25rem solid $grey-2;
  color: $grey-5;
  background: $gray-e;


=====================================================
== File: docs/blog/themes/tale4zh/assets/scss/tale/_catalogue.scss
=====================================================
.catalogue {
  &-item {
    border-bottom: 1px solid $grey-2;
    color: $default-color;
    display: block;
    padding: 0 25px;
    max-height: 30em;
    margin-top: 10px;

    &:hover .catalogue-line,
    &:focus .catalogue-line {
      width: 5rem;
    }

    &:last-child {
      border: 0;
    }
  }

  &-time {
    color: $default-tint;
    font-family: $serif-secondary;
    letter-spacing: .5px;
  }

  &-title {
    color: $default-shade;
    display: block;
    font-family: $sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    margin: .5rem 0;
  }

  &-line {
    @include transition(all .3s ease-out);
    border-top: .2rem solid $default-shade;
    display: block;
    width: 2rem;
  }
}

=====================================================
== File: docs/blog/themes/tale4zh/assets/scss/tale/_layout.scss
=====================================================
.container {
  margin: 0 auto;
  max-width: 800px;
  width: 80%;
}

main,
footer,
.nav-container {
  display: block;
  margin: 0 auto;
  max-width: 800px;
  width: 80%;
}

.nav {
  box-shadow: 0 2px 2px -2px $shadow-color;
  overflow: auto;
  position: -webkit-sticky;

  &-container {
    margin: 2rem auto;
    position: relative;
    text-align: center;
  }

  &-title {
    @include transition(all .2s ease-out);
    color: $default-color;
    display: inline-block;
    margin: 0;
    padding-right: .2rem;

    &:hover,
    &:focus {
      opacity: .6;
    }
  }

  ul {
    list-style-type: none;
    margin: 1rem 0 0;
    padding: 0;
    text-align: center;
  }

  li {
    @include transition(all .2s ease-out);
    color: $default-color;
    display: inline-block;

=====================================================
== File: docs/blog/themes/tale4zh/assets/scss/tale/_variables.scss
=====================================================
// Colors
$default-color: #555;
$default-shade: #353535;
$default-tint: #aaa;
$black-0: #000;
$gray-e: #eee;
$grey-1: #979797;
$grey-2: #e5e5e5;
$grey-3: #f9f9f9;
$gray-4: #cccedb;
$grey-5: #767475;
$white: #fff;
$blue: #4a9ae1;
$shadow-color: rgba(0, 0, 0, .2);
$code-color: #bf616a;

// Fonts
$serif-primary: 'Libre Baskerville', 'Times New Roman', Times, serif;
$serif-secondary: Palatino, 'Palatino LT STD', 'Palatino Linotype', 'Book Antiqua', 'Georgia', serif;
$sans-serif: 'Mirosoft Yahei', 'Helvetica Neue', 'Segoe UI', Helvetica, Arial, sans-serif;
$monospaced: Menlo, Monaco, monospace;

@mixin box-sizing($type: border-box) {
  -webkit-box-sizing: $type;
     -moz-box-sizing: $type;
          box-sizing: $type;
}

@mixin transition($args...) {
  -webkit-transition: $args;
     -moz-transition: $args;
          transition: $args;
}

=====================================================
== File: docs/blog/themes/tale4zh/assets/scss/tale/_code.scss
=====================================================
pre,
code {
  font-family: $monospaced;
}

code {
  background-color: $grey-3;
  border-radius: 3px;
  color: $code-color;
  font-size: 85%;
  padding: .25em .5em;
  // white-space: pre-wrap;
}

pre {
  margin: 0 0 1rem;
  padding: 1rem;
}

pre code {
  background-color: transparent;
  color: inherit;
  font-size: 100%;
  padding: 0;
}

.highlight {
  background-color: $grey-3;
  border-radius: 3px;
  line-height: 1.4;
  margin: 0 0 1rem;
  padding: 1rem;

  pre {
    margin-bottom: 0;
    overflow-x: auto;
  }

  .lineno {
    color: $default-tint;
    display: inline-block; // Ensures the null space also isn't selectable
    padding: 0 .75rem 0 .25rem;
    // Make sure numbers aren't selectable
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
}

=====================================================
== File: docs/blog/themes/tale4zh/.travis.yml
=====================================================
env:
  - HUGO_VERSION="0.50"
  - HUGO_VERSION="0.51"
  - HUGO_VERSION="0.52"
  - HUGO_VERSION="0.53"
  - HUGO_VERSION="0.54.0"
  - HUGO_VERSION="0.55.6"
  - HUGO_VERSION="0.56.3"
  - HUGO_VERSION="0.57.2"
  - HUGO_VERSION="0.58.3"

install:
  - wget https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_${HUGO_VERSION}_Linux-64bit.tar.gz
  - tar xf hugo_${HUGO_VERSION}_Linux-64bit.tar.gz
  - mv hugo ~/bin/
  - hugo version
  - gem install html-proofer
  - htmlproofer --version
  - git clone https://github.com/EmielH/hugo-theme-test.git

script:
  - cd hugo-theme-test
  - hugo -t tale-hugo --themesDir ../..
  - htmlproofer public --check-html --disable-external --allow-hash-href --checks-to-ignore LinkCheck

=====================================================
== File: docs/blog/themes/tale4zh/resources/_gen/assets/scss/scss/tale.scss_5ad6f408b0e3e473c748aac88af0ea18.content
=====================================================
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1.5; }

html,
body {
  color: #555;
  background-color: #fff;
  margin: 0;
  padding: 0; }

html {
  font-family: "Libre Baskerville", "Times New Roman", Times, serif;
  font-size: 14px;
  overflow-y: scroll; }
  @media (min-width: 600px) {
    html {
      font-size: 16px; } }

body {
  -webkit-text-size-adjust: 100%; }

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #353535;
  font-family: "Helvetica Neue", "Segoe UI", Helvetica, Arial, sans-serif;
  line-height: normal; }

a {
  color: #4a9ae1;
  text-decoration: none; }

blockquote {
  border-left: 0.25rem solid #e5e5e5;
  color: #979797;
  margin: .8rem 0;
  padding: .5rem 1rem; }
  blockquote p:last-child {
    margin-bottom: 0; }
  @media (min-width: 600px) {
    blockquote {
      padding: 0 5rem 0 1.25rem; } }

img {

=====================================================
== File: docs/blog/themes/tale4zh/resources/_gen/assets/scss/scss/tale.scss_33d66d0b5f8b04b1d41c1da7ba50ddae.content
=====================================================
*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;line-height:1.5}html,body{color:#555;background-color:#fff;margin:0;padding:0}html{font-family:"Libre Baskerville","Times New Roman",Times,serif;font-size:14px;overflow-y:scroll}@media (min-width: 600px){html{font-size:16px}}body{-webkit-text-size-adjust:100%}h1,h2,h3,h4,h5,h6{color:#353535;font-family:"Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif;line-height:normal}a{color:#4a9ae1;text-decoration:none}blockquote{border-left:0.25rem solid #e5e5e5;color:#979797;margin:.8rem 0;padding:.5rem 1rem}blockquote p:last-child{margin-bottom:0}@media (min-width: 600px){blockquote{padding:0 5rem 0 1.25rem}}img{display:block;margin:0 0 1rem;max-width:100%}td{vertical-align:top}pre,code{font-family:Menlo,Monaco,monospace}code{background-color:#f9f9f9;border-radius:3px;color:#bf616a;font-size:85%;padding:.25em .5em;white-space:pre-wrap}pre{margin:0 0 1rem}pre code{background-color:transparent;color:inherit;font-size:100%;padding:0}.highlight{background-color:#f9f9f9;border-radius:3px;line-height:1.4;margin:0 0 1rem;padding:1rem}.highlight pre{margin-bottom:0;overflow-x:auto}.highlight .lineno{color:#aaa;display:inline-block;padding:0 .75rem 0 .25rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.post{padding:3rem 0}.post-info{color:#aaa;font-family:Palatino,"Palatino LT STD","Palatino Linotype","Book Antiqua","Georgia",serif;letter-spacing:0.5px;text-align:center}.post-info span{font-style:italic}.post-title{color:#353535;font-family:"Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif;font-size:4rem;margin:1rem 0;text-align:center}.post-line{border-top:0.4rem solid #353535;display:block;margin:0 auto 3rem;width:4rem}.post p{margin:0 0 1rem;text-align:justify}.post a:hover{text-decoration:underline}.post img{margin:0 auto 0.5rem}.post img+em{color:#aaa;display:block;font-family:"Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif;font-size:0.9rem;font-style:normal;text-align:center}.post img.emoji{display:inline-block;left:0;transform:none;width:1rem;height:1rem;vertical-align:text-top;padding:0;margin:0}.highlight .hll{background-color:#ffc}.highlight .c{color:#999}.highlight .err{color:#a00;background-color:#faa}.highlight .k{color:#069}.highlight .o{color:#555}.highlight .cm{color:#09f;font-style:italic}.highlight .cp{color:#099}.highlight .c1{color:#999}.highlight .cs{color:#999}.highlight .gd{background-color:#fcc;border:1px solid #c00}.highlight .ge{font-style:italic}.highlight .gr{color:#f00}.highlight .gh{color:#030}.highlight .gi{background-color:#cfc;border:1px solid #0c0}.highlight .go{color:#aaa}.highlight .gp{color:#009}.highlight .gu{color:#030}.highlight .gt{color:#9c6}.highlight .kc{color:#069}.highlight .kd{color:#069}.highlight .kn{color:#069}.highlight .kp{color:#069}.highlight .kr{color:#069}.highlight .kt{color:#078}.highlight .m{color:#f60}.highlight .s{color:#d44950}.highlight .na{color:#4f9fcf}.highlight .nb{color:#366}.highlight .nc{color:#0a8}.highlight .no{color:#360}.highlight .nd{color:#99f}.highlight .ni{color:#999}.highlight .ne{color:#c00}.highlight .nf{color:#c0f}.highlight .nl{color:#99f}.highlight .nn{color:#0cf}.highlight .nt{color:#2f6f9f}.highlight .nv{color:#033}.highlight .ow{color:#000}.highlight .w{color:#bbb}.highlight .mf{color:#f60}.highlight .mh{color:#f60}.highlight .mi{color:#f60}.highlight .mo{color:#f60}.highlight .sb{color:#c30}.highlight .sc{color:#c30}.highlight .sd{color:#c30;font-style:italic}.highlight .s2{color:#c30}.highlight .se{color:#c30}.highlight .sh{color:#c30}.highlight .si{color:#a00}.highlight .sx{color:#c30}.highlight .sr{color:#3aa}.highlight .s1{color:#c30}.highlight .ss{color:#fc3}.highlight .bp{color:#366}.highlight .vc{color:#033}.highlight .vg{color:#033}.highlight .vi{color:#033}.highlight .il{color:#f60}.css .o,.css .o+.nt,.css .nt+.nt{color:#999}.container{margin:0 auto;max-width:800px;width:80%}main,footer,.nav-container{display:block;margin:0 auto;max-width:800px;width:80%}.nav{box-shadow:0 2px 2px -2px rgba(0,0,0,0.2);overflow:auto}.nav-container{margin:1rem auto;position:relative;text-align:center}.nav-title{-webkit-transition:all 0.2s ease-out;-moz-transition:all 0.2s ease-out;transition:all 0.2s ease-out;color:#555;display:inline-block;margin:0;padding-right:.2rem}.nav-title:hover,.nav-title:focus{opacity:.6}.nav ul{list-style-type:none;margin:1rem 0 0;padding:0;text-align:center}.nav li{-webkit-transition:all 0.2s ease-out;-moz-transition:all 0.2s ease-out;transition:all 0.2s ease-out;color:#555;display:inline-block;opacity:.6;padding:0 2rem 0 0}.nav li:last-child{padding-right:0}.nav li:hover,.nav li:focus{opacity:1}.nav a{color:#555;font-family:"Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif}@media (min-width: 600px){.nav-container{text-align:left}.nav ul{bottom:0;position:absolute;right:0}}footer{font-family:Palatino,"Palatino LT STD","Palatino Linotype","Book Antiqua","Georgia",serif;padding:2rem 0;text-align:center}footer span{color:#555;font-size:.8rem}.pagination{border-top:0.5px solid #e5e5e5;font-family:Palatino,"Palatino LT STD","Palatino Linotype","Book Antiqua","Georgia",serif;padding-top:2rem;position:relative;text-align:center}.pagination span{color:#353535;font-size:1.1rem}.pagination .top{-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;transition:all 0.3s ease-out;color:#555;font-family:"Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif;font-size:1.1rem;opacity:.6}.pagination .top:hover{opacity:1}.pagination .arrow{-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;transition:all 0.3s ease-out;color:#555;position:absolute}.pagination .arrow:hover,.pagination .arrow:focus{opacity:.6;text-decoration:none}.pagination .left{left:0}.pagination .right{right:0}.catalogue-item{border-bottom:1px solid #e5e5e5;color:#555;display:block;padding:2rem 0}.catalogue-item:hover .catalogue-line,.catalogue-item:focus .catalogue-line{width:5rem}.catalogue-item:last-child{border:0}.catalogue-time{color:#aaa;font-family:Palatino,"Palatino LT STD","Palatino Linotype","Book Antiqua","Georgia",serif;letter-spacing:.5px}.catalogue-title{color:#353535;display:block;font-family:"Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif;font-size:2rem;font-weight:700;margin:.5rem 0}.catalogue-line{-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;transition:all 0.3s ease-out;border-top:0.2rem solid #353535;display:block;width:2rem}

=====================================================
== File: docs/blog/themes/tale4zh/archetypes/default.md
=====================================================
+++
+++

=====================================================
== File: docs/blog/themes/tale4zh/.gitattributes
=====================================================
resources/** -diff -merge
resources/** linguist-generated=true

=====================================================
== File: docs/blog/content/material/committer.en.md
=====================================================
+++
title = "Would you like to become an Apache committer"
weight = 5
chapter = true
+++

### What is the Apache Software Foundation?

The Apache Software Foundation (Apache Software Foundation) is the most influential non-profit open source software project organization today. It was formally established in 1999 and is mainly composed of groups of developers and users. Under the leadership of the Apache Software Foundation, more than 350 top open source projects have graduated, including Apache HTTP Server, the world's most famous web server software. Adhering to the spirit of "openness, innovation and community", many Apache projects have established a strong and successful ecosystem, and the community is full of vitality.

In addition to many projects that are very influential in the field of information technology, the Apache License (Apache License), Apache Contributor Agreement License (CLAs), and the open cooperation model (Apache Way) also have outstanding contributions in the industry and their influence far beyond the Apache Software Foundation.

The Apache Software Foundation is now the cornerstone of the modern open source software ecosystem.

### Why become an Apache committer?

Having said that, no matter how much you have learned about the Apache Software Foundation before, you can see that this is an extremely influential organization and widely recognized in the industry.

If you can become an officially recognized committer, it is not only a great recognition of yourself, which you have the ability to participate in Apache-level project development and make a tangible contribution; but it can also be widely respected in the industry, whether it is for job search It's helpful to get promoted or raise a salary.

To put it simply, whether it is showing off with other friends or writing on your resume, it can gain your face.

In addition, officially recognized committer will also get mailboxes with @apache suffix, and they can also be listed on the Apache website.

 (http://people.apache.org/committer-index.html) 


Of the millions of engineers in the world, only a very small number of people can become a committer with these privileges, is it tempting?

Imagine if your friends see your name when they browse the Apache website, or when you send emails to the interviewer, they will have a feeling of unconsciousness, and the image will immediately become tall and woody!

![](https://shardingsphere.apache.org/blog/img/committer1.jpg)

### How to become an officially recognized committer?

The following is the focus of this article. What needs to be done to become an officially recognized committer?


Actively participate in the Apache project, such as Apache ShardingSphere.



How about starting with a task and training hands? The tasks currently announced are as follows, welcome to receive:

- Implement rule configuration of Sharding-SpringBoot using Inline expression

  https://github.com/apache/shardingsphere/issues/1686

- Implement the rule configuration of Sharding-SpringBoot using SpringBoot placeholder


=====================================================
== File: docs/blog/content/material/2022_09_02_First_Look_at_ShardingSphere_5.2.0_&_In-Person_Meetup_on_Massive_Data_Management_Practices.en.md
=====================================================
+++
title = "First Look at ShardingSphere 5.2.0 & In-Person Meetup on Massive Data Management Practices"
weight = 72
chapter = true 
+++

**One more day before ShardingSphere's first in-person meetup in Beijing on September 3, 2022.**

**Join us to learn about the best practices and technical highlights of Apache ShardingSphere's latest release - version`5.2.0`.**

On Saturday, the first in-person Meetup of the ShardingSphere Community will be held in Beijing on Sep 3, 2022. Four technology experts from the developers’ community are invited to give you a detailed analysis of the following:

*   How ShardingSphere can rapidly improve the data application ability of ordinary users driven by cloud scenarios.
*   Comparison of data management effect between traditional data processing methods and ShardingSphere.
*   Experience the ShardingSphere’s ecosystem simple operation in response to diverse e-commerce scenarios.

The community will reveal and demo Apache ShardingSphere v5.2.0 at this meetup. The latest version has taken a giant leap forward in terms of its features, performance, testing, documentation, examples, etc.

**Time:** September 3, 2022 **·** 2PM-5PM CST

**Location:** Multi-function Hall, 1st Floor, Intelligent Manufacturing Innovation Center, №32 Zhongguancun Street, Haidian District, Beijing

**![img](https://shardingsphere.apache.org/blog/img/2022_09_02_First_Look_at_ShardingSphere_5.2.0_&_In-Person_Meetup_on_Massive_Data_Management_Practices1.png)**
======================================



**First Look at ShardingSphere 5.2.0**
======================================

New Features
------------

The `5.2.0` release brings the following new features:

*   Data sharding and SQL audit.
*   MySQL `SHOW PROCESSLIST` & `KILL` features.
*   Specific DistSQL for data migration & heterogeneous migration.

Best Practices
--------------

**1. Enhance user's ability to manage ShardingSphere**

Newly added features, including data sharding, SQL audit, and MySQL `SHOW PROCESSLIST` & `KILL`, can enhance users’ capability to manage ShardingSphere.

**2. Add heterogeneous database migration for users**

Specific DistSQL for data migration and heterogeneous migration is added. Data can be migrated from Oracle to PostgreSQL.


=====================================================
== File: docs/blog/content/material/Feb_18_Apache_ShardingSphere_5.1.0_Now_Avaliable.en.md
=====================================================
+++
title = "Apache ShardingSphere 5.1.0 Now Available"
weight = 35
chapter = true
+++

# Apache ShardingSphere 5.1.0 Now Available
![1](https://shardingsphere.apache.org/blog/img/Apache_ShardingSphere_releases_5.1.0.png)

[Apache ShardingSphere 5.1.0](https://github.com/apache/shardingsphere) is officially released and available. The previous 5.0.0 GA version was launched in November last year, and marked ShardingSphere’s evolution from middleware to an ecosystem.

This meant gaining the power to transform any database in a distributed database system, and enhance it with features such as data sharding, distributed transaction, data encryption, SQL audit, database gateway, and more.

For the past three months, the ShardingSphere community received a lot of feedback from developers, partners, and users across different industries. We’d like to extend our gratitude for the feedback they provided, because, without it, this update would not be possible.

Our community author and Apache ShardingSphere PMC, [Meng Haoran](https://twitter.com/HaoranMeng2), shares with you in detail what’s new in Apache ShardingSphere version 5.1.0.

Based on user feedback from the 5.0.0 GA version, we also decided to commit our efforts to improve ShardingSphere’s ecosystem, kernel and feature modules:

## Kernel
Building a powerful and stable kernel has always been the purpose of ShardingSphere.

In the new version we fix a large number of issues to better support parsing for [PostgreSQL](https://www.postgresql.org/) and [openGauss](https://opengauss.org/en/) SQL, and now support function parsing and `binlog` statement parsing.

W also optimized the rewriter engine and improved efficiency for loading massive single tables, to further improve overall kernel performance. Moreover, ShardingSphere now adds the SQL `hint` function that enables users to use the forced routing function more conveniently.

## Access Terminal
For ShardingSphere-Proxy, we fix the issue of parsing [MySQL](https://www.mysql.com/)/PostgreSQL protocol, while we also added `SCRAM SHA-256`authentication mode to support openGauss and optimize the openGauss batch inserts protocol to improve the data insert performance.

For ShardingSphere-JDBC, we removed check for `NULL` values in rules, so users can still use JDBC even if there is no value in rules. We also optimized the metadata of the logical database only loading the specified `schemaName`to accelerate boot-up.

## Elastic Scale-Out

We made many adjustments to elastic scale-out in this version.

First, the original scaling module is moved to the data-pipeline module under the kernel. In the future, this module will provide most data processing capabilities except for data migration.

Second, scaling configuration has been moved from `server.yaml` to the`config-sharding.yaml` configuration file. Together with data sharding, elastic scale-out will provide users with better data sharding services.

## DistSQL
Many practical languages can now be implemented. More tools are provided for users to manage the ShardingSphere distributed database ecosystem.

Some distributed cluster governance capabilities are optimized as well. For example, when users enable/stop instances through `instanceId` while there is only one secondary database, the users will be informed that they cannot stop the instances — significantly improving user experience.

## Read/Write Splitting and High Availability
The API of read/write splitting and high availability are both optimized. Read/write splitting now supports both static and dynamic configurations, while the static configuration needs to be used with high availability.

The high availability configuration and algorithm are isolated, making its configuration more unified and concise. Additionally, `SpringBoot` and `Spring Namespace`now support the configuration of high availability as well as the implementation of openGauss’ high availability feature.

## Shadow Database

=====================================================
== File: docs/blog/content/material/2023_03_07_ShardingSphere_5.3.x_Update_Spring_Configuration_Update_Guide.en.md
=====================================================
+++
title = "ShardingSphere 5.3.x Update: Spring Configuration Update Guide"
weight = 90
chapter = true 

+++

![img](https://shardingsphere.apache.org/blog/img/2023_03_07_ShardingSphere_5.3.x_Update_Spring_Configuration_Update_Guide1.png)

Before 5.3.0, ShardingSphere-JDBC supported Java API, YAML, Spring Boot Starter, and Spring Namespace.

However, compatibility with Spring has brought the following challenges to the community:

- Many configuration files need to be adjusted when adding or updating API, which causes a heavy workload.
- The community needs to maintain lots of configuration documents and examples.
- Spring Bean life cycle management is susceptible to other project dependencies, such as PostProcessor.[1][2]
- Spring Boot Starter and Spring Namespace's style differs from YAML in ShardingSphere.
- Spring Boot Starter and Spring Namespace are affected by the update of Spring, causing more configuration compatibility problems.

For example, in the latest release of Spring Boot 3.0.0,

`spring.factories` supported in 2.x has been removed.[3][4]

This is a challenge for ShardingSphere Spring Boot Starter users. It's hard to upgrade because it would cause new compatibility problems.

As a result, our community decided to remove all Spring dependencies and configuration support in the ShardingSphere 5.3.0 Release.

So, how do the ShardingSphere-JDBC users who need to use Spring Boot or Spring Namespace access ShardingSphere and upgrades? Read on to find the solutions.

# **Impact**

For the convenience of users who are using ShardingSphere Spring Boot Starter or ShardingSphere Spring Namespace to assess the impact of the upgrade, we have sorted out the impact of this upgrade:

## Maven Coordinates

The original Spring-related dependency coordinates will be invalid after the upgrade to ShardingSphere 5.3.0 and future versions.

```xml
<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>

<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-jdbc-core-spring-namespace</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>
```

=====================================================
== File: docs/blog/content/material/2023_06_15_Chaos_Engineering.md
=====================================================
+++
title = "Chaos Engineering: Efficient Way to Improve System Availability"
weight = 101
chapter = true 
+++

![](https://shardingsphere.apache.org/blog/img/chaos_engineering1.jpeg)

Resilience is a crucial requirement for ShardingSphere-Proxy, an essential database infrastructure. Testing and verifying resilience can be efficiently achieved through the use of chaos engineering methodology. To support customized chaos engineering, the [ShardingSphere-on-Cloud](https://shardingsphere.apache.org/oncloud/) project is designing and implementing a new [CustomResourceDefinition](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) (CRD) called Chaos. This post provides a practical description of CRD’s concept and features, helping the community better understand its potential benefits.

# What is chaos engineering

System availability is a critical metric for evaluating service reliability. Numerous methods can ensure high availability, including engineering resilience and techniques, and others. One such technique is chaos engineering, which involves introducing software faults into production systems to enhance availability.

According to [Principles of Chaos](https://principlesofchaos.org/) (2019), the definition of chaos engineering is:

> “Chaos Engineering is the discipline of experimenting on a system to build confidence in the system’s capability to withstand turbulent conditions in production.”

In other words, chaos engineering is a practice that aims to enhance system robustness by detecting potential weaknesses in software systems early, ultimately preventing major disruptions or failures.

# Why is chaos engineering needed

The complexity of a system can be shown in a linear and nonlinear way as well as reflect how changes in the input of a system affect the output.

A linear system is typically predictable. There are many examples of linear systems in nature, such as simple mathematical functions and physical definitions.

In contrast, the output of a nonlinear system cannot be accurately calculated. In a large distributed program, components interact with each other, and we cannot determine if expected output can be achieved under various inputs.

Currently, most programs are increasingly complex. In common cloud environments, coordinating various components is becoming more challenging (such as Kubernetes, along with the services running on it, like Istio, Envoy, and other software infrastructure).

![](https://shardingsphere.apache.org/blog/img/chaos_engineering2.png)
<div class="caption-center"> Figure 1. Infrastructure stack for general service </div>

The complexity and rapid changes inherent to many systems often lead to developers having a narrow understanding of the overall picture. For example, developers behind a mall system may not familiar with the technical details of the infrastructure they adopted. With increased complexity, any single person’s understanding on the model built by the system may become less accurate. Hence, gaining a complete comprehension of a complex system is not realistic.

Chaos is inherent and describes an unknown state in complex systems. **Chaos engineering is used to discover chaos in complex systems, learn the behavior of the system, and develop the ability to respond to failures and restore the system to a steady state.**

# The guidelines and practical ways of chaos engineering

## Formulate a hypothesis about steady-state

Every experiment begins with a hypothesis, often taking the form of “even in XYZ circumstances, the system remains in a steady state.” This principle emphasizes the establishment of hypotheses based on defining steady states. Therefore, we should define various indicators of the system’s normal state based on long-term monitoring of the production environment and focus on measurable outputs, rather than internal properties of the system.

When identifying a steady state, it’s often essential to consider the global outputs of the system, such as running logs, performance logs, alerts, and program behavior, and abstract them into steady-state conditions. Having introduced experimental variables (faults), these steady-state conditions should change as expected.

When the system is in the steady state we defined, we should consider that the system can provide services normally to the outside world. In addition, monitoring the steady state is also important so that the system can recover to the steady state in a short period of time.

## Introducing diverse real-world events

We ought to introduce events that are real and what we care about such as trying to reproduce faults that occurred in the production environment, such as cache avalanche, service degradation, etc.

=====================================================
== File: docs/blog/content/material/2022_06_16_Understanding_Apache_ShardingSphere's_SPI_and_why_it’s_simpler_than_Dubbo’s.en.md
=====================================================
+++ 
title = "Understanding Apache ShardingSphere's SPI, and why it’s simpler than Dubbo’s"
weight = 61
chapter = true 
+++

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/phd62v4hi28k41td0gws.png)
 

## Why learn [ShardingSphere](https://shardingsphere.apache.org/)’s SPI?
You might already be familiar with [Java](https://www.java.com/en/) and [Dubbo](https://dubbo.apache.org/en/)’s SPI ([Service Provider Interface](https://en.wikipedia.org/wiki/Service_provider_interface)) mechanism, so you may wonder “why would I learn about [ShardingSphere](https://shardingsphere.apache.org/)’s SPI mechanism?” The reasons are quite simple:

1. ShardingSphere’s source code is simpler and easier to adapt.
2. The execution of ShardingSphere’s SPI mechanism is quite smooth, with less code required for day-to-day operations. Unlike Dubbo’s SPI mechanism and its additional features related to [IoC](https://medium.com/@amitkma/understanding-inversion-of-control-ioc-principle-163b1dc97454), the one in ShardingSphere only preserves the fundamental structure, making it effortless to use.

## Understanding ShardingSphere’s SPI
We also have to mention some shortcomings found in the [Java SPI](https://docs.oracle.com/javase/tutorial/sound/SPI-intro.html) mechanism:

1. Instances of the [ServiceLoader](https://docs.oracle.com/javase/8/docs/api/java/util/ServiceLoader.html) class with multiple concurrent threads are not safe to use.
2. Each time you get an element, you need to iterate through all the elements, and you can’t load them on demand.
3. When the implementation class fails to load, an exception is prompted without indicating the real reason, making the error difficult to locate.
4. The way to get an implementation class is not flexible enough. It can only be obtained through the [Iterator](https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html) form, not based on one parameter to get the corresponding implementation class.

In light of this, let’s see how [ShardingSphere](https://shardingsphere.apache.org/) solves these problems in a simple way.

## Loading SPI class
Dubbo is a direct rewrite of its own SPI, including the SPI file name and the way the file is configured, in stark contrast to [JDK](https://www.oracle.com/java/technologies/downloads/). Let’s briefly compare the differences between the uses of these two:

**Java SPI**

Add interface implementation class under the folder `META-INF/services`

```
optimusPrime = org.apache.spi.OptimusPrime
bumblebee = org.apache.spi.Bumblebee
```

**Dubbo SPI**

Add the implementation class of the interface to the folder `META-INF/services`, configure by means of `key`, `value` like the following example:

```
optimusPrime = org.apache.spi.OptimusPrime
bumblebee = org.apache.spi.Bumblebee
```

We can see now that Dubbo’s Java SPI is completely different from the JDK SPI.

## How does ShardingSphere easily extend the JDK SPI?


=====================================================
== File: docs/blog/content/material/2022_05_17_How_does_Apache_ShardingSphere_implement_distributed_transactions.en.md
=====================================================
+++ 
title = "How does Apache ShardingSphere implement distributed transactions?"
weight = 55
chapter = true 
+++

With increasing amounts of data and increasing traffic load, business systems are facing significant challenges, and a strong demand for the scalability of database systems has emerged. Problems in online scaling of traditional standalone databases such as [Oracle](https://www.oracle.com/), [MySQL](https://www.mysql.com/), [SQL Server](https://www.microsoft.com/en-us/sql-server/sql-server-downloads), and [PostgreSQL](https://www.postgresql.org/) is now more evident than ever. In such cases, the distributed database that can scale out was conceived to solve these scaling challenges. All of this means that distributed transactions are a problem that must be tackled.

In this context, ShardingSphere provides a distributed database computing enhancement engine that can support distributed transactions with an ecosystem that is easily expandable thanks to a plugin oriented architecture.

## Transaction processing
**Transaction properties**
Three properties define transactions: atomicity, durability, consistency, and isolation.

**Atomicity**

In a distributed scenario, the operations of a transaction may be distributed on multiple physical nodes, ensuring that all operations on multiple nodes succeed or fail.

**Durability**

The operation of a transaction committed is valid even if the power is cut off.

**Consistency**

**Tip:** Here “Consistency” is different from the C in CAP theorem. The C in CAP refers to the data consistency between multiple copies, but here it refers to an abstract concept between different levels.

From a user’s persperctive, data transfers from one state to another and both states are confined to a certain degree. For example:

Bank account A has 500$ and account B has 500$, totalling 1,000$. After A and B perform the transfer operation in a transaction, their total amount is still 1,000$.

**Isolation**

When transactions are executed concurrently, data correctness is ensured. For example, two transactions modify the same data at the same time to ensure that the two transactions are executed in a certain order to keep the data correct.

**Challenges**
Compared to standalone transactions, distributed transactions face the following challenges:

1. Atomicity. For standalone transactions, using undo log and redo log guarantees full commit or full roll-back. However, distributed transactions involve multiple physical nodes, each of which is different. Some node logs can be written successfully, while others fail.
2. Network instability. Communication is stable for a standalone machine and any operation can be answered whether successful or not. However, in a distributed scenario, the network is unstable, and an operation may not be answered. Thus, how to ensure the availability of distributed transactions (clearing and recovery of abnormal transactions etc.) is a problem.
3. Concurrency control. With the advent of MVCC, linearizable operation has become a rigid demand. Globally increasing transaction numbers can easily be done in a standalone database, but not in a distributed scenario.

**Solutions**
**Atomic commit**

The mainstream solution to atomicity and network instability problems is [2PC (two-phase commit protocol)](https://en.wikipedia.org/wiki/Two-phase_commit_protocol), which defines two roles, that is TM (Transaction Manager) and RM (Resource Manager).

In distributed scenarios, the operations of a transaction can be distributed in multiple nodes. And the transaction includes two phases.

**Phase One:** RM locks related resources and performs specific operations and then returns success or failure to TM.


=====================================================
== File: docs/blog/content/material/2023_03_14_ShardingSphere_Operator_Practical_Guide.en.md
=====================================================
+++
title = "ShardingSphere Operator Practical Guide"
weight = 91
chapter = true 
+++

# Apache ShardingSphere-on-Cloud sub-project

ShardingSphere-on-Cloud is a sub-project of Apache ShardingSphere for cloud solutions, covering verything from automated deployment scripts to virtual machines in AWS, GCP, AliCloud, Huawei Cloud cloud environments such as CloudFormation Stack templates, Terraform and more.

The project also covers tools such as Helm Charts, Operator, and automatic horizontal scaling in Kubernetes environments, and will gradually cover ShardingSphere high-availability, observability, and security compliance in cloud environments.

- If you want to quickly understand, validate or use the features of ShardingSphere-Proxy and don't have a Kubernetes environment, you can use AWS CloudFormation or Terraform for on-demand deployments, as described in the previous article "[Use AWS CloudFormation to create ShardingSphere HA clusters](https://shardingsphere.apache.org/blog/en/material/2022_12_13_use_aws_cloudformation_to_create_shardingsphere_ha_clusters/)".
- If you'd like to deploy in a Kubernetes environment, you can leverage the Operator feature or install ShardingSphere-Proxy directly without using Operator but with Helm Charts.

For more information, please refer to the [official documentation](https://shardingsphere.apache.org/oncloud/).

## Why Do You Need ShardingSphere Operator

Kubernetes provides a way to implement a "platform on top of a platform", the Operator pattern, which leverages a custom `CustomResourceDefinition` with the Kubernetes exposed Reconcile model framework.

The Reconcile model framework exposed by Kubernetes enables developers to quickly implement a declarative custom Ops tool for a given application, such as Prometheus-Operator, Nats-Operator, etc.

As a transparent database enhancement engine, Apache ShardingSphere supports access to any client using MySQL, PostgreSQL, openGauss protocols, with ShardingSphere-Proxy being more suitable to heterogeneous languages and high-availability scenarios.

Using Operator makes the deployment and maintenance of ShardingSphere-Proxy on Kubernetes much easier and more efficient.

![img](https://shardingsphere.apache.org/blog/img/2023_03_14_ShardingSphere_Operator_Practical_Guide1.png)

# Using ShardingSphere Operator: An Example

Before using ShardingSphere, you will need to prepare one or more compatible databases as storage nodes.

Detailed instructions can be found in the [official documentation](https://shardingsphere.apache.org/oncloud/current/en/operation-guide/operator/) for the ShardingSphere-on-Cloud sub-project.

![img](https://shardingsphere.apache.org/blog/img/2023_03_14_ShardingSphere_Operator_Practical_Guide2.png)

## Install ShardingSphere-Operator

Find the required configuration content and configuration [file directory for installation here](https://github.com/apache/shardingsphere-on-cloud/tree/main/charts/apache-shardingsphere-operator-charts).

To facilitate the installation of Operator, our community provides an online installation in addition to the source code installation. The two methods are as follows:

## Online Installation

```bash
kubectl create ns shardingsphere-operator
	helm repo add shardingsphere https://apache.github.io/shardingsphere-on-cloud
	helm repo update
	helm install demo-release shardingsphere/apache-shardingsphere-operator-charts -n shardingsphere-operator

=====================================================
== File: docs/blog/content/material/2023_01_04_Refactoring_the_DistSQL_Syntax__ShardingSphere_5.3.0_Deep_Dive.en.md
=====================================================
+++
title = "Refactoring the DistSQL Syntax | ShardingSphere 5.3.0 Deep Dive"
weight = 85
chapter = true 
+++

![img](https://shardingsphere.apache.org/blog/img/2023_01_04_Refactoring_the_DistSQL_Syntax__ShardingSphere_5.3.0_Deep_Dive1.png)

# Background

[DistSQL (Distributed SQL)](https://shardingsphere.apache.org/document/5.1.0/en/concepts/distsql/) is ShardingSphere's SQL-like functional language. Since we released[ version 5.0.0-Beta](https://shardingsphere.apache.org/blog/en/material/ss_5.0.0beta/), we've been iterating rapidly and providing users with features including rule management, cluster management, and metadata management. It was an incremental improvement process including many steps.

At the same time, DistSQL is still releatively young. The [ShardingSphere](https://shardingsphere.apache.org/) community often receives fresh ideas and suggestions about DistSQL, which means fast growth with lots of possible different development directions.

Before releasing [version 5.3.0](https://medium.com/faun/shardingsphere-5-3-0-is-released-new-features-and-improvements-bf4d1c43b09b?source=your_stories_page-------------------------------------), our community refactored DistSQL systematically and optimized its syntax. This blog post will illustrate those adjustments one by one.

# Related Concepts

We have sorted out objects managed by DistSQL and classified them into the following categories according to their characteristics and scope of functions, to facilitate the understanding and design of DistSQL syntax.

## Node

The following is a typical hybrid architecture of ShardingSphere, among which:

**Compute Node**

ShardingSphere-JDBC and ShardingSphere-Proxy instances both provide computing capabilities and they are called compute nodes.

**Storage Node**

Physical databases `ds_0`, `ds_1`, and `ds_2` provide data storage capabilities and are called storage nodes. According to the different forms of storage nodes, the instance-level node is called a **Storage Node** (such as a MySQL instance), and the database-level node is called a **Storage Unit** (such as a MySQL database). A storage node can provide multiple storage units.

![img](https://shardingsphere.apache.org/blog/img/2023_01_04_Refactoring_the_DistSQL_Syntax__ShardingSphere_5.3.0_Deep_Dive2.png)

## Instance Object

Instance objects can be applied to entire compute node instances, and their capabilities affect operations in all logical databases.

**Global Rules**

Global rules include rule configurations that take effect globally in ShardingSphere, such as Authority, Transaction, SQL Parser, and SQL Translator. They control the authentication and authorization, distributed transaction, SQL parser, SQL translator and other functional engines, and are the basic configuration of compute node runtime.

**Note:** all global rules in ShardingSphere have default values. If users have no special needs, just keep the default values.

**Distributed Variables**

Distributed variables are a group of system-level variables in ShardingSphere, whose configuration also affects the entire compute node. They're called Dist Variables, so users can better distinguish them from the variables of the storage node and avoid confusion.

Additionally, if there are changes to distributed variable values, they are synchronized to the entire compute node cluster, for a truly distributed configuration.


=====================================================
== File: docs/blog/content/material/2022_04_06_A_Holistic_Pluggable_Platform_for_Data_Sharding_ICDE_2022_Understanding_Apache_ShardingSphere.en.md
=====================================================
+++ 
title = "A Holistic Pluggable Platform for Data Sharding — ICDE 2022 & Understanding Apache ShardingSphere"
weight = 48
chapter = true 
+++

I bet you have at least once experienced accessibility issues on your preferred online shopping website. Yo may have not even thought much about it, or you may have attirbuted it to a slow internet connction, but the truth is that the increasing concurrent access that databases cannot deal with is one of the reasons.

Then it begs the question: how can we effectively solve the current database challenges? Data sharding could be a solution.

This article will introduce a paper titled “Apache ShardingSphere: A Holistic and Pluggable Platform for Data Sharding” which is co-authored by Chongqing University and SphereEx Lab and published by [International Conference on Data Engineering (ICDE)](https://icde2022.ieeecomputer.my/) 2022, one of the top-level database conferences in the world.
![](https://miro.medium.com/max/1400/1*kiGInZQgDnlF1qjFBP_sGw.png)

## Background
Data expansion and growing needs for data mean that databases are not only supposed to be able to manage large amounts of data, but to also support highly concurrent access.

Therefore, it’s necessary to design a database that can meet these two requirements since it can enhance user experience and solve website accessibility problems.

For now, relational databases are still the best choice for online transaction processing (OLTP). However, a relational database is designed for a single machine, which means its scalability could be poor when faced with large amountsof data, thus failing to resolve the problem of high concurrency cannot be quite resolved.

Although NoSQL databases such as HBase can support high concurrent requests, they are not suitable for OLTP and they may even cause data inconsistency. That’s why NewSQL has drawn a lot of attention, although we should note that “New” means that the database is developed from zero. Though suitable for current application scenarios, this type of database are still relatively untested, and NewSQL users and maintainers still need to fully learn the new technologies.

If you were to ask if it is feasible to insert a data sharding middleware between database and applications to connect and manage multiple existing databases, the answer is a resounding “yes”.

As shown in Figure 1 below, the sharding middleware distributes user queries to multiple databases in different machines, executes the queries separately, merges the multiple results, and returns them to the application, which effectively removes the limitations of a single machine.

For developers, the sharding middleware is transparent and easy to use — therefore making it very developer-friendly and efficient.

![Figure 1 An Example of Data Sharding](https://miro.medium.com/max/1400/1*aQV4IIGsv9_nUZaxtFJVlw.png)

Designing a good data sharding middleware can be rather challenging.

**First**, the underlying databases used in different scenarios vary. These databases use different database protocols and SQL statements, making it difficult to support multiple databases under a unified framework. Additionally, there are many types of SQL statements (from simple queries to aggregations to Multi-Table JOINs, etc.), and route and merge strategies for different SQL statements also are also different.

**Second**, it is difficult to coordinate transactions across multiple databases, and sometimes a single transaction type may not support all scenarios.

**Third**, data sharding middleware could be inefficient since it takes some time to forward requests and merge results.

**Fourth**, database administrators (DBA) have to configure sharding rules one by one, which is time-consuming.

Apache ShardingSphere, as Apache’s first Top-Level open source database sharding project, can tackle all the above-mentioned challenges. The main goal of ShardingSphere is to reduce the impact of data sharding and allow coders to use data sharding databases as if they were using just one database. It provide the following features:

**1.Versatile.** ShardingSphere supports a variety of mainstream relational databases (in fact, it supports any database that meets the SQL-92 standard). A complete SQL engine is designed and implemented in ShardingSphere, so any type of SQL can be routed accurately. Additionally, it provides three types of distributed transactions and a variety of features. As far as I know, ShardingSphere is the first system that includes data sharding, strongly consistent transactions, and flexible transactions.

**2.Efficient.**
 In addition to the proxy mode, ShardingSphere also provides JDBC access, which can greatly improve efficiency in most scenarios. Besides, ShardingSphere creates two execution modes and an intelligent strategy for choosing the appropriate execution mode and result merging strategy, which can help manage resources while ensuring efficiency.

**3.Pluggable and scalable.**
 ShardingSphere is designed on the basis of SPIs (Service Provider Interface, a service discovery mechanism provided by Java JDK) among other design patterns. Therefore, multiple types of databases, functions, and sharding algorithms can be easily added. Furthermore, all existing functions can be removed or combined as needed.
 

=====================================================
== File: docs/blog/content/material/2022_10_25_ShardingSphere_5.2.1_is_released — Here_are_the_highlights.en.md
=====================================================
+++
title = "ShardingSphere 5.2.1 is released — Here are the highlights"
weight = 77
chapter = true 
+++

Our new 5.2.1 release brings new features and enhancements such as the ShardingSphere system database, SQL HINT mandatory sharding routing, asynchronous data consistency check, and support for Consul and Nacos governance center.

# Introduction

Following 1.5 months in development, [Apache ShardingSphere](https://shardingsphere.apache.org/) 5.2.1 is released. Our community merged 614 PRs from teams and individuals around the world. The [resulting 5.2.1 release](https://github.com/apache/shardingsphere/blob/master/RELEASE-NOTES.md) has been optimized in terms of features, performance, testing, documentation, examples, etc.

The new release brings the following highlights:

- ShardingSphere system database
- SQL HINT mandatory sharding routing
- Asynchronous data consistency check

Version 5.2.1 introduces a new ShardingSphere system database to provide statistical information for distributed databases. **The statistical information can help the SQL Federation execution engine evaluate the execution costs to select an execution plan with the lowest costs.** Moreover, ShardingSphere can collect the distribution information after data sharding, providing references for automatic sharding scaling management.

**SQL HINT is an important feature provided by ShardingSphere 5. x, with which users can flexibly control routes through SQL annotations.** The new release enhances the SQL HINT capability and supports data-sharding mandatory routing.

Users only need to add annotations in the format: `/* SHARDINGSPHERE_HINT: t_order.SHARDING_DATABASE_VALUE=1, t_order.SHARDING_TABLE_VALUE=1 */` before transferring sharding values to the ShardingSphere routing engine. Compared with the former HintManager method, SQL HINT is more flexible without requiring users to write code.

**The new version also enhances the data consistency check capability during data migration, enabling asynchronous execution of the check. Users can view the data migration progress through** [**DistSQL**](https://medium.com/nerd-for-tech/intro-to-distsql-an-open-source-more-powerful-sql-bada4099211)**, which improves the ease of data migration.**

Moreover, the **governance center now supports Consul and Nacos**, providing more choices for users. SQL compatibility is greatly improved. Read/write splitting has also been optimized, as Proxy can be started forcibly by using the `-f` parameter after the secondary database is disabled.

Next, this post will introduce the updates of ShardingSphere 5.2.1 in detail.

# Notable Highlights

## ShardingSphere System Database

Like [MySQL](https://www.mysql.com/) and [PostgreSQL](https://www.postgresql.org/) system databases, ShardingSphere 5.2.1 introduces a new system database to manage the metadata of databases.

ShardingSphere system database mainly stores dynamic and static metadata. Dynamic metadata refers to frequently updated data, such as statistical information from distributed databases, which needs to be collected and maintained regularly through built-in scheduling tasks.

In comparison, static metadata refers to data that will remain the same without user modification. An example is the status parameter of the ShardingSphere distributed database set by users, which only needs to be stored in the metadata database for querying.

As this function is currently in the experimental phase, you need to start collecting metadata through the following configuration.

```java
proxy-metadata-collector-enabled: true
```

Connect Proxy through the command line and then execute the `SHOW DATABASES` statement. We can see the new `shardingsphere` system database which stores the metadata of distributed databases.

![img](https://shardingsphere.apache.org/blog/img/2022_10_25_ShardingSphere_5.2.1_is_released — Here_are_the_highlights1.png)


=====================================================
== File: docs/blog/content/material/2023_02_15_A_Distributed_Database_Load_Balancing_Architecture_Based_on_ShardingSphere_Demo_&_User_Case.en.md
=====================================================
+++
title = "A Distributed Database Load Balancing Architecture Based on ShardingSphere: Demo and User Case"
weight = 87
chapter = true
+++

This post introduces how to build a distributed database load-balancing architecture based on ShardingSphere, and the impact of introducing load balancing with a user case.

Finally, a one-stop solution for Apache ShardingSphere distributed databases on the cloud will be presented and demonstrated at the end.

# ShardingSphere-based distributed database load balancing architecture

## ShardingSphere Load Balancing Architecture Essentials

As many of our readers may already know, Apache ShardingSphere is a distributed database ecosystem that transforms any database into a distributed database and enhances it with data sharding, elastic scaling, encryption, and other capabilities.

It consists of two products, ShardingSphere-JDBC and ShardingSphere-Proxy, which can be deployed independently and support hybrid deployments for use with each other. The following figure illustrates the hybrid deployment architecture:

![img](https://shardingsphere.apache.org/blog/img/2023_02_15_A_Distributed_Database_Load_Balancing_Architecture_Based_on_ShardingSphere_Demo_&_User_Case1.png)

**ShardingSphere-JDBC Load Balancing Solution**

ShardingSphere-JDBC is a lightweight Java framework with additional services provided in the JDBC layer. ShardingSphere-JDBC simply adds computational operations before the application performs database operations, and the application process still connects directly to the database via the database driver.

As a result, users don't have to worry about load balancing with ShardingSphere-JDBC, and can focus on how their application is load balanced.

**SharidngSphere-Proxy Load Balancing Solution**

***Deployment Structure***

ShardingSphere-Proxy is a transparent database proxy that provides services to database clients via the database protocol. The following figure shows the for ShardingSphere-Proxy as a standalone deployed process with load balancing on top of it:

![img](https://shardingsphere.apache.org/blog/img/2023_02_15_A_Distributed_Database_Load_Balancing_Architecture_Based_on_ShardingSphere_Demo_&_User_Case2.png)

***Load Balancing Solution Essentials***

Some of our community contributors have discussed in detail how to build a ShardingSphere-Proxy cluster, and some have asked about the inconsistent behavior of ShardingSphere-Proxy after load balancing:

- How to build a ShardingSphere-Proxy cluster? https://github.com/apache/shardingsphere/discussions/12593
- Requests sent by clients through HA-Proxy do not poll multiple instances of ShardingSphere-Proxy: https://github.com/apache/shardingsphere/issues/20016

The key point of ShardingSphere-Proxy cluster load balancing is that the database protocol itself is designed to be stateful. For example, connection authentication status, transaction status, Prepared Statement, etc.

If the load balancing on top of the ShardingSphere-Proxy is unable to understand the database protocol, the only option is to select a four-tier load balancing proxy ShardingSphere-Proxy cluster. In this case, the state of the database connection between the client and ShardingSphere-Proxy is maintained by a specific Proxy instance.

Because the state of the connection itself is maintained in a specific Proxy instance, four-tier load balancing can only achieve connection-level load balancing. Multiple requests for the same database connection cannot be polled to multiple Proxy instances, i.e. request-level load balancing is not possible.

**Note:** This article does not cover the details of four-tier load balancing and seven-tier load balancing.

***Recommendations for the application layer***

=====================================================
== File: docs/blog/content/material/2022_06_30_ShardingSphere_&_Database_Mesh.en.md
=====================================================
+++ 
title = "ShardingSphere & Database Mesh"
weight = 64
chapter = true 
+++

Some time ago, [SphereEx](https://www.sphere-ex.com/en/), a startup formed by [Apache ShardingSphere](https://shardingsphere.apache.org/)’s core contributor team, officially launched the [Database Mesh 2.0](https://faun.pub/database-mesh-2-0-database-governance-in-a-cloud-native-environment-ac24080349eb) concept and its associated open source solution “Pisanix”, sparking discussion and reflection in the community about ShardingSphere and Database Mesh.

Some community users might be wondering why would you go through the trouble of
starting from scratch in a new field when you’re already part of a successful open source project like Apache ShardingSphere? Another question that can come to mind is whether with the cloud-native trend, ShardingSphere will gradually be incorporated into the Database Mesh concept in the future?

With the introduction of the Database Mesh 2.0 concept, SphereEx has charted a different course for open source development, seemingly in conflict with the already successful ShardingSphere, but in reality, the two complement each other while being interdependent.

This post will focus on the ShardingSphere community’s views of the Database Mesh concept, and the future development path and will walk you through the guiding philosophy of Apache ShardingSphere, Database Plus, and how it’s related to the Database Mesh concept.

## What changed from microservices governance to service governance under cloud-native databases?

Compared with microservices, cloud-native database governance has a different focus in terms of feature selection.

First, databases have status and requests that cannot be routed to peer nodes at will as happens with services, making data sharding important for databases. Since database connections are inherently related to the status, starting or stopping a new database instance often means data synchronization and replication, making the ability to auto-discover instances less important compared to microservices.

If the database is viewed as a microservice, although database access can be governed via Service Mesh, it is still subjected to many limitations. At the same time, databases have some special governance attributes, like communication protocols, resource management, load balancing based on data requests, database, and table splitting, observability, access control, etc., all of which cannot be simply understood and solved just by applying the concept of service, and must rely on database reliability engineering.

Hence the development of Database Mesh. SphereEx put forward the Database Mesh 2.0 concept which focuses on how to achieve the following goals in a cloud-native environment:

1. Reduce the burden on developers, improve development efficiency, and provide a transparent and seamless experience when using the database infrastructure.
2. Implement a governance framework covering database traffic, runtime resources, and stability guarantees in a way that is easier to configure, plug, and program.
3. Provide a standard user interface for typical scenarios in multiple database domains such as heterogeneous data sources, cloud-native databases, and distributed databases.
4. Provide capabilities such as data sharding, load balancing, observability, auditing, etc., which have helped solve some traffic governance problems in database governance.

Recently, when business applications started to be packaged and delivered in containers and to be released numerous times every day to Kubernetes infrastructures in various data centers using CI/CD streams, we couldn’t help but think about how to implement database reliability engineering in cloud environments and finally came up with Database Mesh 2.0.

## The difference between ShardingSphere’s Database Plus and Database Mesh

**First, the philosophy is different. In fact, judging from their principles and concepts, Database Plus and Database Mesh are quite different.**

When it comes to Database Mesh, SphereEx believes that cloud-native database governance has some common ground but also possesses its own uniqueness. The common issues can be solved by standardization and automation, while the unique ones can be solved by providing a flexible scaling mechanism that allows engineers to configure and implement on-demand. This requires a high capacity for programming in order to meet scaling requirements when addressing database governance challenges on the cloud.

As for Database Plus, the Apache ShardingSphere community sees it as a design for a distributed database system that aims to build an overall ecosystem including fragmented heterogeneous databases, providing global scalability and overlay computational capabilities on the premise of maximizing the native computational capabilities of the database. It makes the interaction between applications and databases directed by the standards built by Database Plus, shielding the impact database fragmentations might have on the upper layer business.

With the inevitable trend of cloud-native databases, Database Mesh and Database Plus are bound to have some overlap. In a cloud-native and distributed database scenario, there will be more interactions between ShardingSphere and Database Mesh.

**Second, application scenarios are different too.**

ShardingSphere, guided by the Database Plus concept, is primarily used in distributed database scenarios, while Database Mesh is primarily implemented to guide more specific practices for database reliability in cloud-native scenarios.

Being two different designs in two different domains, Database Plus and Database Mesh both represent innovative ideas in their respective data governance scenarios, leading to the creation of the two open-source solutions ShardingSphere and [Pisanix](https://github.com/database-mesh/pisanix).

Database Mesh 2.0 aspires to provide a database-centered governance framework:


=====================================================
== File: docs/blog/content/material/alpha.cn.md
=====================================================
+++
title = "停滞数年后,ElasticJob 携首个 Apache 版本 3.0.0-alpha 回归"
weight = 13
chapter = true
+++

在成为 Apache ShardingSphere 的子项目的几个月时间里,ElasticJob 社区在修复与合并了535个 issue 和 pull request 之后,发布了加入 Apache 软件基金会后的第一个正式版本:3.0.0-alpha。

### 背景
ElasticJob( https://github.com/apache/shardingsphere-elasticjob )是面向互联网生态和海量任务的分布式调度解决方案,由两个相互独立的子项目 ElasticJob-Lite 和 ElasticJob-Cloud 组成。它诞生于 2015年,当时业界虽然有 QuartZ 等出类拔萃的定时任务框架,但缺乏分布式方面的探索。分布式调度云平台产品的缺失,使得 ElasticJob 从出现伊始便备受关注。它有效地弥补了作业在分布式领域的短板,并且提供了一站式的自动化运维管控端,各个产品使用统一的作业 API,开发者仅需一次开发,即可随意部署。

ElasticJob 在技术选型时,选择站在了巨人的肩膀上而不是重复制造轮子的理念,将定时任务事实标准的 QuartZ 与 分布式协调的利器 ZooKeeper 完美结合,快速而稳定的搭建了全新概念的分布式调度框架。

### ElasticJob调度模型
ElasticJob 的调度模型划分为支持线程级别调度的进程内调度 ElasticJob-Lite,和进程级别调度的ElasticJob-Cloud。

**进程内调度**

ElasticJob-Lite 是面向进程内的线程级调度框架。它能够与 Spring 、Dubbo等 Java 框架配合使用,在作业中可自由使用 Spring 注入的 Bean,如数据源连接池、Dubbo 远程服务等,更加方便地贴合业务开发。

ElasticJob-Lite与业务应用部署在一起,其生命周期与业务应用保持一致,是典型的嵌入式轻量级架构。ElasticJob-Lite 非常适合于资源使用稳定、部署架构简单的普通 Java 应用,可以理解为 Java 开发框架。

ElasticJob-Lite 本身是无中心化架构,无需独立的中心化调度节点,分布式下的每个任务节点均是以自调度的方式适时的调度作业。任务之间只需要一个注册中心来对分布式场景下的任务状态进行协调即可,目前支持 ZooKeeper 作为注册中心。

架构图如下:

![](https://shardingsphere.apache.org/blog/img/alpha1.jpg)

通过图中可看出,ElasticJob-Lite 的分布式作业节点通过选举获取主节点,并通过主节点进行分片。分片完毕后,主节点与从节点并无二致,均以自我调度的方式执行任务。

**进程级调度**

ElasticJob-Cloud 拥有进程内调度和进程级别调度两种方式。由于 ElasticJob-Cloud 能够对作业服务器的资源进行控制,因此其作业类型可划分为常驻任务和瞬时任务。常驻任务类似于ElasticJob-Lite,是进程内调度;瞬时任务则完全不同,它充分的利用了资源分配的削峰填谷能力,是进程级的调度,每次任务的会启动全新的进程处理。

ElasticJob-Cloud 需要通过 Mesos 对资源进行控制,并且通过部署在 Mesos Master的调度器进行任务和资源的分配。Cloud采用中心化架构,将调度中心的高可用交由 Mesos管理。

它的架构图如下:

 ![](https://shardingsphere.apache.org/blog/img/alpha2.jpg)

通过图中可看出,ElasticJob-Cloud 除了拥有 Lite 的全部能力之外,还拥有资源分配和任务分发的能力。它将作业的开发、打包、分发、调度、治理、分片等一些列的生命周期完全托管,是真正的作业云调度系统。

相比于 ElasticJob-Lite 的简单易用,ElasticJob-Cloud 对 Mesos 的强依赖增加了系统部署的复杂度,因此更加适合大规模的作业系统。

### 功能列表

ElasticJob 功能主要有弹性调度、资源分配、作业治理和可视化管控。

**弹性调度**


=====================================================
== File: docs/blog/content/material/Jan_28_Blog_X_Kernel_Optimizations_&_Upgrade_Guide_for_Apache_ShardingSphere_5.0.0_The_Ideal_Database_Management_Ecosystem.en.md
=====================================================
+++

title = "Kernel Optimizations & Upgrade Guide for Apache ShardingSphere 5.0.0 — The Ideal Database Management Ecosystem"
weight = 29
chapter = true

+++


# Kernel Optimizations & Upgrade Guide for Apache ShardingSphere 5.0.0 — The Ideal Database Management Ecosystem

Having undergone almost two years of development and optimization, the Apache ShardingSphere 5.0.0 GA version has been recently released.
Compared with the 4.1.1 GA version, the new version’s kernel is greatly improved:

* Kernel optimizations are subject to the pluggable architecture allowing users to combine kernel features as they wish.

* Aiming to improve SQL distributed query capabilities, the Federation Execution Engine is created to satisfy users’ needs in complex business scenarios.

* We also made optimizations at the API level to help users reduce costs.

This article will give you a better understanding of some kernel-related changes we made, and the feature differences between the new and the previous ShardingSphere versions. You will also learn more about these optimizations and how to use 5.0.0 version in a practical scenario case that integrates data sharding, read/write splitting, as well as encryption and decryption.


## Pluggable Architecture Kernel

The North-Star of Apache ShardingSphere’s 5.0.0 GA version. Our mission with the Database Plus concept is to build a standard layer and ecosystem above fragmented databases’ basic services, and provide users with additional features. A unified and standardized database usage specification provides for upper-level applications, and the challenges faced by businesses due to underlying databases fragmentation get minimized as much as possible. The three characteristics of Database Plus are Link, Enhance, and Pluggable.

ShardingSphere can provide users with management services and enhanced features including distributed database, data security, database gateway, and stress testing. The plugin oriented kernel architecture allows for modularity, and users can flexibly extend the features as they need.

The emergence of the Database Plus concept indicates that ShardingSphere has evolved from a middleware into an innovative distributed database ecosystem. Since we set Database Plus as our new direction and there are many extension points in our pluggable system, having a pluggable kernel was a given. The figure below illustrates the new pluggable Kernel:

![Version Comparison](https://shardingsphere.apache.org/blog/img/kernel_img_1.png)

All of Apache ShardingSphere kernel’s processes (i.e. metadata loader, SQL parser, SQL router, SQL rewriter, and SQL executor & result merger) provide extension points on which ShardingSphere implements default features such as data sharding, read/write splitting, encryption & decryption, shadow database stress testing, and high availability.

We can divide the extension points into two categories: feature-based extension points and technology-based extension points.

Among the kernel processes, technical extension points include the extension points of the SQL Parser Engine and SQL Executor engine. Function extension points are the extension points of the Metadata Loading, SQL Router Engine, SQL Rewriter Engine, and SQL Executor & Result Merger Engine.

The extension points of the SQL Parser Engine are SQL AST Analysis and SQL Tree Traversal. The SQL Parser Engine built on these two extension points can parse and support many database dialects such as MySQL, PostgreSQL, Oracle, SQLServer, openGauss, and SQL92 by default. Users can also write code to parse more database dialects not currently supported by Apache ShardingSphere SQL Parser, or develop SQL Audit and other new features.

How about the SQL Execution Engine extension points? Its extension depends on different execution methods. Currently, Apache ShardingSphere’s SQL Executor has a single-threaded execution engine and a multi-threaded execution engine. The single-threaded execution engine is used to execute transaction statements, while the multi-threaded one applies to scenarios that do not include transactions to improve SQL execution performance. In the future, we will provide more execution engines such as MPP Execution Engine that meets the requirements for SQL execution in distribution scenarios.

Apache ShardingSphere provides function extension points for data sharding, read/write splitting, encryption & decryption, shadow database stress testing, and high availability. These features implement all or part of the function extension points to meet their needs. Meanwhile, within each of them, internal sub-level function extension points such as Sharding Strategy, Distributed ID Generator, and Load Balancing Algorithm are also provided. The following extension points are implemented in the Apache ShardingSphere kernel functions:

* **Data Sharding:** implements all the extension points of the metadata loader, SQL router, SQL rewriter and result merger. For the data sharding function, extension points such as sharding algorithm and distributed ID are provided.

* **Read/write Splitting:** implements the function extension point SQL Router and for the function, the Load Balancing Algorithm extension point is provided.

* **Encryption & Decryption:** implements metadata Loader, SQL Rewriter and Result Merger. Inside, the Encrypt and Decrypt Algorithm extension point is provided.

=====================================================
== File: docs/blog/content/material/Oct_12_7_openGauss_ShardingSphere_One_of_the_Top_Distribution_Solutions.en.md
=====================================================
+++
title = "openGauss X ShardingSphere: One of the Top Distribution Solutions"
weight = 23
chapter = true
+++

## About openGauss

openGauss is an open source relational database management system. Since its launch in June 2020, it has made waves the database management vertical. With an increasing number of partners and developers, it’s already reaping the benefits of the significant efforts & resources poured into building a successful database ecosystem.

## Project Background

Facing problems like data volume explosion, and super-high levels of concurrent data processing, openGauss made a choice: to adopt a distributed solution. It started to work on big data storage, throughput improvement for super-high concurrency, improving performance bottlenecks caused by large data amounts in a table, etc.

Apache ShardingSphere facilitates the distributed feature development of openGauss. Such collaboration on the full stack and open source solution helps openGauss make significant breakthroughs.

## The Distributed Solution

openGauss integrates many open source components to optimize its full stack & open source distributed solution for horizontal scaling, distributed transactions, and distributed governance. Its framework is shown in Fig.1

![](https://shardingsphere.apache.org/blog/img/Blog_23_img_1_The_Structure_of_the_ShardingSphere_openGauss_Distribution_Solution.en.png)

ShardingSphere-Proxy is the open source distributed database solution. ShardingSphere’s well-known features include but are not limited to data sharding, distributed transaction, elastic scaling, and read-write splitting.

HAProxy uses Patroni REST API to identify database master nodes and guarantee high availability, as well as load balancer.

Every high availability node of Patroni supports one master with multiple slaves and uses the Praxos protocols to keep data consistency, so that nodes are allowed to be deployed in the same site or in different sites to ensure multiple sites and centers data security.

In terms of the solution, ShardingSphere-Proxy contributes with its mighty distribution features, Kubernetes helps manage clusters, and prometheus monitors cluster status. This all-star team’s integration make the project a really powerful full stack, open source distribution solution.

## What’s Special About the Project?

* *Great extensibility and elastic scaling*

Horizontal scaling helps realize the linear extension of computing and storage capabilities. The maximum shard count increases to 6400. Database performance improves accordingly and the problem of data volume explosion in single database is effectively managed.

Based on users’ traffic condition, a user can flexibly scale data nodes, and adopt intelligent read-write splitting to realize automatic load balancing of a distributed database.

* *Enhanced enterprise-grade features*

The project provides users with various enterprise-grade features such as distributed data store, Trigger, distributed governance, comprehensive end-to-end encryption, and Workload Diagnosis Report (WDR).

* *Simple deployment*

It may take only a few seconds to deploy the project. Its deployment is simple while also being efficient as it adopts standardized image deployment to keep delivery consistent in different environments. It also uses container deployment as well as resource pooling so that it is less platform dependent.

* *Super-high availability and remote disaster recovery*

The project can effectively manage clusters and facilitate operations & maintenance. It follows the Paxos protocols to ensure data security and strong consistency and provides various features for disaster recovery, whose recovery point object (RPO) is zero. It supports resilient recovery methods for one region, cross-region, and multi-region & multi-center.


=====================================================
== File: docs/blog/content/material/2022_07_26_DistSQL_Applications_Building_a_Dynamic_Distributed_Database.en.md
=====================================================
+++ 
title = "DistSQL Applications: Building a Dynamic Distributed Database"
weight = 69
chapter = true 
+++

## Background
Ever since the release of [ShardingSphere 5.0.0](https://shardingsphere.apache.org/document/5.0.0/en/overview/), [DistSQL](https://shardingsphere.apache.org/document/5.1.0/en/concepts/distsql/) has been providing strong dynamic management capabilities to the ShardingSphere ecosystem.

Thanks to DistSQL, users have been empowered to do the following:

- Create logical databases online.
- Dynamically configure rules (i.e. sharding, data encryption, read/write splitting, database discovery, shadow DB, and global rules).
- Adjust storage resources in real-time.
- Switch transaction types instantly.
- Turn SQL logs on and off at any time.
- Preview the SQL routing results.
At the same time, in the context of increasingly diversified scenarios, more and more DistSQL features are being created and a variety of valuable syntaxes have been gaining popularity among users.

## Overview
This post takes data sharding as an example to illustrate DistSQL’s application scenarios and related sharding methods.

A series of DistSQL statements are concatenated through practical cases, to give you a complete set of practical DistSQL sharding management schemes, which create and maintain distributed databases through dynamic management. The following DistSQL will be used in this example:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ja3n9bttj1z976itrg6o.png)
 

## Practical Case
**Required scenarios**

- Create two sharding tables: `t_order` and `t_order_item`.
- For both tables, database shards are carried out with the `user_id` field, and table shards with the `order_id` field.
- The number of shards is 2 databases * 3 tables.
As shown in the figure below:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m8e9u22k4ep68oabmols.png)
 

**Setting up the environment**

1.Prepare a MySQL database instance for access. Create two new databases: `demo_ds_0` and `demo_ds_1`.

> Here we take MySQL as an example, but you can also use PostgreSQL or openGauss databases.

2.Deploy [Apache ShardingSphere-Proxy 5.1.2](https://shardingsphere.apache.org/document/5.1.2/en/overview/) and [Apache ZooKeeper](https://zookeeper.apache.org/). ZooKeeper acts as a governance center and stores ShardingSphere metadata information.

3.Configure `server.yaml` in the `Proxy conf` directory as follows:

```yaml
mode:
  type: Cluster
  repository:

=====================================================
== File: docs/blog/content/material/2022_04_21_Apache_ShardingSphere_openGauss_Breaking_the_Distributed_Database_Performance_Record_with_10_Million_tpmC.en.md
=====================================================
+++ 
title = "Apache ShardingSphere & openGauss: Breaking the Distributed Database Performance Record with 10 Million tpmC"
weight = 51
chapter = true 
+++

Our open source community has cooperated Huawei’s openGauss to build a distributed solution with [Apache ShardingSphere](https://shardingsphere.apache.org/) and [openGauss](https://opengauss.org/en/).

We tested performance together with openGauss on 16 servers for more than one hour. The results were great: our joint solution broke the performance bottleneck of a single machine with a benchmark result of 10 million transactions per minute (tpmC) on average.


## Breaking the 10 Million tpmC Barrier
In this test, the openGauss community ran this TPC-C testing on [BenchmarkSQL](https://www.postgresql.org/message-id/CAGBW59f9q2Y4v-B3D8gje3xUsWz2Z-WaK9wYx4%3DhCY1zN%3D7%2BBQ%40mail.gmail.com) 5.0, which is an open source implementation of the popular TPC/C OLTP database benchmark.

In terms of stand-alone performance, openGauss with ShardingSphere broke the limit of multi-core CPU: two-way 128-Core Huawei Kunpeng reached 1.5 million tpmC, and the memory-optimized table (MOT) engine reached 3.5 million tpmC.

These are great results, but we’re not done. We’ll never stop pushing the boundaries for better database performance — especially in today’s Big Data scenarios and their thirst for top notch database performance.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tz0oyppd6vh7l1466ug5.png)

In this case, the openGauss team used 7 machines to run BenchmarkSQL adapted to [ShardingSphere-JDBC](https://shardingsphere.apache.org/document/current/en/overview/#shardingsphere-jdbc), connected 8 openGauss databases, and deployed [ShardingSphere-Proxy](https://shardingsphere.apache.org/document/current/en/overview/#shardingsphere-jdbc) for data initialization, consistency verification, and other maintenance operations.

Thanks to its database sharding capability, ShardingSphere enabled a total of 8,000 bins of data (over 800 GB) to be distributed across 8 openGauss nodes. Following over 1 hour of test, not only sharding was perfect but the average results also reached over 10 million tpmC, which is the best industry performance at this scale.


## ShardingSphere & openGauss: Building an Ecosystem Cooperation

The Apache ShardingSphere community has been working closely with the openGauss community since 2021.

Faced with the diversification of business scenarios and data volume expansion, the traditional solution that centrally stores data to a single node has since become unable to meet needs in terms of performance, availability, and affordable operation cost.

Database sharding can solve problems of performance, availability, as well as single-point backup and recovery of stand-alone databases — but it also makes distributed architecture more complex.

As the proponent of the Database Plus concept, Apache ShardingSphere aims to build a criterion and ecosystem above heterogeneous databases and enhance the ecosystem with sharding, elastic scaling, encryption features & more. Placed above databases, ShardingSphere focuses on the collaborative way of databases to make reasonable and full use of database compute and storage capabilities.

Currently Apache ShardingSphere has a microkernel plus plugin-oriented architecture model, and on this basis, it continues to improve the capabilities of its kernel and functions to provide increasingly flexible solutions.

Thanks to the design concept of its pluggable architecture, ShardingSphere can support openGauss without additional changes and only needs to increase implementations of the corresponding openGauss database based on the SPI extension points provided by each ShardingSphere module .

Our two communities have collaborated to create a distributed database solution suitable for highly-concurrent Online Transaction Processing (OLTP) scenarios by combining the powerful standalone performance of openGauss with the distributed capabilities provided by the Apache ShardingSphere ecosystem.


## Building an openGauss-based Distributed Database Solution with ShardingSphere
Apache ShardingSphere includes many features such as database sharding, read/write splitting, data encryption, and shadow database. The features can be used independently or in combination.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jq8uhm2w25yk8r3n8xvh.png)

Currently, ShardingSphere provides users with two access methods, namely ShardingSphere-JDBC and ShardingSphere-Proxy.

ShardingSphere-JDBC can easily and transparently perform operations such as sharding and read/write splitting on databases while meeting high concurrency and low latency needs.

=====================================================
== File: docs/blog/content/material/2023_04_27_How_South_Korea’s_Yogiyo_Improved_Scalability_and_Performance_with_Apache_ShardingSphere.en.md
=====================================================
+++
title = "How South Korea’s Yogiyo Improved Scalability and Performance with Apache ShardingSphere"
weight = 97
chapter = true 
+++

[Yogiyo](https://www.yogiyo.co.kr/mobile/#/) is South Korea’s leading mobile and online food delivery platform that seeks to offer customers powerful and convenient food ordering services. Formerly a subsidiary of [Delivery Hero](https://www.deliveryhero.com/), Yogiyo was acquired by [GS Retail](http://www.gsretail.com/gsretail/ko/company), one of Korea’s top ten listed companies, for $684 million at the end of 2021.

![img](https://shardingsphere.apache.org/blog/img/2023_04_27_How_South_Korea’s_Yogiyo_Improved_Scalability_and_Performance_with_Apache_ShardingSphere.en.md1.jpg)

Hello! My name is [Byungchul Kim](https://twitter.com/edwardjyoon), and I work as a backend developer at Yogiyo R&D Centre on Orderyo, an ordering service. In this post, I want to share our experience implementing [Apache ShardingSphere](https://shardingsphere.apache.org/) for Yogiyo’s order service and explain how it helped us to solve technical debt and meet new requirements.

# Order Service DB Structure

Let me start by showing you the structure of Yogiyo’s order service. When order creation, cancellation, or update traffic occurs, the Orderyo application code distributes the write load to four shard clusters based on the `customer_id`. This way, the application only needs the `customer_id` to find the shard cluster it needs to access and perform the operation.

![img](https://shardingsphere.apache.org/blog/img/2023_04_27_How_South_Korea’s_Yogiyo_Improved_Scalability_and_Performance_with_Apache_ShardingSphere.en.md2.jpg)

Introducing sharding to the order service has improved the overall response time of `customer_id-based` order functions, eliminated many bottlenecks at the database end by distributing the DB load, and allowed us to scale the DB appropriately for future traffic growth. However, we also realized a technical debt during the past year of implementing and running database sharding for Yogiyo’s order service. The structure of the DB did not reflect the integrated lookup requirements.

Most of the traffic from the order service functions has a `customer_id`, so we use a shard DB. In addition, we have the source data of the order, so there is a requirement for an integrated query without sharding key in the operation-oriented and boss-oriented functions. To support operational queries, we collected data by replicating from shard DBs to a single DB, which we called the Integration DB.

![img](https://shardingsphere.apache.org/blog/img/2023_04_27_How_South_Korea’s_Yogiyo_Improved_Scalability_and_Performance_with_Apache_ShardingSphere.en.md3.jpg)

In this structure, as the throughput of the shards increases, the load is placed on the single Integration DB, making it a bottleneck. This means that horizontal DB scaling, one of the advantages of sharding, is not available.

![img](https://shardingsphere.apache.org/blog/img/2023_04_27_How_South_Korea’s_Yogiyo_Improved_Scalability_and_Performance_with_Apache_ShardingSphere.en.md4.jpg)

In our tests, the threshold for horizontal scaling was well above our current traffic, but with new requirements, this became an issue that needed to be addressed.

Previously, we only needed to support production-oriented queries, but the new requirement was to support production-oriented functional queries, which are much more traffic-heavy and DB-intensive than traditional production queries.

# How ShardingSphere-Proxy was adopted


To solve this problem, we decided to use [Apache ShardingSphere](https://shardingsphere.apache.org/). It is a project that aims to build a distributed database ecosystem and allows RDBs to be sharded and run as a distributed database environment. We chose to adopt ShardingSphere-Proxy, a database proxy server provided by the Apache ShardingSphere project, to move the queries that used Integration DB to the database proxy server.

One of the reasons I chose Apache ShardingSphere was that it was easy to deploy ShardingSphere-Proxy, and it did not require any changes to the existing DB structure.

After following the tutorial in my local environment, I validated it on a staging server for a period of time and roadtested it to see if there was any performance impact before moving it into production.


# Setting up the local environment


To implement ShardingSphere, we first set up the same environment as the service currently running locally. We set up the following Mysqld settings to increase the p.k. of each table with 1024 in common and different offsets for the shard DB. This way, the tables can have unique p.k. even if they are split into shards.

Configuration for Shard 0

```

=====================================================
== File: docs/blog/content/material/Oct_12_7_openGauss_ShardingSphere_One_of_the_Top_Distribution_Solutions.cn.md
=====================================================
+++
title = "openGauss X ShardingSphere,分布式方案的另一种最佳实践"
weight = 23
chapter = true
+++

Apache ShardingSphere 持续助力于 openGauss 分布式数据库能力的构建。openGauss 数据库自 2020 年 6 月开源以来,受到了业界的广泛关注,现已吸引众多伙伴、开发者参与其中,共建繁荣的数据库生态。面对如今海量数据,超高并发等诸多场景,openGauss 将目光转向于分布式解决方案,专注于解决海量数据存储、超高并发吞吐、大表瓶颈等众多难题,与 **ShardingSphere** 一起构建全栈开源分布式解决方案,实现 **openGauss** 的又一大突破。

## 分布式解决方案
![](https://shardingsphere.apache.org/blog/img/Blog_23_img_1_a_Photo.png)

					图1 分布式解决方案整体框图

openGauss 融合了众多开源组件,用以构建集数据水平扩展、分布式事务及治理一体化的全栈开源分布式解决方案,整体框图如图 1 所示。

* 其中 ShardingSphere-Proxy 为开源分布式解决方案,具有分库、分表、分布式事务、弹性伸缩、读写分离等众多能力;

* HAProxy 结合 Patroni 的 REST API,可以始终识别数据库的主节点,保证高可用场景,同时可实现负载均衡;

* 每个 Patroni 高可用节点支持一主多备,每个节点使用 Paxos 协议保证数据的一致性,各个节点可以部署在相同或不同的区域,用以保证多地多中心的数据安全。

本分布式方案运用 ShardingSphere-Proxy 强劲的分布式能力,通过 kubernetes 管理集群,prometheus 监控集群状态,从而构建全栈开源的分布式解决方案。

## 产品优势

1.极致扩展能力,灵活扩缩容

计算与存储能力可通过水平拆分实现线性扩展,最高可达数据 6400 分片,性能随扩展准线性增长,可有效解决单表数据量膨胀问题;结合业务流量,灵活平滑进行数据节点的扩缩容,智能读写分离,实现分布式数据库的自动负载均衡。

2.丰富企业级特性

支持分布式存储过程、触发器,分布式事务,全密态数据加密,WDR 诊断报告,提供丰富的企业级特性。

3.一键部署,屏蔽底层依赖

标准化镜像确保多环境一致性交付,容器化部署,实现物理资源池化,降低对平台的依赖性,简洁高效,实现应用秒级部署。

4.超高可用,实现异地容灾

强有力的集群管理、运维能力,支持同城、异地、多地多中心灵活部署,基于 Paxos 协议保证数据的安全及强一致性,提供 RPO=0 的多种容灾能力。

5.开源开放,构建全栈生态

开源 openGauss 单机及分布式解决方案,鼓励更多伙伴、开发者共同参与其中,共建数据库的繁荣生态,打造全栈开源生态链。

## 应用场景
1.金融系统

基于多数派共识协议 Paxos,提供分布式强一致事务能力,确保分布式环境下数据的强一致能力;多地多中心,提供 RPO=0 的能力,保障金融级可靠。


=====================================================
== File: docs/blog/content/material/Oct_12_4_Updates_and_FAQ_Your_1_Minute_Quick_Start_Guide_to_ShardingSphere.cn.md
=====================================================
+++
title = "ShardingSphere 知识库更新 | 官方样例集助你快速上手"
weight = 20
chapter = true
+++

Apache ShardingSphere 作为 Apache 顶级项目,是数据库领域最受欢迎的开源项目之一。经过 5 年多的发展,ShardingSphere 已获得超 14K Stars 的关注,270+ 贡献者,建立起了活跃的社区生态。

随着项目的蓬勃发展,版本的不断更迭,Apache ShardingSphere 支持的特性逐渐增多,功能日益强大,配置规则也在不断优化。为了帮助用户更好地理解各项特性和配置规则,方便用户快速测试并运行相关功能组件,找到最佳实现,`shardingsphere-example` 项目应运而生。

`shardingsphere-example` 是一个独立的 Maven 项目,位于 `Apache ShardingSphere` 项目的 examples 目录下。项目地址:

https://github.com/apache/shardingsphere/tree/master/examples

**江龙滔**

SphereEx 中间件研发工程师,Apache ShardingSphere contributor。目前专注于 ShardingSphere 数据库中间件研发及开源社区建设。


**侯阳**

SphereEx 中间件研发工程师,目前从事 ShardingSphere 数据库中间件研发,热爱开源,希望同大家一起建设更好的社区。







## 模块详解


`shardingsphere-example` 项目包含多个模块,将为用户带来水平拆分、读写分离、分布式治理、分布式事务、数据加密、强制路由、影子库等功能的使用及配置样例,覆盖 Java API、YAML、Spring Boot、Spring Namespace 等多种业务常用的接入形态。除了 `ShardingSphere-JDBC`,`shardingsphere-example` 中还增加了 `ShardingSphere-Proxy` 和 `ShardingSphere-Parser` 的使用案例。

所有涉及到 `Apache ShardingSphere `的功能特性、接入场景以及各种灵活的配置方式,都可以在官方的 repo 里找到样例,方便用户查询和参考。下表展示了 `shardingsphere-example` 的模块分布情况:

~~~
shardingsphere-example
  ├── example-core
  │   ├── config-utility
  │   ├── example-api
  │   ├── example-raw-jdbc
  │   ├── example-spring-jpa
  │   └── example-spring-mybatis
  ├── shardingsphere-jdbc-example
  │   ├── sharding-example
  │   │   ├── sharding-raw-jdbc-example
  │   │   ├── sharding-spring-boot-jpa-example
  │   │   ├── sharding-spring-boot-mybatis-example
  │   │   ├── sharding-spring-namespace-jpa-example

=====================================================
== File: docs/blog/content/material/2022_03_29_CITIC_Industrial_Cloud_Apache_ShardingSphere_Enterprise_Applications.en.md
=====================================================
+++ 
title = "CITIC Industrial Cloud — Apache ShardingSphere Enterprise Applications"
weight = 46
chapter = true 
+++

_To further understand application scenarios, and enterprises’ needs, and improve dev teams’ understanding of Apache ShardingSphere, our community launched the “Enterprise Visits” series._

On February 28, the Apache ShardingSphere core development team visited CITIC Industrial Cloud Co., Ltd at the invitation of the company. During the meetup, Zhang Liang, Apache ShardingSphere PMC Chair and SphereEx Founder provided details on open source ecosystem building, and ShardingSphere production scenario-oriented solutions.

[CITIC Group](https://www.citic.com/en/#Businesses) is China’s largest conglomerate. It is engaged in a wide variety of businesses, from property development to heavy industry to resources, though its primary focus is the financial sector, including banking and securities.

[CITIC Industrial Cloud Co., Ltd](https://www.citictel-cpc.com/en-eu/product-category/cloud-computing), fully owned by CITIC Group, has developed an open service platform providing industrial internet applications and services in multiple fields such as IoT, smart cities, smart water services — with a desire to promote the digital transformation of traditional industries.

Now, CITIC Industrial Cloud is exploring how to innovate with existing database systems, to support the innovative development of multiple industries.

As one of the most prominent open source middleware projects, with its ever-expanding ecosystem,[Apache ShardingSphere](https://shardingsphere.apache.org/) can meet some of CITIC Industrial Cloud’s technology needs in its development roadmap.

## Ensuring Data Consistency in Data Migration

Enterprises are challenged by ever expanding data related issues. Luckily, Scale-out can solve this problem.

Apache ShardingSphere allows online elastic scaling through its [Scaling tool ](https://shardingsphere.apache.org/document/current/en/features/migration/)and provides multiple built-in data consistency verification algorithms, to ensure the consistency between data source and data on the client-side.

[CRC32](https://crc32.online/) is used by default to strike a balance between speed and consistency; while the verification algorithm supports user-defined SPI.

Since the time data migration takes is proportional to data volumes, to ensure data consistency, a downtime window is required to make the log level. Data will be verified through Scaling, at the business layer, and database layer.

Apache ShardingSphere can divide data migration into multiple sessions and execute them at the same time, merge modification operations of the same record, and execute a line command after configuration to stop write into the primary database, so the database is read-only.

Additionally, SQL execution is suspended during the read-only period since the data is globally consistent when write is disabled. Accordingly, the impact on system usability will be reduced when performing database switches.

## JDBC and Proxy are Designed for Different Core Users

Apache ShardingSphere now supports access through JDBC and Proxy together with Mesh in the cloud (TODO). Users can choose the product that can best suit their needs to perform operations such as data sharding, read/write splitting, and data migration on original clusters.

[ShardingSphere-JDBC](https://shardingsphere.apache.org/document/current/en/overview/#shardingsphere-jdbc) is designed for Java developers. It’s positioned as a lightweight Java framework, or as an enhanced JDBC driver with higher performance. If the performance loss is between 2% and 7%, and you want to optimize the performance, ShardingSphere-JDBC can help reduce the loss to less than 0.1%. Developers can directly access databases through the JDBC client and the service is provided in `.jar`, which means no extra deployment or dependency is needed.

[ShardingSphere-Proxy](https://shardingsphere.apache.org/document/current/en/overview/#shardingsphere-proxy) is a database management proxy designed for operation and maintenance personnel. Generally, when users need to access databases through Proxy, the network connection may lead to a 30% to 70% performance loss. Therefore, the performance of ShardingSphere-JDBC is much better than that of ShardingSphere-Proxy.

However, the plugin-oriented architecture of ShardingSphere provides dozens of extension points based on SPIs. On the basis of these extension points, ShardingSphere by default implements functions such as data sharding, read/write splitting, data encryption, shadow database stress testing and high availability, and allows developers to extend these functions at will.

ShardingSphere-JDBC adopts a decentralized architecture, applicable to high-performance, lightweight OLTP Java applications.

ShardingSphere-Proxy provides static access and supports all languages, suitable for OLAP applications and sharding database management and operations.

While JDBC can boost development efficiency, Proxy can deliver better O&M performance. Through [DistSQL](https://medium.com/nerd-for-tech/intro-to-distsql-an-open-source-more-powerful-sql-bada4099211), you can leverage Apache ShardingSphere as if you were using a database natively. This helps improve the development capabilities of Ops teams and enterprises’ data management capabilities.

Thanks to the combination of ShardingSphere-JDBC and ShardingSphere-Proxy, while adopting the same sharding strategy in one registry center, ShardingSphere can create an application system suitable for all scenarios. This database gateway-like model allows users to manage all underlying database clusters through Proxy and observe distributed cluster status through SQL, and it can, therefore, enable maintainers and architects to adjust the system architecture to the one that can perfectly meet their business requirements and facilitate business operations.


=====================================================
== File: docs/blog/content/material/2022_03_23_Apache_ShardingSphere_Proxy_Performance_with_PostgreSQL_is_Improved_26.8%_with_Version_5.1.0.en.md
=====================================================
+++ 
title = "Apache ShardingSphere -Proxy Performance with PostgreSQL is Improved 26.8% with Version 5.1.0"
weight = 43
chapter = true 
+++

Increasing Apache ShardingSphere adoption across various industries, has allowed our community to receive valuable feedback for our latest release.
Our team has made numerous performance optimizations to the ShardingSphere Kernel, interface and etc. since the release of Version 5.0.0. This article introduces some of the performance optimizations at the code level, and showcases the optimized results of ShardingSphere-Proxy TPC-C benchmark tests.

## Optimizations

**Correct the Use of Optional**

java.util.Optional, introduced by Java 8, it makes the code cleaner. For example, it can avoid methods returningnull values. Optionalis commonly used in two situations:

```java
public T orElse(T other) {
    return value != null ? value : other;
}

public T orElseGet(Supplier<? extends T> other) {
    return value != null ? value : other.get();
}
```
In ShardingSphere item `org.apache.shardingsphere.infra.binder.segment.select.orderby.engine.OrderByContextEngine`, an Optional code is used as:

```java
Optional<OrderByContext> result = // Omit codes...
return result.orElse(getDefaultOrderByContextWithoutOrderBy(groupByContext));

```
In the `orElse` statement above, the `orElse` methods will be called even if the result isn’t null. If the `orElse` method involves modification operations, accidents might occur. In the case of method calls, the statement should be adjusted accordingly:

```java
Optional<OrderByContext> result = // Omit codes...
return result.orElseGet(() -> getDefaultOrderByContextWithoutOrderBy(groupByContext));
```

Lambda is used to provide a `Supplier` to `orElseGet`. This way, `theorElseGet` method will only be called when the result is null.

> Relevant PR:https://github.com/apache/shardingsphere/pull/11459/files

**Avoid Frequent Concurrent calls for Java 8 ConcurrentHashMap’s computeIfAbsent**

`java.util.concurrent.ConcurrentHashMap` is commonly used in concurrent situations. Compared to `java.util.Hashtable`, which modifies all operations with synchronized, `ConcurrentHashMap` can provide better performance while ensuring thread security.

However, in the Java 8 implementation even if the key exists, the method `computeIfAbsent` of `ConcurrentHashMap` still retrieves the value in the `synchronized` code snippet. Frequent calls of `computeIfAbsent` by the same key will greatly compromise concurrent performance.

> Reference:https://bugs.openjdk.java.net/browse/JDK-8161372


=====================================================
== File: docs/blog/content/material/2023_07_07_AWS_Summit_China_2023_ShardingSphere_Highlights_and_Data_Security_Insights.md
=====================================================
+++
title = "AWS Summit China 2023: ShardingSphere Highlights and Data Security Insights"
weight = 102
chapter = true 
+++

The[ AWS Summit China 2023](https://summit.awsevents.cn/2023/index.html?source=LrHrFa/1IbfS4OOHbifTk+9EyneGcF+bqYJRUbibGWY=), held in Shanghai from June 27th to June 28th, brought together global leaders in the cloud computing sector. This two-day event featured over 100 leading companies and organizations, along with industry experts who delivered insightful speeches on reliable technology and services.

From emerging technologies like generative AI to discussions on cloud-native technology and enterprise digitalization, the summit provided a platform for knowledge sharing and collaboration.

Among the participants, the[ ShardingSphere](https://shardingsphere.apache.org/) open-source community and its PMC and[ SphereEx](https://www.sphere-ex.com/) co-founder and CTO[ Trista Pan](https://github.com/tristaZero), made their mark in the Developer Lounge, engaging with enthusiasts and sharing experiences. In this blog post, we will delve into the DevLounge's roundtable discussion on unlocking data value with open source and explore ShardingSphere's approach to data security.

![img](https://shardingsphere.apache.org/blog/img/AWS_Summit_China1.jpg) ![img](https://shardingsphere.apache.org/blog/img/AWS_Summit_China2.jpeg) ![img](https://shardingsphere.apache.org/blog/img/AWS_Summit_China3.jpeg) 

## Roundtable Discussion: How Developers Can Unlock Data Value with Open Source

### Data's Role in the Modern Era

In today's data-driven world, businesses and individuals recognize the critical role that data plays. The growth of big data and artificial intelligence has presented numerous opportunities across various application scenarios. Therefore, developers are eager to harness the power of open-source analysis to unlock the full value of data. During the panel discussion, Trista Pan shared valuable insights on this topic:

### Running a Developer Community

Trista emphasized the importance of establishing a developer community that attracts and engages participants. For the ShardingSphere open-source community, the focus lies in transforming any database into a distributed database system. Trista highlighted the need to convey the value the community brings to developers, as this is crucial in attracting more contributors. Additionally, she stressed the significance of connecting with developers and aligning their efforts with the community's goals.

### Open Source's Impact on Data Value Mining

Trista discussed the evolving perception of open source and its value for developers and society. Besides enhancing technical skills, participating in open-source projects enables developers to build a network, explore new technologies, and stay up-to-date. Open source also eliminates the need to reinvent the wheel, allowing individuals to contribute and become part of a collaborative community.

### Considerations in Mining Data Value with Open Source

Addressing the challenges in data value mining, Trista highlighted data security as a significant concern. With the rise of big data and artificial intelligence, ensuring data security has become paramount. ShardingSphere acknowledges user and customer expectations regarding data security and is actively working on enhancing it across various application scenarios.

<figure class="third">
    <img src="https://shardingsphere.apache.org/blog/img/AWS_Summit_China4.jpg" width="600" high="816.29">
    <img src="https://shardingsphere.apache.org/blog/img/AWS_Summit_China5.jpg" width="600" high="369">
    <img src="https://shardingsphere.apache.org/blog/img/AWS_Summit_China6.jpg" width="600" high="369">
</figure>

## ShardingSphere: Providing Robust Data Security Features

* **Leveraging the Strength of Open Source:** ShardingSphere utilizes the strength and transparency of open source to tackle complex data security scenarios. Its features encompass encrypted data storage, data masking, and global authority control. By leveraging open-source capabilities, ShardingSphere offers seamless data security across diverse platforms and heterogeneous environments without the need for extensive code modifications.

* **Powerful Data Security Features:** ShardingSphere provides a range of powerful features to ensure unparalleled protection in data security scenarios. These features include online data encryption, data masking, customizable algorithms, and robust key management. By employing these features, organizations can fortify their data security infrastructure and protect sensitive information.

* **Seamless Cross-platform Data Security:** Experience seamless data security across diverse platforms and heterogeneous environments without the need for code modifications

## ShardingSphere Open Source Community Gains Momentum

### Engagement at the AWS Summit China


=====================================================
== File: docs/blog/content/material/2022_07_06_ShardingSphere-JDBC_Driver_Released_A_JDBC_Driver_That_Requires_No_Code_Modifications.en.md
=====================================================
+++ 
title = "ShardingSphere-JDBC Driver Released: A JDBC Driver That Requires No Code Modifications"
weight = 65
chapter = true 
+++

## Background
`ShardingSphereDataSourceFactory` is the most basic user API of [Apache ShardingSphere
JDBC](https://shardingsphere.apache.org/document/current/en/overview/#shardingsphere-jdbc), and it is used to transform users' rule configuration objects and generate the standard implementation of the `DataSource`.

It also provides `YamlShardingSphereDataSourceFactory` for `YAML` configuration, as well as the custom namespace for the Spring and `Spring Boot Starter`.

`DataSource` is a standard Java JDBC interface. Engineers can use it to further create JDBC-compliant `Connection`, `Statement`, `PreparedStatement`, `ResultSet`, and other familiar standard objects. It is fully consistent with the implementation of the JDBC interface so there's no difference when engineers use Apache ShardingSphere-JDBC or use a native JDBC. Additionally, it can also transparently interface with various [ORM](https://stackoverflow.com/questions/1279613/what-is-an-orm-how-does-it-work-and-how-should-i-use-one) frameworks.

## Pain Points
Although the standard JDBC interface can be fully adapted during the development process, creating a `DataSource` through the ShardingSphere API can change the way the engineer originally load the database driver.

Although only a small part (one line) of startup code needs to be modified, it actually adds additional development costs for systems that would like to migrate smoothly to ShardingSphere. And for the system that cannot master the source code (such as an external sourcing system), it is truly difficult to use ShardingSphere.

[ShardingSphere](https://shardingsphere.apache.org/) has always lacked a JDBC-driven implementation largely due to its design. Java-configured ShardingSphere-JDBC can achieve programmable flexibility, but JDBC’s Driver interface does not provide much room for additional configuration.

The configuration flexibility of ShardingSphere will be greatly restricted through sole `URL` and `Properties`. Although `YAML` configuration can be better adapted to Driver’s `URL` and is more readable, it belongs to the category of static configuration and is obviously less flexible than dynamic configuration.

Therefore, ShardingSphere-JDBC uses a similar strategy of a database connection pool, bypassing the limitations of the JDBC standard interface and directly exposing the `DataSource` to the user.

However, it is almost an unbreakable barrier not to change a single line of code, which is the biggest pain point while improving ShardingSphere-JDBC’s ease of use.

## Opportunity
As [ShardingSphere-Proxy](https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-proxy-quick-start/) is developed ( the ShardingSphere client), its two major ecosystem features emerged, namely hybrid deployment and [DistSQL](https://shardingsphere.apache.org/document/5.1.0/en/concepts/distsql/).

The lightweight and high-performance features of ShardingSphere-JDBC make it more suitable for application-oriented [CRU](https://en.wikipedia.org/wiki/Create,_read,_update_and_delete)D operations. The ease of use and compatibility of ShardingSphere-Proxy makes it more suitable for DDL operations oriented toward database management and control. The two clients can be used together to complement each other, to provide a new and more complete architecture solution.

With both programming and SQL capabilities, DistSQL strikes the perfect balance between flexibility and ease of use. In an architectural model where the configuration properties of ShardingSphere-JDBC are significantly reduced, it is the best solution to use JDBC URL to connect to the governance center and DistSQL for the configuration operations.

DistSQL ensures security which Java and YAML are short of, and it naturally supports permission control and SQL auditing, and other high-order capabilities. With DistSQL, DBAs (database administrators) can operate and maintain database clusters with great ease.

## Implementation
After the preconditions were met, ShardingSphere-JDBC version 5.1.2 took the opportunity to provide a JDBC driver that can be used only through configuration changes, without requiring engineers to modify the code.

**Driver class name**
`org.apache.shardingsphere.driver.ShardingSphereDriver`
**
URL configuration description**

- Prefix: `jdbc:shardingsphere:`
- Config files: `xxx.yaml`, its format is consistent with that of `YAML` configuration.
- Load rule of config files:
If there’s no prefix, the configuration file is loaded from an absolute path (AP).

`classpath`: the prefix indicates loading the configuration file from the classpath.

=====================================================
== File: docs/blog/content/material/Jul_26_An_introduction_to_DistSQL.en.md
=====================================================
+++

title = "An Introduction to DistSQL"
weight = 16
chapter = true

+++

We believe that if you’re reading this then you’re familiar with SQL (Structured Query Language), the data query and programming language. It’s also used as the standard language of relational database management systems for accessing data, querying, updating and managing relational database systems. 

Similar to standard SQL, DistSQL, or Distributed SQL, is a built-in SQL language unique to ShardingSphere that provides incremental functional capabilities beyond standard SQL. Leveraging ShardingSphere's powerful SQL parsing engine, DistSQL provides a syntax structure and syntax validation system like that of standard SQL - making DistSQL more flexible while maintaining regularity.

ShardingSphere's Database Plus concept aims at creating an Open-Source distributed database system that is both functional and relevant to the actual database business. DistSQL is built on top of the traditional database to provide SQL capabilities that are both standards-compliant and feature ShardingSphere's functionality to better energize the traditional database.

## Original Design Intention of DistSQL

Over its rapid development years, ShardingSphere has become unique in the database middleware space as the kernel has gradually stabilized, and the core functionality has continuously been honed. As an Open-Source leader in Asia and China in particular, ShardingSphere did not stop in its exploration of a distributed database ecosystem. 

Redefining the boundary between middleware and database and allowing developers to leverage Apache ShardingSphere as if they were using a database natively is DistSQL's design goal. It is also an integral part of ShardingSphere's ability to transform from a developer-oriented framework and middleware to an operations-oriented infrastructure product.

## DistSQL Syntax System

DistSQL has been designed from the outset to be standards-oriented, considering the habits of both database developers and operators. The syntax of DistSQL is based on the standard SQL language, considering readability and ease of use, while retaining the maximum amount of ShardingSphere's own features and providing the highest possible number of customization options for users to cope with different business scenarios. Developers familiar with SQL and ShardingSphere can get started quickly.

While standard SQL provides different types of syntaxes such as DQL, DDL, DML, DCL etc. to define different functional SQL statements, DistSQL defines a syntax system of its own as well.

In ShardingSphere, the DistSQL syntax is currently divided into three main types: RDL, RQL and RAL.

RDL (Resource & Rule Definition Language): Resource rule definition language for creating, modifying and deleting resources and rules.

RQL (Resource & Rule Query Language): resource rule query language for querying and presenting resources and rules.

RAL (Resource & Rule Administration Language): resource rule administration language for incremental functional operations such as Hint, transaction type switching, and query of sharding execution plan.

DistSQL's syntax builds a bridge for ShardingSphere to move towards a distributed database, and while it is still being improved as more ideas are implemented, DistSQL is bound to get more powerful. Developers who are interested are welcome to join ShardingSphere and contribute ideas and code to DistSQL.

For more detailed syntax rules, please refer to the official documentation: [https://[shardingsphere.apache.org/document/current/cn/features/dist-sql/syntax/]()]()

For the project’s community, please refer to the official Slack channel: 
[https://join.slack.com/t/apacheshardingsphere/shared_invite/zt-sbdde7ie-SjDqo9~I4rYcR18bq0SYTg]()

## DistSQL in Practice

Having understood the design concept and syntax system of DistSQL, let’s take data sharding as an example to demonstrate how to build a data sharding service based on ShardingSphere.

### Environment preparation:
1. Start MySQL Services
2. Create a MySQL database for sharding
3. Start the Zookeeper service
4. Turn on the distributed governance configuration and start ShardingSphere-Proxy [(https://shardingsphere.apache.org/document/current/cn/quick-start/shardingsphere-proxy-quick-start/)]()

=====================================================
== File: docs/blog/content/material/2023_03_23_Managing_Metadata_in_Sharded_Database_Environments_with_ShardingSphere's_Built-in_Metadata_Function.en.md
=====================================================
+++
title = "Managing Metadata in Sharded Database Environments with ShardingSphere's Built-in Metadata Function"
weight = 93
chapter = true 

+++

Apache ShardingSphere is a popular open-source data management platform that supports sharding, encryption, read/write splitting, transactions, and high availability. The metadata of ShardingSphere comprises of rules, data sources, and table structures, which are crucial for the platform's proper functioning. ShardingSphere uses the governance center's capabilities, such as ZooKeeper and etcd, for the sharing and modification of cluster configurations to achieve the horizontal expansion of computing nodes.

In this blog post, we will focus on understanding the metadata structure of Apache ShardingSphere. We will explore the three-layer metadata structure of ShardingSphere in ZooKeeper, which includes the metadata information, built-in metadata database, and simulated MySQL database.

![img](https://shardingsphere.apache.org/blog/img/2023_03_23_Managing_Metadata_in_Sharded_Database_Environments_with_ShardingSphere's_Built-in_Metadata_Function1.png)

# Metadata Structure:

To better understand the metadata structure, we can start by examining the cluster mode of ShardingSphere-Proxy. The metadata structure of ShardingSphere in ZooKeeper has a three-layer hierarchy. The first layer is the governance_ds, which contains the metadata information, built-in metadata database, and simulated MySQL database.

```Plaintext
governance_ds
--metadata (metadata information)
----sharding_db (logical database name)
------active_version (currently active version)
------versions
--------0
----------data_sources (underlying database information)
----------rules (rules of logical database, such as sharding, encryption, etc.)
------schemas (table and view information)
--------sharding_db
----------tables
------------t_order
------------t_single
----------views
----shardingsphere (built-in metadata database)
------schemas
--------shardingsphere
----------tables
------------sharding_table_statics (sharding statistics table)
------------cluster_information (version information)
----performance_schema (simulated MySQL database)
------schemas
--------performance_schema
----------tables
------------accounts
----information_schema (simulated MySQL database)
------schemas
--------information_schema
----------tables
------------tables
------------schemata
------------columns

=====================================================
== File: docs/blog/content/material/Mar_23_DistSQL_Cluster_Governance_Capabilities.en.md
=====================================================
+++
title = "Featured update! DISTSQL cluster governance capacity detailed explanation"
weight = 37
chapter = true
+++

# Featured update! DISTSQL cluster governance capacity detailed explanation

## Background

Since the release of Apache ShardingSphere 5.0.0-Beta, DistSQL has quickly come to the forefront of users' minds and has become increasingly popular among developers and operators for its unique "dynamic, no restart" advantage and beautiful syntax that is close to standard SQL. 
With the 5.0.0 and 5.1.0 iterations, the ShardingSphere community has once again added a large amount of syntax to DistSQL, bringing many useful features.

**In this article, we will explain the latest features of DistSQL from a "cluster governance" perspective.**

## ShardingSphere Cluster

In a typical cluster consisting of ShardingSphere-Proxy, it typically contains multiple Proxies, multiple storage nodes, as shown in the figure 1.

> For communication purposes, in ShardingSphere, we refer to the Proxy as Compute Node and the distributed database resources managed by the Proxy (e.g., ds_0, ds_1), as resource or storage nodes.

![1](https://shardingsphere.apache.org/blog/img/DistSQL_Cluster_Governance_Capabilities_img_1.png)

In this case, multiple Proxies are connected to the same registry, share configuration and rules, and are aware of each other's online status. At the same time, these Proxies also share the underlying storage node, and they can simultaneously read and write to the storage node. 
At this point, a user's application connected to any of the Proxies can perform equivalent operations.

With this cluster architecture, users can quickly scale the Proxy horizontally when computing resources are insufficient, and can also reduce the risk of single point of failure and improve system availability to a certain extent.

> Mechanisms for load balancing between applications and compute nodes can also be added, and are not extended here.

## Proxy Governance

Compute node governance for Cluster mode, more information about the mode can be found in the 
"[ShardingSphere Mode Operational Mode Explained](https://mp.weixin.qq.com/s?__biz=MzUzNjgwODk2Mw==&mid=2247486083&idx=1&sn=29d58f9a41194f30c6c1c4ea272692f5&chksm=faf1d1efcd8658f9a0c669cc82d794204a61103502c702f19f5b029ba47f578be88a7d0c82b1&scene=21&cur_album_id=2127063591433371652#wechat_redirect)".

### Cluster Preparation

Here is an example of a single machine simulating three Proxies, using the following schema configuration.

```
mode:
  type: Cluster
  repository:
    type: ZooKeeper
    props:
      namespace: governance_ds
      server-lists: localhost:2181
      retryIntervalMilliseconds: 500
      timeToLiveSeconds: 60
      maxRetries: 3

=====================================================
== File: docs/blog/content/material/2023_04_11_Monitoring_SQL_Performance_with_ShardingSphere-Agent,_Prometheus_and_Grafana.en.md
=====================================================
+++
title = "Monitoring SQL Performance with ShardingSphere-Agent, Prometheus and Grafana"
weight = 95
chapter = true 
+++

![img](https://shardingsphere.apache.org/blog/img/2023_04_11_Monitoring_SQL_Performance_with_ShardingSphere-Agent,_Prometheus_and_Grafana1.png)

As business systems become more complex, users are increasingly concerned about system performance and the need to monitor relevant metrics during system operation. This includes obtaining real-time monitoring metric information, monitoring and warning of relevant issues, and combining business analysis to locate anomalies.

Application Performance Monitoring (APM) monitors and diagnoses system performance by collecting, storing, and analyzing system data that can be observed. Its main functions include performance metric monitoring, call chain analysis, and application topology maps. Generally, system operation status performance data is obtained through Metrics, Tracing, and Logging.

This article will explain how ShardingSphere-Agent collects ShardingSphere-JDBC monitoring metrics and how to display them visually.

# Implementation

There are two methods that are generally considered when collecting metrics: manually tracking events in business methods and using Java Agent for non-intrusive event tracking. Method one has too much business intrusion and is not a good choice for including non-business logic in the business. Therefore, it is generally a better choice to use Java Agent for non-intrusive event tracking.

Depending on the Java Agent, modifying the bytecode of the target for data collection is also called probe technology. ShardingSphere-Agent uses Java Agent to add an agent proxy when JVM starts and use Byte Buddy to modify the target bytecode to implant data collection logic.

# Module Introduction

`shardingsphere-agent-api`: Defines enhanced interfaces, plugin configurations, and more.

`shardingsphere-agent-core`: Defines plugin loading processes and agent entry.

`shardingsphere-agent-plugins`: Defines plugins.

This article mainly introduces the indicator plugin under the `shardingsphere-agent-plugins` module. Under this module, the indicator plugin mainly has the following modules.

- `shardingsphere-agent-metrics-core`: Indicator collection definition module
- `shardingsphere-agent-metrics-prometheus`: Indicator data exposure module

# Event Tracking Setting

Meaningful classes should be considered for tracking. For example, in ShardingSphere-JDBC, the most commonly used and important are the `ShardingSphereStatement` and `ShardingSpherePreparedStatement`. We often use the execute, `executeQuery`, and `executeUpdate` methods of these two classes to run SQL, so these methods are also the most important places we should pay attention to. The relevant metrics can be collected through these methods too.

For example, the execution time counts of these methods can be tracked. The existing indicator `jdbc_statement_execute_latency_millis logs the execute`, `executeQuery`, and `executeUpdate` methods of `ShardingSphereStatement` and `ShardingSpherePreparedStatement` and tracks the execution time of methods.

# Metrics

## ShardingSphere-JDBC Monitoring Metrics

The monitoring metrics collected by ShardingSphere-Agent comply with the **OpenMetrics** standard. The following table describes the metrics:

![img](https://shardingsphere.apache.org/blog/img/2023_04_11_Monitoring_SQL_Performance_with_ShardingSphere-Agent,_Prometheus_and_Grafana2.png)

These metrics can be used to monitor the performance of ShardingSphere-JDBC and identify any issues that may arise. The metrics are collected and displayed visually using the indicator plugin under the shardingsphere-agent-plugins module.

## JVM Monitoring Metrics

=====================================================
== File: docs/blog/content/material/Nov_22_5.0.0_New.en.md
=====================================================
+++
title = "Apache ShardingSphere 5.0.0 New Features: Middleware to Ecosystem Evolution"
weight = 26
chapter = true
+++

# Apache ShardingSphere 5.0.0 New Features: Middleware to Ecosystem Evolution

Having undergone nearly two years of development and polishing with versions 5.0.0-Alpha and 5.0.0-Beta, Apache ShardingSphere 5.0.0 GA version will finally be available in November.

Coincidentally November 10th marks the 3rd anniversary of ShardingSphere’s entry into the Apache Software Foundation. The ShardingSphere core team has been working hard together with the community to meet this special deadline and release the 5.0.0 GA version to celebrate the third anniversary with the broader community, and entire distributed database and security ecosystem.

Since the early development stages of version 5.0.0, ShardingSphere started to move away from industry positioning as a simple distributed database middleware solution. The development North-Star has been the Database Plus concept, which will allow a new positioning for 5.0.0 and development outlook for future versions.

ShardingSphere recreates the distributed pluggable system, connecting actual user implementation scenarios and contributing valuable solutions to the community and the database industry.


Database Plus sets out to build a standard layer and an ecosystem layer above the fragmented database’s basic services. A unified and standardized database usage specification is provided for upper-level applications, and the challenges faced by businesses due underlying databases fragmentation is minimized as much as possible. To link databases and applications, we use traffic and data rendering and parsing, and provide users with enhanced core features such as distributed database, data security, database gateway and stress testing. With the support of this concept, version 5.0.0 GA brings the following upgrades and optimizations:

## Architecture Layer

### Complete the pluggable kernel architecture of Database Plus

**Foundation Layer:** Provide a variety of access terminals and access forms to flexibly meet the needs of users in different scenarios.

**Plugin Layer:** As a pluggable core architecture, it provides infrastructure support.

**Function Layer:** Provide a variety of functional plug-ins that meet the needs of users, allowing users a high degree of flexibility in plug-in choice and combination.

**Product Layer:** End users are provided with industry-oriented and specific scenario-oriented standard product solutions.

![](https://shardingsphere.apache.org/blog/img/Blog_26_img_1.png)

_Multi-Access terminal mixed mode production available_

ShardingSphere JDBC and ShardingSphere Proxy have been polished and tested for two years and are now available in production. Many community users provided relevant production community cases, and production feasibility has been verified.

Additionally, SphereEx leverages the ShardingSphere ecosystem and will provide the ShardingSphere Sidecar access terminal POC Version for Cloud Native based on the ShardingSphere ecosystem at the beginning of 2022 (to do).

With the shared core architecture and different ShardingSphere adapters, users can also choose hybrid adapter deployment if their production environment requires them to do so (shown in the figure below).

![](https://shardingsphere.apache.org/blog/img/Blog_26_img_2.png)

_Standardized cluster management with DistSQL_

Apache ShardingSphere first proposed the unique SQL dialect of DistSQL (distributed SQL) to connect all elements of the ShardingSphere ecosystem together. As the standard interaction language of the ShardingSphere distributed database ecosystem, DistSQL allows users to use one SQL command to create, modify or delete a distributed database table, or to encrypt or decrypt it. DistSQL also supports distributed scheduling management.

![](https://shardingsphere.apache.org/blog/img/Blog_26_img_3.png)

_Significantly improved distributed governance capabilities_

=====================================================
== File: docs/blog/content/material/Jul_26_An_introduction_to_DistSQL.cn.md
=====================================================
+++

title = "DistSQL:像数据库一样使用 Apache ShardingSphere"
weight = 16
chapter = true

+++

Apache ShardingSphere 5.0.0-beta 深度解析的第一篇文章和大家一起重温了 ShardingSphere 的内核原理,并详细阐述了此版本在内核层面,特别是 SQL 能力方面的优化和提升。强大稳定的内核是 ShardingSphere 持续发展的基础,与此同时,ShardingSphere 在研发分布式数据库生态特性上也在努力摸索。本次 5.0.0-beta 版本发布的 DistSQL,用于搭配整个 ShardingSphere 分布式数据库体系,在提供更标准化的分布式数据库管理方式的同时,兼具灵活、便捷和优雅的特性。

本文将带领大家全面认识 DistSQL,并结合实战案例展示如何使用 DistSQL 一键管理 ShardingSphere 分布式数据库服务。

**作者|孟浩然**

SphereEx 高级 Java 工程师

Apache ShardingSphere Committer

曾就职于京东科技,负责数据库产品研发,热爱开源,关注数据库生态,目前专注于 ShardingSphere 数据库中间件开发以及开源社区建设。

## 初识 DistSQL
相信大家对 SQL(Structured Query Language)都不陌生,SQL 是一种数据查询和程序设计语言,同时作为关系数据库管理系统的标准语言,用于存取数据以及查询、更新和管理关系数据库系统。

和标准 SQL 类似,DistSQL(Distributed SQL),即分布式 SQL,是 ShardingSphere 特有的一种内置 SQL 语言,能够提供标准 SQL 之外的增量功能操作能力。借助于 ShardingSphere 强大的 SQL 解析引擎,DistSQL 提供了类似于标准 SQL 的语法结构和语法校验体系,在保证规范化的同时,也让 DistSQL 更加灵活。

ShardingSphere 提出的 Database Plus 理念,旨在打造兼具数据库且贴合实际业务需求的开源分布式数据库体系,而 DistSQL 正是在传统数据库上层构建,提供既贴合标准又拥有 ShardingSphere 功能特色的 SQL 能力,能更好的为传统数据库赋能。



## DistSQL 设计初衷
ShardingSphere 快速发展的几年来,随着内核的逐步稳定,以及对核心功能的持续打磨,在数据库中间件领域,已然独树一帜。作为国内开源的佼佼者, ShardingSphere 在分布式数据库生态的探索中并没有停止脚步,打破中间件和数据库之间的界限,让开发者像使用数据库一样使用 Apache ShardingSphere,是 DistSQL 的设计目标,也是 ShardingSphere 从面向开发人员的框架和中间件转变为面向运维人员的基础设施产品不可或缺的能力。

## DistSQL 语法体系
DistSQL 在设计之初,就以面向标准为目标,充分考虑数据库开发和运维人员的使用习惯,所以 DistSQL 的语法全面借鉴标准 SQL 语言,兼顾可读性和易用性的同时,最大程度保留 ShardingSphere 自身的特性,并为使用者提供最宽泛的自定义边界,以应对不同的业务场景。对于熟悉 SQL 和 ShardingSphere 的开发者,可以快速入手。

标准的 SQL 提供了如 DQL、DDL、DML、DCL 等不同类型的语法,用于定义不同功能的 SQL 语句,DistSQL 也定义了一套自己的语法体系。

在 ShardingSphere 中, DistSQL 的语法目前主要划分为 RDL、RQL 和 RAL 三种类型:

- RDL(Resource & Rule Definition Language):资源规则定义语言,用于资源和规则的创建、修改和删除;

- RQL(Resource & Rule Query Language):资源规则查询语言,用于资源和规则的查询和展现;

- RAL(Resource & Rule Administration Language):资源规则管理语言,用于 Hint、事务类型切换、分片执行计划查询等增量功能操作。

DistSQL 的语法体系为 ShardingSphere 迈向分布式数据库搭起了桥梁,目前还在持续完善中,随着更多的想法被实现,DistSQL 势必会越来越强大。也欢迎对此感兴趣的开发者加入 ShardingSphere,为 DistSQL 提供想法,贡献代码。

了解更详细的语法规则,可参考官方文档:[https://shardingsphere.apache.org/document/current/cn/features/dist-sql/syntax/
](https://shardingsphere.apache.org/document/current/cn/features/dist-sql/syntax/)
## DistSQL 实战

=====================================================
== File: docs/blog/content/material/graduate.en.md
=====================================================
+++
title = "Congratulations on graduation of Apache ShardingSphere as a Top-Level Project!" 
weight = 11
chapter = true
+++

Apache Software Foundation (ASF), The most popular open-source software foundation, announced Apache ShardingSphere as a Top-Level Project (TLP) on Wakefield, MA, 16th April 2020.

ShardingSphere entered into the Apache incubator since 10th November 2018. With the help of mentors and the whole community, The Apache board approved its graduation proposal with 10 +1 votes successfully, which ends up its 17 months incubator and promotes it as TLP.

As the first project graduating from Incubator in 2020, this cheering news was published subsequently on Apache official blog with the support of Sally Khudairi, Vice President Marketing & Publicity of ASF.

Apache ShardingSphere was born in dangdang.com, grew up fastly in JD.com, and now becomes a famous Apache distributed database middleware ecosystem. The evolvement from a light JDBC driver into an ecosystem presents the efforts and enthusiasm of the whole community in the past 17 months.

Special thanks for the guidance from IPMCs, mentors. Many thanks for contributions from 120+ committers all over the world. What's more, we are glad to see the community still move actively during the coronavirus outbreak. 

=====================================================
== File: docs/blog/content/material/2022_05_24_Your_Guide_to_DistSQL_Cluster_Governance_Capability_Apache_ShardingSphere_Feature_Update.en.md
=====================================================
+++ 
title = "Your Guide to DistSQL Cluster Governance Capability——Apache ShardingSphere Feature Update"
weight = 57
chapter = true 
+++

Since Apache ShardingSphere 5.0.0-Beta version included DistSQL, it made the project increasingly loved by developers and Ops teams for its advantages such as dynamic effects, no restart, and elegant syntax close to standard SQL.

With upgrades to 5.0.0 and 5.1.0, the ShardingSphere community has once again added abundant syntax to DistSQL, bringing more practical features.

In this post, the community co-authors will share the latest functions of DistSQL from the perspective of “cluster governance”.

## ShardingSphere Cluster
In a typical cluster composed of ShardingSphere-Proxy, there are multiple `compute nodes` and storage nodes, as shown in the figure below:

To make it easier to understand, in ShardingSphere, we refer to Proxy as a compute node and Proxy-managed distributed database resources (such as `ds_0`, `ds_1`) as `resources` or `storage nodes`.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i233gunx5u6tr3xej822.png)
 

Multiple Proxy or compute nodes are connected to the same register center, sharing configuration, and rules, and can sense each other’s online status.

These compute nodes also share the underlying storage nodes, so they can perform read and write operations to the storage nodes at the same time. The user application is connected to any compute node and can perform equivalent operations.

Through this cluster architecture, you can quickly scale Proxy horizontally when compute resources are insufficient, reducing the risk of a single point of failure and improving system availability.

The load balancing mechanism can also be added between application and compute node.

**Compute Node Governance**
Compute node governance is suitable for Cluster mode. For more information about the ShardingSphere modes, please see [Your Detailed Guide to Apache ShardingSphere’s Operating Modes](https://medium.com/codex/your-detailed-guide-to-apache-shardingspheres-operating-modes-e50df1ee56e4).

**Cluster Preparation**
Take a standalone simulation of three Proxy compute nodes as an example. To use the mode, follow the configuration below:

```yaml
mode:
  type: Cluster
  repository:
    type: ZooKeeper
    props:
      namespace: governance_ds
      server-lists: localhost:2181
      retryIntervalMilliseconds: 500
      timeToLiveSeconds: 60
      maxRetries: 3
      operationTimeoutMilliseconds: 500
  overwrite: false
```
Execute the bootup command separately:

```bash

=====================================================
== File: docs/blog/content/material/2022_04_18_Apache_ShardingSphere_5.1.1_Is_Available.en.md
=====================================================
+++ 
title = "Apache ShardingSphere 5.1.1 Is Available"
weight = 50
chapter = true 
+++

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kabom19xrf3ch18gfrk4.png)
> In less than two months since the release of Apache ShardingSphere 5.1.0, our community has merged 698 PRs from teams or individuals around the world to bring you the new 5.1.1 release. This release has a number of optimizations in terms of features, performance, testing, documentation, examples and more.

> The performance aspect deserves special mention, as we adopt the industry-standard TPC-C test model to run Apache ShardingSphere 5.1.1 and the openGauss 3.0 database on 16 physical servers, achieving over 10 million tpmC, the best performance in the industry at the same scale!

> This article is an overview of the ShardingSphere 5.1.1 update.

Apache ShardingSphere 5.1.1 update optimizes the functionality and performance of 5.1.0, and fixes some issues. The following will give you a general overview of some of the updates.

## Kernel
The kernel is ShardingSphere’s foundation, and it remains our goal to build a fully functional and stable kernel with high performance. In 5.1.1, ShardingSphere optimizes a lot of logic at the kernel level, fixing the problems found in different scenarios in the previous version, including data sharding, read/write splitting, data encryption, and improved the performance of each scenario to varying degrees.

In terms of database dialects, the kernel improves the support for [MySQL](https://www.mysql.com/) tablespaces and improves SQL support for [Oracle](https://www.oracle.com/database/), [SQL Server](https://www.microsoft.com/en-us/sql-server/sql-server-downloads), [PostgreSQL](https://www.postgresql.org/), [openGauss](https://opengauss.org/en/), and other databases. Additionally, the initial support for PostgreSQL / openGauss schema, a three-tier structure, has been implemented in the ShardingSphere kernel and will be improved with the future releases.

## Interface
This update fixes a potential performance risk for ShardingSphere-JDBC, optimizes the non-essential interaction logic between internal ShardingSphere-JDBC and the database connection pool, and reduces the performance overhead of ShardingSphere-JDBC.

In terms of ShardingSphere-Proxy, support for MySQL / PostgreSQL data types has been improved. The occasional `ResultSet` closed error for ShardingSphere-Proxy MySQL has been fixed, and ShardingSphere-Proxy MySQL also has initial support for executing multiple statements at the protocol level to improve the performance of batch operations.

In terms of client support, ShardingSphere-Proxy PostgreSQL improves the support for PostgreSQL JDBC Driver 42.3.x, and ShardingSphere-Proxy openGauss improves the support for openGauss JDBC Driver 3.0.

## Elastic Scale-out
In this update, in addition to fixing the problem that migration tasks cannot be restarted by DistSQL after reporting errors, the elastic scaling has been improved and new features of stop source writing, resume source writing, and partial tables scaling have been implemented. For cases that do not meet the migration conditions, elastic scale-out can fail quickly and find out the problem in time to avoid extra time costs for users.
 

## DistSQL
DistSQL has been optimized in terms of user experience, adding more calibration and reducing the possibility of user configuration errors in using DistSQL. We also fixed an issue where some user input conflicted with DistSQL keywords.

## Distributed Governance
In terms of read/write splitting and database discovery, in addition to the original MGR, MySQL adds a new database discovery method by querying primary-secondary delay, which can automatically switch read/write splitting data sources by getting the secondary delay, reducing the threshold for users to use dynamic read/write splitting.

In cluster mode, the metadata storage structure has been optimized and reconstructed, and the problems caused by ZooKeeper session timeout and case mismatch on table names have been fixed.

## Distributed Transactions
In terms of transactions, ShardingSphere-JDBC adds support for Savepoint, and ShardingSphere-Proxy adds support for Savepoint in XA scenarios, in addition to the original support for `Savepoint` for `LOCAL` transactions.

When Narayana is used as an XA implementation, ShardingSphere supports the configuration of Narayana to make the use of XA more conveniently.

With PostgreSQL / openGauss, when an exception occurs in a transaction, ShardingSphere can properly abort the transaction and automatically roll back.

The above is an introduction to some of the updates to Apache ShardingSphere 5.1.1, please refer to the update log for details. The ShardingSphere community will be releasing detailed explanations of some of these features, so stay tuned.

ShardingSphere 5.1.1 has no changes at the API level but has made many improvements in functionality and performance — you’re welcome to try it out.


=====================================================
== File: docs/blog/content/material/2022_06_10_Apache_ShardingSphere_Enterprise_Applications_Bilibili.en.md
=====================================================
+++ 
title = "Apache ShardingSphere Enterprise Applications — Bilibili"
weight = 60
chapter = true 
+++

> To further understand application scenarios, and enterprises’ needs, and improve dev teams’ understanding of Apache ShardingSphere, our community launched the “Enterprise Visits”
> series.


[Apache ShardingSphere](https://shardingsphere.apache.org/)’s core contributor team was invited to the headquarters of [Bilibili](https://www.bilibili.com/) in Shanghai. Our PMC Chair, Zhang Liang, discussed with Bilibili’s tech team the e-commerce and digital entertainment verticals application scenarios, and the capabilities of different versions of ShardingSphere.

With the unprecedented growth of data volume and increasingly diversified data application scenarios, different platforms, businesses, and scenarios have resulted in database applications’ fragmentation. The challenges facing databases today are totally different from the ones they were conceived to solve. This is also reflected in the growth of Bilibili’s e-commerce business.

For over a decade, Bilibili has built an ecosystem community centered on users, creators, and content, while producing high-quality videos as well. With an increasing number of users, Bilibili has also gradually developed peripheral business ecosystems such as its subscription revenue model. The expansion of business lines and application scenarios brought great challenges for Bilibili’s tech team, especially in the management and application of backend data.

During the visit, our community and Bilibili mainly discussed these three points:

## The SQL warm-up feature jointly built with Bilibili:
When Bilibili queries goods and orders with batch priority in its business, it is often necessary to manually warm-up SQL during the initial linking process to improve overall performance. However, in the process of manual warm-up, parameters of different lengths cannot be used as a SQL to warm-up due to the use of `foreach` syntax of the [Mybatis](https://mybatis.org/mybatis-3/index.html) framework.

Apache ShardingSphere can see the SQL execution plan through the `preview`, thus warming up the SQL. In the future, we plan to provide a separate SQL warm-up interface and merge the SQL warm-up time into the startup time. ShardingSphere will start on its own after SQL is warmed up.

[Apache ShardingSphere](https://shardingsphere.apache.org/) is an open-source project driven by the needs of the community. Currently, many capabilities’ development is driven by specific user requirements, which are fed back to the community after development and gradually integrated into Apache ShardingSphere.

Therefore, the ShardingSphere community invited Bilibili’s tech team to get involved in terms of the SQL warm-up feature.

With the expansion of Apache ShardingSphere’s application scenarios, there is a higher expectation for ShardingSphere’s capabilities to adapt to a variety of special business scenarios. In the previous “Enterprise Visits” series, the ShardingSphere community recognized that even though it has more than 100 feature modules, enterprises from various verticals have different expectations from ShardingSphere.

## Bilibili’s circuit breaker automation in traffic spike scenarios:

With the growth of Bilibili’s e-commerce scale, as is often the case with many e-commerce businesses, started to adopt front-end strategies such as cash rebates and flash deals in order to improve user retention.

On the backend, however, when the rebate performance of the warehouse is equal to the number of concurrent transactions while exceeding its own connection number limit, it can only be stopped through manual disconnection via DBA based on the number of SKU at the business level. Manual intervention is inefficient and consumes DBAs’ energy, so [ShardingSphere-Proxy](https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-proxy-quick-start/) is expected to provide an automatic circuit breaker capability.

However, the flash deal scenario is too demanding, so [Redis](https://redis.io/) still represents a better choice. Achieving automation simply requires setting rules and thresholds.

Sinking data to Proxy can also achieve the capabilities of Redis, but no matter how the upper layer changes, the bottom of the database will not change. Therefore, it is better for DBAs to take the initiative to operate the circuit breaker mechanism. Otherwise, after setting a threshold, if the connection between the application and the database has a slight timeout, a large number of transactions will be cut off instantly, which can easily cause a business outage.

Currently, a better way is to dig out all kinds of key information and display it on the visual interface based on Proxy, to facilitate the real-time comparison and operation of DBA instead of achieving automation.

## The Apache ShardingSphere registry:
In the Apache ShardingSphere architecture, the registry provides distributed governance capabilities and is fully open to users since its computing node ([Shardingsphere-proxy](https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-proxy-quick-start/)) is stateless without data storage capability. Therefore, user accounts and authorization information need to be stored in the registry.

Concurrently, with the help of the registry, Apache ShardingSphere can distribute information to multiple computing nodes in the cluster in real-time, greatly reducing maintenance costs for users when using the cluster and improving management efficiency.

In cluster mode, Apache ShardingSphere integrates third-party registry components [ZooKeeper](https://zookeeper.apache.org/) and [Etcd](https://etcd.io/) to achieve metadata and configuration sharing in the cluster environment. At the same time, with the help of the notification and coordination ability of the registry, it ensures the real-time synchronization of the cluster when the shared data changes. And the business will not be aware of changes from the registry.

## Q&A with Bilibili
**Q: Is there a performance loss when using JDBC to connect to the governance center?**

=====================================================
== File: docs/blog/content/material/2022_03_09_SQL_Parse_Format_Function_A_Technical_Deep_Dive_by_Apache_ShardingSphere.en.md
=====================================================
+++ 
title = "SQL Parse Format Function — A Technical Deep Dive by Apache ShardingSphere"
weight = 40
chapter = true 
+++

Complicted SQL statements are some of the most common problems that data scientists and engineers encounter. For example, can you comprehend at first glance the complex SQL statement below?

```sql
select a.order_id,a.status,sum(b.money) as money from t_order a inner join (select c.order_id as order_id, c.number * d.price as money from t_order_detail c inner join t_order_price d on c.s_id = d.s_id) b on a.order_id = b.order_id where b.money > 100 group by a.order_id
```

How about formatting it? Is it easier to understand the formatted formatted version below?

```sql
SELECT a . order_id , a . status , SUM(b . money) AS money
FROM t_order a INNER JOIN
(
SELECT c . order_id AS order_id, c . number * d . price AS money
FROM t_order_detail c INNER JOIN t_order_price d ON c . s_id = d . s_id
) b ON a . order_id = b . order_id
WHERE
b . money > 100
GROUP BY a . order_id;
```

The first step to parse such a complex SQL is always formatting, and then its SQL semantics can be parsed based on the formatted content. SQL Formatter is, therefore, one of the essential functions of for any database software.

Accordingly, [Apache ShardingSphere](https://shardingsphere.apache.org/) now offers a SQL formatting tool called SQL Parse Format that depends on ShardingSphere’s SQL dialect parser.

**SQL Parse Format is an important function of the ShardingSphere Parser Engine, and also lays the foundation for ShardingSphere’s SQL Audit (TODO).** This article offers a deep dive into the SQL Parse Format function:

- What’s its core concept?
- How you can use it?
- How can you develop SQL Parse Format?

## Parser Engine

To begin, we need to introduce more about Apache ShardingSphere’s Parser Engine because SQL Parse Format is a unique and relatively independent function of the parser engine.

Apache ShardingSphere developed the parser engine to extract key information in SQL, such as fields of data shards and rewritten columns for data encryption. So far, Apache ShardingSphere’s parser engine has undergone three iterations.

The initial parser engine leveraged [Druid](https://druid.apache.org/) as its SQL parser and performed quite well before ShardingSphere Version 1.4.x.

Later the ShardingSphere community decided to develop its second-generation parser engine on its own. Since the use purpose was changed, ShardingSphere adopted another approach to comprehend SQL: only the contextual information that data sharding needs was extracted, without generating a parse tree or a secondary traversal, to improve performance and compatibility.

Currently, the third generation of ShardingSphere Parser Engine uses [ANTLR](https://www.antlr.org/) as the parse tree generator and then extracts the contextual information by doing a secondary tree traversal. It is substantially compatible with more SQL dialects, which further accelerates developing other functions in Apache ShardingSphere.

In version 5.0.x, ShardingSphere developers further enhanced the performance of the newest parser engine by changing its tree traversal method from Listener to Visitor and adding parsing results cache for pre-compiled SQL statements.


=====================================================
== File: docs/blog/content/material/Oct_12_2_A_Distributed_Database_Middleware_Ecosystem_Driven_by_Open_Source.en.md
=====================================================
+++
title = "A Distributed Database Middleware Ecosystem Driven by Open Source"
weight = 18
chapter = true
+++

On July 21, 2021, Pan Juan, the SphereEx Co-Founder and Apache ShardingSphere PMC, was invited to give a keynote session at the 2021 AWS Cloud Summit Shanghai, on “Apache ShardingSphere: Open-Source Distributed Database Middleware Ecosystem Building”.

She introduced the expansion of the Open-Source project, community building, and how ShardingSphere practices the “Apache Way”. This article is a summary of Pan Juan’ s ideas.

## A New Ecosystem Layer Positioned Above the Database & Under Business Applications


Different industries, different users, different positionings, different requirements. Today’s databases are faced with more complex data application scenarios, and increasingly personalized and customized data processing requirements than in the past. Demanding environments are driving different databases to continuously maximize data read and write speed, latency, throughput, and other performance indicators.

Gradually, data application scenarios with a clear division of labor lead to the fragmentation of the database market, and it is difficult to produce a database that can perfectly adapt to all scenarios. Therefore, it’s very common for enterprises to choose different databases in different business scenarios.

Different databases bring about different challenges. From a macro perspective, there are some commonalities among these challenges, and it’s possible to base on the commonalities and form a set of factual standards. When you can build a platform layer that can uniformly apply and manage data on top of these databases, even if underlying database differences still exist, you can develop a systemin accordance with certain fixed standards. This standardized solution will greatly reduce the pressure and the learning cost for users managing basic data facilities.

Apache ShardingSphere is the platform layer. Thanks to its repurposing of an original database, it can help a technical team develop incremental capabilities such as fragmentation, encryption, and decryption, etc. It does not need to consider the configuration of an underlying database and can shield users’ perception. Therefore, it can quickly connect business-oriented databases in a direct way and easily manage large-scale data clusters.  

## How to Practice the Apache Way

When a business grows bigger, one database can no longer support a large volume of business data and thus it’s necessary to expand the database horizontally. That is the problem of distributed management. ShardingSphere builds a hot-plugging function layer above a database, while providing traditional database operations, shields users’ perception of the underlying database changes, and enables developers to manage large-scale database clusters by using a single database. ShardingSphere mainly includes the following four application scenarios:

* **Sharding Strategy**

When the volume of a business increases, the pressure of data fragmentation will increase, and thus its fragmentation strategy will become increasingly complex. ShardingSphere enables users to unlock more fragmentation strategies apart from horizontal scaling in a flexible and scalable way at the minimum cost. It also supports custom scaling.

* **Read and Write Splitting**

Usually, master-slave deployment can effectively relieve database pressure, but if there is a problem in a machine or a table of a certain cluster, it’s impossible to have read and write operations, and this problem will have a great impact on the business. To avoid this, developers usually need to rewrite a set of highly available strategies to change the position of master/slave between read and write tables. ShardingSphere can automatically explore all cluster states, so it can immediately find problems such as unreliable requests, and master-slave switching of a database. It also can automatically restore the old master/slave state, which cannot be perceived by the user.

* **Sharding Scaling**

As a business grows, it’s necessary to split data clusters again. ShardingSphere’s The scaling component enables a user to start a task with only one SQL command and shows the running status in real time in the background. Thanks to the “pipeline-like” scaling, the old database ecosystems are connected to a new database ecosystem . 

* **Data Encryption and Decryption**

In terms of database applications, encryption and decryption of key data is very important. If a system fails to monitor data in a standardized way, some sensitive data may be stored as plaintext, and users would need to encrypt them later. It’s a common problem for many teams.

ShardingSphere standardizes the capability and integrates it into its middleware ecosystem, and therefore it can automate new/old data desensitization and encryption/decryption for users. The whole process can be achieved automatically. At the same time, it has a variety of built-in data encryption and decryption/desensitization algorithms, and users can customize and expand their own data algorithms if necessary.

## A Pluggable Database Plus Platform

Faced with various requirements and usage scenarios, ShardingSphere provides developers of different fields with three accesses: JDBC for Java, Proxy for heterogeneous databases and Sidecar for Cloud. Users can make a choice based on what they need, and operate on fragmentation, read and write separation, and data migration of original clusters.

* **JDBC Access:** an enhanced JDBC driver that allows users to fully use JDBC mode, because it is compatible with JDBC and various ORM frameworks. Thus, without additional deployment and dependence required, users can realize distributed management, horizontal scaling, desensitization and so forth.

* **Proxy Access:** a simulation database service that uses Proxy to manage underlying database clusters, which means that users do not need to change their existing mode .

=====================================================
== File: docs/blog/content/material/2022_04_26_How_to_Use_ShardingSphere-Proxy_in_Real_Production_Scenarios_Your_Quick_Start_Guide.en.md
=====================================================
+++ 
title = "How to Use ShardingSphere-Proxy in Real Production Scenarios—Your Quick Start Guide"
weight = 52
chapter = true 
+++

This post analyzes ops & maintenance solutions with experiences taken from real production scenarios for data sharding and other functions provided by ShardingSphere-Proxy Version 5.1.0.

> Unless otherwise specified, in the following examples, when we say “database” we refer to [MySQL](https://www.mysql.com/).

## What does ShardingSphere-Proxy do?
ShardingSphere-Proxy allows users to use Apache ShardingSphere just as if it were a native database.

To gain a better understanding of what’s ShardingSphere-proxy, let’s take a look at its definition provided, by [Apache ShardingSphere’s official website](https://shardingsphere.apache.org/):

> ShardingSphere-Proxy is a transparent database proxy that provide a database server containing database binary protocols designed to support heterogeneous languages.
> Currently, it supports MySQL and [PostgreSQL](https://www.postgresql.org/) (and PostgreSQL-based databases, such as [openGauss](https://shardingsphere.medium.com/apache-shardingsphere-opengauss-breaking-the-distributed-database-performance-record-with-10-b8ced05daa37)) and any related terminals (such as MySQL Command Client, https://blog.devart.com/mysql-command-line-client.html Workbench, etc.) that are compatible with MySQL or PostgreSQL protocols to operate data. It’s a DBA-friendly tool.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sg8ghvpviaiw2susvnue.png) 

It’s worth noting that ShardingSphere-Proxy is a service process. In terms of client-side program connections, it is similar to a MySQL database.

## Why you need ShardingSphere-Proxy
ShardingSphere-Proxy is a good choice when:

- sharding rules or other rules are used; because data will be distributed across multiple database instances, inevitably making management inconvenient.
- non-Java developers need to leverage ShardingSphere capabilities.

## 1. Application scenarios
There are many scenarios where ShardingSphere-JDBC is used for data sharding. If you have a user table and need to perform horizontal scaling with Hash for the User ID property, the way the client connects to the database is like this:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k5dn7agg5qthn1486q5h.png)
 

Below are three real production scenarios:

1. A testing engineer wants to see the information of user ID 123456 in databases & tables, and you need to tell the engineer which subtable the user is in.
2. You need to find out the total user growth in 2022 and overall user information for drafting a yearly report.
3. Your company is going to hold its 8th-anniversary event and you are required to provide a list of active users who have been registered for over 8 years.
Since the data is distributed across database shards and table shards, it is not easy to complete the above-mentioned tasks. If you develop code every time to satisfy these temporary requirements, it’ll be inefficient to say the least. ShardingSphere-Proxy is perfect for these scenarios.

ShardingSphere-Proxy hides the actual backend databases, so the user operates the client side the same way as a database.

For example, `t_user` is split into several real tables at the database level, that is from `t_user_0` to `t_user_9` . While operating ShardingSphere-Proxy on the client side, the user only needs to know one logical table `t_user`,and routing to the real tables is executed inside ShardingSphere-Proxy.

**1. Logical table:** The logical name of the horizontally-scaled databases/tables with the same structure. A logical table is the logical identifier of tables in SQL. For example, user data is sharded into 10 tables according to the significant digits of the primary key, that is, `t_user_0` to `t_user_9` , and their common logical table is named `t_user`.

**2. Actual table:** The physical table actually exists in databases after scale-out, that is, the above-mentioned `t_user_0` to `t_user_9` .
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e6a21633x6ph20liulvx.png)
 

## 2. The differences between ShardingSphere-JDBC and ShardingSphere-Proxy

=====================================================
== File: docs/blog/content/material/proxy.en.md
=====================================================
+++
title = "Revealing Sharding-Proxy —— Database Middleware Oriented DBA"
weight = 1
chapter = true
+++

### Lecturer introduction

**Yonglun Zhang**: Senior software engineer of operation and maintenance department at JD Finance

He has been working on software development for years engaged in traditional Industry.  Afterwards he was involved in Internet and started his web crawler career at JD Finance, sigh at the huge amount of Internet data since then. It's great honor to join ShardingSphere this year and be able to do what he is interested in, he hopes to improve himself and contribute to the community.

Hello everyone, I'm so glad to show you Sharding-Proxy, which is the second product of ShardingSphere. 

It was first released with ShardingSphere 3.0.0.M1 last month. I hope you can have visualize of overall view for Sharding-Proxy through several optimizing practices. With regard to topics of MySQL protocol, IO, Netty, etc. I'll share related themes next time.


### 01 Sharding-Proxy Introduction

  

#### 1\. Sharding-Proxy Overview

ShardingSphere-Proxy defines itself as a transparent database proxy, providing a database server that encapsulates database binary protocol to support heterogeneous languages. Friendlier to DBA, the MySQL version provided now can use any kind of terminal (such as MySQL Command Client, MySQL Workbench, etc.) that is compatible of MySQL protocol to operate data.

*   Totally transparent to applications, it can be used directly as MySQL.
    
*   Applicable to any kind of terminal that is compatible with MySQL and PostgreSQL protocol.
    

![](https://shardingsphere.apache.org/blog/img/proxy1.jpg)

Comparison with Sharding-JDBC & Sharding-Sidecar: 

![](https://shardingsphere.apache.org/blog/img/comparsion_en.jpg)

They can work individually and cooperate each other, which achieve same purpose through different architecture and point of penetration. Its core functions based on same implementation, such as data sharding, replica query and base transaction. 

For instance, Sharding-JDBC highly supports many kinds of ORM framework for Java development technology stack scenarios. It's quite convenient to import data sharding ability to your system. DBA retrieves and manages data by deploying a Sharding-Proxy instance.

#### 2\. Sharding-Proxy Architecture

![](https://shardingsphere.apache.org/blog/img/proxy_architecture1_en.jpg)

The whole architecture can be divided into three components: Frontend, Core-module and Backend: 

*   Frontend: It's responsible for communication with client, based on NIO client/server framework.  It adopts to NIO on Windows and Mac, adaptive to Epoll automatically on Linux, and completes to the encoding/decoding of MySQL protocol in the process of communication.

*   Core-module: After getting decoded command of MySQL, it starts to parse/rewrite/route/conflate SQL through Sharding-Core.
   

=====================================================
== File: docs/blog/content/material/realization.en.md
=====================================================
+++
title = "The quick explanation of ShardingSphere transaction module"
weight = 2
chapter = true
+++

<!-- ## 分布式事务在Sharding-Sphere中的实现 -->
### Lecturer
<!-- ### 讲师简介 -->

<!-- **赵俊** -->
**Jun Zhao**

Work at JD Finance
<!-- 京东金融 -->
Senior Java Development Engineer
<!-- 高级Java开发工程师 -->

<!-- - 多年互联网开发经验,热爱开源技术,对分布式存储有浓厚的兴趣。熟悉ElasticSearch、HBase、Presto、Storm等离线和实时数据处理 -->
- Years of internet development experience, love open source technology, full of interested in distributed storage. And familiar with online and realtime data processing with ElasticSearch, HBase, Presto, Storm and et.

<!-- - 目前主要在Sharding-Sphere团队负责分布式事务的开发 -->
- Be responsible for distributed transaction implementation in Sharding-Sphere team.

### Using Scenarios of Distributed Transaction
<!-- ### 分布式事务的使用场景 -->

#### ACID

<!-- 一切从ACID开始说起。ACID是本地事务所具有的四大特征: -->
 Everything starts with ACID(atomicity, consistency, isolation, durability). ACID are features of database local transaction as following,

<!-- *   **Atomicity:原子性** -->
*   **Atomicity**

Atomicity guarantees that each transaction is treated as a single "unit", which either succeeds completely, or fails completely.
    <!-- 事务作为整体来执行,要么全部执行,要么全不执行。 -->

<!-- *   **Consistency:一致性** -->
*   **Consistency**

    <!-- 事务应确保数据从一个一致的状态转变为另一个一致的状态。 -->

Consistency ensures that a transaction can only bring the database from one valid state to another.

<!-- *   **Isolation:隔离性** -->
*   **Isolation**

Transactions are often executed concurrently, and the effects of an incomplete transaction might not even be visible to other transactions.
    <!-- 多个事务并发执行时,一个事务的执行不应影响其他事务的执行。 -->

=====================================================
== File: docs/blog/content/material/community.cn.md
=====================================================
+++
title = "Apache ShardingSphere 社区的探索与拓展"
weight = 9
chapter = true
+++


Apache ShardingSphere 社区受邀参与了11月9日在清华大学举办的《 Apache Event——走进 Apache 开源软件社区》的分享活动。在活动中 Apache ShardingSphere 社区的PPMC张亮分享了《 Apache ShardingSphere 社区的探索与拓展》这个话题,下面呈现分享的主要内容。

### 01 为什么要做开源 ###

做开源对于个人来讲,能获得两方面的收益:更好的职业生涯和享受乐趣。  

![](https://shardingsphere.apache.org/blog/img/commu1.jpg)

\-1- 更好的职业生涯

1\. 职位需求多。企业对于开源岗位有很强的招聘需求。开源能够给公司带来很多价值,如:通过开源项目搭建云服务平台并提供增值服务、让开源项目本身的质量得以提升、提升公司的是技术影响力等。开源的职位往往与技术和社区本身关联性高、不受地域限制,属于一个比较自由的职位。

2\. 自身技能提升。包括技术能力和软技能的提升。通过参与顶级的开源项目,技术的提升自不必说,其他的软技能也会得到相应的提升,如英语、协作能力、运营推广能力等。如果是打造全新的开源项目,从零到一的开创能力也会得到极大的提升。

3\. 人际关系拓展。开源参与者的职业生涯将不再仅关注薪水、KPI等与工作本身强相关的事情。纯粹的技术交流、各种会议的分享、写作邀请、甚至资本注入等各种与行业相关的连接会被逐渐扩展,参与国际的开源项目还会认识更多的国际友人。正所谓低头做技术,抬头看世界。参与开源,认识更多的人,为今后职业生涯的发展提供更多可能性。

4\. 个人品牌打造。开源的工作,其过程和成果都是公开的,这就意味着参与者的所有努力都可以被任何人在任何时间看得到,是永久留存的记录。而公司内部的私有项目风险比开源项目相对来说要大很多,私有项目的评断标准取决于项目负责人的认可,如果项目责任人不认可,那么参与者的价值就趋近于零。开源项目则不同,正是因为参与者的价值能够在一个公开的平台去展现,价值的评断不取决于一个相对狭小的范围。

\-2- 享受乐趣

1\. 成长的乐趣。真正喜欢去做一件事情的人,会在成长中体会到乐趣。软件开发行业是要需要从业者发挥自驱力的行业,遵从内心的喜欢编程,是在这个行业中取得成功的捷径。喜欢编程的人,自然能够体会自身成长所带来的乐趣。

2\. 成就感。行业的认同,会在成长的同时获得成就感。无论是个人自身的成就感,还是项目提升带来的成就感,都是职业生涯中快乐的源泉。当你所做的东西,被同好者广泛认可的时候,成就感会油然而生。

### 02 Apache 软件基金会项目简介 ###

Apache 软件基金会是一个非盈利组织。从1999年至今的20年时间里,产出了无数影响软件行业的项目。在几百个 Apache 软件基金会项目中,我们可以浏览一下几个非常著名的项目:Apache Tomcat、Apache Commons、Apache Maven、Apache Hadoop、Apache Kafka、Apache Spark、Apache Zookeeper等等。Apache 软件基金会的项目成为了开发者日常工作的基石。毫不夸张的说,如果以上项目,您一个都没听说过的话,那么可能很难拿到任何一家公司的Java后端或大数据类Offer。

近年来,来自中国的 Apache 项目也越来越多了,截止到目前为止,已经有19个来自中国的项目进入了 Apache 软件基金会,其中有9个项目已经毕业成为顶级项目,还有10个项目正在孵化中。对于没有在西方社会工作过的人来说,参与一个国际化的开源项目的门槛有点高,因此,来自中国的 Apache 软件基金会项目对于想参与开源的国内同学是一个巨大的福音。这些项目能够提供一个有效的缓冲带,让一些初入社区且找不到门路的同学能够以熟悉的母语快速的进入国际化的开源社区。来自中国的 Apache 软件基金会项目,与来自西方的Apache软件基金会项目在流程、规范、法务等方面并无不同,唯一的区别是能在社区中找到可以说汉语的人,拉进沟通交流的举例,并进一步的了解 Apache 社区的运作模式,为以后参与其他国际化项目打好基础。

### 03 Apache ShardingSphere 简介 ###

Apache ShardingSphere 是 19 个来自中国的 Apache 软件基金会项目之一,目前正在孵化器中。Apache ShardingSphere 是一个微内核且可高度扩展的数据库中间件。它的内核微小而稳定,但却提供可无限扩展的平台,因此它非常适合与开放的社区一起成长,并近乎于无限的拓展其功能范围。

Apache ShardingSphere 开源将近4年了,它的外部使用相当广泛,目前有100+公司明确的声明正在使用中,并未声明的公司不计其数,无法准确的统计。已经记录在册的公司涵盖了各行各业,有互联网、互联网金融、在线教育、企业服务,甚至还包括政府机关。Apache ShardingSphere 和纯粹从社区兴起的项目略有不同,它是由公司捐助到 Apache 软件基金会的,在公司内部已经被十分广泛的使用,涵盖京东白条、超级账户、城市计算、秒级监控、京东金融云、京东大数据、京东海外商城等很多系统。相对于自由发展的社区,Apache ShardingSphere 也需要承载的稳定性的枷锁。


### 04 Apache ShardingSphere 社区数据统计 ###

对于一个开源项目来说,项目本身和社区是同样重要的,因此,项目+社区才是组成的 Apache ShardingSphere 的全部。Apache ShardingSphere 是在 2018 年 11 月 10 号正式进入 Apache 软件基金会孵化器的,至今为止正好一年。这一年来,社区活跃度的社区数据变化还是很明显的。

\-1- 邮件列表数据变化


=====================================================
== File: docs/blog/content/material/_index.cn.md
=====================================================
+++
title = "博文选集"
weight = 1
chapter = true
+++

欢迎阅读 Apache ShardingSphere 的精选博文,也欢迎您的投稿!

1. [新版发布|ShardingSphere 5.0.0-beta 来了!](/cn/material/ss_5.0.0beta/)

2. [停滞数年后,ElasticJob 携首个 Apache 版本 3.0.0-alpha 回归](/cn/material/alpha/)

3. [快讯!分布式调度项目 ElasticJob 即将重新起航](/cn/material/elasticjob/)  

4. [分布式数据库解决方案 Apache ShardingSphere 毕业成为顶级项目](/cn/material/graduate/) 

5. [我们是怎样打造一款分布式数据库的](/cn/material/database/)

6. [Apache ShardingSphere 社区的探索与拓展](/cn/material/community/)  

7. [快讯!Apache ShardingSphere 进入CNCF全景图](/cn/material/cncf/)  

8. [Apache ShardingSphere 整合 Seata AT 分布式事务](/cn/material/seata/)  

9. [刚柔并济的开源分布式事务解决方案](/cn/material/solution/)  

10. [成为 Apache 官方认可的 Committer 有什么优势](/cn/material/committer/) 

11. [自动化执行引擎](/cn/material/engine/) 

12. [剖析 Sharding-Sphere 系列 —— 结果归并](/cn/material/result/)  

13. [分布式事务在 Sharding-Sphere 中的实现](/cn/material/realization/) 

14. [揭秘 Sharding-Proxy —— 面向 DBA 的数据库中间层](/cn/material/proxy/) 

=====================================================
== File: docs/blog/content/material/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster.en.md
=====================================================
+++
title = "Apache ShardingSphere Enterprise User Case - Energy Monster"
weight = 73
chapter = true 
+++

[Energy Monster](https://ir.enmonster.com/)’s application of [ShardingSphere-JDBC](https://shardingsphere.apache.org/document/current/en/overview/#shardingsphere-jdbc)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

[Energy Monster](https://ir.enmonster.com/) is a consumer tech company with the mission to energize everyday life. The company is the largest provider of mobile device charging services in Asia.

As the company’s business concurrency volume is getting larger, the amount of data generated (users, orders, activities, etc.) increases each day. The traditional relational database has proven to be inadequate in supporting millions or tens of millions of data volumes in a single database or table.

Performance has been unable to meet the benchmark requirements of business development. Under these circumstances, data sharding is an effective way to solve the problem.

Technology selection
--------------------

Under the [Database Plus](https://shardingsphere.apache.org/) concept, ShardingSphere is designed to build an ecosystem on top of heterogeneous databases. The goal is to provide globally scalable and enhanced computing capabilities while maximizing the original database computing capabilities.

The interaction between applications and databases becomes oriented towards the Database Plus standard, therefore minimizing the impact of database fragmentation on upper-layer services.

Within the ShardingSphere ecosystem, [ShardingSphere-JDBC](https://shardingsphere.apache.org/document/current/en/overview/#shardingsphere-jdbc) is positioned as a lightweight Java framework, providing additional services in Java’s JDBC layer.

It uses the client to directly connect to the database and provide services in the form of a `jar` package, without additional deployment and dependence. It can be understood as an enhanced version of the JDBC driver, which is fully compatible with JDBC and various ORM frameworks.

ShardingSphere-JDBC enables developers to focus only on the work outside the data layer by coordinating the data read and write under the data sharding, instead of using business code to manually select databases and tables.

Business case
-------------

UCS is Energy Monster’s user-centric service providing basic functionality for users on the Server side. In 2018, it was stripped from [PHP](https://www.php.net/) Server and moved to the Java technology stack to implement microservitization.

It involves the design of new databases and tables and data cleaning and migration. The whole switchover process was expected to ensure the following functions:

*   Stability: smooth release in a short time without halting.

*   Accuracy: ensure accurate cleaning of tens of millions of data volumes.

*   Scalability: solve the performance problems caused by increasing data volume and ensure scalability.

**_Solutions to data cleansing and migration_**

*   Initial data synchronization.
*   The application’s server cuts off the entry (users).
*   Data synchronization (updates and new users since the last time point).
*   Data cleaning.
*   User center release.

![img](https://shardingsphere.apache.org/blog/img/2022_09_06_Apache_ShardingSphere_Enterprise_User_Case_-_Energy_Monster1.png)

=====================================================
== File: docs/blog/content/material/2022_09_08_Apache_ShardingSphere_5.2.0_is_Released,_Bringing_New_Cloud_Native_Possibilities.en.md
=====================================================
+++
title = "Apache ShardingSphere 5.2.0 is Released!"
weight = 74
chapter = true 
+++

Our new 5.2.0 release enhances features such as SQL audit, elastic migration, SQL execution process management, and data governance on the cloud.

### Introduction

Since [Apache ShardingSphere](https://shardingsphere.apache.org/) released version 5.1.2 at the end of June, our community has continued to optimize and enhance its product features. The community merged 1,728 PRs from teams and individuals around the world. The resulting 5.2.0 release has been optimized in terms of its features, performance, testing, documentation, examples, etc.

The establishment of the [shardingsphere-on-cloud](https://github.com/apache/shardingsphere-on-cloud) sub-project shows ShardingSphere’s commitment to being cloud native. We welcome anyone interested in Go, database, and cloud to join the shardingsphere-on-cloud community.

**The 5.2.0 release brings the following highlights:**

* SQL audit for data sharding.

* Elastic data migration.

* SQL execution process management.

* Shardingsphere-on-cloud sub-project goes live.

Newly added features, including SQL audit for data sharding and MySQL SHOW PROCESSLIST & KILL, can enhance users’ capability to manage ShardingSphere.

The SQL audit feature allows users to manage SQL audit to prevent the business system from being disrupted by inefficient SQL. The MySQL SHOW PROCESSLIST & KILL feature allows users to quickly view the SQL in execution through the SHOW PROCESSLIST statement, and forcibly cancel slow SQL.

**The new version also supports elastic data migration. It supports the migration of data from [Oracle](https://www.oracle.com/index.html), [MySQL](https://www.mysql.com/), and [PostgreSQL](https://www.postgresql.org/) to the distributed database ecosystem composed of ShardingSphere + MySQL or PostgreSQL, completing the transformation from a single database to a distributed one.** The ShardingSphere community will support more features for heterogeneous database migration in future releases. Stay tuned for more updates.

The new version also transferred Helm Charts from the ShardingSphere repository to the **shardingsphere-on-cloud sub-project. It is designed to provide distributed database solutions of ShardingSphere + MySQL or PostgreSQL on the cloud.** This version significantly improves SQL parsing support for different databases and upgrades [DistSQL](https://shardingsphere.apache.org/document/5.1.0/en/concepts/distsql/)’s parameter usage specifications. It removes the Memory operating mode from ShardingSphere mode and supports distributed transactions across multiple logical databases. This post will introduce the updates of ShardingSphere 5.2.0.

### Highlights

### SQL audit for data sharding

In large-scale data sharding scenarios, if a user executes an SQL query without the sharding feature, the SQL query will be routed to the underlying database for execution.

As a result, a large number of database connections will be occupied and businesses will be severely affected by timeout or other issues. If the user performs UPDATE/DELETE operations, a large amount of data may be incorrectly updated or deleted.

In response to the above problems, ShardingSphere 5.2.0 provides the SQL audit for data sharding feature and allows users to configure audit strategies. The strategy specifies multiple audit algorithms, and users can decide whether audit rules should be disabled. If any audit algorithm fails to pass, SQL execution will be prohibited. The configuration of SQL audit for data sharding is as follows.

```sql
rules:
- !SHARDING
  tables:
    t_order:
      actualDataNodes: ds_${0..1}.t_order_${0..1}
      tableStrategy:
        standard:

=====================================================
== File: docs/blog/content/material/2022_12_13_Use_AWS_CloudFormation_to_create_ShardingSphere_HA_clusters.en.md
=====================================================
+++
title = "Use AWS CloudFormation to create ShardingSphere HA clusters"
weight = 83
chapter = true 

+++

# What's AWS CloudFormation?

[AWS CloudFormation](https://aws.amazon.com/cloudformation/) is an infrastructure as code (IaC) service that allows you to easily model, provision, and manage all the cloud services provided by [AWS](https://aws.amazon.com/) by custom templates.

Traditionally, when we create a new architecture, we need to manually configure it in AWS step by step which can cause some errors such forgetting some steps.

Now with CloudFormation, we can use declarative configuration to define resources and then create and manage them without worrying about the dependency order of the resources.

In real-world scenarios, we often need to create duplicate architectures. For example, we can build a set of MQ clusters in a pre-release environment whose architecture and production environment are consistent, and create an `AutoScalingGroup` with the same configuration in each availability zone (AZ).

Through CloudFormation, those repeated architectures can then be expressed in the form of code and stored in the code repository for management. This way, they can be easily integrated into existing CI/CD pipelines to achieve the change of infrastructure, in accordance with the current DevOps process. As a result, the infrastructure change is more transparent, repeatable, testable and auditable, simplifying the management of cloud systems.

# What's Apache ShardingSphere?

[Apache ShardingSphere](https://shardingsphere.apache.org/) is a distributed database ecosystem that can transform any database into a distributed database system, and enhance it with sharding, elastic scaling, encryption features & more.

Apache ShardingSphere follows the [Database Plus](https://medium.com/faun/whats-the-database-plus-concepand-what-challenges-can-it-solve-715920ba65aa?source=your_stories_page-------------------------------------) concept, designed to build an ecosystem on top of fragmented heterogeneous databases. It focuses on how to fully use the computing and storage capabilities of databases rather than creating a brand-new database.

[ShardingSphere-Proxy](https://shardingsphere.apache.org/document/current/en/overview/) is a transparent database proxy that supports any client that uses [MySQL](https://www.mysql.com/), [PostgreSQL](https://www.postgresql.org/) and [openGauss](https://opengauss.org/en/).

# Deploy with CloudFormation

As an important part of the data infrastructure, the ShardingSphere Proxy cluster is significant for high availability. For these reasons, our community hopes that you can manage it through IaC to enjoy the benefits brought by IaC.

In the following sections we'll use CloudFormation to create a ShardingSphere-Proxy cluster in multi-AZ. Before creating CloudFormation templates, we have to understand the architecture diagram of a ShardingSphere-Proxy cluster.

![img](https://shardingsphere.apache.org/blog/img/2022_12_13_Use_AWS_CloudFormation_to_create_ShardingSphere_HA_clusters1.png)

Please note that we use [Zookeeper](https://zookeeper.apache.org/) as the Governance Center.

As you can see, ShardingSphere-Proxy itself is a stateless application. In production scenarios, it only needs to offer a LoadBalancer, which can flexibly distribute the traffic between instances.

To ensure the HA of the ZooKeeper cluster and the ShardingSphere-Proxy cluster, we use the following architecture.

![img](https://shardingsphere.apache.org/blog/img/2022_12_13_Use_AWS_CloudFormation_to_create_ShardingSphere_HA_clusters2.png)

# Define CloudFormation Parameters

[The CloudFormation template](https://aws.amazon.com/cloudformation/resources/templates/?nc1=h_ls) is a yaml or json file in which you can define all of the infrastructure. [The CloudFormation parameter](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html) allows you to inject custom values into the templates. You can then [reference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) these parameters when defining resources. Of course, we also provide default values, which can be overridden if needed.

We use [cfndsl](https://github.com/cfndsl/cfndsl) to write CloudFormation templates: cfndsl is a tool written in [ruby](https://www.ruby-lang.org/en/), allowing you to generate CloudFormation templates through DSL configuration.

```ruby

=====================================================
== File: docs/blog/content/material/database.en.md
=====================================================
+++
title = "How to construct the distributed database"
weight = 10
chapter = true
+++

Author | Liang Zhang

 Relational databases have dominated the database field for the past few decades, and the stability, security, and ease of use they bring have become the cornerstone for building modern systems. With the rapid development of the Internet, the database structured in a stand-alone system has been unable to meet the increasingly high concurrent requests and increasingly large data storage needs, therefore, distributed database are more widely adopted.
 
Historically, the database space has been dominated by Western technology companies and communities. Apache ShardingSphere is one of these distributed database solutions and is currently the only database middleware in the Apache Software Foundation.


### 1 Background

  Fully compatible with SQL and transactions for traditional relational databases, and naturally friendly to distribution, is the design goal of distributed database solutions. Its core functions are mainly concentrated in the following points:

- Distributed storage: Data storage is not limited by the disk capacity of a single machine, and the storage capacity can be improved by increasing the number of data servers;

- Separation of computing and storage: Computing nodes are stateless and can increase computing power through horizontal expansion. Storage nodes and computing nodes can be optimized hierarchically;

- Distributed transaction: A high-performance, distributed transaction processing engine that fully supports the original meaning of local transactions ACID;

- Elastic scaling: You can dynamically expand and shrink data storage nodes anytime, anywhere without affecting existing applications;

- Consensus replication: Automatically copy the data to multiple copies across data centers in a strong and consistent manner to ensure the absolute security of the data;

- HTAP: The same set of products is used to mix transactional operations of OLTP and analytical operations of OLAP.


The implementation solutions of distributed database can be divided into aggressive and stable. The aggressive implementation solution refers to the development of a new architecture of NewSQL. Such products are focus on higher performance in exchange for the lack of stability and the lack of experience in operation and maintenance; the stable implementation solution refers to the middleware that provides incremental capabilities based on the existing database. Such products sacrifice some performance to ensure the stability of the database and reuse of operation and maintenance experience.

### 2 Architecture

Apache ShardingSphere is an open source ecosystem distributed database solutions, consisting of three separate products, Sharding-JDBC, Sharding-Proxy, and Sharding-Sidecar (planned). They all provide functions of data scale out, distributed transaction and distributed governance for a variety of diverse application scenarios such as Java Isomorphic, heterogeneous languages, and cloud-native. As Apache ShardingSphere continues to explore query optimizers and distributed transaction engines, it has gradually broken the product boundaries of implementations and evolved into a platform-level solution that is both aggressive and stable all in one. 

**Sharding-JDBC**

Defines itself as a lightweight Java framework that provides extra service at Java JDBC layer. With the client end connecting directly to the database, it provides service in the form of jar and requires no extra deployment and dependence. It can be considered as an enhanced JDBC driver, which is fully compatible with JDBC and all kinds of ORM frameworks.

![](https://shardingsphere.apache.org/blog/img/database1.jpg)

**Sharding-Proxy**

Defines itself as a transparent database proxy, providing a database server that encapsulates database binary protocol to support heterogeneous languages. Friendlier to DBA, the MySQL/PostgreSQL version provided now can use any kind of client access (such as MySQL Command Client, MySQL Workbench, Navicat etc.) that is compatible of MySQL/PostgreSQL protocol to operate data.

![](https://shardingsphere.apache.org/blog/img/database2.jpg)

**Sharding-Sidecar (Planned) **


=====================================================
== File: docs/blog/content/material/2023_02_09_Leverage_Terraform_to_Create_an_Apache_ShardingSphere_Proxy_High_Availability_Cluster_on_AWS.en.md
=====================================================
+++
title = "Leverage Terraform to Create an Apache ShardingSphere Proxy High Availability Cluster on AWS"
weight = 86
chapter = true 
+++

For this ShardingSphere blog entry, we want you to take advantage of the benefits of IaC (Infrastructure as Code) by deploying and managing a ShardingSphere Proxy cluster the IaC way.

With this in mind, we plan to use Terraform to create a ShardingSphere-Proxy high availability cluster with multiple availability zones.

## **Background**

## Terraform

[Terraform](https://www.terraform.io/) is [Hashicorp](https://www.hashicorp.com/)'s open source infrastructure automation orchestration tool that uses IaC philosophy to manage infrastructure changes.

It's supported by public cloud vendors such as AWS, GCP, AZURE and a variety of other providers from the community, and has become one of the most popular practices in the "Infrastructure as Code" space.

**Terraform has the following advantages:**

*Support for multi-cloud deployments*

Terraform is suitable for multi-cloud scenarios, deploying similar infrastructures such as Alibaba Cloud, or other cloud providers and local data centres. Developers can use the same tools and similar profiles to manage resources from different cloud providers simultaneously.

*Automated management infrastructure*

Terraform's ability to create reusable modules reduces human-induced deployment and management errors.

*Infrastructure as code*

Resources can be managed and maintained in code, allowing infrastructure state to be saved. This enables users to track changes made to different components of the system (infrastructure as code) and share these configurations with others.

## ShardingSphere-Proxy

Apache ShardingSphere is a distributed database ecosystem that transforms any database into a distributed database and enhances it with data sharding, elastic scaling, encryption and other capabilities.

ShardingSphere-Proxy is positioned as a transparent database proxy that supports any client using MySQL, PostgreSQL, or openGauss protocols to manage data, and is more friendly to heterogeneous languages and DevOps scenarios.

ShardingSphere-Proxy is non-intrusive to the application code: users only need to change the connection string of the database to achieve data sharding, read/write separation, etc. As part of the data infrastructure, its high availability will be key.

# Deployment with Terraform

Before we start writing the Terraform configuration, we need to understand the basic architecture of the ShardingSphere-Proxy cluster

![img](https://shardingsphere.apache.org/blog/img/2023_02_09_Leverage_Terraform_to_Create_an_Apache_ShardingSphere_Proxy_High_Availability_Cluster_on_AWS1.png)

We use ZooKeeper as the Governance Center.

As you can see, ShardingSphere-Proxy itself is a stateless application, and in a real world scenario, load balancing is provided externally, and the load balancing is used to flexibly distribute traffic between the instances.


=====================================================
== File: docs/blog/content/material/CNCF.en.md
=====================================================
+++
title = "Apache ShardingSphere is included in CNCF Landscape"
weight = 8
chapter = true
+++

### CNCF

(Cloud Native Computing Foundation), is a cloud native computing open source software foundation founded by Google. It is committed to the popularization and sustainable development of Cloud Native technology. Cloud native technology helps enterprises and organizations to build and run agile and scalable applications in modern dynamic environments (such as public clouds, private clouds, and hybrid clouds) through a series of software, specifications, and standards. The representative cloud-native technologies including containers, micro-services, micro-service governance, and declarative APIs, etc.

### CNCF Landscape

(https://github.com/cncf/landscape) is an important project from CNCF. It aims to provide a resource map for cloud native users, enterprises and developers quickly understand the overall picture of the cloud native system.

The CNCF divides the cloud-native ecosystem horizontally into five layers, and vertically maps out two parts for them which are common to the five horizontal layers. The five horizontally divisions layer are: Application Definition and Development, Orchestration and Governance, Runtime, Supply Assurance, and Cloud Facilities. The two vertically divided parts are: observation and analysis and platform. The integrating of these functions result in a complete cloud platform service product offering with the following panorama the:

-- The above content is taken from the book "Future Architecture: From Service to Cloud Native"

![](https://shardingsphere.apache.org/blog/img/CNCF1.jpg)

### ShardingSphere

On June 28, 2019, UTC+8, Apache ShardingSphere entered CNCF Landscape. It has a place in the following panorama App Definition Development-Database field.

Apache ShardingSphere will keep going to expand and improve in the open source and cloud native fields, and builds an organic open source ecosystem!

We are hoping that more supporters of open source and cloud-native communities can join us to move forward together and promote the common growth of the Apache ShardingSphere community and its contributors!

![](https://shardingsphere.apache.org/blog/img/CNCF2.jpg)

![](https://shardingsphere.apache.org/blog/img/CNCF3.jpg)

Since Apache ShardingSphere has been open sourced in 2016, it has been constantly improving and developing, and has been recognized by more and more companies and individuals: 8000+ stars have been harvested on Github, and successful cases of nearly 100 companies. In addition, more and more enterprises and individuals have joined the open source project of Apache ShardingSphere, which has contributed tremendously to its growth and development.

=====================================================
== File: docs/blog/content/material/2022_10_27_ElasticJob_3.0.2_is_released_with_failover_optimization,_scheduling_stability,_and_Java_19_compatibility.en.md
=====================================================
+++
title = "ElasticJob 3.0.2 is released including failover optimization, scheduling stability, and Java 19 compatibility"
weight = 78
chapter = true 
+++

![img](https://shardingsphere.apache.org/blog/img/2022_10_27_ElasticJob_3.0.2_is_released_with_failover_optimization,_scheduling_stability,_and_Java_19_compatibility1.png)

[ElasticJob](https://shardingsphere.apache.org/elasticjob), one of the sub-projects of the [Apache ShardingSphere](https://github.com/apache/shardingsphere) community, is a distributed scheduling solution oriented towards Internet applications and massive tasks.

Since ElasticJob 3.0.1 was released, we’ve received a lot of feedback from users on [GitHub](https://github.com/apache/shardingsphere-elasticjob). After merging the code committed by the contributors, ElasticJob has been significantly optimized.

The [resulting ElasticJob 3.0.2](https://github.com/apache/shardingsphere-elasticjob/blob/master/RELEASE-NOTES.md) has been improved in terms of **Failover, scheduling stability, job API, and Java 19 compatibility.**

# Release 3.0.2 Key Features

## Failover Optimization

Failover is an important ElasticJob feature.

**In ElasticJob 3.0.1, the Failover feature had some limitations and disadvantages:**

- Failover could take effect with at least two job instances. Assume that there’s only one job instance executing tasks and a fault occurs, Failover cannot take effect even if the instance recovers or a new job instance is started after the fault occurs. In this case, the old Failover feature required redundant resources. Particularly, if sharding was not needed for the job, the backup instance would be idle for a long time and continuously occupy resources.
- Failover was sensitive. Even if the job was not in execution, as long as one instance goes offline, failover of another instance would still be triggered to immediately execute the sharding owned by the offline instance. In other words, failover was triggered by the offline instance whether it is a normal offline or a fault occurs, which is disturbing for users.

**ElasticJob 3.0.2 optimized the Failover feature.**

- Suppose a single job instance is executing the tasks and it exits due to a fault in the execution process. **After a fault occurs, a new job instance is started, which can detect the failed sharding and trigger Failover immediately.** For example, we deploy a job instance with one copy in the Kubernetes environment. If the job instance exits unexpectedly due to a fault, Kubernetes automatically starts a new job instance. By this time, Failover will be triggered and continue to execute the previously failed job.
- **The optimized Failover takes effect only for ongoing jobs.** If no job is being executed when a fault occurs, Failover is not triggered. In this case, Failover will not be triggered when the job instance goes offline normally.

## Separating the event notification threads of different jobs to avoid an endless loop.

ElasticJob achieves distributed coordination through [ZooKeeper](https://zookeeper.apache.org/). In practical scenarios, users may start multiple jobs in the same project simultaneously, all of which use the same [Apache Curator](https://curator.apache.org/) client. There are certain risks due to the nature of ZooKeeper and the [callback method of Curator in a single event thread](https://cwiki.apache.org/confluence/display/CURATOR/TN1).

- Callbacks will increase accordingly if a huge number of jobs are triggered frequently. The processing capability of Curator event threads may reach an upper limit, resulting in delayed triggering or failure to trigger.
- If one job blocks the event thread accidentally, other jobs will also be affected, leading to delayed triggering or failure to trigger.

**In ElasticJob 3.0.2, the callback method of each job will be executed on the thread to which the job belongs, preventing jobs from affecting each other.**

Moreover, **ElasticJob 3.0.2 modified the code which may lead to an endless loop.** When a job instance is online and the server nodes in ZooKeeper change (such as being deleted), ElasticJob is stuck in determining whether the server is enabled. This problem has been tackled.

## Java 19 Support

Java 19 was released on September 20, 2022. ElasticJob’s code closely follows Java versions and currently can be built and used through Java 19. **Elasticjob now supports Java 8 through 19.**

# Release Notes

## Bug Fixes

- Fix itemErrorMessages not cleared after the job finished.

=====================================================
== File: docs/blog/content/material/2022_03_18_Executor_Engine_Performance_Optimization_Showcase_with_Apache_ShardingSphere_5.1.0.en.md
=====================================================
+++ 
title = "Executor Engine: Performance Optimization Showcase with Apache ShardingSphere 5.1.0"
weight = 43
chapter = true 
+++

Our community’s previous two blog posts about the [SQL Format function and High Availability (HA) ](https://medium.com/codex/sql-parse-format-function-a-technical-deep-dive-by-apache-shardingsphere-f5183e1de215)introduced a comprehensive overview of Apache ShardingSphere’s updates.

Apart from many new practical features, we also have been optimizing overall performance.
In this post, our community author is going to showcase with specific SQL examples how Apache ShardingSphere’s Executor Engine performance is greatly optimized.

In this post, our community author is going to showcase with specific SQL examples how Apache ShardingSphere’s Executor Engine performance is greatly optimized.

## Problem
Take the `t_order` table with 10 shards in a database as an example and `max-connections-size-per-query` uses the default configuration 1.

If the user executes the `SELECT * FROM t_order` statement, it will result in full routing. Since only one database connection is allowed to be created on the same database for each query, the underlying actual SQL results will be loaded in advance into memory for processing. This scenario not only imposes a restriction on database connection resource consumption but also occupies more memory resources.

However, if the user adjusts the value of `max-connections-size-per-query` to 10, then ten database connections can be created while executing actual SQL. Since database connections can hold result sets, no additional memory resources are occupied in this scenario. Yet, this method requires more database connection resources.

In order to better solve the issue, we optimized the performance of SQL Executor Engine in the just-released 5.1.0 version: SQL Rewriter Engine now supports optimization-oriented rewriting, which means multiple real SQL statements on the same data source can be merged through the `UNION ALL `statement.

The updates effectively reduce the consumed database connection resources in the Executor Engine and avoid occurrent memory merging, further improving SQL query performance in Online Transaction Processing (OLTP) scenarios.

## What’s the Mechanism of Apache ShardingSphere Executor Engine?

First, it’s better to review Apache ShardingSphere’s microkernel and the principle that explains how the Executor Engine works in the processes. As shown in the figure below, the Apache ShardingSphere microkernel includes core processes: SQL Parser, SQL Router, SQL Rewriter, SQL Executor, and Result Merger.

![Processes in Apache ShardingSphere Microkernel](...)

SQL Parser Engine can parse the SQL statements entered by the user and generate SQL Statements containing contextual information.

SQL Router Engine then extracts the sharding conditions according to the context, combines the sharding rules configured by the user to calculate the data source that the actual SQL needs for execution, and then generates routing results.

SQL Rewriter Engine rewrites the original SQL according to the results returned by SQL Router Engine. There are two rewrite types, correctness-oriented and optimization-oriented.

SQL Executor Engine can safely and efficiently send the SQL returned by SQL Router and Rewriter to the underlying data source for execution.

The result set will eventually be processed by Merger Engine, which can generate and return a unified result set to the user.

From the execution process, it is clear that the SQL executor engine can directly interact with the underlying database and hold the executed result set. Since the performance and resource consumption of the entire Apache ShardingSphere is attributed to those of the Executor Engine, the community decided to adopt an automatic SQL executor engine to balance execution performance and resource consumption.

In terms of execution performance, assigning an independent database connection to the execution statement of each shard can make full use of multi-threading to improve execution performance, and also process I/O consumption in parallel.

In addition, this method can also help avoid prematurely loading the query result set into memory. The independent database connection can hold a reference to the cursor position of the query result set and thus when it’s necessary to get the data, the user only needs to move the cursor.

When it comes to resource management, the number of connections for business access to the database should be limited to prevent a business from occupying too many database connection resources and further affecting the normal data access of other businesses. When there are many table shards in a database instance, a virtual SQL statement without a sharding key can generate a large number of actual SQL statements placed in different tables of the same database. If each actual SQL occupies an independent connection, then a single query will undoubtedly occupy too many resources.

In order to solve the conflict between execution performance and resource control, Apache ShardingSphere proposes the concept of `Connection Mode`. Here is the definition of `Connection Mode` in the source code.


=====================================================
== File: docs/blog/content/material/2023_04_03_ShardingSphere_5.3.2_Release_Apollo_Integration,_Better_Data_Migration,_and_Stronger_Encryption.en.md
=====================================================
+++
title = "ShardingSphere 5.3.2 Release: Apollo Integration, Better Data Migration, and Stronger Encryption"
weight = 94
chapter = true 
+++

![img](https://shardingsphere.apache.org/blog/img/2023_04_03_ShardingSphere_5.3.2_Release_Apollo_Integration,_Better_Data_Migration,_and_Stronger_Encryption1.png)

Apache ShardingSphere has recently released version 5.3.2 after two months of development, which includes 797 PRs from teams and individuals worldwide. The new version includes significant improvements in functionality, performance, testing, documentation, and examples. With this update, users can experience an enhanced and problem-solving version. Let's take a quick preview of what's new:

- ShardingSphere Driver now supports Apollo, which is a great addition for users.
- Data migration now supports migrating tables with any index structure, including tables without an index, making it more convenient for users.
- The data encryption fuzzy query now supports the CONCAT function, improving the user's experience.

One of the highlights of this update is that the ShardingSphere Driver now supports Apollo. In version 5.3.0, ShardingSphere removed modules such as Spring Boot Starter and standardized the use of the standard JDBC Driver to specify configuration files. However, the ShardingSphere Driver could only read configuration from the file system, which was limited to scenarios where the configuration was managed uniformly in the configuration center. With the recent update, ShardingSphere 5.3.2 adjusted the configuration reading of the Driver to an SPI interface and achieved configuration reading from the Apollo configuration center.

![img](https://shardingsphere.apache.org/blog/img/2023_04_03_ShardingSphere_5.3.2_Release_Apollo_Integration,_Better_Data_Migration,_and_Stronger_Encryption2.png)

The JDBC URL is written as follows:

```bash
# Read the configuration file from the absolute path
jdbc:shardingsphere:absolutepath:/path/to/config.yml

# Read the configuration file from the classpath
jdbc:shardingsphere:classpath:config/shardingsphere/config.yml

# Read the configuration file from the Apollo configuration center
jdbc:shardingsphere:apollo:apollo.meta?appid=ss-test&namespace=config
```

Of course, providing an SPI interface means that developers can customize the configuration reading logic according to their own scenarios, such as implementing configuration reading from other registration centers. At the same time, the ShardingSphere community welcomes developers to contribute to the common configuration implementation, allowing more users to benefit from it.

## Migrate Tables with Any Index Structure, Including Tables Without an Index

ShardingSphere is now providing support for migrating tables with any index structure, including tables without an index. This is a significant improvement that will greatly benefit users with complex application scenarios.

In some cases, tables may have composite primary keys, while in others, they may not have primary keys but have composite unique indexes. In some cases, tables may not have any primary keys or indexes at all. ShardingSphere has taken these complex scenarios into account and has made certain improvements to support data migration for such cases.

This is a significant step forward in providing users with more flexibility in managing their data and ensuring that their applications are running smoothly. The improved data migration support will make it easier for users to manage their data, regardless of the complexity of their table structures.

![img](https://shardingsphere.apache.org/blog/img/2023_04_03_ShardingSphere_5.3.2_Release_Apollo_Integration,_Better_Data_Migration,_and_Stronger_Encryption3.png)

[1] Concurrency is supported between shards, but data partitioning within a table does not support concurrency.

[2] `DATA_MATCH` consistency check is not supported. `CRC32_MATCH` is only supported by MySQL.

[3] Breakpoint resume is supported only for the first field.

[4] Primary key tables of some field types can not be aggregated and sorted, so the `DATA_MATCH` consistency check is not supported, such as `VARBINARY` in MySQL.

=====================================================
== File: docs/blog/content/material/committer.cn.md
=====================================================
+++
title = "成为 Apache 官方认可的 Committer 有什么优势"
weight = 5
chapter = true
+++

### 什么是Apache软件基金会?

Apache 软件基金会(Apache Software Foundation),是当今最具影响力的非盈利性开源软件项目组织,正式成立于 1999 年,主要由开发者与用户的团体组成。在 Apache 软件基金会主导下,已有 350 多个顶级开源项目毕业,包括全球最著名的网络服务器软件 Apache HTTP Server。秉持着“开放、创新、社区”的精神,很多 Apache 项目已经建立起强大成功的生态圈,社区充满活力。

除了许多在信息技术领域十分具有影响力的项目外,Apache 许可证(Apache License),Apache 贡献者协议许可(CLAs)和开放合作的模式(Apache Way)也在业内有着突出的贡献,其影响力远远扩大到 Apache 软件基金会以外。

Apache 软件基金会如今已成为现代开源软件生态系统的基石。

### 为什么要成为Apache committer?

说了这么多,不管大家之前对 Apache 软件基金会了解到了什么程度,都可以看出,这是一个极具影响力的组织,在业内广受认可。

如果能够成为一名官方承认的 committer,不仅是对自己的极大认可,表明自身有能力参与到 Apache 级的项目开发中,并作出切实的贡献;而且还能够受到业内广泛尊重,无论是对求职还是升职加薪都很有帮助。

简单来说,不管是和其他小伙伴们炫耀,还是写到简历上都倍儿有面子

并且,官方认可的 committer 还会获取带 @apache 后缀的邮箱,还能名列 Apache 网站上

(http://people.apache.org/committer-index.html)


在世界上千百万的工程师中,只有极少数的人才能成为 committer 拥有这些特权,是不是很诱人呢?

想象一下,小伙伴们浏览 Apache 网站时看到了你的名字,或者和面试官发邮件时,他们会不会有种不明觉厉的感觉,形象瞬间就高大上了有木有!

![](https://shardingsphere.apache.org/blog/img/committer1.jpg)

### 如何成为官方认可的 committer?

下面就是本篇文章的重点啦,需要做些什么,才会成为一名官方认可的 committer 呢?


活跃地参与到 Apache 项目中,比如 Apache ShardingSphere 即可。

不如从领个任务练练手开始?目前公布出的任务如下,欢迎领取:

- 实现使用 Inline 表达式对 Sharding-SpringBoot 进行规则配置

  https://github.com/sharding-sphere/sharding-sphere/issues/1686

- 实现使用 SpringBoot 占位符方式对 Sharding-SpringBoot 进行规则配置

  https://github.com/sharding-sphere/sharding-sphere/issues/1687


=====================================================
== File: docs/blog/content/material/engine.en.md
=====================================================
+++
title = "How automatic executor of ShardingSphere works"
weight = 4
chapter = true
+++

Today「Analysis of Sharding-Sphere Series Articles」is brings you an introduction to the Sharding-Sphere automated execution engine module in this article. Since the boss prefers serious technical articles, I try my best to use a serious and solemn narrative style to share with you the topic of "Sharding-Sphere Automated Execution Engine Module".

I just finished writing and sorting out the code of this module, so before I forget, I would like to share this with you, hope this article will help you all.

「Analysis of Sharding-Sphere series articles」is conducted by the core development members of Sharding-Sphere to introduce and analyze the core modules of Sharding-Sphere, the cutting-edge technologies used, and valuable experience summaries. This series of articles will take you into the core world of Sharding-Sphere, gain new knowledge and inspire inspiration. I hope you will follow us, communicate and discuss with us, and we will move forward together.

### About the author

Pan Juan, as a senior DBA worked at JD.com, the responsibility is to develop the distributed database and middleware, and the automated management platform for database clusters. As a PMC of Apache ShardingSphere, I am willing to contribute to the OS community and explore the area of distributed databases and NewSQL.

### Concept introduction 

Q: What is "automated execution engine"? 

A: The life cycle of a SQL is: initiated from the client, processed by Sharding-Sphere, and then executed and digested in the underlying database. In Sharding-Sphere, the process is: SQL analysis-->SQL optimization-->SQL routing-->SQL rewriting-->SQL execution-->result merging. The automatic execution engine is for deal with the SQL execution problem, that is, how to control and efficiently transmit the real SQL after the route rewriting to the underlying database for execution. Doesn't it work to send SQL directly to the database for execution through JDBC? Is there anything else to consider? The answer is: there must be other considerations, otherwise I won't have to write this article. This is reflected in its "automation". The so-called "automation" is actually to balance the problem of database connection creation and result merging mode selection, in order to balance resource control and execution efficiency.

### Demand scenario

Q: Why do we need an automated execution engine?

A: In the concept introduction section, we introduced the protagonist-the automated execution engine. It is also mentioned that its automation is to balance the creation of database connections and the selection of results merge mode. This is the fate of its birth, the choice of history. The following will introduce these two issues that need to be balanced:

1. Database connection creation

As a DBA/Java coder, somehow I still consider the problem from the perspective of the DBA. For example, from the perspective of resource control, the number of connections for business parties to access the database should be limited, which can effectively prevent a certain business operation from occupying too much resources, thereby exhausting the resources of the database connection, and thus affecting other business visit. Especially when there are many sharding tables in a database instance, a logical SQL that does not contain a sharding key will generate a large number of real SQLs that fall on different tables in the same database. If each real SQL occupies an independent connection, then a query will definitely consume too many resources. As the middle layer of the database, if ShardingSphere is not controlling the number of database connections well, which leads to a surge in connections and excessive database pressure, it is very likely to be forced to “take the blame”.

2. Results merge mode selection

From the perspective of execution efficiency, maintaining an independent database connection for each fragmented query can more effectively use multithreading to improve execution efficiency. Opening independent threads for each database connection can parallelize the consumption of IO. The independent database connection can keep the reference of the query result set and the cursor position, and the cursor can be moved when the corresponding data needs to be obtained, avoiding the premature loading of the query result data into the memory. This involves the choice of the result merge mode. Through the introduction of the previous article "Analysis of ShardingSphere Series-Result Merging", we know that there are currently two modes of result merging, namely:

Streaming merge: The method of merging results by moving the result set cursor down is called streaming merge. It does not need to load all the result data into memory, which can effectively save memory resources and reduce the frequency of garbage collection.

Memory merging: Perform data comparison and merging by reading the result set loaded in the memory for merging. It needs to load all the result data into memory. 

I believe everyone will definitely choose streaming merge to process the result set. However, if there is no guarantee that each shard query holds an independent database connection, then you need to load the current query result set into memory before reusing the database connection and obtaining the query result set of the next shard table. Therefore, even if stream merging can be used, it has to use memory merging in this scenario. 

On the one hand, it is the control and protection of database connection resources. On the other hand, it uses a better merge mode to save memory resources. How to handle the relationship between the two is a problem that the ShardingSphere execution engine needs to solve. Specifically, if a piece of SQL needs to operate 200 tables under a certain database instance after it has been sharding by ShardingSphere, should it choose to create 200 connections for parallel execution, or choose to create a connection for serial execution? How to choose between efficiency and resource control?

### Evolutionary theory

For the above scenario, ShardingSphere provided a solution before 3.0.0.M4, which introduced the concept of Connection Mode and divided it into two modes: MEMORY_STRICTLY and CONNECTION_STRICTLY.

- MEMORY_STRICTLY: This mode is used on the premise that the database has no limit on the number of connections it can consume in a single operation. If the actual execution of SQL needs to do operations on 200 tables in a database instance, a new database connection is created for each table and processed concurrently in a multi-threaded manner to maximize execution efficiency. Streaming is preferred if SQL satisfies the conditions to prevent memory overflow or avoid frequent garbage collection.


=====================================================
== File: docs/blog/content/material/result.en.md
=====================================================
+++
title = "How to merge the child resultsets"
weight = 3
chapter = true
+++

This series of articles is a hands-on introduction and analysis of SS's core modules, the cutting-edge technologies used, and valuable lessons learned by SS's core development members. This series of articles will take you into the world of SS kernel, to gain new knowledge and inspire. We hope you will pay attention to us, exchange ideas and go forward together.

### Lecturers

Liang Zhang, former head of Dangdang's architecture department. A passion for open source, currently leading two open source projects Elastic-Job and Sharding-Sphere (Sharding-JDBC). Specializing in java-based distributed architecture and Kubernetes and Mesos-based cloud platform direction, advocate for elegant code, more research on how to write expressive code.Joined BOF in early 2018, now as the head of data research and development. Currently, the main focus is on building Sharding-Sphere into the industry's best-in-class financial-grade data solution.

### Introduction

Combining multiple data result sets from various data nodes into one result set and returning it correctly to the requesting client is called result imputation.

The result merging supported by Sharding-Sphere is functionally categorized into four types of traversal, sorting, grouping and paging, which are combinations rather than mutually exclusive relationships. Structurally, it can be divided into streaming, in-memory and decorator grouping. Streaming and memory imputation are mutually exclusive, and decorator imputation can be further processed on top of stream imputation and memory imputation.

Since the result set returned from the database is returned one by one, it is not necessary to load all the data into memory at once, therefore, when merging the results, merging in the same way as the result set returned from the database can greatly reduce memory consumption, and is the preferred method of merging.

Streaming merge means that each time the data is fetched from the result set, the correct individual data can be returned by fetching it one by one, which is most compatible with the way the database returns the result set natively. Traversal, sorting, and Stream Group-by Merger are all types of stream imputation.

In-memory merging, on the other hand, requires that all data in the result set be traversed and stored in memory, and then after unified grouping, sorting, and aggregation calculations, it is encapsulated to return the result set of data accessed one item at a time.

The decorator merge is a unified functional enhancement of all the result set merge, currently the decorator merge only paging this type of merge.


### Categorization

#### Iteration Merger 
It is the simplest form of aggregation. Simply merge multiple result sets into a one-way chain table. After iterating through the current result set in the chain table, move the chain table element back one place and continue to iterate through the next result set.

#### Order-by Merger

Due to the existence of the ORDER BY statement in SQL, each data result set is itself ordered, so only the data values that the current cursor of the data result set points to need to be sorted. This is equivalent to sorting multiple ordered arrays, and merge sorting is the most appropriate sorting algorithm for this scenario.

Sharding-Sphere compares the current data values of each result set (done by implementing Java's Comparable interface) and places them in a priority queue when the sorted queries are merged. Each time the next piece of data is fetched, simply move the cursor of the result set at the top of the queue down and find your place in the priority queue again based on the new cursor. To illustrate Sharding-Sphere's sorting and merging with an example, the following diagram shows an example of sorting by score.

![](https://shardingsphere.apache.org/blog/img/result1.jpg)

The example shows 3 tables returning data result sets, each of which is already sorted according to score, but is unordered between the 3 data result sets. The data values pointed to by the current cursor for each of the 3 result sets are sorted and placed into a priority queue, with the first data value of t_score_0 being the largest, the first data value of t_score_2 the next largest, and the first data value of t_score_1 the smallest, so the priority queue is based on the t_score_0, t_score_2, and t_score_1's The following diagram shows how sorting the queue is done when the next call is made.

The following diagram shows how the sorting and merging is done when the next call is made.

![](https://shardingsphere.apache.org/blog/img/result2.jpg)
 
As we can see from the diagram, when the first NEXT call is made, t_score_0, which is at the top of the queue, is ejected from the queue and returns the data value (i.e., 100) that the current cursor points to to the querying client, and is placed back into the priority queue after moving the cursor down one place. The priority queue is also ranked according to the data value (in this case 90) that the current result set of t_score_0 points to for the cursor, with t_score_0 ranked last in the queue according to the current value. The result set of t_score_2, which was previously ranked second in the queue, is automatically ranked first in the queue.

For a second NEXT, simply eject the t_score_2 currently at the top of the queue and return the value pointed to by its data result set cursor to the client, and move the cursor down to continue to join the queue for queuing, and so on.


=====================================================
== File: docs/blog/content/material/ElasticJob.cn.md
=====================================================

+++
title = "快讯!分布式调度项目ElasticJob即将重新起航"
weight = 12
chapter = true
+++

[ElasticJob](https://github.com/elasticjob)是一个分布式调度解决方案,提供分布式任务的分片,弹性伸缩,全自动发现,基于时间驱动、数据驱动、常驻任务和临时任务的多任务类型,任务聚合和动态调配资源,故障检测、自动修复,失效转移和重试,完善的运维平台和管理工具,以及对云原生的良好支持等功能特性,可以全面满足企业对于任务管理和批量作业的调度处理能力。

ElasticJob自2014年底开源以来,经历了5年多的发展,以其功能的丰富性,文档的全面性,代码的高质量,框架的易用性,积累了大量的忠实用户和良好的业内口碑(5.8K star),一直也是分布式调度框架领域最受大家欢迎的项目之一。

近两年来,由于核心开发者全力发展和维护Apache ShardingSphere项目等原因,ElasticJob放缓了发展的脚步。但是随着Apache ShardingSphere项目在分布式领域的不断拓展,以及用户对于多数据集群环境的分布式管理和数据迁移的弹性扩容等功能,需要一个强大的分布式调度组件。由此为契机,Apache ShardingSphere社区已经计划发起提议将ElasticJob作为其子项目进行长期持续的更新和维护。

我们第一时间将此好消息公开,后续将带来更多关于ElasticJob的相关资讯。

> 讨论邮件:
https://lists.apache.org/thread.html/rd6171e2065be6bcfbeb7aba7e5c876eeed04db585c6ab78fc03a581c%40%3Cdev.shardingsphere.apache.org%3E


> 捐赠Proposal:
<br>https://cwiki.apache.org/confluence/display/SHARDINGSPHERE/ElasticJob+Donation+Proposal

> 社区讨论:
<br>https://github.com/elasticjob/elastic-job-lite/issues/728

=====================================================
== File: docs/blog/content/material/Oct_12_3_How_Can_Students_Participate_in_Open_Source_Communities.en.md
=====================================================
+++
title = "How Can Students Participate in Open-Source Communities?"
weight = 19
chapter = true
+++

![](https://shardingsphere.apache.org/blog/img/Blog_19_img_1_community.png)

Having some experience in Open-Source projects or communities is quite common for developers nowadays. Actually, not only adults but students should, and are increasingly likely to get involved in Open-Source projects.

If you want to know more about why you should consider being part of Open-Source projects, please refer to [Why you should get involved in open-source community](https://medium.com/nerd-for-tech/why-should-you-get-involved-in-an-open-source-community-f5516657324) [1].

The last 2 years have been challenging to say the least. The Covid-19 pandemic has forever changed us in more ways than one. It has changed the way we approach and cheerish life, the way we work, and the way we network — ultimately making webinars or online activities the new normal.

Students have been affected too. Online learning meant they had to adapt in the way they assimilate their curricula, and also adapt to finding their first professional opportunity or internships in these unprecedented times. Online internships have been an option for students to go through this tough time by making the most of it, and gaining valuable experience. In order to connect people around the world, Google[2], Anitab[3], and ISCAS[4] are hosting many online Open-Source programs or hackathons for students. Indeed, most of them are free, and some even provide scholarships and tuition for students and mentors accordingly.

In short, students are set to gain the following benefits by joining an Open-Source community:

- Practice their skills

- Unlock internship opportunities or gain more internship experience

- Network, create bonds and cooperate with your fellows and mentors worldwide

- Earn scholarships

## The next question is how to leverage these attractive programs to join Open-Source?

Different programs have different and often specific rules, although the basic process is generally the same, i.e.:

- Choose an Open-Source project or community partnering with the relevant program

- Submit a student application

- Get in touch with your mentor

- Contribute & code (you can contribute in more ways than one, not only by coding)

- Await evaluation

- Colllect the final results

Based on these steps, Here are some critical tips from my mentoring experiences at GSoC[2], OSD[3] and Summer of Code[4] that I’m happy to share with you.

* **Choose the Appropriate Program**

As I mentioned above, many organizations are initiating Open-Source programs with different schedules, task durations, and qualification and scholarship conditions. You’d better do some research for various programs and pick the one that best fits you.

* **Choose a Particular Project Well in Advance:**


=====================================================
== File: docs/blog/content/material/2022_12_08_ShardingSphere_5.3.0_is_released_new_features_and_improvements.en.md
=====================================================
+++
title = "ShardingSphere 5.3.0 is released: new features and improvements"
weight = 82
chapter = true 
+++

![img](https://shardingsphere.apache.org/blog/img/2022_12_08_ShardingSphere_5.3.0_is_released_new_features_and_improvements1.png)

After 1.5 months in development, [Apache ShardingSphere 5.3.0](https://shardingsphere.apache.org/document/current/en/downloads/) is released. Our community merged [687 PRs](https://github.com/apache/shardingsphere/pulls?q=is%3Amerged+is%3Apr+milestone%3A5.3.0) from contributors around the world.

The new release has been improved in terms of features, performance, testing, documentation, examples, etc.

The 5.3.0 release brings the following highlights:

- Support fuzzy query for CipherColumn.
- Support Datasource-level heterogeneous database.
- Support checkpoint resume for data consistency check.
- Automatically start a distributed transaction, while executing DML statements across multiple shards.

Additionally, release 5.3.0 also brings the following adjustments:

- Remove the Spring configuration.
- Systematically refactor the DistSQL syntax.
- Refactor the configuration format of ShardingSphere-Proxy.

# Highlights

## **1. Support fuzzy query for CipherColumn**

In previous versions, ShardingSphere's Encrypt feature didn't support the use of the `LIKE` operator in SQL.

For a while users strongly requested adding the `LIKE` operator to the Encrypt feature. Usually, encrypted fields are mainly of the string type, and it is a common practice for the string to execute `LIKE`.

To minimize friction in accessing the Encrypt feature, our community has initiated a discussion about the implementation of encrypted `LIKE`.

Since then, we've received a lot of feedback.

Some community members even contributed their original encryption algorithm implementation supporting fuzzy queries after fully investigating conventional solutions.

?? **The relevant issue can be found** [**here**](https://github.com/apache/shardingsphere/issues/20435)**.**

?? **For the algorithm design, please refer to the** [**attachment**](https://github.com/apache/shardingsphere/files/9684570/default.pdf) **within the** [**issue**](https://github.com/apache/shardingsphere/files/9684570/default.pdf)**.**

The [single-character abstract algorithm] contributed by the community members is implemented as `CHAR_DIGEST_LIKE` in the ShardingSphere encryption algorithm SPI.

## 2. Support datasource-level heterogeneous database

[ShardingSphere](https://shardingsphere.apache.org/) supports a database gateway, but its heterogeneous capability is limited to the logical database in previous versions. This means that all the data sources under a logical database must be of the same database type.

This new release supports datasource-level heterogeneous databases at the kernel level. This means the datasources under a logical database can be different database types, allowing you to use different databases to store data.

=====================================================
== File: docs/blog/content/material/2022_06_28_Cloud_native_deployment_for_a_high-performance_data_gateway_new_API_driver_Apache_ShardingSphere_5.1.2_is_released.en.md
=====================================================
+++ 
title = "Cloud native deployment for a high-performance data gateway + new API driver: Apache ShardingSphere 5.1.2 is released"
weight = 63
chapter = true 
+++

Following the release of Apache ShardingSphere 5.1.1, our community integrated 1,028 PRs from contributors all over the world to bring you the latest 5.1.2 version. The new version includes a lot of improvements in terms of functions, performance, tests, documentation, examples, etc.

Standout new features include:

- ShardingSphere-Proxy Helm Chart.
- SQL dialect translation.
- Using ShardingSphere-JDBC as a Driver.

These new capabilities boosted ShardingSphere’s data gateway capability, enabling ShardingSphere to be deployed on the cloud while optimizing user experience.

In addition to the above-mentioned new features, this update also improves SQL parsing support, kernel, runtime mode, and elastic scaling support for [PostgreSQL](https://www.postgresql.org/) / [openGauss](https://opengauss.org/en/) schema, auto-scaling, transactions, and [DistSQL](https://medium.com/nerd-for-tech/intro-to-distsql-an-open-source-more-powerful-sql-bada4099211) in terms of user experience.

This post will give you an overview of the ShardingSphere 5.1.2 updates.

## New Features
**ShardingSphere-Proxy configuration using Helm**
ShardingSphere-Proxy provides Docker images for deployment in containers. However, for those who need to deploy ShardingSphere-Proxy on [Kubernetes](https://kubernetes.io/), you have to go through some procedures such as database driver mounting, configuration mounting, custom algorithm mounting, etc., which make the deployment process relatively tedious and causes high operation & maintenance costs.

This update brings the new ShardingSphere-Proxy Helm Chart, a new feature donated to the Apache ShardingSphere community by [SphereEx](https://www.sphere-ex.com/), a provider of enterprise-grade, cloud-native data-enhanced computing products, and solutions. This development allows Apache ShardingSphere to embrace ahead cloud-native computing.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i7wgjr9zao8cnpdmmlj7.png)
 

ShardingSphere relies on a registry to store metadata in cluster mode, and ShardingSphere-Proxy’s Helm Chart can automatically deploy ZooKeeper clusters allowing you to quickly build ShardingSphere-Proxy clusters.

Due to the limits imposed by open source protocol, ShardingSphere-Proxy’s binary distribution package and Docker image are not packaged with MySQL JDBC driver, so users need to manually add the MySQL JDBC driver to the classpath to use MySQL as ShardingSphere’s storage node.

For such cases, ShardingSphere-Proxy Helm Chart can automatically obtain the MySQL JDBC driver in the Pod’s Init container, reducing your deployment operation costs.

**SQL dialect translation**
With increased database diversification, the coexistence of multiple types of databases is now the norm. The scenarios in which heterogeneous databases are accessed using one SQL dialect are becoming a trend.

The existence of multiple diversified databases makes it difficult to standardize SQL dialects for accessing databases, meaning that engineers need to use different dialects for different types of databases - lacking a unified query platform.

Automatically translating different types of database dialects into one dialect that can be used by back-end databases allows engineers to access all back-end heterogeneous databases using any one database dialect, significantly reducing development and maintenance costs.

Apache ShardingSphere 5.1.2 is an important step to building a highly productive data gateway. This update enables a new SQL dialect translation capability that supports dialect conversion between major open source databases.

For example, you can use a [MySQL](https://www.mysql.com/) client to connect to ShardingSphere-Proxy and send SQL based on MySQL dialect, and ShardingSphere can automatically recognize the user protocol and storage node type to complete SQL dialect translation, accessing heterogeneous storage nodes such as PostgreSQL and vice versa.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ta3uayvelrxhl8co5fvd.png)
 

## Using ShardingSphere-JDBC as Driver
In past versions, ShardingSphere-JDBC was available for users in the form of `Datasource`. Projects or tools that do not use `Datasource`, previously would need to first be modified in order to be able to introduce ShardingSphere-JDBC, which increases development costs.


=====================================================
== File: docs/blog/content/material/2022_11_15_Alibaba_Cloud’s_OpenSergo_&_ShardingSphere_release_database_governance_standard_for_microservices_-_combining_Database_Plus_and_Database_Mesh_concepts.en.md
=====================================================
+++
title = "Alibaba Cloud's OpenSergo & ShardingSphere release database governance standard for microservices - combining Database Plus and Database Mesh concepts"
weight = 79
chapter = true 

+++

# Background

Recently, [Alibaba Cloud](https://us.alibabacloud.com/?utm_key=se_1007722888&utm_content=se_1007722888&gclid=Cj0KCQiAyMKbBhD1ARIsANs7rEE71bHtu1aPbMS_E5-awHyWwTtyRn8CfmMU0qD1eH2hKSVEIDxcxaIaAuAVEALw_wcB)'s [OpenSergo](https://opensergo.io/) and [ShardingSphere](https://shardingsphere.apache.org/) jointly released the database governance standard for microservices. By combining the [Database Plus](https://medium.com/faun/whats-the-database-plus-concepand-what-challenges-can-it-solve-715920ba65aa?source=your_stories_page-------------------------------------) and [Database Mesh](https://medium.com/faun/shardingsphere-database-mesh-4ad75bf4bac8?source=your_stories_page-------------------------------------) concepts, the two communities have standardized the existing database governance concepts, patterns, and paths, further completing the database governance ecosystem under the cloud-native environment.

![img](https://shardingsphere.apache.org/blog/img/2022_11_15_Alibaba_Cloud's_OpenSergo_&_ShardingSphere_release_database_governance_standard_for_microservices_—_combining_Database_Plus_and_Database_Mesh_concepts1.png)

***The founders of both communities expressed their opinions concerning the collaboration between the ShardingSphere community and the OpenSergo community:***

**Zhang Liang, the PMC Chair of the Apache ShardingSphere community:**

In the microservices field, the interaction and collaboration between services have been gradually perfected, but there is still no effective standard for services to access the database. Being, ShardingSphere has been continuously following the **"connect, enhance, and pluggable"** design philosophy. "Connect" refers to providing standardized protocols and interfaces, breaking the barriers for development languages to access heterogeneous databases. It's forward-looking for OpenSergo to propose the microservice-oriented governance standard and take the initiative to include database access in the standard. I'm pleased to see ShardingSphere and OpenSergo working together to build the standard for microservices which is a pivotal entrance to access databases.

**Zhao Yihao, the founder of the OpenSergo community:**

In microservice governance, in addition to the governance of the microservices itself, it is also a critical step to ensure business reliability and continuity to deal with microservices' access to databases. As a Top-Level project in the database governance field, ShardingSphere has integrated a wealth of best practices and technical experience, which complements OpenSergo. In this context, we work with the ShardingSphere community to jointly build a database governance standard from the perspective of microservices, so that enterprises can carry out unified and standardized governance and management on different data layer frameworks and traffic.

**Note:** database governance in this article includes all aspects of database governance in microservice systems. All business information and key data need a robust and stable database system as it is the most important state terminal.

# The database is increasingly vital in the microservice system

To meet flexible business requirements, the application architecture can be transformed from monolithic to service-oriented and then to microservice-oriented. In this case, the database used to store the core data becomes the focus of the distributed system.

Enterprises take advantage of microservices to separate services and adopt a distributed architecture to achieve loose coupling among multiple services, flexible adjustment and combination of services, and high availability of systems. In particular, microservices indeed have delivered enormous benefits in the face of rapidly changing businesses.

However, after services are separated, their corresponding underlying databases should also be separated to ensure the independent deployment of each service. In this way, each service can be an independent unit, finally achieving the microservices. In this context, the database is becoming increasingly complicated:

- The transformation from monolithic to microservice-oriented architecture models leads to increasingly complicated services, diversified requirements, larger scale infrastructure, complex call relations between services, and higher requirements on the underlying database performance.
- Different transactions usually involve multiple services - but it is a challenge to ensure data consistency between services.
- It is also challenging to query data across multiple services.

With most backend applications, their system performance improvement is mainly limited to databases. Particularly in a microservice environment, it is a team's top priority to deal with database performance governance. Database governance naturally becomes an indispensable part of microservice governance.

In database governance, we now mainly focus on **read/write splitting, sharding, shadow databases, database discovery, and distributed transactions**. At the same time, how to use databases and the actual database storage nodes rely on **the virtual database and database endpoint**.

In response to the above-mentioned problems, OpenSergo and ShardingSphere have assimilated the latter's database governance experience and released the **database governance standard under microservices**. By doing so, they can standardize the database governance method, lower the entry barriers of this field, and improve the business applicability of microservices.

# ShardingSphere's strategies on database traffic governance

**1. VirtualDatabase**

In database governance, whether it is read/write splitting, sharding, shadow database or encryption, audit, and access control, they all have to act on a specific database. Here such a logical database is called a virtual database, namely VirtualDatabase.

From the application's viewpoint, VirtualDatabase refers to a set of specific database access information, which can achieve governance capability by binding corresponding governance strategies.

=====================================================
== File: docs/blog/content/material/2022_04_13_A_Practical_Guide_to_Apache_ShardingSphere's_HINT.en.md
=====================================================
+++ 
title = "A Practical Guide to Apache ShardingSphere’s HINT"
weight = 49
chapter = true 
+++

## Background
[Apache ShardingSphere](https://shardingsphere.apache.org/) has gradually introduced various features based on practical user requirements, such as data sharding and read/write splitting.

The data sharding feature contains many practical sharding strategies such as Standard Sharding Strategy and Complex Sharding Strategy, and users can easily configure the corresponding sharding algorithms.

When it comes to Read/Write Splitting, Apache ShardingSphere provides users with two types called Static and Dynamic, and abundant load balancing algorithms.

Sharding and Read/Write Splitting functions of ShardingSphere are already very useful, but scenarios are ever-changing.

Take a multi-tenant case as an example: a user expects to shard data according to the tenant to which the login account belongs, but the tenant information does not exist in every business SQL. In this case, the algorithm for extracting sharding fields from SQL is not feasible.

Additionally, in most read/write splitting scenarios, users want to route queries to the secondary database for execution, but in some scenarios with a requirement for real-time operations, users want to route SQL to the primary database for execution. Currently, read/write splitting cannot meet business requirements.

Considering the above-mentioned pain points, Apache ShardingSphere created the `Hint` function to allow users to utilize different logic rather than SQL to implement forced routing or sharding.

Currently, ShardingSphere provides users with two `Hint` methods. One is a manual programming method with Java API and uses `HintManager` for forced routing and sharding. This method is very friendly to applications programmed with JDBC because developers don’t need to write too much code and can easily implement SQL-independent sharding or forced routing functions.

Based on distributed SQL ([DistSQL](https://opensource.com/article/21/9/distsql), ShardingSphere designed `SQL HINT` and `DistSQL HINT` to provide users with sharding and forced routing functions that can be implemented without coding. The method is more friendly to database administrators (DBAs).

Next, let’s take a close look at the two methods.

## Manual Programming Based on HintManager

ShardingSphere can implement the functions of forced route and sharding via the `HintManager` objects. With `HintManager`, users can complete data sharding without SQL. It also allows users to shard data or force routing more flexibly, greatly expanding user scenarios.

At the moment, with the help of `HintManager`, users can utilize ShardingSphere’s built-in or custom `Hint` algorithms to implement the sharding function, and can set specified data source or force primary database to do read/write splitting to implement the forced routing function.

I’d like to explain its basic implementation principle first to help you gain a better understanding of `HintManager`.

- **The Implementation of HintManager**
The code snippet below can help you quickly understand the principle of `HintManager`.

```java
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class HintManager implements AutoCloseable {

    private static final ThreadLocal<HintManager> HINT_MANAGER_HOLDER = new ThreadLocal<>();
}
```

As shown above, ShardingSphere implements the function of `HintManager` with `ThreadLocal`: as long as they are in the same thread, user’s sharding settings are preserved. Therefore, the user only needs to call relevant `HintManager` functions before executing SQL statements, and then ShardingSphere can obtain the sharding or mandatory routing conditions set by the user in the current thread so as to perform sharding or routing operations.

Next, let’s learn how to use it.


=====================================================
== File: docs/blog/content/material/Open_source_community.en.md
=====================================================
+++

title = "Why should you get involved in an Open-Source community?"
weight = 15
chapter = true

+++



You wouldn't imagine how close Open-Source projects are to you, as they have been integrated into every aspect of our lives - from the office to your home, from gyms to restaurants etc. 

The saying goes something along the lines of "Open-Source projects belong to us, not me" , which explains why these projects are popular to the point that even renowned business giants are including Open-Source initiatives into their roadmap. But for us common individuals, is there a chance and need to join the Open-Source community? What's the appeal?

In this article, I will answer these questions by sharing the pros and cons. As we all know, the carrot is always better than the stick, so let's first start with the carrot.

## 1. Master a New Skill

Tired of alienating and repetitive work every day? Do you want to learn new, exciting and valuable skills? 

Online courses (MOOCs) or old fashioned books are definitely great ways to improve your skillset and expand your knowledge. However, I'd like to recommend another efficient and interesting method, i.e. joining a relevant Open-Source community to learn new skills while solving real problems in a production environment. 

The reason why these active Open-Source projects are so popular is that they help users solve actual issues, while at the same time meet their needs. What you'll learn won't be about memorizing knowledge or textbook content, but about stimulating your brain and critical thinking skills with real-world knowledge. 

Let's take Apache ShardingSphere as an example as it's is appreciated by coders and students worldwide. Anyone will arrive to this conclusion just by considering the community data available, i.e. 14K+ GitStars, almost 5K forks, nearly 250 contributors on GitHub, and 160+ real use case scenarios. What's more, it's also a [Google Summer of Code 2021](https://summerofcode.withgoogle.com/), [Summer 2021](https://summer.iscas.ac.cn/#/?lang=en), and [Open source Day 2021](https://ghc.anitab.org/programs-and-awards/open-source-day/) partner project.

Its features such as sharding, data encryption, data scaling, shadow database for distributed loading tests etc. are borne out of real industry needs to address big data scenarios, distributed databases and high concurrency. In other words, people choose it to solve their production issues and for the possibility to provide direct feedback upstream. This back and forth model makes this community active, diverse, and flourishing.

## 2. Career Opportunities

HR departments and hiring managers nowadays routinely screen candidates' profiles and personal or professional development projects, as they view it as a practical and effective approach to select the best possible candidates. From an employer point of view, these practices make sense: GitHub can provide a more elaborate overview of your qualifications, experiences, skills, and even personality when compared to a traditional paper resume. 

If the Open-Source project you are getting involved in, is widely utilized in a production environment or has an equivalent industry developed solution, you are going to be very attractive in the job market and command better opportunities. 

If you ever felt stuck in rut, you may be well too familiar with the hit our confidence can take, and the newlyfound market appreciation of your skillset and professional profile will instantly provide you with the ever welcome confidence boost. 

I have heard many such stories from Apache ShardingSphere contributors and committers receiving impromptu interview calls from HRs considering their continued contributions and interactions in the Open-Source community.

Besides, SphereEx is actively recruiting talent interested in a full-time Open-Source career within the distributed database middleware vertical, and Java developers. Make sure to check out available opportunities [here](https://www.linkedin.com/company/sphere-ex/jobs/).

## 3. Interests

"Yep, I did it just for fun!" - that's another reason I heard from our contributors and committers. "What I'm doing in the Open-Source community has nothing to do with my job, but that's my passion and I want to get involved in a community to exchange ideas with others. That's the reason why I'm here". 

Such a simple, yet persuasive answer. The truth is that although we approach most of our professional life's issues with a profit-driven mindset, we might find that we do it without putting our "heart and soul" in it. Picking up a passion or side-project can allow you to rediscover yourself and channel positive energy into working on something you love, which in return gives you great satisfaction, thus creating a self-fulfilling circle.

Honestly, this has and still is one of my main drivers until now. Everyone is struggling with different life, work, or family issues - but goals, hopes and support from the community keep us striving and stumbling forward without quitting.

## 4. Socializing


=====================================================
== File: docs/blog/content/material/Feb_23_Stack_Overflow.en.md
=====================================================
+++
title = "Apache ShardingSphere is on the Stack Overflow Podcast, InfoQ and FOSDEM!"
weight = 36
chapter = true
+++

# Apache ShardingSphere is on the Stack Overflow Podcast, InfoQ and FOSDEM!

![1](https://shardingsphere.apache.org/blog/img/Stack_Overflow_img_1.jpeg)

Our PMC Trista Pan, and our community contributor Yacine Si Tayeb, joined the [Stack Overflow](https://stackoverflow.blog/2022/02/11/chinas-only-female-apache-member-on-the-rise-of-open-source-in-china-ep-414/?utm_source=twitter&utm_medium=social&utm_campaign=so-podcast&utm_content=pod414.2) podcast to share about the Apache ShardingSphere ecosystem.

They shared the advantages of data sharding and how it splits a database into smaller distributed databases to spread query load across multiple servers.

During the conversation, they introduced the complexities that arise with large databases, the rise of open source in China, and how Trista’s position as the only female Apache member in China can help other women get into technology.

Our community thanks the 
Stack Overflow
 team for this opportunity, and for being such great hosts. Being hosted on such a great platform is both an achievement and an opportunity for us.
 
Our PMC team’s community building efforts continue on what has so far been a great path that included being published on InfoQ with a piece titled [“The Next Evolution of Data Sharding”](https://www.infoq.com/articles/next-evolution-of-database-sharding-architecture/) and also joining fantastic events such as [FOSDEM](http://postgresql%20distributed%20%26%20secure%20database%20ecosystem%20building/). During FOSDEM our community shared how to build a distributed & secure ecosystem with [PostgreSQL](https://www.postgresql.org/).

Check out below the episode notes, and the links to the podcast and FOSDEM’s recording of the talk.

## Podcast episode notes
ShardingSphere builds distributed data systems, making it easier for organizations to load balance massive data stores across multiple servers.

Now that open source software has taken over Western software, it’s China’s turn. Even big companies like [Baidu](https://github.com/baidu) and [Bytedance](https://github.com/bytedance) are opening up their projects.

Trista is the [only female Apache member](https://segmentfault.com/a/1190000040352390) in China, which is both an honor and a demonstration of how much work needs to be done to support women in STEM.

Link: [https://stackoverflow.blog/2022/02/11/chinas-only-female-apache-member-on-the-rise-of-open-source-in-china-ep-414/?utm_source=twitter&utm_medium=social&utm_campaign=so-podcast&utm_content=pod414.2](https://stackoverflow.blog/2022/02/11/chinas-only-female-apache-member-on-the-rise-of-open-source-in-china-ep-414/?utm_source=twitter&utm_medium=social&utm_campaign=so-podcast&utm_content=pod414.2)

## InfoQ article
We thank the InfoQ editorial team for their support, and offering to share ShardingSphere’s features and architecture with their readers.

In this piece we introduced the strengths of data sharding, and Database Plus — our concept for creating a distributed database system for more than sharding, positioned above DBMS.

Link: [https://www.infoq.com/articles/next-evolution-of-database-sharding-architecture/](https://www.infoq.com/articles/next-evolution-of-database-sharding-architecture/)

## FOSDEM recording
The FOSDEM session focused on introducing how to empower PostgreSQL thanks to the ecosystem provided by Apache ShardingSphere.

ShardingSphere’s capability to transform any DBMS into a distributed database system, and enhance it with data sharding, elastic scaling, and encryption features is unique among current open source projects.

Link: [https://fosdem.org/2022/schedule/event/postgresql_postgresql_distributed_secure_database_ecosystem_building/](https://fosdem.org/2022/schedule/event/postgresql_postgresql_distributed_secure_database_ecosystem_building/)

## Apache ShardingSphere Open Source Project Links:

[ShardingSphere Github](https://github.com/apache/shardingsphere)

=====================================================
== File: docs/blog/content/material/2022_12_28_Fuzzy_query_for_CipherColumn__ShardingSphere_5.3.0_Deep_Dive.en.md
=====================================================
+++
title = "Fuzzy query for CipherColumn | ShardingSphere 5.3.0 Deep Dive"
weight = 84
chapter = true 

+++

![img](https://shardingsphere.apache.org/blog/img/2022_12_28_Fuzzy_query_for_CipherColumn__ShardingSphere_5.3.0_Deep_Dive1.png)

# 1. Background

[Apache ShardingSphere](https://shardingsphere.apache.org/) supports data encryption. By parsing users' SQL input and rewriting the SQL according to the users' encryption rules, the original data is encrypted and stored with ciphertext data in the underlying database at the same time.

When a user queries the data, it only fetches the ciphertext data from the database, decrypts it, and finally returns the decrypted original data to the user. However, because the encryption algorithm encrypts the whole string, fuzzy queries cannot be achieved.

Nevertheless, many businesses still need fuzzy queries after the data is encrypted. [In version 5.3.0](https://medium.com/faun/shardingsphere-5-3-0-is-released-new-features-and-improvements-bf4d1c43b09b?source=your_stories_page-------------------------------------), Apache ShardingSphere provides users with a default fuzzy query algorithm, supporting the fuzzy query for encrypted fields. The algorithm also supports hot plugging, which can be customized by users, and the fuzzy query can be achieved through configuration.

# **2. How to achieve fuzzy query in encrypted scenarios?**

## 2.1 Load data to the in-memory database (IMDB)

Load all the data into the IMDB to decrypt it; then it'll be like querying the original data. This method can achieve fuzzy queries. If the amount of data is small, this method will prove to be simple and cost-effective, while on the other hand, if the amount of data is large, it'll turn out to be a disaster.

## 2.2 Implement encryption & decryption functions consistent with database programs

The second method is to modify fuzzy query conditions and use the database decryption function to decrypt data first and then implement fuzzy query. This method's advantage is the low implementation & development cost, as well as use cost.

Users only need to slightly modify the previous fuzzy query conditions. However, the ciphertext and encryption functions are stored together in the database, which cannot cope with the problem of account data leaks.

```sql
Native SQL: select * from user where name like "%xxx%" 
After implementing the decryption function: ѕеlесt * frоm uѕеr whеrе dесоdе(namе) lіkе "%ххх%"
```

## 2.3 Store after data masking

Implement data masking on ciphertext and then store it in a fuzzy query column. This method could lack in terms of precision.

```markdown
For example, mobile number 13012345678 becomes 130****5678 after the masking algorithm is performed.
```

## 2.4 Perform encrypted storage after tokenization and combination

This method performs tokenization and combination on ciphertext data and then encrypts the resultset by grouping characters with fixed length and splitting a field into multiple ones. For example, we take four English characters and two Chinese characters as a query condition:

`ningyu1` uses the 4-character as a group to encrypt, so the first group is `ning`, the second group `ingy`, the third group `ngyu`, the fourth group `gyu1`, and so on. All the characters are encrypted and stored in the fuzzy query column. If you want to retrieve all data that contains four characters, such as `ingy`, encrypt the characters and use a key `like"%partial%"` to query.

**Shortcomings:**


=====================================================
== File: docs/blog/content/material/2022_08_02_Book_Release_“A_Definitive_Guide_to_Apache_ShardingSphere”_is_Published_Internationally.en.md
=====================================================
+++
title = "Book Release: “A Definitive Guide to Apache ShardingSphere” is Published Internationally"
weight = 71
chapter = true 
+++

Recently, *A Definitive Guide to Apache ShardingSphere*, a technical book co-written by [Pan Juan](https://authors.packtpub.com/interview-with-trista-pan/), [Zhang Liang](https://authors.packtpub.com/interview-with-liang-jhang/), and [Yacine Si Tayeb](https://authors.packtpub.com/interview-with-yacine-si-tayeb/), core members of [Apache ShardingSphere](https://shardingsphere.apache.org/), was officially launched internationally.

![img](https://shardingsphere.apache.org/blog/img/2022_08_02_Book_Release_“A_Definitive_Guide_to_Apache_ShardingSphere”_is_Published_Internationally1.png)

As the first book that comprehensively introduces ShardingSphere and demos several design details and best practices, *A Definitive Guide to Apache ShardingSphere* was written by core contributors and the founder of the ShardingSphere project.

> **“Many developers would like to have a complete document or book to understand the design concept of ShardingSphere and how to use it effectively. That’s exactly why we wrote this book,”** said Pan Juan, one of the authors of *A Definitive Guide to Apache ShardingSphere*, in an interview with the publisher [Packt](https://www.packtpub.com/product/a-definitive-guide-to-apache-shardingsphere/9781803239422?_ga=2.37937258.852749829.1658727294-774469931.1657074273).

This book offers a quick overview of the key challenges facing DBMS in production environments. It helps users understand how to use [ShardingSphere-JDBC](https://shardingsphere.apache.org/document/current/en/overview/#shardingsphere-jdbc) and [ShardingSphere-Proxy](https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-proxy-quick-start/) deployments, and how to quickly build and deploy a customized version of ShardingSphere using distributed database solutions, elastic scaling, [DistSQL](https://shardingsphere.apache.org/document/5.1.0/en/concepts/distsql/), integrated monitoring, database gateway, and SQL permissions, in a bid to address the pain points encountered in data management infrastructures.

# Why should ShardingSphere community users read this book?

*A Definitive Guide to Apache ShardingSphere* is written for DBAs and developers who are exploring distributed database solutions, want to learn about the Database Plus concept, and may find Apache ShardingSphere useful.

This is a technical book written for the ShardingSphere community users as well as database users in general. Readers are required to have a basic knowledge of technology, databases, relational databases, SQL, cloud computing, and data management.

- Use ShardingSphere pluggable architecture to build custom solutions.

# Why did we write a professional book about ShardingSphere?
**To introduce the strengths of ShardingSphere’s kernel, features, and architecture to more programmers.**

<p align="right">— By Zhang Liang, Apache ShardingSphere PMC Chair</p>

As the Apache ShardingSphere community has grown in the past two years, its project features and application scenarios have become increasingly diversified and many developers have applied ShardingSphere to real production scenarios.

However, a technical book that can cover the database industry, explain the development trend of the industry, and integrate the features of ShardingSphere products was needed on the market.

Following years of development, the ShardingSphere community has accumulated a large number of articles, documents, and best practice cases. But its rapid iterations create a lag in updating the documentation, which leads to incomplete documentation.

Additionally, the technical documents published on the Internet have not been systematically sorted. If a newcomer wants to use ShardingSphere and master a new project, they have to spend a lot of time reading obscure source code and scattered technical documents, which is inefficient and unfriendly to users. This will undoubtedly discourage even the most hardcore open source enthusiasts.

Therefore, a beginner book that can systematically and briefly introduce the complete features and functional ecology of ShardingSphere was due.

The book guides users from simply “making use of ShardingSphere” to “making **good** use of ShardingSphere”. It is the definitive book on the history of ShardingSphere and the project itself for both novice users and core members of the community.

Currently, ShardingSphere has reached version 5. X and transformed into a huge ecosystem guided by the Database Plus concept that provides core data enhancements for the upper layer of databases. In the coming future, its performance, stability, compatibility, and availability will be steadily further advanced.

# How to get it?

*A Definitive Guide to Apache ShardingSphere* has been officially listed on Amazon, and you can read the first chapter for free. Please refer to [ShardingSphere’s official website](https://shardingsphere.apache.org/learning.html) for details.

## ??Free Book Giveaway

To give back to the community users, ShardingSphere also launched a free book giveaway for this book. Click the following links to get a chance and win a copy!

=====================================================
== File: docs/blog/content/material/Oct_12_6_AutoTable_Your_Butler-Like_Sharding_Configuration_Tool.cn.md
=====================================================
+++
title = "分片利器 AutoTable:为用户带来「管家式」分片配置体验"
weight = 22
chapter = true
+++

在[《DistSQL:像数据库一样使用 Apache ShardingSphere》](https://mp.weixin.qq.com/s/fdCtxd_xYNll0_ZdAjDvCA)一文中,Committer 孟浩然为大家介绍了 DistSQL 的设计初衷和语法体系,并通过实战操作**展示了一条 SQL 创建分布式数据库表的强大能力,展现了 Apache ShardingSphere 在新形态下的交互体验。**

在前文发布后,小助手陆续收到热心读者的私信,询问使用 DistSQL 配置分片规则的细节,以及使用 YAML、Namespace 等形式的配置时,是否可以像 DistSQL 一样快速方便的完成分布式表的配置和创建?本文将为大家解答这些疑问。

**江龙滔**

SphereEx 中间件研发工程师,Apache ShardingSphere contributor。目前专注于 ShardingSphere 数据库中间件研发及开源社区建设。

## 背景

**Sharding**是 Apache ShardingSphere 的核心特性,也是 ShardingSphere 最被人们熟知的一项能力。在过去,用户若需要进行分库分表,一种典型的实施流程(不含数据迁移)如下:

![](https://shardingsphere.apache.org/blog/img/Blog_22_img_4_Rewarded_User_Issue_Snapshot.png)

					图1 Sharding 实施流程示意图

在这一过程中,用户需要准确的理解每一张数据表的分片策略、明确的知晓每张表的实际表名和所在数据库,并根据这些信息来配置分片规则。

以上述分库分表场景为例,实际的数据表分布情况可能如下:

![](https://shardingsphere.apache.org/blog/img/Blog_22_img_2_8_Databases_4_Tables_Distribution.png)

					图2 8 库 * 4 表分布示意图

## 痛点

在前述的分库分表场景中,作为 **Sharding** 功能的用户,必须要对数据表的分布情况了然于心,才能写出正确的 **actualDataNodes** 规则。如上述 t_order 表对应的分片配置如下:

~~~
tables:
  t_order:
    actualDataNodes: ds_${0..7}.t_order_${0..3}
    databaseStrategy: 
      standard:
        shardingColumn: order_id
        shardingAlgorithmName: database_inline
    tableStrategy: 
      standard:
        shardingColumn: order_id
        shardingAlgorithmName: table_inline
shardingAlgorithms:
  database_inline:
    type: INLINE
    props:

=====================================================
== File: docs/blog/content/material/2023_03_21_Streamlining_Database_Configuration_with_DistSQL's_Export,_Import,_and_YAML_Conversion.en.md
=====================================================
+++
title = "Streamlining Database Configuration with DistSQL's Export, Import, and YAML Conversion"
weight = 92
chapter = true 
+++

DistSQL, which stands for Distributed SQL, is a specialized operating language exclusive to Apache ShardingSphere. This language provides users with a simplified and powerful dynamic management system that allows them to operate ShardingSphere like a traditional database.

One of the key benefits of using DistSQL is the ability to define resources and rules online without the need to modify YAML files and restart the system. This streamlines the management process and reduces the potential for errors.

![img](https://shardingsphere.apache.org/blog/img/2023_03_21_Streamlining_Database_Configuration_with_DistSQL's_Export,_Import,_and_YAML_Conversion1.png)

As the capabilities of DistSQL have grown and users have become more familiar with it, a number of questions have been raised about its use. In this post, we'll explore some of these questions and discuss why they're relevant to today's topic.

Some of the most common questions about DistSQL include:

- Where are the rules defined by DistSQL stored?
- How to transfer a DistSQL defined configuration to a new environment when there are multiple test environments?
- How to write DistSQL syntax?

## Where are the rules defined by DistSQL stored?

When using DistSQL, a common question that arises is where the rules defined by the language are stored. The answer is that these rules are stored in the Governance Centre, which acts as a centralized repository for configuration data.

In cluster mode, users can choose to use either ZooKeeper or etcd as the Governance Centre, while standalone mode allows users to specify their own preferred persistence method. By default, DistSQL uses H2 non-persistent mode. However, it's recommended that users utilize cluster mode to take full advantage of the capabilities of DistSQL.

By storing rules in a centralized location, DistSQL makes it easier to manage and modify configurations. This enhances the overall user experience and streamlines the management process, allowing users to focus on more important tasks.

## How to transfer a DistSQL defined configuration to a new environment when there are multiple test environments?

When using DistSQL, one potential challenge that users may face is transferring data backups from the Governance Centre to a new environment. This process can be complex and time-consuming, especially if the data is stored across multiple nodes.

To address this issue, DistSQL provides an `EXPORT` syntax that allows users to export logical database configurations to YAML format. This makes it easier to migrate data to a new environment and streamlines the backup process.

Whether you're using standalone or clustered mode, the `EXPORT` syntax provides a powerful tool for managing and migrating data. By simplifying the backup process, DistSQL enhances the user experience and improves overall efficiency.

## We have a requirement to back up data on a regular basis. How to back up the configuration of the logical database? Using DistSQL definitions.

As we discussed in the previous question, using the `EXPORT` syntax in DistSQL allows users to export logical database configurations to YAML format. This functionality serves as a useful backup tool, as it enables users to easily store and migrate data to a new environment.

By exporting data as a YAML file, users can ensure that their data is safely backed up and readily available in case of any unexpected issues or system failures. This provides peace of mind and helps to ensure that important data is never lost.

Overall, the `EXPORT` syntax in DistSQL is a valuable tool that enhances the management capabilities of the language. Whether you're using it to migrate data to a new environment or simply to backup your data, the `EXPORT` syntax streamlines the process and makes it easier to manage your data with confidence.

## Does restarting the YAML format takes effect when putting it under a new ShardingSphere instance?

After exporting a YAML file using the `EXPORT` syntax in DistSQL, users have several options for loading the data back into the system. One common approach is to place the YAML file directly in the conf directory of the Proxy. However, if the Proxy is already running, a restart may be required for the changes to take effect.

A more convenient alternative is to use the `IMPORT` statement to dynamically load the data into the system. This approach allows the Proxy to write the data to the Governance Center without requiring a restart, which can save time and reduce disruptions to the system.


=====================================================
== File: docs/blog/content/material/2022_11_22_ElasticJob_UI_now_supports_Auth_2.0,_OIDC_and_SAML_single_sign-on_thanks_to_Casdoor.en.md
=====================================================
+++
title = "ElasticJob UI now supports Auth 2.0, OIDC and SAML single sign-on thanks to Casdoor"
weight = 80
chapter = true 
+++

![img](https://shardingsphere.apache.org/blog/img/2022_11_22_ElasticJob_UI_now_supports_Auth_2.0,_OIDC_and_SAML_single_sign-on_thanks_to_Casdoor1.png)

> If you're looking to add SSO to the administration console when using ElasticJob UI, this article will help you tackle this user management problem using ElasticJob UI's built-in Casdoor.

# Background

[ElasticJob UI](https://github.com/apache/shardingsphere-elasticjob-ui) is the visual admin console of [ElasticJob](https://github.com/apache/shardingsphere-elasticjob), whose target users are developers and DevOps teams rather than users. Generally, it is deployed only in the internal environment and thus its R&D focus more on its features.

Any open source project will inevitably become an object of interest for security researchers. Previously, security researchers submitted a lot of security issues on ElasticJob UI to the [Apache ShardingSphere](https://shardingsphere.apache.org/) community without considering its actual usage scenario.

After careful considerations regarding dealing with those security vulnerability reports, the community decided to stop maintaining ElasticJob UI.

The [Casdoor](https://casdoor.org/) community members noticed our discussion about stopping the maintenance of ElasticJob UI and thought it would be a loss to deactivate ElasticJob UI because of unrealistic security reports.

If ElasticJob UI would be connected to Casdoor, it would be improved in terms of authentication security and features. In this context, the Casdoor and Apache ShardingSphere community reached a consensus on collaboration.

# How to connect ElasticJob UI to Casdoor?

## Step 1: Deploy Casdoor

The source code of Casdoor is on [GitHub](https://github.com/casdoor/casdoor), and its boot mode includes development mode and production mode. The development mode is taken as an example here. Please refer to this [link](https://casdoor.org/docs/basic/server-installation) for more details.

**Backend boot mode**

```bash
go run main.go
```

**Front-end boot mode**

```bash
cd web
yarn install
yarn start
```

## Step 2: Configure Casdoor and obtain the required data

![img](https://shardingsphere.apache.org/blog/img/2022_11_22_ElasticJob_UI_now_supports_Auth_2.0,_OIDC_and_SAML_single_sign-on_thanks_to_Casdoor2.png)

The red arrows indicate what the backend configuration requires, with "Redirect URLs" referring to the address where you perform a callback.

We also need to find the corresponding cert we selected in the cert option, such as `cert-build-in` here. A certificate is also needed.


=====================================================
== File: docs/blog/content/material/Jan_28_F6_Automobile_Technology’s_Multimillion_Rows_of_Data_Sharding_Strategy_Based_on_Apache_ShardingS.md
=====================================================
+++
title = "F6 Automobile Technology’s Multimillion Rows of Data Sharding Strategy Based on Apache ShardingSphere"
weight = 31
chapter = true
+++

# F6 Automobile Technology’s Multimillion Rows of Data Sharding Strategy Based on Apache ShardingSphere

[F6 Automobile Technology](https://www.f6car.com/) is an Internet platform company focusing on the informatization of the automotive aftermarket. 

It helps automotive repair companies (clients) build their smart management systems to digitally transform the auto aftermarket.
The data of different auto repair companies will certainly be isolated from each other, so theoretically the data can be stored in different tables of different databases. However, fast-growing enterprises face increasing data volume challenges: sometimes total data volume in a single table may approach 10 million or even 100 million entries.


This issue definitely challenges business growth. Moreover, growing enterprises are now also planning to split their systems into many microservices based on domains or business types, and accordingly, different databases are vertically required for different business cases.

## Why Did We Need Data Sharding?
Relational databases are bottlenecks when it comes to storage capacity, connection count, and processing capabilities.


First, we always prioritize database performance. When the data volume of a single table reaches tens of millions, and there are a relatively large number of query dimensions, system performance would still prove unsatisfactory even if we added more slave databases and optimize indexes. This meant it was time for us to consider data sharding.

The purpose of data sharding is to reduce database load stress and query time. Additionally, since a single database often has a limited number of connections, when Queries Per Second (QPS) indicator of the database is too high, database sharding is certainly needed to share connection stress.

Second, to ensure availability was another important reason. If unfortunately, an accident occurs in a single database, we’d likely lose all data and further affect all services. Database sharding can minimize risk and the negative impact on business services. Generally, when the data volume of a table is greater than 2GB or the number of data rows is greater than 10 million, not to mention that the data is also growing rapidly, we’d better use data sharding.
## What’s Data Sharding?
There are four common types of data sharding in the industry:

- Vertical table sharding: split big tables into small ones, field-based, which means less frequently used or relatively long fields are split into extended tables.
- Vertical database sharding: business-based database sharding is used to solve performance bottlenecks of a single database.
- Horizontal table sharding: distribute tables’ data rows into different tables according to some rules in order to decrease the data volume of single tables and optimize query performance. In terms of the database layer, it still faces bottlenecks.
- Horizontal data sharding: based on horizontal table sharding, distribute data into different databases to effectively improve performance, lower stress of stand-alone machine and single databases, and break the shackles of I/O, connections, and hardware resources.
## Excellent Data Sharding Solutions
1. [Sharding-JDBC](https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-jdbc-quick-start/) (Apache ShardingSphere)
**Pros:**
- Supported by an active open source community. Now, Apache ShardingSphere 5.0 version has been released and the development iteration speed is fast.
- Proven efficacy by many successful enterprise application cases: big companies such as JD Technology and Dangdang.com have applied ShardingSphere.
- Easy deployment: Sharding-JDBC can be quickly integrated into any project without extra services deployed.
- Excellent compatibility: it can route to a single data node and perfectly support SQL.
- Excellent performance and low loss: test results can be found on the Apache ShardingSphere website.
- 
**Cons:**

- Potential increase in operations and maintenance costs, and troublesome field changes and index creation after data sharding. To fix the issue, users need to deploy Sharding-Proxy that supports heterogeneous languages and is more friendly to DBAs.
- So far, the project doesn’t support data shards dynamic migration yet. Therefore, feature implementation is required.

2. [MyCat](http://mycat.sourceforge.net/)

**Pros:**


=====================================================
== File: docs/blog/content/material/Jan_28_Full_Link_Online_Stress_Testing_for_Production_Database_Apache_ShardingSphere_Shadow_Database_Feature_Upgrade.en.md
=====================================================
+++
title = "Full Link Online Stress Testing for Production Database: Apache ShardingSphere Shadow Database Feature Upgrade"
weight = 34
chapter = true
+++

# Full Link Online Stress Testing for Production Database: Apache ShardingSphere Shadow Database Feature Upgrade

## What is full link stress testing?

As the Internet industry is growing rapidly, businesses that operate with large amounts of data are seeing a rapid expansion.

Predictably, ever changing customer demand is having a significant impact on the stability of their whole systems. For example, online food delivery platforms receive most of their customer orders at noon and in the evening. Online shopping sprees and time-limited sales promotions are also good examples.

All businesses are served by a series of business systems which are distributedly deployed in different machines. “Data Plannig” cannot only ensure systems’ stability but also save costs, which are some of the major problems for technology teams.

To precisely get the right service from a specific machine, stress testing should be conducted in the production environment. This can ensure the authenticity of the environment and the data, significantly improving the precision of “data planning”.

## Shadow Database and Full-Link Stress Testing

Performing a stress test on an online business system is evidently risky. For example, data corruption or performance problems may arise.

Just imagine how it would compromise customer experience, if customers found their order has been lost or an unpaid order popped up?

Full-link online stress testing implies a significant amount of complicated work which requires cooperation between microservices and middlewares. [Apache ShardingSphere](https://shardingsphere.apache.org/) focuses on database-level solutions in full-link stress testing.

With ShardingSphere’s powerful SQL parsing capability, Apache ShardingSphere released the shadow database stress testing feature to determine shadow databases by executing SQL, and to meet the online stress testing needs in complicated business scenarios with the flexible configuration of shadow algorithms. By routing stress testing traffic to shadow databases, and normal online traffic to production database, stress testing data will be isolated and the data corruption problem is solved.

## Shadow Database Function Upgrading

Shadow database function was initially realized in version 4.1.0 by adding a logic shadow column. By parsing, executing, routing and rewriting SQL, Apache ShardingSphere deleted the shadow column and column value. Users do not need to setup or do anything during this process. They only need to modify SQL accordingly, add shadow fields and corresponding configurations.

### Two pain points occur when adding shadow column:

1. Before performing stress testings, users need to modify test-related SQL according to actual business needs.
2. SQL modification will increase implementation damage and reduce the accuracy of stress testing results. After discussion in the ShardingSphere community, we decided to upgrade shadow database functions. Apache ShardingSphere 4.1.1 GA shadow database API had relatively simple functionaloity. Whether to open shadow database is determined by corresponding values of the logicColumn.

![1](https://shardingsphere.apache.org/blog/img/Full_Link_Online_Stress_Testing_img_1.png)

The upgraded shadow database API of 5.0.0 GA is more powerful. Users can determine whether the shadow database function is enabled through the “enable” attribute. Configurable shadow table can determine what needs to be stress tested by means of a table, and supports multiple shadow algorithms. For example, column value matching algorithm, regular expression matching and SQL comment matching algorithm.

![2](https://shardingsphere.apache.org/blog/img/Full_Link_Online_Stress_Testing_img_2.png)

## Shadow Database in Practice

Online full-link stress testing diagram:

![3](https://shardingsphere.apache.org/blog/img/Full_Link_Online_Stress_Testing_img_3.jpeg)

### Prepare stress testing environment:

=====================================================
== File: docs/blog/content/material/2022_09_22_How_does_ShardingSphere’s_Show_processlist_&_Kill_Work.en.md
=====================================================
+++
title = "How does ShardingSphere’s Show processlist & Kill Work?"
weight = 75
chapter = true 
+++

For those of you who often use databases, you may wonder:

1. How do I check what SQL is currently being executed by the database, and in what state?

2. How do I terminate abnormal SQL? For instance, if a `SELECT` statement used to query a table with massive data does not carry query conditions, it would drag down the performance of the entire database. This may push to want to terminate this abnormal SQL.

In response to the above issues, [Apache ShardingSphere](https://shardingsphere.apache.org/) introduced functions such as `Show processlist` and `Kill <processID>`.

![img](https://shardingsphere.apache.org/blog/img/2022_09_22_How_does_ShardingSphere’s_Show_processlist_&_Kill_Work1.png)

# 1. Introduction

`Show processlist`: this command can display the list of SQL currently being executed by ShardingSphere and the execution progress of each SQL. If ShardingSphere is deployed in cluster mode, the `Show processlist` function aggregates the SQL running for all Proxy instances in the cluster and then displays the result, so you can always see all the SQL running at that moment.

```mysql
mysql> show processlist \G;
*************************** 1. row ***************************
     Id: 82a67f254959e0a0807a00f3cd695d87
   User: root
   Host: 10.200.79.156
     db: root
Command: Execute
   Time: 19
  State: Executing 0/1
   Info: update t_order set version = 456
1 row in set (0.24 sec)
```

`Kill <processID>`: This command is implemented based on `Show processlist` and can terminate the running SQL listed in the `Show processlist`.

```mysql
mysql> kill 82a67f254959e0a0807a00f3cd695d87;
Query OK, 0 rows affected (0.17 sec)
```

# 2. How do they work?

Now that you understand the functions of `Show processlist` and `Kill <processID>`, let's see how the two commands work. As the working principle behind `Kill <processID>` is similar to that of `Show processlist`, we'll focus on the interpretation of `Show processlist`.

## 2.1 How is SQL saved and destroyed?

Each SQL executed in ShardingSphere will generate an `ExecutionGroupContext` object. The object contains all the information about this SQL, among which there is an `processID` field to ensure its uniqueness.

When ShardingSphere receives a SQL command, the `GovernanceExecuteProcessReporter# report` is called to store `ExecutionGroupContext` information into the cache of `ConcurrentHashMap `(currently only DML and DDL statements of MySQL are supported; other types of databases will be supported in later versions. Query statements are also classified into DML).

=====================================================
== File: docs/blog/content/material/2022_04_29_Apache_ShardingSphere_Enterprise_Applications_Zhuanzhuan’s_Transaction_System_with_100s_of_Millions_of_Records.en.md
=====================================================
+++ 
title = "Apache ShardingSphere Enterprise Applications: Zhuanzhuan’s Transaction System with 100s of Millions of Records"
weight = 53
chapter = true 
+++

## Background and Challenges
[Zhuanzhuan](https://www.zhuanzhuan.com/index.html) is an internet platform that allows it users to sell their second-hand stuff — sort of an eBay of the East. Its business had been booming, and with it the ordering system started to face increasing performances challenges. The order database is the cornerstone of the system, and its performance should not be underestimated.

**Challenges:**

- During promotions and special discount periods the burden on databases is heaby with tens of thousands of single database queries per second (qps) taking up huge database resources, and causing a significant reduction in write performance.
- Increased data pressure, with a single database containing several large tables with hundreds of millions of data, which challenges the capacity limit of the server.
- Overwhelming data volume, and data backup and recovery take a long time, posing high risks of data loss in extreme cases.

## Why ShardingSphere?
In the beginning, ZhuanZhuan’s team took adjustment measures to ease the database pressure. Exmaples include:

**- Optimized major transactions, reduced transactions, and even eliminated transactions**
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jgvh0xy3l3xvjkbn7c4j.png)
 

We adjusted the original transaction order by putting table generation, the core step at the end, and keeping the transaction only in the order primary database. When the operation of the main table was abnormal, dirty reads were allowed on other order-related tables.

**- Order data cache**
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ueib5czc3uni28w0yk5.png)
 

Data consistency was the trickiest part of the cache. As order data involved account settlements and commission, non-real-time and inconsistent data would cause serious accidents.

Strictly keeping cache data consistency would complex coding and reduce system concurrency. Therefore, we made some compromises on cache plans:

1. Allowing direct query when cache failed.
2. Adding version serial number, and querying the latest version’s data to ensure real-time data.
3. Complex queries were conducted by [Elasticsearch (ES)](https://www.elastic.co/) and primary and secondary separation, and for some large tables, we adopted hot and cold data separation.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k92mmvjo5y2ldbkskqc6.png)
 

Through these optimizations, database pressure was eased. However, it still seemed overwhelming under high concurrency scenarios, such as discount season.

To fundamentally solve the performance problem of order database, ZhuanZhuan decided to adopt data sharding (database and table splitting) on the `order` database so that we wouldn’t have to worry about order capacity in the future 3–5 years.

Zhuangzhuang chose [ShardingSphere](https://shardingsphere.apache.org/) after comparing the efficiency, stability, learning cost and etc. of different data sharding components.

Advantages of ShardingSphere:

- It provides standardized data sharding, distributed transactions and database governance, and it’s applicable in a variety of situations such as Java isomorphism, heterogeneous language and cloud native.
- It has flexible sharding strategies, supporting multiple sharding methods.
- It’s easy to integrate with other components and has a low level of transaction intrusions.
- It has extensive documentation and an active community.

=====================================================
== File: docs/blog/content/material/_index.en.md
=====================================================
+++
title = "Article Selections"
weight = 1
chapter = true
+++

Welcome to pick up some of article selections to read. Moreover look forward to your contribution!

1. [Following 6 months of development Apache ShardingSphere 5.0.0-beta has been officially released! ](/en/material/ss_5.0.0beta/)

2. [After years of stagnation, ElasticJob is back with the first Apache version 3.0.0-alpha](/en/material/alpha/)

3. [News! The distributed scheduling project ElasticJob is about to restart](/en/material/elasticjob/)

4. [Congratulations on graduation of Apache ShardingSphere as a Top-Level Project](/en/material/graduate/)

5. [How to construct the distributed database](/en/material/database/)

6. [Exploration and expansion of the community](/en/material/community/)

7. [Apache ShardingSphere is included in CNCF Landscape](/en/material/cncf/)

8. [Seata_AT](/en/material/seata/)

9. [The mixed open-source distributed transaction solution](/en/material/solution/)

10. [Would you like to become an Apache committer](/en/material/committer/)

11. [How automatic executor of ShardingSphere works](/en/material/engine/)

12. [How to merge the child resultsets](/en/material/result/)

13. [The quick explanation of ShardingSphere transaction module](/en/material/realization/)

14. [Revealing Sharding-Proxy —— Database Middleware Oriented DBA](/en/material/proxy/)

=====================================================
== File: docs/blog/content/material/2022_05_19_Apache_ShardingSphere_Enterprise_User_Case_Zhongshang_Huimin’s_Transaction_Middle_Platform_Architecture.en.md
=====================================================
+++ 
title = "Apache ShardingSphere Enterprise User Case: Zhongshang Huimin’s Transaction Middle Platform Architecture"
weight = 56
chapter = true 
+++

The FMCG (fast moving consumer-goods) industry can no longer meet current development requirements. The traditional way of only upgrading the end of the supply chain cannot achieve high-quality business development. [Huimin](https://huimin.cn/) focuses on order fulfillment and delivery service for over one million community supermarkets, transforming and upgrading from serving retail terminal stores to promoting the digitization of the whole FMCG industry chain.

It is committed to building a B2B2C data closed-loop operating system, providing brand owners, distributors, and community supermarkets with transformed and upgraded solutions for the whole chain covering purchasing, marketing, operation, and distribution. All these commitments cannot be fulfilled without its powerful “middle platform” system.

## Introducing the “middle platform”
Huimin began to transferred [PHP](https://www.php.net/) technology stack to the Java technology stack, and shifted to microservices from 2016 to 2017, and started to build the “middle platform” in 2018.

The phase-one project of its transaction middle platform went live in early 2021, and phase-two in March 2022.

Owing to business growth and various changes, Huimin launched a strong “middle platform” development strategy to improve efficiency and reduce costs. Measures were taken to reduce the coupling degree between systems, increase scalability, and ensure low latency while extracting business commonalities. At the beginning of 2021, the company finihsed rebuilding the previous order management system (OMS) and launched a packaged business capability project for a transaction middle platform centered on the transaction process of orders, which is divided into the following four core modules: order status flow system, order management system, order fulfillment system and order cost calculation system. At the same time, based on business stratification, the project is also split into an order query system, report system, and order management backend.

To synergize technical and business requirements during the rebuilding process, the go-live process was divided into two phases: application system splitting and data splitting.

## System splitting
R&D teams having to frequently adjust order management system and adapt it to multiple business lines may cause inefficiencies. In response to these problems, the following principles were formulated to split and rebuild the system:

1. Avoid the logic coupling of different lines of business. Different business lines should contain and minimize influence on each other to reduce logic complexity.
2. Responsibilities are divided according to the order lifecycle to ensure that each system is independent with an exclusive responsibility.
3. Read/write splitting. Ensure the stability of core functions and avoid the impact of frequent iterations on core functions.
4. [ElasticSearch](https://www.elastic.co/) was introduced to solve the external index problem, and reduce database index pressure.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1223xl1pboe6emvrjian.png)
 

## Data splitting
The purpose of data splitting is to reduce the maintenance pressure of a single table. When the amount of data reaches tens of millions, the index and field maintenance of database tables will have a great impact on the online environment. Before splitting a table, you have to consider the following questions:

1. Splitting rules: what tables are data-intensive? What about the number of splits?
2. Data read/write: how to solve the read/write problem after splitting tables?
3. Go-live solution: how to go live smoothly?

### Splitting rules

During a 3 years iteration period, the number of splits = ((amount of data added per month * 36) + Amount of historical data) / maximum amount of data in a single table.

When we use the [InnoDB](https://en.wikipedia.org/wiki/InnoDB) engine for DDL operation to maintain [Alibaba Cloud](https://www.alibabacloud.com/?spm=a2796.143805.6791778070.2.b8fa46e3JLecKh) RDS MySQL, we come up with the following results:

When the amount of data is less than 5 million, the execution time is about tens of seconds. Between 5 million and less than 10 million, the execution time is about 500 seconds; between 10 million and less than 50 million, the execution time is about 1000 seconds; and when more than 50 million, the execution time is more than 2000 seconds.

The upper limit for splitting a single table depends on the impact of a single table operation on business. Of course, some solutions can tackle the problem of table lock resulting from DDL operation. For example, dual-table synchronization and changes in table names can reduce the impact to within seconds.

The split number of the library table is preferably 2 to the power of N, which is conducive to later horizontal scaling.

### Technology selection


=====================================================
== File: docs/blog/content/material/Oct_12_6_AutoTable_Your_Butler_Like_Sharding_Configuration_Tool.en.md
=====================================================
+++
title = "AutoTable: Your Butler-Like Sharding Configuration Tool"
weight = 22 
chapter = true
+++

## Summary

In the previous article _“An Introduction to DistSQL”_ written by Haoran Meng, the Apache ShardingSphere Committer shared the motivating reasons behind the design of DistSQL, explained its syntax system, and impressively showcased how you can use one SQL to create a sharding table.

We believe that you should be now more familair with the new capabilities Apache ShardingSphere can bring you.

Following the article’s publication, we received many messages from our readers and users. They wanted to know the details of using DistSQL to configure sharding rules, and whether they can still use DistSQL to quickly create and configure a sharding table with configs like YAML or Namespace. Today, we’d like to introduce your new sharding configuration butler AutoTable to you.

## Background

`Sharding` is the core feature of Apache ShardingSphere. We guess, your old sharding workflow (without data migration) probably looks like the one below:

**Figure 1:** Sharding Workflow

![](https://shardingsphere.apache.org/blog/img/Blog_22_img_1_sharding_workflow_en.png)

In such workflow, you have to clearly know your sharding strategies, and the actual table names and their datasources. Then, you base your sharding rules on such information.

One of the table distribution results may be 8 sharding databases each containing 4 tables.

**Figure 2:** 8 Databases * 4 Tables Distribution

![](https://shardingsphere.apache.org/blog/img/Blog_22_img_2_8_Databases_4_Tables_Distribution.png)

## Problem

Only when you are 100% sure about the table distribution you can code the correct actualDataNodes rules. Otherwise, you may write the wrong one. The correct sharding rule in this case looks like this:

~~~
tables:
t_order:
actualDataNodes: ds_${0..7}.t_order_${0..3}
databaseStrategy:
standard:
shardingColumn: order_id
shardingAlgorithmName: database_inline
tableStrategy:
standard:
shardingColumn: order_id
shardingAlgorithmName: table_inline
shardingAlgorithms:
database_inline:
type: INLINE
props:

=====================================================
== File: docs/blog/content/material/2023_02_23_ShardingSphere-Proxy_Database_Protocol_Interaction_Explained.en.md
=====================================================
+++
title = "ShardingSphere-Proxy Database Protocol Interaction Explained"
weight = 89
chapter = true 

+++

Database protocols are considered relatively unknown knowledge for most developers. Generally, users and developers use databases through off-the-shelf database clients and drivers, without manipulating database protocols directly.

However, having some basic understanding of the features and processes of database protocols can help developers provide some ideas to identify troubleshooting problems when it comes to database functionality and performance issues.

In this post, we will introduce the features of commonly used open source database protocols such as MySQL and PostgreSQL, and explain how ShardingSphere-Proxy interacts with clients at the database protocol level.

# Introduction to the ShardingSphere Access Side

The Apache ShardingSphere ecosystem includes ShardingSphere-JDBC and ShardingSphere-Proxy, deployable independently or in a hybrid deployment.

They both provide standardised incremental functionality based on databases as storage nodes for a variety of application scenarios such as Java homogeneous, heterogeneous languages, cloud native and more.

![img](https://shardingsphere.apache.org/blog/img/2023_02_23_ShardingSphere-Proxy_Database_Protocol_Interaction_Explained1.png)

ShardingSphere-JDBC is a Java-based SDK that implements the standard JDBC and is lightweight and high performance, but also has obvious limitations. Nevertheless, the limitations of ShardingSphere-JDBC in terms of access are addressed by ShardingSphere-Proxy on the access side.

- ShardingSphere-Proxy supports connections via any database client, database driver, and is not limited to JVM-based languages such as Java.
- Simplifies data management. In particular, in scenarios where data sharding or encryption is used, ShardingSphere-Proxy can be used as a unified portal to manipulate data without having to consider the actual node where the data is stored or to manually decrypt it, etc.
- Provides unified operation and maintenance control capabilities. In cluster mode, ShardingSphere-Proxy can be used to unify the management of ShardingSphere rules and configurations.
- Heavyweight operations can be performed. ShardingSphere-JDBC is in the same process as the application, where heavyweight computation and I/O operations may impact application performance, while ShardingSphere-Proxy starts as a separate process and supports horizontal scaling, and performing heavyweight operations without impacting application performance.

# Database Protocol Features

There are already a number of specific interpretations of MySQL or PostgreSQL protocols on the Internet, so we won't go into detail in this article.

This section focuses on the features of each database protocol, such as its support for Pipelining and how bulk operations are represented in the protocol.

## MySQL Protocol

The MySQL protocol is typically a “one question, one answer" protocol, e.g. to execute SQL using Prepared Statement. At the protocol level, you need to execute `COM_STMT_PREPARE` and `COM_STMT_EXECUTE` respectively.

![img](https://shardingsphere.apache.org/blog/img/2023_02_23_ShardingSphere-Proxy_Database_Protocol_Interaction_Explained2.png)

**Image source:** [MySQL documentation](https://dev.mysql.com/doc/dev/mysql-server/latest/mysqlx_protocol_use_cases.html).

MySQL has added an X Plugin since 5.7.12, which allows MySQL to add support for document type stores while maintaining the original relational store.

The X Plugin uses a new communication protocol, X Protocol, which uses port 33060 by default and supports pipelining, i.e. the client can send a batch of commands to the client at a time, reducing the RTT (Round-trip time) associated with the “one question, one answer" model (Round-trip time).

For example, if a SQL is executed using `Prepared Statement`, at the protocol level there are `Prepare` and `Execute` steps, but at the network transport level, these two steps can be combined and sent. This can theoretically reduce the RTT by one compared to the original protocol.

![img](https://shardingsphere.apache.org/blog/img/2023_02_23_ShardingSphere-Proxy_Database_Protocol_Interaction_Explained3.png)


=====================================================
== File: docs/blog/content/material/2022_11_24_ShardingSphere-on-Cloud_&_Pisanix_replace_Sidecar_for_a_true_cloud-native_experience.en.md
=====================================================
+++
title = "ShardingSphere-on-Cloud & Pisanix replace Sidecar for a true cloud-native experience"
weight = 81
chapter = true 
+++

# Background

For a while, many of our blog posts have shown that [**ShardingSphere**](https://shardingsphere.apache.org/) **consists of three independent products:** [**ShardingSphere-JDBC**](https://shardingsphere.apache.org/document/current/en/overview/#shardingsphere-jdbc)**,** [**ShardingSphere-Proxy**](https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-proxy-quick-start/)**, and ShardingSphere-Sidecar.**

As ShardingSphere has become increasingly popular, JDBC and Proxy have been used in numerous production environments, but Sidecar's status has remaining as "**under planning"**. you may have noticed this on our GitHub `READ ME` or our website.

With cloud-native gaining momentum, many enterprises are choosing to use databases on the cloud or cloud native databases. This represents an excellent opportunity for ShardingSphere-Sidecar, which is positioned as a **cloud-native database proxy in** [**Kubernetes**](https://kubernetes.io/).

However, some of you may have noticed that any mention of Sidecar has disappeared from ShardingSphere's latest documentation. Has ShardingSphere-Sidecar been canceled? What will ShardingSphere's cloud native future look like? Here's what's coming.

# What's ShardingSphere's plan for the cloud?

## Stop the R&D of ShardingSphere-Sidecar

As far as ShardingSphere users are concerned, ShardingSphere-JDBC and ShardingSphere-Proxy can already meet most requirements. ShardingSphere-Sidecar's only difference from them is in the deployment form. JDBC and Proxy are functionally identical, but each has unique advantages.

ShardingSphere-JDBC is positioned as a lightweight Java framework that provides additional services at theJava JDBC layer. With the client connecting directly to the database, it provides services in the form of `jar` and requires no extra deployment and dependence. It can be viewed as an enhanced JDBC driver, fully compatible with JDBC and all kinds of [ORM](https://stackoverflow.com/questions/1279613/what-is-an-orm-how-does-it-work-and-how-should-i-use-one) frameworks. It's targeted at developers and boasts higher performance.

ShardingSphere-Proxy is a transparent database proxy, supporting heterogeneous languages through the implementation of database binary protocol. Currently, [MySQL](https://www.mysql.com/) and [PostgreSQL](https://www.postgresql.org/) protocols are provided. Nevertheless, Proxy adds a gateway between the database and the front-end application layer, which will partially lower the performance.

**Our community recommends users to adopt a hybrid deployment mode allowing JDBC and Proxy to complement each other, maximizing ShardingSphere's advantages in terms of performance, availability and heterogeneous support.**

![img](https://shardingsphere.apache.org/blog/img/2022_11_24_ShardingSphere-on-Cloud_&_Pisanix_replace_Sidecar_for_a_true_cloud-native_experience1.png)

As you can see, it's a bit awkward for ShardingSphere-Sidecar: JDBC and Proxy are applicable to most scenarios, environments and businesses, and can complement each other, leaving little room for Sidecar to innovate. From the viewpoint of the community and its users, Sidecar is more like an extension in deployment mode, and it is not capable of enhancing ShardingSphere as a whole.

**Taking the above factors into consideration, it is more efficient to develop a patch tool for ShardingSphere that can be easily used and run in a Kubernetes environment. This way, users can deploy and use ShardingSphere in cloud native environments, while saving R&D time for the ShardingSphere community.**

## ShardingSphere's cloud solution: [ShardingSphere-On-Cloud](https://github.com/apache/shardingsphere-on-cloud)

> ShardingSphere-on-Cloud is a comprehensive system upgrade based on ShardingSphere.

ShardingSphere-Sidecar was born when Kubernetes thrived. Back then, more and more enterprises were trying to adopt cloud-native concepts. The ShardingSphere community is not an exception.

We proposed ShardingSphere-Sidecar to promote cloud-native transformation in the data field. However, since JDBC and Proxy are mature enough to deal with data governance in most scenarios, it's unnecessary to make ShardingSphere entirely cloud native.

Sidecar can indeed play a big role in certain scenarios, but it doesn't mean that we have to create a Sidecar version for each component. ShardingSphere is working on how to come up with a solution based on real cloud-native scenarios after fully integrating the cloud computing concept. That's how ShardingSphere-on-Cloud was born.

[ShardingSphere-on-Cloud](https://github.com/apache/shardingsphere-on-cloud) is capable of deploying and migrating ShardingSphere in a Kubernetes environment. With the help of [AWS CloudFormation](https://aws.amazon.com/cloudformation/), [Helm](https://helm.sh/), Operator, and Terraform (coming soon) and other tools, it provides best practices with quick deployment, higher observability, security and migration, and high availability deployment in a cloud native environment.

Please refer to [***Database Plus Embracing the Cloud: ShardingSphere-on-Cloud Solution Released***](https://medium.com/codex/database-plus-embracing-the-cloud-shardingsphere-on-cloud-solution-released-29916290ad06?source=your_stories_page-------------------------------------) for details.

## Achieving the vision of ShardingSphere-Sidecar through [Pisanix](https://www.pisanix.io/)


=====================================================
== File: docs/blog/content/material/seata.en.md
=====================================================
+++
title = "Apache ShardingSphere merged Seata AT distributed transactions"
weight = 7
chapter = true
+++

### Background

Seata is a distributed transaction framework that jointly created by Ali group and Ant Financial services group. The current version of seata includes AT and TCC transaction. The goal of AT transaction is to provide incremental transaction ACID semantics under the micro service architecture, which let the users use distributed transactions just like local transactions. The core concept is the same as ShardingSphere. 

GitHub: https://github.com/seata/seata

### Seata AT model

The Seata AT transaction model includes TM (Transaction manager), RM (Resource manager) and TC (Transaction coordinator).

TC is an independent service and needs to be deployed separately, but TM and RM are deployed together with business applications in the form of a jar package, they establish a long-term connection with the TC and maintain RPC communication in the whole transaction life cycle.

Among this model, the initiator of the global transaction is TM and it is responsible for the “begin” and commit/rollback of global transactions, the participant of the global transaction is RM and it is responsible for the execution and commit/rollback of branch transactions. 

![](https://shardingsphere.apache.org/blog/img/seata1.jpg)

### SPI the distributed transaction of ShardingSphere 

ShardingSphere provides a set of SPIs for accessing distributed transactions. The goal of this design is to ensure the ACID semantics of transactions after data fragmentation. The realization of distributed transactions mainly includes 2PC XA and BASE transaction. As an implementation of BASE transaction, Seata AT transaction can be seamlessly connected to the ShardingSphere ecosystem.

![](https://shardingsphere.apache.org/blog/img/seata2.jpg)

For 2PC XA transaction, we have integrated Atomikos, Narayana, Bitronix transaction mangers. The bottom layer of XA transaction depends on the support of specific database vendors for the 2PC XA commit protocol, usually XA protocol doing 2PL (2 phase Lock) throughout Prepare and Commit which guarantees the ACID of distributed transactions. This usually suitable for short transaction and non-cloud environments (cloud environment takes around 20ms to do next IO, 2PL will lock resources up to 40ms, so the TPS of transaction will goes down to 25/s, non-cloud environment usually only takes a few milliseconds per IO, therefore the time to lock data is relatively low) \[1\].

In terms of BASE transactions, we have now completed the integration of ServiceComb Saga. Saga has improved the performance of the overall transaction through one-phase commit plus compensation. The compensation method is roughly the same as Seata, that is, the physical SQL after fragmentation Revert is used to generate compensated SQL, but the Saga model does not support isolation levels in theory, and is suitable for businesses with high performance requirements and low consistency requirements. On the basis of one-phase commit plus compensation, Seata AT transaction supports the RC isolation level through the global lock of TC, which is another implementation between XA and Saga. In terms of flexible news affairs, you are also welcome to refer to our SPI to provide integrated solutions.

### Integrated solution

When integrating Seata AT transactions, we need to integrate TM, RM and TC models into the ShardingSphere distributed transaction SPI ecosystem. For database resource, Seata allows JDBC operations to communicate with TC through RPC by docking with DataSource interface. Similarly, ShardingSphere also integrate physical DataSource that configured by the user into DataSource interface. Therefore, after the physical DataSource is repacked as Seata’s DataSource, Seata AT transactions can be integrated into ShardingSphere’s Shards. 

In the model of Seata, the context of global transaction is stored in thread variable, the transfer between thread variables can be completed by extending the transport between services, branch transaction determines whether or not join in entire Seata global transaction by thread variable. The sharding execution engine of ShardingSphere is usually executed in multiple threads. Therefore, when integrating Seata AT transactions, it is necessary to extend the transaction context transfer of the main thread and the sub-threads, which is exactly the same as the context transfer idea between services.

![](https://shardingsphere.apache.org/blog/img/seata3.jpg)

### Quick start

We have implemented base-seata-raw-jdbc-example, you can have a try on your own.
https://github.com/apache/incubator-shardingsphere-example/tree/dev/sharding-jdbc-example/transaction-example/transaction-base-seata-example/transaction-base-seata-raw-jdbc-example

Operation Manual

1. Follow the steps in seata-work-shop, download and start seata server.

   https://github.com/seata/seata-workshop

=====================================================
== File: docs/blog/content/material/Jan_28_Blog_PG_Create_a_Distributed_Database_Solution_Based_on_PostgreSQL_&_openGauss.en.md
=====================================================
+++
title = "Create a Distributed Database Solution Based on PostgreSQL/openGauss"
weight = 28
chapter = true
+++

# Create a Distributed Database Solution Based on PostgreSQL/openGauss

As the MySQL ShardingSphere-Proxy is becoming mature and widely accepted, ShardingSphere is also focusing on the PostgreSQL ShardingSphere-Proxy.

Compared with the alpha and beta, lots of improvements such as PostgreSQL agreement realization, SQL support and control, have been made in ShardingSphere-Proxy 5.0.0. This lays the foundation for full docking with the PostgreSQL ecosystem in the future. The ecosystem integration of ShardingSphere-Proxy and PostgreSQL provides users, on the basis of PostgreSQL database, with transparent and enhanced capabilities, such as: data sharding, read/write splitting, shadow database, data masking and data desensitization as well as distributed governance.

Besides PostgreSQL, the open source database openGauss, which is developed by Huawei, is also gaining increasing popularity. With the capability and ecosystem of Shardingsphere openGauss, which enjoys outstanding standalone performance, it’ll be possible to create distributed database solutions that meet the needs of increasingly diversified scenarios.

Currently, ShardingSphere PostgreSQL and openGauss Proxy supports most capabilities of the Apache ShardingSphere ecosystem, including data sharding, read/write splitting, shadow database, data masking/desensitization and distributed governance. Therefore, it’s almost as mature as the ShardingSphere MySQL Proxy.

This article will introduce improvements to the ShardingSphere-Proxy 5.0.0 built on PostgreSQL and its ecosystem integration with openGauss.

## Introduction to ShardingSphere-Proxy

ShardingSphere-Proxy is an adapter in the ShardingSphere ecosystem and is positioned as a transparent database proxy to users. ShardingSphere Proxy is not limited to Java. Instead, it realizes MySQL and PostgreSQL database protocols, and users can use various clients compatible with MySQL / PostgreSQL protocols to access and manipulate data.

![](https://shardingsphere.apache.org/blog/img/PostgreSQL_openGauss_img_1.png)


|       | ShardingSphere-JDBC | ShardingSphere-Proxy     |
| :---        |    :----:   |          ---: |
| Database      | Any       | Databases based on MySQL / PostgreSQL protocol   |
| Connected Consumption   | High        | Low      |
| Heterogeneous Language   | Support Java among other JVM-based languages        | Any      |
| Performance   | Low loss        | Relatively high loss      |
| Decentralization   | Yes        | No      |
| Static Entry   | No        | Yes      |

> ShardingSphere-Proxy is capable of addressing the following problems: with sub-database, sub-table or other rules in place, the data will be distributed to multiple database instances, which will inevitably cause some inconvenience to management; or when non-Java developers need the capabilities provided by ShardingSphere…this is exactly what ShardingSphere-Proxy was built for.

ShardingSphere-Proxy hides the back-end database. For the client, it’s just like using a database. Users don’t need to worry about how ShardingSphere coordinates the databases behind it. Therefore, it is more friendly to non-Java developers or DBAs.

Protocol-wise, ShardingSphere PostgreSQL Proxy realizes most Extended Query protocols and supports heterogeneous languages to drive and connect Proxy through PostgreSQL and openGauss. Based on reusing the PostgreSQL protocol, ShardingSphere openGauss Proxy also supports openGauss’s unique function of batch insertion protocol.

However, since ShardingSphere-Proxy has an extra layer of network interaction compared to ShardingSphere-JDBC, the delay of SQL execution increases, and the loss is slightly higher than that of ShardingSphere-JDBC.

## ShardingSphere-Proxy and PostgreSQL Ecosystem Integration


![Be compatible with PostgreSQL Simple Query and Extended Query](https://shardingsphere.apache.org/blog/img/PostgreSQL_openGauss_img_2.png)

Simple Query and Extended Query are the most common protocols for most users using PostgreSQL. For instance, when using the following command line tool `psql` to connect PostgreSQL for CRUD operation, the Simple Query is often used to interact with the database.

`$ psql -h 127.0.0.1 -U postgres

=====================================================
== File: docs/blog/content/material/2022_05_10_What’s_the_Database_Plus_concept_and_what_challenges_can_it_solve.en.md
=====================================================
+++ 
title = "What’s the Database Plus concept and what challenges can it solve?"
weight = 54
chapter = true 
+++

## Background

For a long time, unification or fragmentation were the two most popular predictions for the future of databases. With the advance of digitization, a single scenario cannot meet the needs of diversified applications — making database fragmentation an irreversible trend. While [Oracle](https://www.oracle.com/index.html), the commercial database with the largest market share, has no obvious weaknesses, all sorts of new databases are still entering the market. Today, over [300 databases are ranked on DB-Engines](https://db-engines.com/en/ranking).

An increasing number of application scenarios has exacerbated database fragmentation, making database architecture, protocols, functions, and application scenarios increasingly diversified. In terms of database architecture, the centralized database which is evolved from a single-machine system coexists with the new generation of native distributed databases. In terms of database protocols, [MySQL](https://www.mysql.com) and [PostgreSQL](https://www.postgresql.org), two major open source ecosystems, as well as the service ecosystems provided by depending vendors, also have a foothold in the global database system.

Today, it is normal for enterprises to leverage diversified databases. In my market of expertise, China, in the Internet industry, MySQL together with data sharding middleware is the go to architecture, with [GreenPlum](https://greenplum.org), [HBase](https://hbase.apache.org), [Elasticsearch](https://www.elastic.co/cn/), [Clickhouse](https://clickhouse.com) and other big data ecosystems being auxiliary computing engine for analytical data. At the same time, some legacy systems (such as [SQLServer](https://www.microsoft.com/en-us/sql-server/sql-server-downloads) legacy from .NET transformation, or Oracle legacy from outsourcing) can still be found in use. In the financial industry, Oracle or DB2 is still heavily used as the core transaction system. New business is migrating to MySQL or PostgreSQL. In addition to transactional databases, analytical databases are increasingly diversified as well.

When i claim that fragmentation is an irreversible trend for the database field, i base my assumptions on the above trends. A single type of database can only be applied to a certain (or a few scenarios at best)in which it excels.

## Problems with database fragmentation

With the increasing variety of databases used by enterprises, various problems and pain points also arise.

### 1. Difficulties in architecture selection

To meet flexible business requirements, the application architecture can be transformed from monolithic to service-oriented and then to microservice-oriented. In this case, the database used to store the core data becomes the focus of the distributed system.

Compared with stateless applications, it is all the more difficult to design a stateful database. Divide-and-conquer is the best practice for distributed systems. Obviously, database systems cannot respond to all service requests with a single product and an integrated cluster.

**First of all, a single database category is unable to meet all kinds of business application needs, while maintaining high throughput, low latency, strong consistency, operation and maintenance efficiency, and even stability.** It is less likely that a single application requires the coexistence of multiple databases, but the likelihood of multiple applications requiring multiple databases is much higher.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cvozravplx4vi8ri7rjk.png)

**Secondly, no matter if we’re talking about standalone databases or All-in-One distributed database clusters, it is difficult to become the only storage support for the backend of many micro-service applications.** Standalone databases cannot carry the increasing amount of data and traffic, so more and more applications choose to adopt distributed solutions. However, if multiple applications use a unified database cluster, the load on CPU, memory, disks, and network cannot be completely isolated. In this case, one application’s excessive resources consumption may lead to quality of service degradation for many unrelated applications.

Today, most distributed databases are expensive to build, requiring backup and redundant standalone servers at the compute node, storage node, and governance nodes. Building an independent distributed database for each micro-service will inevitably lead to unnecessary resource consumption and ultimately become unsustainable for enterprises.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jmvy5n7wo3k8xws5iu69.png)

**Finally, a large number of enterprises adopt a unitized architecture.** Based on the data sharding solution, the split and unification of databases are completed on the application side. As the number of databases increases, the complexity of the architectural design increases exponentially. In the long run, the dev team will be unable to focus on R&D, but will have to dedicate a lot of energy to the maintenance of the underlying components. Although the data sharding feature of [Apache ShardingSphere](https://shardingsphere.apache.org) can solve related problems, it can only support the horizontal sharding for a single category of database, which is far from enough in the case of increasingly diversified databases.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pnwojdeofcm86csnzz00.png)

### 2. Numerous technical challenges

When the coexistence of fragmented databases becomes the norm, the development costs and learning curve for R&D teams will inevitably increase constantly. Although most databases support SQL operation, there are still a lot of differences between databases in terms of SQL dialects.

If each database needs to be refined, it will take up a lot of energy of R&D teams, and the accumulated knowledge and experience are hard to be passed on. If we use the heterogeneous database with a coarse-grained standard model, it will annihilate the characteristics of the database itself.

### 3. High operation & maintenance complexity

It takes a lot of time and practical experience to master the characteristics of various databases and formulate effective operation and maintenance specifications. In addition to the most basic operation and maintenance work, the database peripheral supporting tools are also very different. Monitoring, backup, and other automated operation and maintenance work composed of peripheral supporting tools will incur substantial operation and maintenance costs.


=====================================================
== File: docs/blog/content/material/2022_03_11_Asia’s_E-Commerce_Giant_Dangdang_Increases_Order_Processing_Speed_by_30%_Saves_Over_Ten_Million_in_Technology_Budget_with_Apache_ShardingSphere.en.md
=====================================================
+++ 
title = "Asia’s E-Commerce Giant Dangdang Increases Order Processing Speed by 30% — Saves Over Ten Million in Technology Budget with Apache ShardingSphere"
weight = 41
chapter = true 
+++

> Apache ShardingSphere is an easy-to-use and stable product, making Dangdang’s warehouse management system (WMS) even more powerful. Integrated with WMS, ShardingSphere plays a vital role in reforming the supply chain system.

> - Li Yong, Head of WMS Technology, Dangdang

Ffollowing [Apache ShardingSphere 5.0.0 GA](https://medium.com/codex/apache-shardingsphere-5-0-0-new-features-middleware-to-ecosystem-evolution-e69de00bfb1b) release in November 2021, the [5.1.0 version](https://shardingsphere.medium.com/apache-shardingsphere-5-1-0-now-avaliable-4244ac470e77) was released last month. Having gone through over two years of polishing, ShardingSphere’s plugin-oriented ecosystem is beginning to take shape, and the project embarks on the evolution from a simple data sharding middleware to a mature distributed database ecosystem driven by the concept of [Database Plus](https://www.infoq.com/articles/next-evolution-of-database-sharding-architecture/).

Dangdang, established at the end of 1999, has become a leading e-commerce platform selling books of any kind, and by integrating new Internet technologies with the traditional book industry. Dangdang was founded during the surge in China’s Internet industry in the early 2000s.

Later, the e-commerce industry became exremely competitive in the country, and the market saturated. Facing fierce market competition, e-commerce platforms had to adapt to remain competitive.

In response, Dangdang not only adjusted its business strategies and management approaches, but also upgraded its technology architecture. Dangdang didn’t have its warehouse management and transportation system at that time. However, with growing business volume and technological capabilities, Dangdang needed to rebuild its warehouse management system and transportation management system (TMS) to better satisfy its business needs. For instance, in terms of hardware, it replaced mini-computer with x86, while its old centralized system was transformed to a distributed system with more flexibility.

One of the biggest challenges was massive warehousing data storage. The engineers wanted to adopt the data sharding technology that was often chosen by other big Internet companies. Disappointingly, they failed to find a mature and versatile open source database middleware in the marketplace, and therefore,started to develop a new data sharding product. That’s the origin of Sharding-JDBC. The product was created to bring more possibilities to data services.

Dangdang released its new WMS five years ago, which meant that it completed its intelligent warehousing transformation. Since then, with Apache ShardingSphere, the WMS has enabled Dangdang to hold large online shopping events every year such as Dangdang’s April Reading Festival, Double-Eleven Online Shopping Festival (aka Singles Day), and Mid-Year Shopping Festival, and to manage over a dozen of smart warehouses.

## Business Challenges
When Dangdang adopted a third-party WMS, the database in use was [Oracle](https://www.oracle.com/index.html) based on [IBM](https://www.ibm.com/docs/en/informix-servers/14.10?topic=strategies-what-is-fragmentation) minicomputers.

However, considering the increasing business volume and warehouse order requests, especially during the online shopping festivals, the traditional centralized database architecture of the old WMS became inadequate because the computing and storage capabilities were limited. Additionally, the scale-up solution couldn’t support the system during online shopping festivals, and therefore the developers must do scale-up and adjust the business layer several times to alleviate the storage and computing limits and avoid production risks.

- **Limited computing and storage capabilities**

A centralized architecture is less scalable, making database computing and storage capabilities become the bottleneck.

- **Expensive development and maintenance cost**

Because of poor scalability, developers have to make concessions and scale-up, which increases system development and maintenance costs.

- **Exclusiveness**

If the architecture is not open enough, the system is less flexible, with fewer functions, and difficult to be transformed. The current architecture makes it difficult to quickly adopt new business services such as cloud native ones, SQL audit, data encryption, and distributed governance.

## The Solution
Based on the situation described above, Dangdang’s tech team proposed a warehouse management system solution: in terms of hardware, IBM minicomputer would be replaced with all-purpose x86, and [MySQL](https://www.mysql.com/) would replace Oracle.

However, at that time, there wasn’t a versatile and mature enough open source database middleware living up to Dangdang’s expectations, so they created one and named it Sharding-JDBC.

[ShardingSphere-JDBC](https://shardingsphere.apache.org/document/current/en/concepts/adaptor/#shardingsphere-jdbc) is positioned as a lightweight Java framework that provides additional services at the Java Database Connectivity (JDBC) layer. It is lightweight, efficient, easy to use, and compatible.

With ShardingSphere providing services in the form of the `.jar` files package, users can connect the client directly to the database without additional deployment and dependencies. It can be seen as an enhanced JDBC driver, fully compatible with JDBC and all ORM frameworks.

- Compatible with JDBC and any JDBC-based ORM framework such as JPA, Hibernate, Mybatis, Spring JDBC Template.
- Supports all third-party database connection pools such as DBCP, C3P0, BoneCP, HikariCP, etc.

=====================================================
== File: docs/blog/content/material/2023_06_07_How_to_Run_SQl_Trace_with_ShardingSphere.md
=====================================================
+++
title = "How to Run SQL Trace with ShardingSphere-Agent"
weight = 100
chapter = true 
+++

![](https://shardingsphere.apache.org/blog/img/2023_06_07_how_to_run_sql_trace_with_shardingsphere1.jpeg)

[Apache ShardingSphere](https://shardingsphere.apache.org/), a data service platform that follows the Database Plus concept for distributed database systems, offers a range of features, including data sharding, read/write splitting, data encryption, and shadow database. In production environment, especially in data-sharding scenarios, SQL tracing is critical for monitoring and analyzing slow queries and abnormal executions. Therefore, a thorough understanding of SQL rewriting and query execution is crucial.

## What is ShardingSphere-Agent

[ShardingSphere-Agent](https://shardingsphere.apache.org/document/current/en/reference/observability/) provides an observable framework for ShardingSphere. It is implemented based on Java Agent technology, using Byte Buddy to modify the target bytecode and weave them into data collection logic. Metrics, tracing and logging functions are integrated into the agent through plugins to obtain observable data of system status. Among them, the tracing plugin is used to obtain the tracing information of SQL parsing and SQL execution, which can help users analyze SQL trace when using [Apache ShardingSphere-JDBC](https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/) or [Apache ShardingSphere-Proxy](https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/).

This post will take ShardingSphere-Proxy as an example to explain how to use ShardingSphere-Agent for SQL tracing.

## Two Basic Concepts You Need to Know

Before starting with the article, here are two important concepts that need to be paid attention to first:

* Span: the basic unit in a trace. A span is created for each call in the trace and ideentified by a unique ID. Spans can contain some customized information such as descriptive information, timestamps, key-value pairs, etc.

* Trace: the collection of spans with a tree structure. In ShardingSphere-Proxy, a trace represents to the full execution process of a SQL statement.

When running a SQL statement in ShardingSphere-Proxy, it goes through parsing, routing, rewriting, execution, and merging. Currently, tracing has been implemented in two critical steps: parsing and execution — with execution oftentimes being the focus. In the execution stage, Proxy will connect to the physical database to execute the actual SQL. Therefore, the information obtained during this stage provides important evidence for troubleshooting issues and fully reflects the correspondence between logical SQL and actual SQL after rewriting.

In ShardingSphere-Proxy, a trace consists of three types of spans:

<table>
  <tr>
   <td>Span
   </td>
   <td>Description
   </td>
  </tr>
  <tr>
   <td><code>/ShardingSphere/rootInvoke/</code>
   </td>
   <td>This span indicates the complete execution of an SQL statement, and you can view the amount of time spent on executing an SQL
   </td>
  </tr>
  <tr>
   <td><code>/ShardingSphere/parseSQL/</code>
   </td>
   <td>This span indicates the parsing stage of the SQL execution. You can view the parsing time of an SQL and the SQL statements. (It is not available when a <code>PreparedStatement</code> is used.)
   </td>
  </tr>
  <tr>
   <td><code>/ShardingSphere/executeSQL/</code>
   </td>

=====================================================
== File: docs/blog/content/material/Jan_28_Blog_X_How_to_Develop_Your_Distributed_SQL_Statement_in_Apache_ShardingSphere.en.md
=====================================================
+++

title = "How to Develop Your Distributed SQL Statement in Apache ShardingSphere"
weight = 30
chapter = true

+++

# How to Develop Your Distributed SQL Statement in Apache ShardingSphere

In the previous articles ["An Introduction to DistSQL"](https://opensource.com/article/21/9/distsql) and ["Integrating SCTL Into DistSQL’s RAL— Making Apache ShardingSphere Perfect for Database Management"](https://dzone.com/articles/integrating-sctl-into-distsqls-ral-making-apache-s), the Apache ShardingSphere Committers shared the motivations behind the development of DistSQL, explained its syntax system, and impressively showcased how you can use just one SQL to create a sharding table.

Today, to help you gain a better understanding of DistSQL and develop your own DistSQL syntax, our community author analyzes the design & development process of DistSQL and showcases how you can implement a brand new DistSQL grammar in four stages of the development life cycle (i.e. demand analysis, design, development & testing).

## What is DistSQL?

Like standard SQL, DistSQL or Distributed SQL is a built-in SQL language unique to ShardingSphere that provides incremental functional capabilities beyond standard SQL. Its design purpose is to empower resource and rule management with SQL operation capabilities. For more information about DistSQL, please read [“Build a data sharding service with DistSQL”](https://opensource.com/article/21/9/distsql).

## Why do you need DistSQL?

Redefining the boundary between middleware & database, and allowing developers to leverage [Apache ShardingSphere](https://opensource.com/article/21/9/distsql)as if they were using a database natively is DistSQL’s design goal.

Therefore, DistSQL provides a syntax structure and syntax validation system similar to standard SQL, to avoid a steep learning curve. Another advantage of DistSQL is its ability to manage resources and rules at the SQL level without configuration files.

## How to develop DistSQL?

### Preparation

**Toolkit**

1. ANTRL4 is a tool that translates your grammar to a parser/lexer in Java (or another target language). It’s used as a parser. You need to configure it before starting to develop your DistSQL. Want to get started with ANTLR 4? Please refer to this [ANTRL4 Concise Tutorial] (https://wizardforcel.gitbooks.io/antlr4-short-course/content/)

2. IntelliJ IDEA is an integrated development environment written in Java for developing computer software. You also need the plug-in [ANTLR v4] (https://plugins.jetbrains.com/plugin/7358-antlr-v4) to test the grammar rules defined by ANTRL4.

+ First, choose the right Test Rule:

![](https://shardingsphere.apache.org/blog/img/DistSQL_Statement_Development_img_1.png)

+ Input the statement to be verified in ANTLR Preview:

![](https://shardingsphere.apache.org/blog/img/DistSQL_Statement_Development_img_2.png)

You need to know the DistSQL execution process as well as the basics of synatics and plug-ins. The complete DistSQL execution process is truly complicated, but the awesome architecture of ShardingSphere allows developers to develop DistSQL features without having to pay attention to the whole process.

However, you still need to take care of the following core procedures:

![](https://shardingsphere.apache.org/blog/img/DistSQL_Statement_Development_img_3.png)

_Note: Here, we take data sharding as an example. Be aware that different features have different visitors._


=====================================================
== File: docs/blog/content/material/2022_07_20_User_Case_China_Unicom_Digital_Technology_Ensuring_Stability_Efficiency_and_Replicability_at_Scale.en.md
=====================================================
+++ 
title = "User Case: China Unicom Digital Technology - Ensuring Stability, Efficiency, and Replicability at Scale"
weight = 68
chapter = true 
+++  

China Unicom Digital Tech is the subsidiary of [China Unicom](https://www.chinaunicom.com.hk/en/global/home.php), a global leading telecommunication operator with over 310 million subscribers as of 2021.

The company integrates with China Unicom’s capabilities such as cloud computing, Big Data, IoT, AI, blockchain, and security and touches on smart city, industrial internet, ecological protection, cultural tourism, and other fields.

Unicom Digital Tech has accumulated a large number of industry benchmark cases and successfully provided customers with diverse and professional products & services.

## Background

In recent years, dozens of service hotline platforms have been launched with the help of Unicom Digital Tech, in a bid to improve enterprise and government services.

The service hotlines are characterized by high concurrency and large amounts of data. Every time we dial a hotline, a work order record is generated. The business volumes of a hotline during the epidemic have increased several times compared to the past.

In the work order module of the government or emergency services hotlines, to meet the business needs of massive amounts of data and high stability, Unicom Digital Tech adopts [ShardingSphere](https://shardingsphere.apache.org/) to carry out sharding and store work order information.

## Business challenges

Government service hotlines are the main channel through which the government interacts with enterprises and the public. It provides 24/7 services for the public through a single telephone number.

In addition to dealing with work orders, it also involves services such as telephone traffic, Wiki, voice chat, etc.

In the system planning stage, the database layer is the cornerstone of the business system, so the technology selection process is crucial. System stability is a hard indicator, followed by performance, which directly affects the hotline’s service capability.

At the same time, it should allow for easy maintenance and management, and facilitate system upgrades and backend maintenance.

The hotline service raises the following requirements for database architecture selection:

- Maturity and stability
- High performance
- Easy maintenance
- Low coupling of business code

## Why did Unicom Digital Technology choose ShardingSphere?

The technical team conducted several rounds of research and tests in terms of stability, features, access mode, and product performance, and they finally choose the “ShardingSphere + [MySQL](https://www.mysql.com/)” distributed database solution.

- **Advanced concept**

An increasing number of application scenarios have exacerbated database fragmentation. [Database Plus](https://faun.pub/whats-the-database-plus-concepand-what-challenges-can-it-solve-715920ba65aa) is designed to build an ecosystem on top of fragmented heterogeneous databases and provide enhancements capability for the database.

Additionally, it can prevent database binding, achieve independent control, add more features to the original database, and improve the overall feature ceiling of the data infrastructure.

- **Maturity and stability**

The ShardingSphere project started in 2016. Following years of R&D and iterations, the project has been polished and has proven its stability, maturity, and reliability in multiple Internet scenarios.

=====================================================
== File: docs/blog/content/material/solution.en.md
=====================================================
+++
title = "The mixed open-source distributed transaction solution"
weight = 6
chapter = true
+++

### Author

Liang Zhang, Leader of Data R&D of JD.com, initiator & PPMC of Apache ShardingSphere. 

Love open source, currently leading open source project ShardingSphere (formerly known as Sharding-JDBC) and Elastic-Job. Good at using Java as the popular distributed architecture and Kubernetes and Mesos as the popular cloud platform, admiring elegant codes, and having more research on how to write expressive codes.

At present, focus on improving ShardingSphere to be the industry's first-class financial data solution. ShardingSphere has entered the Apache Incubator, is the first open source project of the Jingdong Group to enter the Apache Software Foundation, and is also the first distributed database middleware of the Apache Software Foundation.

---
Ning Jiang, Technical expert of Huawei Open Source Competency Center, project leader of Apache ServiceComb. Former chief software engineer of Red Hat Software. He has more than ten years of experience in enterprise-level open source middleware development, rich experience in Java development, and also is the enthusiast of functional programming. Since 2006, he has been engaged in the development of the Apache open source middleware projects, and has participated in the development of Apache CXF, Apache Camel, and Apache ServiceMix. He has in-depth research in the micro-service architecture, such as WebServices, Enterprise Integration Pattern, SOA and OSGi.

Blog site:https://willemjiang.github.io/

---

Zheng Feng is a software engineer at Red Hat, joined Red Hat Software in 2009, mainly engaged in the work of the transaction manager. As a core developer, he participated in the Narayana and BlackTie projects. He had contributed to the integration of transaction processing of multiple application servers (Wildfly, Karaf, Tomcat) and frameworks (Common DBCP, Spring Boot ). Since 2017, he has participated in the Apache ServiceComb project and is currently a member of PMC. He has in-depth research on distributed transaction processing and transaction processing in a micro-service environment.

### Guide

Compared with the gradual maturity of data sharding, distributed transaction that combine performance, transparency, automation, strong consistency, and can be applied to various application scenarios, the solutions are applicable to all of them are very rare. Based on the performance bottlenecks of distributed transactions submitted in two (three) phases and the business transformation of flexible transactions, distributed transactions are still a headache for architects.

At the beginning of 2019, Apache ShardingSphere (Incubating) provided a rigid and flexible integrated distributed transaction solution. If your application system is being troubled by this aspect, why not pour a cup of coffee and spend ten minutes reading this article, maybe you will gain something?

### Background

Database transactions need to meet the four characteristics of ACID (Atomicity, Consistency, Isolation, Durability).

- Atomicity	Refers to the execution of the transaction as a whole, either all or no execution.

- Consistency	Refers to the transaction should ensure that the data changes from one consistent state to another consistent state.

- Isolation	When multiple transactions are executed concurrently, the execution of one transaction should not affect the execution of other transactions.

- Durability	Refers to the committed transaction modification data will be persisted.

In a single data node, the transaction is limited to the access control of a single database resource, called local transaction. Almost all mature relational databases provide native support for local transactions. However, in a distributed application environment based on micro-services, more and more application scenarios require that access to multiple services and corresponding multiple database resources can be incorporated into the same transaction, then the distributed transactions emerge as the times require.

Although the relational database provides perfect ACID native support for local transactions. But in a distributed scenario, it has become a shackle in system performance. How to make the database meet the characteristics of ACID or find corresponding alternatives in a distributed scenario is the focus of distributed transactions.

#### Local transaction

Without opening any distributed transaction manager, let each data node manage its own transaction. There is no coordination and communication between them, and they do not know each other's success of other data node transactions. There is no loss in performance for local transactions, but it is inadequate in terms of strong consistency and eventual consistency.

#### Two-phase commit

=====================================================
== File: docs/blog/content/material/Nov_23_1_Integrate_SCTL_into_RAL.en.md
=====================================================
+++
title = "Integrating SCTL into RAL"
weight = 27
chapter = true
+++

# Integrating SCTL into RAL

In the previous article [“An Introduction to DistSQL”](https://shardingsphere.apache.org/blog/en/material/jul_26_an_introduction_to_distsql/) written by Haoran Meng, the Apache ShardingSphere Committer shared the motivating reasons behind the design of DistSQL, explained its syntax system, and impressively showcased how you can use one SQL to create a sharding table.

Recently, the ShardingSphere community has redesigned the SCTL grammar and the execution engine, integrating SCTL into the DistSQL syntax system. Now RAL contains the old SCTL function, making ShardingSphere's command language even more convenient for database management. Today, our community author would like to introduce the changes and elaborate on how you can use the new RAL command lines. We always pursue better user experience, and the upgrade we developed this time is just another typical example.

## Review: What's RAL?

RAL is a subtype of DistSQL. DistSQL contains three types:  RDL, RQL and RAL.

- Resource & Rule Definition Language (RDL):to create, modify or delete resources and rules.

- Resource & Rule Query Language (RQL): to query and display resources and rules.

- Resource & Rule Administration Language (RAL): to control senior functions of resources and rules management.

## What's SCTL?

ShardingSphere Control Language (SCTL) is the command language of Apache ShardingSphere to execute a series of operations on enhanced features such as Hint, transaction type switch and sharding execution query.

SCTL is made of the below commands:

| Command                              | Description |
| ----------- | ----------- |
| sctl:set transaction_type=XX     | Change the transaction type ( LOCAL, XA, or BASE), e.g. sctl:set transaction_type=XA.     |
| sctl:show transaction_type    | Query the transaction type.   |
| sctl:show cached_connections   | Query the numbuer of physical database cached connections.  |
| sctl:explain SQL    | Query the execution plan of the logic SQL, e.g. sctl:explain select * from t_order;  |
| sctl:hint set PRIMARY_ONLY=true    | For the current connection only. Choose whether to hint at the primary database.  |
| sctl:hint set DatabaseShardingValue=yy   | For the current connection only. The Hint setting only works for database sharding. Add the database sharding value yy. |
| sctl:hint addDatabaseShardingValue xx=yy    |  For the current connection. Add database sharding value yy to the logical table xx.|
| sctl:hint addTableShardingValue xx=yy   | For the current connection. Add table sharding value yy to the logical table xx.|
| sctl:hint clear    | For the current connection only. Clear all hint setting.|
| sctl:hint show status   | For the current connection only. Query hint status: `primary_only:true/false, sharding_type:databases_only/databases_tables`|
| sctl:hint show table status    | For the current connection only. Query hint database sharding value of the logical table.|

## Why Integrate SCTL Now?

- The SCTL feature was released in ShardingSphere v3.1.0. At that time, we did not even create the DistSQL concept - now DistSQL can provide the new API with enriched features and consistent concepts. To avoid an excessively steep learning curve, we chose to integrate SCTL into RAL. 

- SCTL syntax is actually very easy to identify: it is marked with the special prefix "sctl:". Instead of using our Parser engine, parsing a SCTL command relies on string matching. Now that DistSQL is mature enough, it's time to delete these special codes and let the Parser engine handle them.

- Additionally, SCTL syntax is not real SQL. Apache ShardingSphere 5.0.0 has just been released, and DistSQL is already the best solution to manage resources and rules. This SQL created by ShardingSphere is truly SQL in practice - so why not integrate SCTL into DistSQL? 


=====================================================
== File: docs/blog/content/material/ElasticJob.en.md
=====================================================

+++
title = "News! The distributed scheduling project ElasticJob set sail again"
weight = 12
chapter = true
+++

[ElasticJob](https://github.com/elasticjob) is a distributed scheduling solution that provides distributed task sharding, elastic scaling, fully automated discovery. , multitasking based on time-driven, data-driven, resident and ad-hoc task types, task aggregation and dynamic resource provisioning, fault detection, auto-remediation, and failover.Main features are as follows:

 * Task aggregation
 * Dynamic resource scheduling
 * Fault detection and automatic repairing
 * Failover and retry
 * Full-featured operation platform and management tools
 * Friendly with cloud-native

ElasticJob can fully meet enterprise user's requirements on scheduling and processing ability for task management and batch jobs.

ElasticJob has been open source since the end of 2014 and has experienced more than 5 years of development, with its feature richness, comprehensive documentation, high quality code, ease of use of the framework, has accumulated a large number of loyal users and a good reputation in the industry (5.8K star), has been one of the most popular projects in the field of distributed scheduling framework.

Over the past two years, ElasticJob has slowed down its development due to the core developers' full commitment to developing and maintaining the Apache ShardingSphere project, among other reasons. However, as the Apache ShardingSphere project continues to expand in the distributed domain, and as users are interested in the distributed management of multi-data cluster environments and the elastic scaling of data migration, a powerful distributed scheduling component is needed. As a result, the Apache ShardingSphere community has planned to initiate a proposal for a long-term ongoing update and maintenance of ElasticJob as a sub-project.

We were the first to make this good news public, and we'll be back with more information about ElasticJob.

## References
* [Discussion email](https://lists.apache.org/thread.html/rd6171e2065be6bcfbeb7aba7e5c876eeed04db585c6ab78fc03a581c%40%3Cdev.shardingsphere.apache.org%3E)
* [Donation Proposal](https://cwiki.apache.org/confluence/display/SHARDINGSPHERE/ElasticJob+Donation+Proposal)
* [Community discussion](https://github.com/elasticjob/elastic-job-lite/issues/728)

=====================================================
== File: docs/blog/content/material/Oct_12_9_ShardingSphere_JD_Baitiao_Story_of_an_Implementation_Journey.en.md
=====================================================
+++
title = "ShardingSphere x JD Baitiao: Story of an Implementation Journey"
weight = 25
chapter = true
+++

>Apache ShardingSphere has become the best solution for JD Baitiao's very large storage scenarios and scale-up. JD's shopping festival weighed very much on our big data storage. I mean, like hundreds of millions of data sets.

>JD Baitiao, an internet credit products provider launched in 2014, has always been challenged by data explosion. Every shopping festival is like a technical test for us, but every time the technical staff professionals take proactive strategic initiatives in data architecture development to ensure everything goes smoothly. 

> --Dongfang Zhang, JD Batiao R&D Director 

## The Baitiao Data Architecture Evolution

Launched in Feb. 2014, JD Baitiao's data architecture has already evolved for several times because of rapid increase in data volume and rapid business growth. 

**From 2014 to 2015**

Baitiao first adopted the Solr + HBase solution to connect core business systems and other systems with key databases. Solr indexing is able to achieve fast search responses and HBase is used to store a massive amount of data. 

* A Solr cluster can help the core database reduce reads and writes stress. 

* However, Solr is not perfect: it has unsatisfying extensibility and intrusions.

**From 2015 to 2016**

The company chose NoSQL to store monthly data tables in Mongo DB clusters, temporarily meeting the demand for importing/exporting massive data in payment settlement scenarios. 

* The change made it quite efficient to query hot data. In addition, thanks to such unstructured data storage, staff can easily modify table structures.

* Nevertheless, the plan was still problematic: bad extensibility, intrusions, and memory hog. 

**From 2016 to 2017**

Growing business and growing data. Tens of billions of data volume imposed more performance and volume pressure on MongoDB. JD Baitiao's Big Data Platform used DBRep and MySQL Slave to capture data changes and store the information data in its message center, to later be written to ES and HBase. 

* This plan was actually much better. It focused on real-time data and improved extensibility. 

* However, Baitiao faced high costs to maintain its code because of the data sharding problem in its architecture.

The architecture evolution of JD Baitiao is just an illustration of rapidly growing Internet consumer finance. All the methods Baitiao adopted in the past were not comprehensive, indicating that every solution would be outdated soon. 

## Time to Adopt a Decoupled Architecture

To ensure good system performance even with rapidly increasing data volumes, the technical team first chose the sharding architecture pattern that not only guaranteed excellent performance, but also kept code under control. 

**The data striping plan was actually based on application architecture:**

The product continuously developed but the early solution had now become one of the biggest problems. The old data sharding plan makes code even more complex and increases maintenance expenditure. Developers have to spend much time adjusting sharding every time when the application upgrades, so they cannot concentrate on their own developments. In fact, tight coupling is to blame for the problem. 


=====================================================
== File: docs/blog/content/material/Oct_12_5_E_Hualu_ShardingSphere_Hulu_Story_Data_Processing_Shortcut.en.md
=====================================================
+++
title = "E-Hualu X ShardingSphere | Hulu Story’s Data Processing Shortcut"
weight = 21 
chapter = true
+++

> “ShardingSphere has greatly simplified sharding development and maintenance, which has played a very important role in our rapid product release. We estimate that ShardingSphere has saved us at least 4 months of R&D costs.”                                                
*— Shi Moxuan, Technical Director, E-Hualu*

At the beginning of this year, E-hualu officially launched its cloud service product “Hulu App” that targets non-business users. Since then, its architecture’s data stress has increased on a daily basis.

The R&D team of Hulu App chose to use ShardingSphere’s sharding features and scale their data out. The flexible and agile features of ShardingSphere met the requirements of Hulu App. It requires data extensibility, and needs to prevent the team from “reinventing the wheel”.

ShardingSphere can simplify sharding development and maintenance to the greatest extent. As the service is growing, the work will be increasingly complicated.

## Hulu App’s growth pressure: feature extension and new services

The high requirement for data storage and computing is in the genes of the Hulu App technical team.

Because Hulu App is rapidly growing, its service and feature changes are relatively frequent. Therefore its technical team needs to adapt quickly when a front-end service changes. As its users and service data volume are growing rapidly, its databases are faced with greater pressure.

The official Hulu App was released on May 17, 2020, and then its user data and service volume also showed a rapid growth trend. Therefore it was inevitable to scale out its databases for many times. At the same time, with business requirements changing very quickly, new challenges have emerged:

* *How to ensure feature extensibility*

Because of increasing users and developing product versions, its user data has exploded. The storage and computing capability of its old architecture has been severely challenged. Therefore, Hulu App requires that its back-end data processing platform shall have both extensible features, and flexibility.

* *How to improve efficiency*

Faced with its changeable services, the R&D team of Hulu App needs to make rapid adjustments when necessary, so as to make its architecture adapt to its services. A highly-flexible, extensible data architecture can greatly improve development efficiency of the team. On the other hand, because of such large amounts of data, database retrieval efficiency will inevitably have problems such as delays, slow read and write. These problems will ultimately affect user experience.

* *How to facilitate feature release*

All new products will face problems like frequent new feature release, bringing the scheduled release date forward, when they are just released. These problems pose a great challenge to a development team. At first, Hulu’s development team planned to base on their service demands and create their own sharding plan all by themselves. However, they don’t have enough time to do that, so it’s urgent for them to choose a new sharding plan.

* *How to guarantee system stability*
    
A newly-added technology will greatly challenge system stability. It’s especially true for bottom-level technologies, most of which can influence platform services and probably challenge system stability. So what Hulu App needs is a data application product that does not greatly stress databases, but quickly adapts to them and that is also highly stable.

## Leverage ShardingSphere’s features to Create a Flexible, Highly-Available Data Architecture Solution

Hulu App’s team studied their needs and spent two weeks evaluating ShardingSphere and other similar solutions. They had evaluative indicators like product feature, maturity, stability and performance. At last, they chose ShardingSphere because of its powerful features, its support and its high maturity can fully meet their needs.

The Hulu team deployed ShardingSphere above Alibaba Cloud’s RDS. Instead of adjusting ontology databases, the Hulu team prefers to conduct data governance above its databases. ShardingSphere can effectively improve Hulu’s data architecture, because it can achieve three things: high scalability brought by its extensible architecture, closely adaptive to Hulu’s service. ShardingSphere brings Hulu with obvious improvement:
   
***“High scalability” of the pluggable architecture***

Due to its service characteristics, Hulu App’s limited storage space is consumed very quickly, and the problem gradually begins to affect response efficiency at the front end. Therefore, the team can quickly develop enhanced features by using ShardingSphere, which can provide optimized solutions for its subsequent architectural adjustments. The example strengthens the ShardingSphere’s advantage in sharding.

***Closely adaptive to service***

=====================================================
== File: docs/blog/content/material/2023_04_13_Revamped_ShardingSphere_On_Cloud_What’s_New_in_Version_0.2.0_with_CRD_ComputeNode.en.md
=====================================================
+++
title = "Revamped ShardingSphere-On-Cloud: What’s New in Version 0.2.0 with CRD ComputeNode"
weight = 96
chapter = true 
+++

Apache ShardingSphere-On-Cloud recently released version 0.2.0, which includes a new CRD ComputeNode for ShardingSphere Operator. This new feature enables users to define computing nodes fully within the ShardingSphere architecture.

![img](https://shardingsphere.apache.org/blog/img/2023_04_13_Revamped_ShardingSphere_On_Cloud_What’s_New_in_Version_0.2.0_with_CRD_ComputeNode.en.md1.jpg)

# Introduction to ComputeNode

In the classic architecture of Apache ShardingSphere, computing nodes, storage nodes, and governance nodes are the primary components.


The computing node refers to the ShardingSphere Proxy, which acts as the entry point for all data traffic and is responsible for data governance capabilities such as distribution and balancing.


The storage node is the environment that stores various ShardingSphere metadata, such as sharding rules, encryption rules, and read-write splitting rules. Governance node components include Zookeeper, Etcd, etc.

![img](https://shardingsphere.apache.org/blog/img/2023_04_13_Revamped_ShardingSphere_On_Cloud_What’s_New_in_Version_0.2.0_with_CRD_ComputeNode.en.md2.jpg)

In version 0.1.x of ShardingSphere Operator, two CRD components, Proxy and ProxyServerConfig, were introduced to describe the deployment and configuration of ShardingSphere Proxy, as shown in the figure below.

![img](https://shardingsphere.apache.org/blog/img/2023_04_13_Revamped_ShardingSphere_On_Cloud_What’s_New_in_Version_0.2.0_with_CRD_ComputeNode.en.md3.jpg)

These components enable basic maintenance and deployment capabilities for ShardingSphere Proxy, which are sufficient for Proof of Concept (PoC) environments.


However, for the Operator to be useful in production environments, it must be able to manage various scenarios and problems. These scenarios include cross-version upgrades, smooth session shutdowns, horizontal elastic scaling with multiple metrics, location-aware traffic scheduling, configuration security, cluster-level high availability, and more.


To address these management capabilities, ShardingSphere-On-Cloud has introduced ComputeNode, which can handle these functions within a specific group of objects. The first object is ComputeNode, as shown in the figure below:

![img](https://shardingsphere.apache.org/blog/img/2023_04_13_Revamped_ShardingSphere_On_Cloud_What’s_New_in_Version_0.2.0_with_CRD_ComputeNode.en.md4.jpg)


Compared with Proxy and ProxyServerConfig, ComputeNode brings changes such as cross-version upgrades, horizontal elastic scaling, and configuration security. ComputeNode is still in the v1alpha1 stage and needs to be enabled through a feature gate.

![img](https://shardingsphere.apache.org/blog/img/2023_04_13_Revamped_ShardingSphere_On_Cloud_What’s_New_in_Version_0.2.0_with_CRD_ComputeNode.en.md5.jpg)


# ComputeNode Practice

## Quick Installation of ShardingSphere Operator
To quickly set up a ShardingSphere Proxy cluster using ComputeNode, execute the following helm command:

```Bash
helm repo add shardingsphere-on-cloud https://charts.shardingsphere.io
helm install shardingsphere-on-cloud/shardingsphere-operator - version 0.2.0 - generate-name

=====================================================
== File: docs/blog/content/material/ss_5.0.0beta.en.md
=====================================================
+++
title = "Following 6 months of development Apache ShardingSphere 5.0.0-beta has been officially released!"
weight = 14
chapter = true
+++

As an Apache top-level project, ShardingSphere goes through community verification, voting and many other steps before it can be released. Such steps ensure the release is compliant with the Apache Release License specifications, and meeting the users’ expectations set for the 5.0.0-beta milestone. The current version’s architecture has been completed and the version is officially available.

## Release Features:

### 1. Highlight Features

#### DistSQL – A New SQL Type for a Distributed Database Ecosystem

SQL is a database query programming language for accessing, querying, updating, and managing relational database systems. Most of the existing general database systems tend to rewrite and extend SQL to better fit their own database system with higher flexibility and functionality.

DistSQL (Distributed SQL) is a special built-in language proposed by Apache ShardingSphere providing additional functional operation capability in comparison to the standard SQL. Users can use ShardingSphere just like other database systems with DistSQL, therefore no longer positioning ShardingSphere as a middleware architecture for programmers, but also making it transferable to an infrastructure product for operation and maintenance.

ShardingSphere currently includes three types of DistSQL including RDL, RQL and RAL:

* RDL (Resource & Rule Definition Language): create, modify and delete resources and rules.
* RQL (Resource & Rule Query Language): query and show resources and rules.
* RAL (Resource & Rule Administration Language): hint, distributed transaction switching, distributed query execution plan and other incremental functions.

ShardingSphere proposes the concept of Database Plus, empowering traditional databases to build a highly secure & enhanced distributed database ecosystem, by leveraging open-source database system software such as MySQL and PostgreSQL, while at the same time meeting practical business needs. The distributed SQL used with this distributed database system converts ShardingSphere-Proxy from a YAML configuration driven middleware to a SQL driven distributed database system.

In the 5.0.0-beta, users can easily initiate ShardingSphere-Proxy and use DistSQL to dynamically create, modify, delete sharding tables, encrypt tables, and dynamically inject instances of database resources, create read-write-splitting strategies, show all the configurations and distributed transaction types, engage in dynamic migration of distributed database tables etc.
DistSQL allows users to query and manage all database resources and ShardingSphere’s distributed metadata in a standardized and familiar way. 

In the future DistSQL will further redefine the boundary between Middleware and database, allowing users to leverage ShardingSphere as if they were using a database natively.

#### Full Join PostgreSQL Open-Source Ecosystem

PostgreSQL is widely considered to be the most powerful enterprise-level open-source database.
ShardingSphere clients include ShardingSphere-JDBC and ShardingSphere-Proxy, with ShardingSphere-Proxy containing both MySQL and PostgreSQL. As PostgreSQL has greatly matured and become increasingly adopted, the ShardingSphere team has directed its attention to the PostgreSQL proxy. 

This release has greatly improved PostgreSQL in its SQL parsing and compatibility layers, protocol access and permission control layers. 
The improved version of ShardingSphere-Proxy PostgreSQL is this release’s main feature and will be continuously improved in the future as it marks the beginning of compatibility with the open-source PostgreSQL.

In the future, ShardingSphere PostgreSQL-Proxy will not only provide sharding and security distributed solutions to users, but also fine-grained authentication, data access control etc. 

#### ShardingSphere Pluggable Architecture

Pluggable architecture pursues the independence and non-awareness of each module through a highly flexible, pluggable and extensible kernel. These functions are combined in a super positional manner.

In ShardingSphere, many functional implementation classes are loaded by inserting SPIs (Service Provider Interface). SPI APIs for third party implementation or extension, can be used for architecture extension or component substitution.

Currently data sharding, Readwrite-splitting, data encryption, Shadow databases, instance exploration and other functions including the protocol implementations of MySQL, PostgreSQL, SQLServer, Oracle and other SQL and protocol support can be installed into ShardingSphere as plug-ins. ShardingSphere now offers dozens of SPIs as extension points for the system, and the number is still growing. 

Pluggable architecture’s improvement effectively evolves ShardingSphere into a distributed database ecosystem. The pluggable and extensible concepts provide a customized combinational database solution that can be built upon with Lego-like blocks. For example, traditional relational databases can be scaled out and encrypted at the same time, while distributed database solutions can be built independently.

=====================================================
== File: docs/blog/content/material/2022_06_02_Database_Mesh_2.0_Database_Governance_in_a_Cloud_Native_Environment.en.md
=====================================================
+++ 
title = "Database Mesh 2.0: Database Governance in a Cloud Native Environment"
weight = 58
chapter = true 
+++

In March 2018, an article titled [Service Mesh is the broad trend, what about Database Mesh?](https://www.infoq.cn/article/database-mesh-sharding-jdbc), was pubslished on [InfoQ China](https://www.infoq.com/) and went viral in the technical community.
In this article, Zhang Liang, the founder of [Apache ShardingSphere](https://shardingsphere.apache.org/), described Database Mesh concept along with the idea of [Service Mesh](https://linkerd.io/what-is-a-service-mesh/). Four years later, the Database Mesh concept has been integrated by several companies together with their own tools and ecosystems. Today, in addition to Service Mesh, a variety of “X Mesh” concepts such as [ChaosMesh](https://chaos-mesh.org/), [EventMesh](https://eventmesh.apache.org/), [IOMesh](https://www.iomesh.com/) have emerged. Following four years of development, Database Mesh has also started a new chapter: **Database Mesh 2.0**.

This article reviews the background of Database Mesh, reexamines the value of Database Mesh 1.0, and introduces the new concepts, ideas, and features of Database Mesh 2.0. It also attempts to explore the future of Database Mesh.

## 1. Reviewing Database Mesh 1.0
In 2016, the first generation of Service Mesh was introduced to the public by [Linkerd](https://linkerd.io/). In 2017, the second generation of Service Mesh, was born thanks to [Istio](https://istio.io/). Its design separates the control plane from data plane, and key behavioral factors such as traffic governance, access control and observability in service governance are abstracted and standardized. Then the application container and governance container are decoupled by [Kubernetes](https://kubernetes.io/)’ Sidecar model. It was at this point that Service Mesh was finally shaped.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6eq6a4vhrqbyqvx0zbft.png)
 

Almost at the same time, [ShardingSphere](https://shardingsphere.apache.org/) led by Zhang Liang evolved from the original [ShardingSphere-JDBC](https://shardingsphere.apache.org/document/current/en/overview/#shardingsphere-jdbc) into the [ShardingSphere-Proxy](https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-proxy-quick-start/) we know today, that can be deployed independently. Both built in Java, respectively representing SDK mode and Proxy mode, providing the same standardized data sharding, distributed transactions and other features.

Both of them have their respecitve pros and cons. In 2018, the article, [Service Mesh is the broad trend, what about Database Mesh?](https://www.infoq.cn/article/database-mesh-sharding-jdbc) written by Zhang Liang (on InfoQ China) described Database Mesh as:

”Database Mesh is a new term derived from Service Mesh. As its name suggests, Database Mesh uses a mesh layer to achieve unified management of databases scattered around the system. The network of interactions between applications and databases, held together by mesh layers, is as complex and ordered as a spider’s web.”

According to this description, the concept of Database Mesh is similar to that of the Service Mesh. It is called Database Mesh, not Data Mesh, because its primary goal is not to engage data stored in the database, but to engage the interaction between applications and databases.

Database Mesh focuses on how to organically connect distributed applications for data access with databases. It’s more focused on the interaction, and effectively clarifies the interaction between chaotic applications and databases.

Database Mesh empowers applications that access databases, eventually forming a huge databases grid. Applications and databases can simply be matched in the grid and are governed by the mesh layer.

This means that the implementation of Service Mesh in Kubernetes’ Sidecar model opens new possibilities: ShardingSphere-Sidecar mode can effectively combine the advantages and minimize the disadvantages of JDBC, Proxy and Proxy client, and achieve a real cloud infrastructure with “elastic scaling + zero intrusion + decentralization”.

When a new technology concept is launched, it’ll be characterized hahahby different business scenarios and patterns, different architectural design, different infrastructure maturity, and even different engineering cultures. It is a belief that has been fully demonstrated in the implementation of Kubernetes, and has been reinforced by Service Mesh. What about Database Mesh?

[ShardingSphere-Sidecar](https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-sidecar/) incorporates ShardingSphere’s sharding capabilities, while some companies delivered their own interpretation based on Database Mesh.

For example, analysis and support for SQL protocol are added in Service Mesh by means of secondary development to enhance the database traffic governance ability, which is compatible with the unified service governance configuration. The concept of Database Mesh is integrated into a complete set of middleware service frameworks, and a unified access mode is provided for business applications in the form of SDK or Sidecar to simplify the operation for developers.

Another example is the project that integrates distributed transaction capabilities into the Database Mesh Sidecar, presenting business applications as cloud native distributed databases. Either way, you can see that the Database Mesh concept is taking gaining acceptance and growing into a thriving ecosystem.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l3archkvj1m3ltrb6ou7.png)
 

Note: There are three implementations of Database Mesh 1.0: ShardingSphere-Sidecar, Unified Mesh management, and distributed database from left to right respectively.

**So that’s Database Mesh 1.0.**

## 2. Introducing Database Mesh 2.0
In computer science, operating systems and databases are arguably the two most important basic softwares. SQL, for example, has an impressive half-life period. SQL not only played an important role in the early DBMS systems, but recently has become a must-have skill in data science along with Python. The vitality of SQL can be said to be timeless, which explains the famous paper proclaiming “[One SQL to rule them all](https://arxiv.org/abs/1905.12133)”.

If the database is perceived as a service node in the call-chain, then the framework of Service Mesh can also be used for governance. If a database is viewed as a stateful business application, its unique field gives rise to governance specificities. For example, database requests cannot be randomly routed to any peer nodes like services. More challenges are caused by the perception and understanding of database protocols, data sharding and routing, multiple replicas deployed by database, read/write splitting, and multiple writes to the primary library.

Moreover, when business applications are packaged and delivered in containers, and they are distributed to the Kubernetes infrastructure of each data center hundreds of thousands of times through [CI/CD pipelines](https://www.redhat.com/en/topics/devops/what-cicd-pipeline), people will undoubtedly think about how to achieve service governance in the upper layer of applications and database governance. Database Mesh is an answer to this question.

=====================================================
== File: docs/blog/content/material/Jan_28_YOUR_DETAILED_GUIDE_TO_APACHE_SHARDINGSPHERE’S_OPERATING_MODES.en.md
=====================================================
+++
title = "Your Detailed Guide to Apache ShardingSphere’s Operating Modes"
weight = 32
chapter = true
+++

# Your Detailed Guide to Apache ShardingSphere’s Operating Modes

In [Apache ShardingSphere](https://shardingsphere.apache.org/) 5.0.0 GA version, we added the new concept Operating Mode and provided three configuration methods: Memory, Standalone, and Cluster. Why does ShardingSphere provide these operating modes? What are the differences between them in actual development scenarios?

This article is a guide for you to better understand ShardingSphere’s new operating modes.

## Background: Distributed Governance

Distributed governance is the foundation of cluster deployment in ShardingSphere. In previous versions, users needed to configure the governance tag in the configuration file to enable distributed governance:

![1](https://shardingsphere.apache.org/blog/img/Your_Detailed_Guide_to_Apache_ShardingSphere’s_Operating_Modes_img_1.png)

The most important features of distributed governance include persistent user configuration and [metadata](https://dzone.com/articles/shardingshpheres-metadata-loading-process).


They are also the basic capabilities supporting [Distribured SQL](https://opensource.com/article/21/9/distsql) (DistSQL). In the previous ShardingSphere 5.0.0 stories, the core developers of DistSQL have shared the concept of [DistSQL](https://medium.com/nerd-for-tech/intro-to-distsql-an-open-source-more-powerful-sql-bada4099211), its syntax, and its usage in detail, and they have showcased how you can [develop your own DistSQL](https://medium.com/codex/how-to-develop-your-distributed-sql-statement-in-apache-shardingsphere-2939eb689c61).

To recap, DistSQL gives ShardingSphere’s users a database-like experience: users can use DistSQL to build and manage the entire ShardingSphere distributed database ecosystem.

Like other standard SQLs, DistSQL, known as the operating language of the distributed database ecosystem, needs to ensure that any configuration and operations metadata can be persisted to keep data consistency when the system is restored.

In previous versions, only when you enabled distributed governance could the feature be implemented. That’s the reason why DistSQL was only available in the distributed governance scenario in its early development stage.

![2](https://shardingsphere.apache.org/blog/img/Your_Detailed_Guide_to_Apache_ShardingSphere’s_Operating_Modes_img_2.png)

## Why We Created Operating Modes

Based on the cluster deployment capability given by the current distributed governance function, ShardingSphere now redefines its distribution capability as **Cluster Mode**.

The cluster mode supports ShardingSphere as a stateless compute node for multi-instance deployment and with a register center, it can synchronize metadata of all instances in the cluster in real-time.

The mode naturally supports DistSQL: under the mode, you can use DistSQL to perform operations on computing/storage nodes such as node online/offline or disabled.

In the past, DistSQL was restricted to distributed scenarios. To fix the issue, ShardingSphere first needs to figure out how metadata can be stored in a non-distributed environment. The simplest solution is to write metadata to local files and therefore when a service restarts, metadata can be loaded from local files according to different configurations.

Unlike the cluster mode used in the distributed scenario, local files cannot share configurations among multiple ShardingSphere instances in real-time. In **Standalone Mode**, all configuration updates only work in respective instances.

ShardingSphere 5.0.0 not only provides users with better features but also builds stable and user-friendly APIs to optimize user experiences.

In addition to Cluster Mode and Standalone Mode, another useful mode is called **Memory Mode**. Why did we design it? Because some users need to quickly start the integration of ShardingSphere but don’t need persistent configuration. For example, some may use ShardingSphere to quickly verify some functions, or just want to test integration. Given such a scenario requirement, we created Memory Mode.

So far ShardingSphere has three modes, i.e. Memory, Standalone, and Cluster. The operating modes are not difficult to understand in terms of our API design, and they are perfectly suitable in the actual use case scenarios of ShardingSphere. Additionally, the three operating modes can **support DistSQL** to quickly build and manage distributed database services.

The `governance` configuration method is removed from the 5.0.0 version, and instead, we start to use the different operating modes.

=====================================================
== File: docs/blog/content/material/2023_05_18_Enhancing_Database_Security_ShardingSphere-Proxy’s_Authentication.en.md
=====================================================
+++
title = "Enhancing Database Security: ShardingSphere-Proxy’s Authentication"
weight = 99
chapter = true 
+++

ShardingSphere-Proxy is a transparent database proxy that supports interaction with any client using MySQL, PostgreSQL, or openGauss protocols.

Proxy provides user authentication and can adapt to different authentication modes for various database protocols. However, there is a question that has been rarely addressed and has almost no corresponding issue even in the Github community:

“How does ShardingSphere-Proxy authenticate its clients?”


**Note:** this post only discusses password authentication, and does not include non-password authentication methods such as UDS (Unix Domain Socket).

![img](https://shardingsphere.apache.org/blog/img/2023_05_18_Enhancing_Database_Security_ShardingSphere-Proxy’s_Authentication.en.md1.jpeg)


# Background Info

To begin, let’s take a look at how several common databases authenticate their users.

# MySQL

Taking `MySQL 5.7` as an example, you can easily understand the authentication interaction between the client and the server as follows:

- The client and the server achieve protocol handshake, including negotiating which authentication protocol to use. The default value is `mysql_native_password`.

- The server generates 20-byte random data and sends it to the client.

- Based on the random data, the client encrypts passwords entered by users, then sends the encrypted information to the server for password verification. [1]

![img](https://shardingsphere.apache.org/blog/img/2023_05_18_Enhancing_Database_Security_ShardingSphere-Proxy’s_Authentication.en.md2.jpeg)

MySQL Native Authentication Process

Above is a brief description of MySQL Native Authentication. It can help us understand what happens once users enter passwords.

To adapt to different scenarios, MySQL provides multiple authentication protocols in a plugin form [2].

- `mysql_native_password`: native authentication, used as the default before version 8.0.

- `caching_sha2_password`: SHA-256-based cache authentication, used as the default after version 8.0.

- `mysql_clear_password`: clear text password authentication, suitable for certain scenarios.

MySQL enterprise versions also provide authentication plugins such as:

- `authentication_windows`: Windows service-based authentication.


=====================================================
== File: docs/blog/content/material/2023_02_17_Dynamic_Data_Masking_ShardingSphere_5.3.1_Deep_Dive.en.md
=====================================================
+++
title = "Dynamic Data Masking | ShardingSphere 5.3.1 Deep Dive"
weight = 88
chapter = true 
+++

With increased focus placed on user data protection and the introduction of privacy laws or data protection regulations such as [GDPR](https://gdpr-info.eu/), being compliant in terms of digital personal privacy is now of paramount importance.

Traditional applications generally lack personal data protection. Data masking enables data returned by production databases to be specially masked, encrypted, hidden, and audited according to the users' role, responsibility, and other defined rules without having to make any changes to the data.

This allows you to ensure that employees, external users, operations, part-time employees, partners, data analysts, developers, testers, and consultants have the appropriate degree of access to sensitive data in production environments.

Based on industry experience, there are two major types of data masking. One is static data masking and the other is dynamic data masking.

Static data masking refers to masking, encrypting, or replacing sensitive data with a masking algorithm for database systems through the task. It saves the masked data to the target location.

Dynamic data masking is more flexible. Dynamic data masking happens at runtime based on each query. This way, there doesn't need to be a second data source to store the masked data dynamically.

[ShardingSphere 5.3.1 provides a dynamic data masking function](https://shardingsphere.apache.org/document/4.1.1/en/features/orchestration/encrypt/). Users query data through ShardingSphere, while ShardingSphere processes data with a masking algorithm before returning results.

The whole process is based on masking rules configured by users. The masked data is then delivered to users.

# Methods

## Masking & Microkernel

On account of the ShardingSphere microkernel and pluggable architecture, the data masking function only needs to implement SPI, the resulting merger, to achieve the flexible extension of functions.

As shown in the figure below, the ShardingSphere microkernelalready includes core logic like `SQL Parser`, `SQL router`, `SQL executor`. The dynamic data masking function provided by ShardingSphere 5.3.1 is only an enhancement of the query results of the other ShardingSphere components.

This means that users only need to implement `ResultDecoratorEngine` and `ResultDecorator` in the merger to achieve the function.

![img](https://shardingsphere.apache.org/blog/img/2023_02_17_Dynamic_Data_Masking_ShardingSphere_5.3.1_Deep_Dive1.png)

In order to implement the data masking function, the `shardingsphere-mask` module is added to the features. This module contains `shardingsphere-mask-api`, `shardingsphere-mask-core` and `shardingsphere-mask-distsql`. The functions of each module are as follows:

- `shardingsphere-mask-api`:data masking API module, including `Rule` configuration with data masking function and masking algorithm SPI interface.
- `shardingsphere-mask-core`:the core data masking module, including `Rule` initialization logic, masking algorithm implementation, and resulting merger decorator implementation logic.
- `shardingsphere-mask-distsql`:DistSQL module for data masking allowing users to dynamically modify masking rules through DistSQL.

In addition to the kernel process, data masking's position in the ShardingSphere kernel also deserves mention.

ShardingSphere's powerful pluggable architecture allows us to arbitrarily assemble kernel functions, including the newly added data masking function.

Users can use the function alone, or with sharding, encryption, and other functions to achieve a more complete distributed database solution.

The following figure shows the relationship between the current functions of the ShardingSphere kernel, which can be generally divided into three levels: Column Level, Table Level, and Database Level.

![img](https://shardingsphere.apache.org/blog/img/2023_02_17_Dynamic_Data_Masking_ShardingSphere_5.3.1_Deep_Dive2.png)


=====================================================
== File: docs/blog/content/material/Oct_12_1_ShardingSphere’s_Metadata_Loading_Process.en.md
=====================================================
+++
title = "ShardingSphere’s Metadata Loading Process"
weight = 17
chapter = true
+++

**1. Overview**

  Metadata is the data that constitutes the data. In database terms, any data that describes the database is metadata. Column names, database names, usernames, table names, etc. and data customization library tables that store information about database objects are metadata. ShardingSphere core functions such as data sharding, encryption and decryption are all based on the database metadata.

  
  This shows that metadata is the core of the ShardingSphere system and is also the core data of every data storage related middleware or component. With the injection of metadata, it is equivalent to having a nerve center for the whole system, which can be combined with metadata to perform personalized operations on libraries, tables, and columns, such as data sharding, data encryption, SQL rewriting, etc.

  For the ShardingSphere metadata loading process, it is first necessary to clarify the type and hierarchy of metadata in ShardingSphere. The metadata in ShardingSphere is mainly based around the `ShardingSphereMetaData`, the core of which is the `ShardingSphereSchema`, which is the metadata of the database and is also the top-level object of the data source metadata. The structure of the database metadata in ShardingSphere is shown as below, for each layer, the upper layer data comes from the assembly of the lower layer data, so we use the following bottom-up hierarchy to analyze one by one.

![](https://shardingsphere.apache.org/blog/img/Blog_17_img_1_ShardingSphere_Database_Metadata_Structure_Diagram_en.png)


**2. ColumMetaData and IndexMetaData**

`ColumMetaData` and `IndexMetaData` are the basic elements that make up `TableMetaData`. In the following, we will analyze the structure of the two metadata types and the loading process separately. `ColumMetaData` has the following main structure:  

 ~~~
 public final class ColumnMetaData {
    // 
    private final String name;
    // 
    private final int dataType;
    // 
    private final boolean primaryKey;
    // 
    private final boolean generated;
    //
    private final boolean caseSensitive;
}
 ~~~
 
The loading process is mainly encapsulated in the `org.apache.shardingsphere.infra.metadata.schema.builder.loader.ColumnMetaDataLoader#load` method, and its main process is to load the metadata of all the columns under a table name by getting the metadata matching the table name through the database link. The core code is as follows:

 ~~~
/**
 * Load column meta data list.
 *
 * @param connection connection
 * @param tableNamePattern table name pattern
 * @param databaseType database type
 * @return column meta data list
 * @throws SQLException SQL exception
 */
public static Collection<ColumnMetaData> load(final Connection connection, final String tableNamePattern, final DatabaseType databaseType) throws SQLException {

=====================================================
== File: docs/blog/content/material/Oct_12_8_ShardingSphere_Google_Summer_of_Code_Students_How_Was_Your_Open_Source_Experience.cn.md
=====================================================
+++
title = "ShardingSphere X Google 编程之夏:同学,开源你怎么看?"
weight = 24
chapter = true
+++

![](https://shardingsphere.apache.org/blog/img/Blog_24_img_1_ShardingSphere_GSoC.png)

Apache ShardingSphere 社区有幸参与 Google 编程之夏(Google Summer of Code, 以下简称 GSoC),指导年轻一代参与开源程序代码设计。GSoC 是 Google 公司主办的年度开源程序设计项目,第一届从 2005 年开始,主要目的是鼓励世界各地的学生参与开放源代码的程序设计。而 Apache ShardingSphere 项目也被选中成为 GSoC 一部分,为学生带来开源软件开发的有趣体验。

**Thanoshan** 和 **Liangda**两位学生在上一届的 GSoC 中积极与 Apache ShardingSphere 导师工作,接受指导,在 GSoC 结束后依旧在 ShardingSphere 项目中积极贡献。
他们欣然接受了我们的采访,分享自己的 GSoC 项目申请经验,谈自己对 Apache ShardingSphere 项目和开源社区的看法,以及个人的未来计划。

						<个人简介>

![](https://shardingsphere.apache.org/blog/img/Blog_24_img_3_Thanoshan_Photo.png)

**Thanoshan**

国家:斯里兰卡
院校:斯里兰卡萨巴拉加穆瓦大学
专业:计算机与信息系统

![](https://shardingsphere.apache.org/blog/img/Blog_24_img_4_Liangda_Photo.png)

**Liangda**

国家:德国
院校:曼海姆大学
专业:商业信息学

## Q&A

**Q1:**
你们是如何喜欢上软件开发的呢?

**Thanoshan:**我的专业学位和软件开发有关,不过我个人在上大学之前就对软件开发就非常感兴趣。

**Liangda:**应该是受到我所学专业的影响。高中时,我对商业和计算机科学都非常感兴趣,所以我选择了商业信息学专业,这个专业把这两个领域结合在一起了,上大学后,我开始了自己的编程之旅,接触到了软件开发,学习了 Java,C++,Python,还有软件设计模式等知识。

**Q2:**
为什么选择申请 GSoC?

**Thanoshan:**在斯里兰卡,我的很多学长学姐都已经参加过了 GSoC,他们建议我去了解一下这个项目机会,积极安利我一定要试试。然后,我搜索了很多这个项目的相关信息,去了解这个项目,并明确如何能够申请这个项目。

**Liangda:**我第一次知道 GSoC 是在去年夏天,我无意间在网络上找到一篇分享 GSoC 经验和申请的博文,那时我就对这个项目非常着迷。不过当时开源对我来说还是十分陌生的概念,我就望而却步,没有信心申请。之后在 2020 年的寒假,我有机会在学校的一个聊天机器人开发项目中担任助研,这个项目使用了 Rasa,Rasa 是一套开源机器学习框架。这也是我第一次深入了解开源框架,接触开源社区。这是一次非常棒的经历,所以我一下子就想到了 GSoC,我对自己说“为什么不试试 GSoC,继续去探索开源呢?”。

**Q3:**
你觉得 GSoC 有何独到之处?


=====================================================
== File: docs/blog/content/material/2022_07_28_Database_Plus’s_Embracing_the_Cloud_ShardingSphere-on-Cloud_Solution_Released.en.md
=====================================================
+++ 
title = "Database Plus’s Embracing the Cloud: ShardingSphere-on-Cloud Solution Released"
weight = 70
chapter = true 
+++

As a follower of the [Database Plus](https://faun.pub/whats-the-database-plus-concepand-what-challenges-can-it-solve-715920ba65aa?source=your_stories_page-------------------------------------)
development concept, [ShardingSphere](https://shardingsphere.apache.org/) has successfully passed production environment tests across multiple industries and gained popularity among community enthusiasts.

As [Kubernetes](https://kubernetes.io/) has become the de facto standard for container orchestration, the cloud-native concept has gone viral in the tech world. Apache ShardingSphere, as a database enhancement engine with an open ecosystem, has many similarities with Kubernetes in its design concept. So [SphereEx](https://www.sphere-ex.com/en/) took the lead in launching ShardingSphere-on-Cloud, its cloud solution for ShardingSphere. Database Plus’ trip to the Cloud has officially begun.

The ShardingSphere-on-Cloud repository will release its best practices including configuration templates, automation scripts, deployment tools, and Kubernetes Operator for Apache ShardingSphere on the cloud. Currently, ShardingSphere-on-Cloud has released V0.1.0, which contains the smallest available version of ShardingSphere Operator.

## ShardingSphere Operator
One of the key reasons Kubernetes has become the de facto standard for cloud-native orchestration tools is its great extensibility, enabling developers to quickly build platforms on top of other platforms.

For all kinds of software trying to run on Kubernetes, the Kubernetes Operator mode can be used to work with the `CustomResourceDefinition` framework to quickly build automatic maintenance capabilities.

Last month, Apache ShardingSphere v5.1.2 released [Helm Charts-based package management](https://faun.pub/shardingsphere-cloud-applications-an-out-of-the-box-shardingsphere-proxy-cluster-9fd7209b5512?source=your_stories_page-------------------------------------) capability. Helm Charts helps us deal with the first step, that is, how to describe and deploy ShardingSphere in Kubernetes.

The second step focuses on how to manage a stateful or complex workload in Kubernetes, for which a customized management tool is needed. In this case, SphereEx’s cloud team developed the **ShardingSphere Operator** to further enhance ShardingSphere’s deployment and maintenance capabilities on top of Kubernetes.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0hx9p0gtqft32stajecr.png)
 

ShardingSphere made the following improvements in response to challenges faced when Apache ShardingSphere migrates to the Kubernetes environment.

- **Simplified startup configuration:** ShardingSphere has strong database enhancement capabilities, and its corresponding configuration is relatively complex. In the current version, ShardingSphere Operator automates the configuration and mount behavior of the configuration. Users only need to fill in the minimum startup dependency configuration to quickly deploy and start a ShardingSphere-Proxy cluster. The runtime configuration can be implemented through [DistSQL](https://shardingsphere.apache.org/document/5.1.0/en/concepts/distsql/).

- **Automatic deployment of governance nodes:**
 ShardingSphere relies on the governance center to achieve metadata persistence and achieve metadata broadcasting among cluster nodes during operation. To optimize the user experience and deliver an out-of-the-box experience, ShardingSphere Operator can deploy the governance node with the compute node and configure dependencies based on users’ needs.

- **High availability:** to simplify maintenance in a cloud environment, it is desirable to implement stateless deployment. As a stateless compute node, [ShardingSphere-Proxy](https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-proxy-quick-start/) can work with ShardingSphere Operator to achieve multi-dimensional health detection and failover recovery.

- **Horizontal scaling:** ShardingSphere-Proxy horizontal scaling can be achieved based on CPU and memory using [HPA in Kubernetes](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/). ShardingSphere Operator will gradually support a variety of customized specifications to achieve advanced, automatic scaling that is more intelligent and stable for ShardingSphere-Proxy.
Specifically, in version 0.1.0, ShardingSphere Operator mainly supports the following capabilities:

## Helm Deployment

> **ShardingSphere-Operator Chart**

- Support the deployment of ShardingSphere-Operator.

> **ShardingSphere-Cluster Chart**

- Support the deployment of the ShardingSphere-Proxy cluster.
- Support the deployment of the [ZooKeeper](https://zookeeper.apache.org/) cluster through [Bitnami](https://bitnami.com/).
- ShardingSphere-Proxy can be automatically configured and connected to governance nodes.

> **Use Github Pages to host Charts and add repositories using `helm repo add`**


=====================================================
== File: docs/blog/content/material/Oct_12_4_Updates_and_FAQ_Your_1_Minute_Quick_Start_Guide_to_ShardingSphere.en.md
=====================================================
+++
title = "Updates and FAQ — Your 1 Minute Quick Start Guide to ShardingSphere"
weight = 20
chapter = true
+++

## Background

Apache ShardingSphere is an Apache Top-Level project and is one of the most popular open-source big data projects. It was started about 5 years ago, and now ShardingSphere has over 14K+ stars and 270+ contributors in its community.

The successful project has already launched and updated many versions. Apache ShardingSphere now supports many powerful features and keeps optimizing its configuration rules. We want to help users understand all features and configuration rules, to help them quickly test and run components, and ultimately help them achieve best performance, so we decide to start the shardingsphere-example project.

shardingsphere-example is an independent Maven project. It’s preserved in the “examples” file of Apache ShardingSphere. Link:

[https://github.com/apache/shardingsphere/tree/master/examples]()

## Modules & Explanation

The shardingsphere-example project contains many modules. It provides users with guides and configuration examples of features like horizontal scaling, read and write separation, distributed governance, distributed transaction, data encryption, hint manager, shadow database, etc.

It also includes common tools such as Java API, YAML, Spring Boot, Spring Namespace. In addition to ShardingSphere-JDBC, now we add use examples of ShardingSphere-Proxy and ShardingSphere-Parser in shardingsphere-example. You can easily find all features of Apache ShardingSphere as well as their scenarios, and their flexible configurations in our official repo. The table below shows how the modules are distributed in shardingsphere-example.

~~~
shardingsphere-example
├── example-core
│ ├── config-utility
│ ├── example-api
│ ├── example-raw-jdbc
│ ├── example-spring-jpa
│ └── example-spring-mybatis
├── shardingsphere-jdbc-example
│ ├── sharding-example
│ │ ├── sharding-raw-jdbc-example
│ │ ├── sharding-spring-boot-jpa-example
│ │ ├── sharding-spring-boot-mybatis-example
│ │ ├── sharding-spring-namespace-jpa-example
│ │ └── sharding-spring-namespace-mybatis-example
│ ├── governance-example
│ │ ├── governance-raw-jdbc-example
│ │ ├── governance-spring-boot-mybatis-example
│ │ └── governance-spring-namespace-mybatis-example
│ ├── transaction-example
│ │ ├── transaction-2pc-xa-atomikos-raw-jdbc-example
│ │ ├── transaction-2pc-xa-bitronix-raw-jdbc-example
│ │ ├── transaction-2pc-xa-narayana-raw-jdbc-example
│ │ ├── transaction-2pc-xa-spring-boot-example
│ │ ├── transaction-2pc-xa-spring-namespace-example
│ │ ├── transaction-base-seata-raw-jdbc-example
│ │ └── transaction-base-seata-spring-boot-example
│ ├── other-feature-example

=====================================================
== File: docs/blog/content/material/2022_03_16_Create_a_Distributed_Database_with_High_Availability_with_Apache_ShardingSphere.en.md
=====================================================
+++ 
title = "Create a Distributed Database with High Availability with Apache ShardingSphere"
weight = 42
chapter = true 
+++

## What is Database High Availability (HA)?
Inthe digital age, modern business systems have to be highly available, reliable, and stable. As the cornerstone of the modern business system, databases are supposed to embrace high availability.

HA allows databases to switch over services between primary and secondary databases and to automatically select `Master`, so it can pick the best node as the master when the previous one crashes.

## MySQL High Availability
There are plenty of MySQL high availability options, but each of them has its pros and cons. Below are several common high availability options:

- [Orchestrator](https://github.com/openark/orchestrator) is a MySQL HA and replication topology management tool written in Go. Its advantage lies in its support for manual adjustment of primary-secondary topology, automatic failover, automatic or manual recovery of master nodes through the Web visual console. However, the program needs to be deployed separately, and also has a steep learning curve due to the complex configurations.

- [MHA](https://www.percona.com/blog/2016/09/02/mha-quickstart-guide/) is another mature solution. It provides primary/secondary switching and failover capabilities. The good thing about it is that it can ensure the least data loss in the switching process while it can work with semi-synchronous and asynchronous replication frameworks. However, after MHA starts, only `Master` is monitored, and MHA doesn’t provide the load balancing feature for the read database.
- [MGR](https://dev.mysql.com/doc/refman/8.0/en/group-replication.html) implements group replication based on the distributed Paxos protocol to ensure data consistency. It is an official HA component provided by MySQL and no extra deployment program is required. Instead, users only need to install MGR Plugin in each data source node. The tool features high consistency, high fault tolerance, high scalability, and high flexibility.

## Apache ShardingSphere High Availability
Apache ShardingSphere’s architecture actually separates storage from computing. The storage node represents the underlying database, such as MySQL, PostgreSQL, openGauss, etc., while compute node refers to [ShardingSphere-JDBC](https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-jdbc-quick-start/) or [ShardingSphere-Proxy](https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-proxy-quick-start/).

Accordingly, the high availability solutions for storage nodes and compute nodes are different. For stateless compute nodes, while they need to perceive the changes in storage nodes, they also need to set up separate load balancers and have the capabilities of service discovery and request distribution. Stateful storage nodes need to be equipped with the capabilities of data synchronization, connection testing, electing a master node, and so on.

Although ShardingSphere doesn’t provide a database with high availability, it can help users integrate database HA solutions such as primary-secondary switchover, faults discovery, traffic switching governance, and so on with the help of the database HA and through its capabilities of database discovery and dynamic perception.

When combined with the primary-secondary flow control feature in distributed scenarios, ShardingSphere can provide better high availability read/write splitting solutions. **It will be easier to operate and manage ShardingSphere clusters if we use [DistSQL](https://opensource.com/article/21/9/distsql)’s dynamic high availability adjustment rules to get primary/secondary nodes' information.**

## Best Practices
Apache ShardingSphere adopts a plugin-oriented architecture, so all its enhanced capabilities can be used independently or together. Its high availability function is often used together with read/write splitting to distribute query requests to the slave databases according to the load balancing algorithm to ensure system HA, relieve primary database pressure, and improve business system throughput.

Here, we take HA+read/write splitting configuration with ShardingSphere DistSQL RAL statements as an example.

**One thing to point out here is that ShardingSphere HA implementation leans on its distributed governance capability.** Therefore, it can only be used under the cluster mode for the time being. Meanwhile, read/write splitting rules are revised in ShardingSphere 5.1.0. For details, please refer to the official documentation about [read/write splitting](https://shardingsphere.apache.org/document/current/cn/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting/).

> **Configuration**

```yaml
schemaName: database_discovery_db

dataSources:
  ds_0:
    url: jdbc:mysql://127.0.0.1:1231/demo_primary_ds?serverTimezone=UTC&useSSL=false
    username: root
    password: 123456
    connectionTimeoutMilliseconds: 3000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 50
    minPoolSize: 1

=====================================================
== File: docs/blog/content/material/2022_04_01_1st_Academic_Paper_by_Apache_ShardingSphere_Accepted_by_ICDE_A_Top-Level_Database_Conference.en.md
=====================================================
+++ 
title = "1st Academic Paper by Apache ShardingSphere Accepted by ICDE, A Top-Level Database Conference"
weight = 47
chapter = true 
+++

![Image description](https://miro.medium.com/max/700/0*7LHt7QNpp9ltJNm_)

## ICDE Accepted Apache ShardingSphere’s First Academic Paper

Recently, “Apache ShardingSphere: A Holistic and Pluggable Platform for Data Sharding”, co-authored by the Apache ShardingSphere community, SphereEx Lab and the Department of Computer Science of Chongqing University, has been accepted by [The International Conference on Data Engineering (ICDE)](https://icde2022.ieeecomputer.my/), one of the top international conferences on data engineering and databases. This conference paper is the first one focusing on data sharding in the database industry.

ICDE is a top-level academic conference on databases and data mining, as well as the flagship conference of the [Institute of Electrical and Electronics Engineers (IEEE)](https://www.ieee.org/), the world’s largest technical professional organization for the advancement of technology. ICDE, ACM SIGMOD Conference and International Conference on Very Large Data Bases are known as the top three data management and database conferences in the world.

This paper’s publication represents the culmination of 5-year of R&D and implementation testing for Apache ShardingSphere guided by its Database Plus development concept. The acceptance of this paper stands as a testament of the acknowledgment of Database Plus, Apache ShardingSphere’s enhanced computing engine and plugin-oriented architecture by the academic community.

Thanks to the acceptance of this paper, our community is proud to announce that our efforts have led to innovative breakthroughs in core database technologies.

In this paper, the co-authors propose that: considering that today relational databases that are not scalable and efficient enough to solve high concurrency problems still dominate online transaction processing and that NewSQL databases could lead to additional training costs, the database middleware Apache ShardingSphere becomes a very friendly and efficient way to connect and manage multiple databases.

## Apache ShardingSphere: A Scientific Development Path

> Why Did We Choose to Improve the Database Ecosystem Rather Than Creating a New Database?

The aim of Apache ShardingSphere is to better utilize the computing and storage capabilities of relational databases in distributed scenarios, rather than implementing a new type of relational database.

So far, as relational databases are still the best choice for complete transactions, they are often used to handle online transaction processing. However, the relational database is designed for a single machine. In other words, at the initial stage developers did not take big data into account. In short, relational databases are less scalable to efficiently solve high concurrency problems.

In this context, NewSQL came into being. However, New means this type of database is developed from scratch. Although it is suitable for current application scenarios, it has not been tested in enough real production environments, and for enterprise maintainers, it has a steep learning curve.

Apache ShardingSphere just released its official version 5.1.0. With this update, Apache ShardingSphere has also shifted its positioning to Database Plus with the desire to build the standard and ecosystem above different databases. Apart from enhanced capabilities, the Database Plus architecture also opens up a highly scalable database ecosystem for developers and users.

> Apache ShardingSphere’s Multiple Features

- Pluggable
Apache ShardingSphere adopts a “microkernel + three-layer plugin oriented” model — making the kernel, functional components and the whole ecosystem pluggable and scalable. Developers can leverage our plugins to configure all or some of ShardingSphere’s features according to their needs. Under the Apache ShardingSphere architecture, all features can be assembled into the ShardingSphere system just like building blocks. You can either use them separately or combine them together as needed.

However, in developers’ standard-oriented SPI programming, the kernel is not affected by the incremental functions, therefore multiple functional modules of ShardingSphere can be flexibly combined in real application scenarios, leaving discretion for our users.

Addtionally, Apache ShardingSphere is designed on the basis of SPI (Service Provider Interface, a service discovery mechanism provided by Java JDK) among other design patterns. Therefore, various types of databases, functions, and sharding algorithms can be easily added, removed or combined as needed.

Among them, as the primary development direction of ShardingSphere, data sharding has always been one of the most important features for us. For many users, data sharding was one of the reasons why they chose ShardingSphere. Generally speaking, performing data sharding on relational databases and removing the limitation of the storage capacity of a standalone machine by means of horizontal data sharding is an ideal solution for enterprises.

- High Performance
The paper mentioned that Chongqing University and SphereEx conducted multiple rounds of tests under Sysbench and TPCC testing scenarios, verifying that, using the same configuration, the performance of Apache ShardingSphere is superior to most sharding systems and new database architectures. Detailed records are shown in the following graphs:

![Sysbench test result](https://miro.medium.com/max/700/0*I_SUNauGQnVAxeBT)
![Comparison with Distributed Systems in Different Scenarios (TPCC)](https://miro.medium.com/max/700/0*X9YfmCPhECRUtheA)



=====================================================
== File: docs/blog/content/material/2022_10_14_ShardingSphere_5.2.0_Audit_for_sharding_intercepts_unreasonable_requests_in_multi-shards_scenarios.en.md
=====================================================
+++
title = " ShardingSphere 5.2.0: Audit for sharding intercepts unreasonable requests in multi-shards scenarios"
weight = 76
chapter = true 

+++

![img](https://shardingsphere.apache.org/blog/img/2022_10_14_ShardingSphere_5.2.0_Audit_for_sharding_intercepts_unreasonable_requests_in_multi-shards_scenarios1.png)

## 1. Background

Thanks to our continuous review of the [ShardingSphere](https://shardingsphere.apache.org/)'s community feedback that we use to develop features such as data sharding and read/write splitting, we found that some users create a large number of shards when using the data sharding feature.

In such cases, there can be 1,000 physical tables corresponding to a sharding logical table, which largely disturbs users.

For instance, a `SELECT * FROM t_order` statement will lead to a full-route, which is obviously not the case for [OLTP](https://shardingsphere.apache.org/blog/en/material/2022_04_26_how_to_use_shardingsphere-proxy_in_real_production_scenarios_your_quick_start_guide/). This SQL can be placed in another Proxy to avoid blocking other requests.

However, if users are not familiar with Proxy, or write a `where` condition and don't know that sharding is not supported in this condition, a full-route is still required.

A full route can lower the performance of Proxy and even result in the failure of a reasonable request. Imagine that there are 1000 shards in a physical database, if they are executed in parallel, 1,000 connections are needed — and if in serial, the request can lead to a timeout. In this regard, community users requested whether the unreasonable request can be intercepted directly.

We've considered the issue for a while. If we simply block the full-route operation, we just need to check it in the code and add a switch to the configuration file. On the other hand, if the user later needs to set a table to read-only or requires the update operation to carry a `limit`, does that mean we need to change the code and configuration again? This obviously goes against the pluggable logic of Proxy.

In response to the above problems, the [recently released Apache ShardingSphere 5.2.0](https://faun.pub/apache-shardingsphere-5-2-0-is-released-bringing-new-cloud-native-possibilities-8d674d964a93?source=your_stories_page-------------------------------------) provides users with SQL audit for the sharding function. The audit can either be an interception operation or a statistical operation. Similar to the sharding and unique key generation algorithms, the audit algorithm is also plugin-oriented, user-defined, and configurable.

Next, we will elaborate on the implementation logic for data sharding's audit, with specific SQL examples.

## **2. Audit for sharding interface**

The entrance to Apache ShardingSphere's audit is in the `org.apache.shardingsphere.infra.executor.check.SQLCheckEngine` class, which will invoke the `check` method of the `SQLChecker` interface. Currently, ShardingSphere audit contains audit for permission (verify username and password) and audit for sharding.

Here we focus on the parent interface implemented in `ShardingAuditChecker` of audit for sharding.

![img](https://shardingsphere.apache.org/blog/img/2022_10_14_ShardingSphere_5.2.0_Audit_for_sharding_intercepts_unreasonable_requests_in_multi-shards_scenarios2.png)

We can learn its working principles quickly through viewing the `check` code of `org.apache.shardingsphere.sharding.checker.audit.ShardingAuditChecker`.

```java
public interface ShardingAuditAlgorithm extends ShardingSphereAlgorithm {
    
    /**
     * Sharding audit algorithm SQL check.
     *
     * @param sqlStatementContext SQL statement context
     * @param parameters SQL parameters
     * @param grantee grantee
     * @param database database
     * @return SQL check result
     */
    SQLCheckResult check(SQLStatementContext<?> sqlStatementContext, List<Object> parameters, Grantee grantee, ShardingSphereDatabase database);

=====================================================
== File: docs/blog/content/material/Oct_12_2_A_Distributed_Database_Middleware_Ecosystem_Driven_by_Open_Source.cn.md
=====================================================
+++
title = "Apache ShardingSphere:由开源驱动的分布式数据库中间件生态"
weight = 18
chapter = true
+++

2021 年 7 月 21 日 2021 亚马逊云科技中国峰会现场,SphereEx 联合创始人、Apache ShardingSphere PMC 潘娟受邀参与此次峰会,以《Apache ShardingSphere 分布式数据库中间件开源生态构建》为主题,围绕开源理念扩散、社区建设、ShardingSphere 如何践行 Apache Way 等方面展开了介绍,本文总结自潘娟内容分享。

## 在数据库之上与业务之下的新生态
**一层贴近应用,一层贴近 DataBase。**

不同的行业、不同的用户、不同的定位、不同的需求....如今的数据库面临着比过去更加复杂的数据应用场景以及愈发个性化和定制化的数据处理需求。愈发苛刻的生产环境,也在推动着不同的数据库不断将数据读写速度、延时、吞吐量等性能指标发挥到极致。

久而久之,分工明确的数据应用场景逐渐导致了数据库市场的碎片化,且难以出现一款能够完美适配所有场景的数据库。在不同的业务场景下选择不同的数据库,已经成为一种常见的企业选型方法。

但同样,这种百花齐放的数据库形态,也会带来『百花齐放』的问题。但从宏观的角度来看,这些问题之间是存在共性的,是可以被抽离出来并形成一套事实标准的。如果能够在这些百花齐放的数据库之上构建能够统一应用管理数据的平台层,就可以在屏蔽底层数据库差异的前提下,按照固定标准来进行开发,这种标准化解决方案将会极大缩减用户管理基础数据设施的压力和学习成本。

Apache ShardingSphere 就是位于这一层,通过复用原有数据库的能力,能够帮助技术团队在此之上实现如分片、加密解密等增量能力的开发,且向下不需考虑底层数据库的配置,向上又能够屏蔽用户感知,从而快速构建起面向业务的数据库直连能力,轻松管理大规模的数据集群。

## 如何践行 Apache Way
**1.Sharding**

**ShardingSphere 可同时叠加使用多个功能来满足用户的多样化需求。**

随着业务体量的增大,单体数据库难以支撑大体量业务时,就有必要对数据库进行横向扩展,这就必然要面临着分布式管理的问题。ShardingSphere 通过在数据库之上构建一层热插拔功能层,并提供传统数据库的操作模式,屏蔽使用者对底层数据库变化的感知,赋予开发者使用单体数据库的方式来管理大规模数据库集群的能力。其中,ShardingSphere 主要包含以下四种应用场景:

* Sharding 策略

业务体量增大时,所面临的数据分片压力就会随之增加,所对应的分片策略相应就会被设计的更加复杂。ShardingSphere 能够以灵活、易扩展的方式,以最低成本协助用户在原本水平扩展之外做更多的分片策略,同时也支持自定义扩展的能力。

* 读写分离

通常情况下实现主从部署能够有效缓解数据库的压力,但如果某一个集群下的机器或库表出现问题,无法进行正常读写操作,就会对业务造成比较大的影响。为避免业务不可用,通常需要开发者重新写一套高可用的策略来实现读写库表的主从切换。ShardingSphere 可以自动探索所有集群的状态,在第一时间发现请求不可靠、底层数据库发生主从切换等问题,并可以在表层用户没有产生感知的前提下自动恢复主从状态。

* Sharding Scaling

随着业务的增长,可能会需要对此前拆分过的数据集群进行再一次拆分。ShardingSphere 配套的 Scaling 组件,只需一条 SQL 命令就可以启动任务,并在后台实时展示运行状态。通过 Scaling 这种『管道』,使旧的数据库生态和新的数据库生态重新连接起来。

* 数据加解密

在数据库的应用中,对于关键数据的加解密也是非常重要的一部分。如果原有系统监控能力不达标,部分敏感数据可能是以明文的状态存储的,后期需要对其进行加密处理,这是许多团队普遍存在的问题。ShardingSphere 通过对这部分能力进行标准化并集成在中间件生态上,自动化用户对新、旧业务的数据脱敏以及加解密的过程,整个过程实现了用户层面的无感知。同时支持多种内置的数据加解密/脱敏算法,用户也可根据自身情况来自定义扩展相应的数据算法。

**2.构造数据的接入神经:可插拔的 Database Plus 平台**

面对各种各样的需求以及使用场景,ShardingSphere 为不同领域的开发者提供了面向 Java 的 JDBC、面向异构的代理端以及面向上云的 Sidecar 端这三种接入形式,用户可以按具体需求来做选型,在原有集群之上来做分片、读写分离、数据迁移等相关操作。

* **JDBC 接入:**完全以 JDBC 的方式去使用,可以理解为一款增强的 JDBC 驱动程序,完全兼容 JDBC 和各种 ORM 框架,不需额外的部署和依赖即能够实现分布式管理、水平拓展、脱敏等一系列操作;

* **Proxy 接入:**以模拟数据库服务的形式,通过 Proxy 来管理底层真实的数据库集群,基本无需对业务进行改造;


=====================================================
== File: docs/blog/content/material/Oct_12_8_ShardingSphere_Google_Summer_of_Code_Students_How_Was_Your_Open_Source_Experience.en.md
=====================================================
+++
title = "ShardingSphere x Google Summer of Code: Students, How Was Your Open Source Experience?"
weight = 24
chapter = true
+++

![](https://shardingsphere.apache.org/blog/img/Blog_24_img_1_ShardingSphere_GSoC.png)

Recently the ShardingSphere community had the pleasure of contributing to the Google Summer of Code (GSoC), and mentoring the next generation of open source innovators. Our project was select to be part of this brilliant and long running program, to provide students from all over the world with an experience in open source software.

Thanoshan and Liangda are the students that worked with Apache ShardingSphere mentors during the latest GSoC, and continue contributing to the project ever since.

![](https://shardingsphere.apache.org/blog/img/Blog_24_img_2_GSoC_2021_Projects_ss_Students_Snapshot_Thanoshan_Liangda.png)

They were kind enough to agree to a phone interview with Yacine, one of the ShardingSphere committers and community managers — to share their opinions and experience with the GSoC application process, joining the Apache ShardingSphere project, and their future plans.

## Students Intro:

![](https://shardingsphere.apache.org/blog/img/Blog_24_img_3_Thanoshan_Photo.png)

Name: Thanoshan

Country: Sri Lanka

University: Sabaragamuwa University 

Major: Computing & Information Systems

![](https://shardingsphere.apache.org/blog/img/Blog_24_img_4_Liangda_Photo.png)

Name:Liangda

Country: Germany

School: University of Mannheim

Major: Business Informatics

## Q&A
> **How did you get into software development?**

**Thanoshan:** Basically, my degree is related to software development. And I’m personally very interested in this field. I was passionate about it even before starting university.

**Liangda:** Mainly through my current studies. During high school, I was interested in both business and computer science, then I decided to study Business Informatics, which is a combination of both subjects. That was the beginning of my journey in coding and software development, where I’ve learned Java, C++, Python, and design patterns etc.

> **How did you get the idea to apply for Google Summer of Code?**

**Thanoshan:** Here, in Sri Lanka, many of my seniors have already done the Google Summer of Code. They strongly advised me to look at this opportunity and told me that I should definitely try it. So, I researched the GSoC program, for things such as “What is about? How can I work on that?”.

**Liangda:**The first time I got to know GSoC was during last year’s summer, I was surfing on the internet, and I accidentally found out a blog sharing about some GSoC experiences and application tips. I was really fascinated by this program. But at that time, open source was completely new for me, and I was not confident enough. Then during the winter of 2020, I got the chance to work as a research assistant at the university on a chatbot project using Rasa, which is an open source conversational AI framework. That was the first time I dove so deep into an open source framework and interacted with the open source community. It was a great experience for me. And the idea came into my mind, why not take the opportunity of GSoC to get to learn more about the open source world.

=====================================================
== File: docs/blog/content/material/community.en.md
=====================================================
+++
title = "Exploration and expansion of the community"
weight = 9
chapter = true
+++

Apache ShardingSphere community was invited to attend the Apache Event-join Apache open source community held by at Tsinghua University on November 9th. As an honored speaker, Liang Zhang, the PPMC, gave a talk named exploring and expanding the Apache ShardingSphere community. The main points of this topic are as follows.

### 01 Why open source?

For individuals, you can gain a better career and find enjoyment.

#### A better career

1. More career opportunities. Industries can establish the cloud platform and provide business services through open-source projects. Besides, by contributing to the open-source community, industries can enhance their technical influence. Since industries can benefit from open source, many of them are hungry for open-source talents. The open-source job is always technique-related and community-based, which relatively makes your schedule listen to yourself.

2. Better capability. By contributing to the open-source community, you can improve not only technical skills but also soft skills like Language skills, social skills, and marketing skills. In addition, you will achieve innovation ability as well,  if you have a chance to create a brand new open-source project.

3. Great personal relationship. You will not only focus on your job, salary, KPI, e.t. Those industry-related activities, such as attending a seminar,  tech sharing, writing blogs, even tech investing, will attract your attention. Besides, you can also communicate and make friends with foreign people worldwide in the international open-source community. As this phrase said, engage your body familiar with job skills; engage your mind closed to the world. The open-source experience will bring you more potential opportunities.

4. Earned public recognition. The effort of open-source work you did is totally open to anyone at any time, which means you can gradually receive public recognition. In contrast, the effort of in-company work is supposed to be judged by your leaders themselves, not the public, which means an inadequate evaluation is likely to give.

#### An enjoyable career

1. Self-growth. If you enjoy doing one work, you will grow up with pleasure. As a software engineer, you should learn to enjoy your work and be a self-driven person, which is the real shortcut to success.

2. Accomplishment sense. When your work is recognized by others, when your work made the project better and better, when you got new skills, you will strongly feel the sense of accomplishment and the pleasure of your career.

### 02 What is the Apache software foundation?

The Apache Software Foundation is a non-profit organization, many of whose projects have played essential roles in the internet industry since 1999.  Besides, those Apache projects have been the first choice for developers to create their projects. Therefore, if you knew little about Apache projects, such as Apache Tomcat, Apache Commons, Apache Maven, Apache Hadoop, etc., you could not receive a better offer as a Java Developer or a Big Data engineer.

Recently, more and more Chinese projects entered the Apache foundation. There are 9 Top-Level projects and 10 incubating projects from China until now, which is a piece of good news for those Chinese newcomers since it is challenging for them to involve a wholly foreign open source community at the beginning. Whether it is a Chinese project, it must be under the Apache regulations and follow its policy. However, it is still more accessible for people to start with an Apache project coming from their country. The reason is that they have more chances to communicate with each other in their first language so as to dive into an Apache community quickly. 

### 03 What is Apache ShardingSphere?

Apache ShardingSphere (TLP) is an open-source ecosystem consisting of a set of distributed database solutions. From the GitHub data, its community is active and growing up fast, which benefits from its stable micro-core and scalable architecture.

### 04 Apache ShardingSphere Community Statistics

Since the community is as important as the project itself for an open-source project, ShardingSphere takes more effort to build its community. Thanks to everyone's contribution, the community has fast growth, and the following statistics give us clear evidence. 

1. Mail list
Looking at the data from dev@, we found 38 emails about 20 topics from 14 participants in May 2019, but with four months of effort, the data rose to 148 emails concerning 34 issues from 37 participants. Besides, we moved the GitBox emails to notification@ to avoid including notification emails and display the pure email data.

2. GitHub 
The commits graph of GitHub was almost effected by my commits before June 2018, which means its development only depends on one person and is full of the risk. To turn this situation around, we did a lot of works. Finally, we got 33 contributors, 100 merged PRs, 167 handled issues, 591 modified files, and 4K new stars, which marks it has become an active and open community.

3. Contributors
There were only 11 initial committers during an extended period. This situation was turned around until two or three months ago. And presently, we have 15 PMCs, 10 committers, and 90+ contributors. However, we are still ongoing, so we believe more and more PMCs, committers and contributors will dive into our community in the future.

=====================================================
== File: docs/blog/content/material/2022_06_21_Heterogeneous_migration_reducing_Dangdang’s_customer_system_RTO_60x_and_increasing_speed_by_20%.en.md
=====================================================
+++ 
title = "Heterogeneous migration: reducing Dangdang’s customer system RTO 60x and increasing speed by 20%"
weight = 62
chapter = true 
+++

> [Apache ShardingSphere](https://shardingsphere.apache.org/) helps [Dangdang](https://www.crunchbase.com/organization/dangdang-com) rebuild its customer system with 350 million users, and seamlessly transition from a [PHP](https://www.php.net/)+[SQL Server](https://www.microsoft.com/en-us/sql-server/sql-server-downloads) technology stack to a Java+ShardingSphere+[MySQL](https://www.mysql.com/) stack. The performance, availability, and maintainability of its customer system have been significantly improved, which is the best practice of ShardingSphere’s heterogeneous migration.

## Dangdang’s customer system
Dangdang’s customer system is mainly responsible for account registration, login, and privacy data maintenance. Its previous technology stack was based on PHP and SQL Server, which means a standard centralized architecture, as shown in the figure below.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lorqkp14im9bxbco4yuw.png)
 

Before the rebuild project started, several business modules of the customer system had encountered multiple problems and technical challenges, such as logical decentralization, low throughput, and high operation & maintenance costs.

To improve customers’ shopping experience, Dangdang’s technical team decided to optimize the business logic and underlying data architecture to achieve the availability, scalability, and comprehensive improvement of the customer system in multiple scenarios. The rebuild also introduced many technological innovations such as cross-data source double write, read/write splitting, intelligent gateway, and gray release.

Dangdang’s technical team completed the system rebuild within half a year, from demand design, sharding planning, logic optimization, and stress testing to its official launch.

The project used Java to reconstruct more than ten modules, build distributed database solutions through ShardingSphere & MySQL, and finally complete the online migration of heterogeneous databases. The project boasts the following highlights:

- Reconstruct PHP business code using Java language.
- Replace SQL Server with ShardingSphere & MySQL.
- Complete online data migration of 350 million users.
- Complete a seamless launch through the data double-write scheme.

## Pain points & challenges

**Business pain points**
At the business level, the registration and login logic of some modules of the customer system was scattered at different ends. This resulted in high maintenance costs, and the old technical architecture was limited in terms of performance improvement and high availability.

- **Maintenance difficulty:** the registration and login logic of multiple platforms is scattered, so business maintenance is complicated.
- **Limited performance:** the PHP & SQL Server, a centralized technical architecture, had insufficient throughput.
- **Poor availability and security:** If the active/standby status of SQL Server changes, the subscription database becomes invalid and the reconfiguration takes a window of time. The security of SQL Server running on Windows Server is poor due to viruses, and the upgrading takes a long time (>30min) after the patch is installed.

**Challenges**

- **Data integrity:** the customer system involves data of more than 350 million users. It is necessary to ensure data consistency and integrity after migrating from SQL Server to MySQL.
- **API transparency:** the API is transparent to the caller to ensure that the caller does not change and to minimize the change of interface.
- **Seamless switch:** the business system must be seamlessly switched over without impact on business.
- **Time is short:** the system will be blocked before and after “[618 (aka JD.com Day)](https://edition.cnn.com/2020/06/18/tech/jd-618-china-coronavirus-intl-hnk/index.html) and [11.11 (aka Singles Day)](https://en.wikipedia.org/wiki/Singles%27_Day)” (two online shopping festivals in China), so we need to switch it between the two shopping promotions in a limited window of time, and then undergo the tests to prepare for the 11.11 shopping festival.

## Solutions
**Overall planning**
To improve the maintainability, availability, and performance of the customer system, the R&D team reorganized the customer system architecture.

At the application layer, the goal was to unify the function logic of all terminals and improve business maintainability.

At the database layer, the centralized architecture was transformed into a distributed database architecture to improve performance and availability, which is exactly the open-source distributed solution built by ShardingSphere & MySQL.


=====================================================
== File: docs/blog/content/material/alpha.en.md
=====================================================
+++
title = "After years of stagnation, ElasticJob is back with the first Apache version 3.0.0-alpha"
weight = 13
chapter = true
+++

Within a few months ElasticJob as the subproject of Apache ShardingSphere has fixed and merged 535 issues and pull requests. More importantly, the ElasticJob community released the first official version: 3.0.0-alpha after joined Apache Software Foundation.

### Background
ElasticJob (https://github.com/apache/shardingsphere-elasticjob) is a distributed scheduling solution for internet ecology and massive tasks. ElasticJob consisting of two separate subprojects, ElasticJob-Lite and ElasticJob-Cloud. It was born in 2015, at that time the industry had outstanding job scheduling library such as QuartZ, but lacked of exploration at distributed field. The lack of distributed scheduling cloud platform products has caused ElasticJob to attract attention from the beginning. It effectively makes up for the shortcomings of operations in the distributed field, and provides a one-stop automated operation and maintenance management and control terminal. Each product uses a unified operation API. Developers only need to develop once and deploy at will.

In the technology selection for ElasticJob, it chose to stand on the shoulders of giants instead of reinvent the wheel. It perfectly combines the standard job scheduling library QuartZ, and ZooKeeper, a weapon for distributed coordination, to quickly and stably build a new concept of distributed scheduling framework.

### ElasticJob scheduling model
The scheduling model of ElasticJob is divided into in-process scheduling ElasticJob-Lite, which supports thread-level scheduling, and ElasticJob-Cloud, which supports process-level scheduling.

**In-process scheduling**

ElasticJob-Lite is a thread-level scheduling framework for in-process. It can be used in conjunction with Java frameworks such as Spring, Dubbo and Spring-injected Beans can be used freely in operations, such as data source connection pools, Dubbo remote services, etc. It fits business development well and make development more conveniently.

ElasticJob-Lite is deployed with business applications, and its life cycle is same as the business applications. It is a typical embedded lightweight architecture. ElasticJob-Lite is very suitable for ordinary Java applications with stable resource usage and simple deployment architecture. It can be understood as a Java development framework.

ElasticJob-Lite itself is a non-centralized architecture and does not require an independent centralized scheduling node. Each task node under the distributed system is a self-scheduled scheduling job in a timely manner. Only one registry is needed between tasks to coordinate task status in distributed scenarios, ZooKeeper is supported as a registry currently.

The architecture diagram is shown below:

![](https://shardingsphere.apache.org/blog/img/alpha1.jpg)

It can be seen from the figure that the distributed job node of ElasticJob-Lite obtains the master node through election, and shards through the master node. After the fragmentation is completed, the master node and the replica node are the same, and both execute tasks in a self-scheduled manner. 

**Process level scheduling**

ElasticJob-Cloud has two methods: in-process scheduling and process-level scheduling. Since ElasticJob-Cloud can control the resources of the job server, its job types can be divided into permanent tasks and transient tasks. Resident tasks like ElasticJob-Lite, which is in-process scheduling has completely different instantaneous tasks. It makes full use of the peak-clipping and valley-filling capabilities of resource allocation. It is process-level scheduling, each task starts a new process. 

ElasticJob-Cloud needs to control resources through Mesos, and allocate tasks and resources through the scheduler deployed in Mesos Master. Cloud adopts a centralized architecture to transfer the high availability of the dispatch center to Mesos. 

Its architecture diagram is shown below:

![](https://shardingsphere.apache.org/blog/img/alpha2.jpg)

It can be seen from the figure that ElasticJob-Cloud not only has all the capabilities of Lite, but also has the ability to allocate resources and distribute tasks. It fully manages a series of life cycles of job development, packaging, distribution, scheduling, governance, and sharding. It is a true job cloud scheduling system.

Compared with the simplicity and ease of use of ElasticJob-Lite, ElasticJob-Cloud's strong dependence on Mesos increases the complexity of system deployment, making it more suitable for large-scale operating systems.

### Function list

ElasticJob functions mainly include flexible scheduling, resource allocation, job management, and visual control.

**Flexible scheduling**


=====================================================
== File: docs/blog/content/material/2022_07_12_ShardingSphere_Cloud_Applications_An_out-of-the-box_ShardingSphere-Proxy_Cluster.en.md
=====================================================
+++ 
title = "ShardingSphere Cloud Applications: An out-of-the-box ShardingSphere-Proxy Cluster"
weight = 67
chapter = true 
+++

The [Apache ShardingSphere v5.1.2](https://shardingsphere.apache.org/document/5.1.2/en/overview/) update introduces three new features, one of which allows using the [ShardingSphere-Proxy](https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-proxy-quick-start/) chart to rapidly deploy a set of ShardingSphere-Proxy clusters in a cloud environment. This post takes a closer look at this feature.

## Background and Pain Points

In a cloud-native environment, an application can be deployed in batches in multiple different environments. It is difficult to deploy it into a new environment by reusing the original `YAML`.

When deploying [Kubernetes](https://kubernetes.io/) software, you may encounter the following problems:

How to manage, edit and update these scattered Kubernetes application configuration files?
How to manage a set of related configuration files as an application?
How to distribute and reuse a Kubernetes application configuration?
The above problems also occur when migrating Apache SharidngSphere-Proxy from [Docker](https://www.docker.com/) or virtual machine to Kubernetes.

Due to the flexibility of Apache ShardingSphere-Proxy, a cluster may require multiple Apache ShardingSphere-Proxy replicas. In the traditional deployment model, you need to configure a separate deployment file for each replica. For deployment without version control, the system may fail to roll back quickly during the upgrade, which may affect application stability.

Today, there usually is more than one cluster for enterprises. It is a challenge for the traditional deployment model without version control to reuse configuration across multiple clusters while ensuring configuration consistency when producing and testing clusters as well as guaranteeing the correctness of the test.

## Design objective

As Apache ShardingSphere-Proxy officially supports standardized deployment on the cloud for the first time, choosing the deployment mode is crucial. We need to consider the ease of use, reuse, and compatibility with subsequent versions.

After investigating several existing Kubernetes deployment modes, we finally chose to use [Helm](https://helm.sh/) to make a chart for Apache ShardingSphere-Proxy and provide it to users. We aim to manage the deployment of Apache ShardingSphere-Proxy so that it can be versioned and reusable.

## Design content

[Helm](https://helm.sh/) manages the tool of the Kubernetes package called `chart`. Helm can do the following things:

Create a new `chart`
Package `chart` as an archive (tgz) file.
Interact with the repository where `chart` is stored.
Install and uninstall `chart` in an existing Kubernetes cluster.
Manage the release cycle of `chart` installed together with Helm.
Using Helm to build an Apache ShardingSphere-Proxy cloud-deployed chart will significantly simplify the deployment process in the Kubernetes environment for users. It also enables Apache ShardingSphere-Proxy to replicate quickly between multiple environments.

Currently, the deployment of Apache ShardingSphere-Proxy depends on the registry, and the deployment of the [ZooKeeper](https://zookeeper.apache.org/) cluster is also supported in the Apache ShardingSphere-Proxy chart.

This provides users with a one-stop and out-of-the-box experience. An Apache ShardingSphere-Proxy cluster with governance nodes can be deployed in Kubernetes with only one command, and the governance node data can be persisted by relying on the functions of Kubernetes.

## Quick start guide

A [quick start manual](https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/helm/) is provided in the V5.1.2 documentation, detailing how to deploy an Apache ShardingSphere cluster with default configuration files.

Below we will use the source code for installation and make a detailed description of the deployment of an Apache ShardingSphere-Proxy cluster in the Kubernetes cluster.


=====================================================
== File: docs/blog/content/material/2023_07_10_A_Step-by-Step_Guide_to_Data_Migration.md
=====================================================
+++
title = "A Step-by-Step Guide to Data Migration: Unlocking Distributed Database Potential with ShardingSphere"
weight = 103
chapter = true 
+++

As businesses grow and data volumes and concurrent transactions surge, traditional standalone databases often face challenges related to performance, scalability, and availability. To overcome these limitations, the industry has introduced NoSQL solutions, employing techniques like data sharding and horizontal scaling. However, NoSQL databases often lack support for transactions and structured query language (SQL). This is where ShardingSphere comes into play.

[Apache ShardingSphere](https://shardingsphere.apache.org) offers a distributed SQL transaction & query engine capable of transforming any conventional database into a distributed one. By leveraging advanced features like data sharding, elastic scaling, and data encryption, ShardingSphere ensures improved performance, scalability, and data security.

In this blog post, we will delve into ShardingSphere's data migration function and provide you with a comprehensive, step-by-step guide on how to build a distributed database. Assuming little prior knowledge, we'll explore the intricacies of data migration, allowing you to leverage ShardingSphere's power for seamless database transitions.

# Data Migration with ShardingSphere - A Closer Look

Let's now explore one of the core features of ShardingSphere—data migration—and gain insights into its functionality and benefits. In this section, we'll focus on using MySQL as the target database and provide a step-by-step demonstration of the entire migration process.

## Introduction to Data Migration in ShardingSphere

ShardingSphere's data migration functionality is seamlessly integrated into ShardingSphere-Proxy, requiring no additional dependencies. Whether you need to upgrade your databases or create backups, ShardingSphere-Proxy's built-in data migration feature has got you covered. With this approach, you can simplify your project's development and maintenance process by avoiding the need for additional modules.

### Scope of Data Migration Support

ShardingSphere data migration currently supports the following database types out of the box:

1. MySQL
2. PostgreSQL
3. openGauss

Furthermore, ShardingSphere facilitates data migration across homogeneous and heterogeneous databases that support the aforementioned protocols. This flexibility allows businesses to seamlessly migrate data between different database systems, regardless of their underlying architecture.

### Supported Database Versions and Configuration Examples

To ensure compatibility, ShardingSphere provides data migration support for various database versions. The table below showcases the database versions and offers configuration examples for a smooth migration:

<table>
  <tr>
   <td><strong>Database Type</strong>
   </td>
   <td><strong>Supported Versions</strong>
   </td>
   <td><strong>Required Environment</strong>
   </td>
   <td><strong>Required Permission</strong>
   </td>
  </tr>
  <tr>
   <td>MySQL
   </td>
   <td>5.1.15 - 8.0.x
   </td>

=====================================================
== File: docs/blog/content/material/2023_05_10_Simplifying_Learning_ShardingSphere’s_Template_Engine_for_Streamlined_Examples.en.md
=====================================================
+++
title = "Simplifying Learning: ShardingSphere’s Template Engine for Streamlined Examples"
weight = 98
chapter = true 
+++


![img](https://shardingsphere.apache.org/blog/img/2023_05_10_Simplifying_Learning_ShardingSphere’s_Template_Engine_for_Streamlined_Examples.en.md1.jpeg)

After years of rapid development, ShardingSphere has grown significantly, offering six core functional modules that cater to various needs. It is also compatible with different registries, such as ZooKeeper and Nacos, allowing for seamless integration. Moreover, it supports distributed transactions and various development frameworks, providing flexibility and convenience.

To ensure a user-friendly experience, we have created an example module that showcases the diverse functionalities, registries, and service frameworks of ShardingSphere.

This example system serves as a demonstration of how these components can be effectively combined, along with an abstraction of business logic. Take a look at the illustration of our example system below:

![img](https://shardingsphere.apache.org/blog/img/2023_05_10_Simplifying_Learning_ShardingSphere’s_Template_Engine_for_Streamlined_Examples.en.md2.jpeg)

# Analyzing the Issue


Let me start by showing you the structure of Yogiyo’s order service. When order creation, cancellation, or update traffic occurs, the Orderyo application code distributes the write load to four shard clusters based on the `customer_id`. This way, the application only needs the `customer_id` to find the shard cluster it needs to access and perform the operation.

![img](https://shardingsphere.apache.org/blog/img/2023_04_27_How_South_Korea’s_Yogiyo_Improved_Scalability_and_Performance_with_Apache_ShardingSphere.en.md2.jpeg)Figure 1 — ShardingSphere’s former example directory structure

# Enhancing the Example Module for Improved User Experience

The example module of ShardingSphere has undergone significant evolution, incorporating a wide range of functionality. However, this growth has resulted in challenges for users, including difficulties in quickly finding the desired example and comprehending the shared business logic code.

After extensive discussions within the community, we have identified several key issues with the current examples:

**1. Lack of Representation:** The example modules fail to clearly represent the features and structure of ShardingSphere, as they utilize a different abstraction level than the ShardingSphere module hierarchy. This discrepancy causes confusion among users.

**2. Complexity of Business Code:** The reliance on complex, generic, and abstract public business code poses a significant learning obstacle for users. The abundance of such code makes it challenging to grasp the core concepts effectively.

**3. Non-standardized Configuration:** The configuration approach employed in the current examples lacks standardization and is predominantly focused on logic handling rather than leveraging the native capabilities of ShardingSphere. This limitation restricts the system’s ability to support a broad range of scenarios.

**4. Limited Sample Portfolio:** The existing sample portfolio is relatively small and lacks the necessary flexibility to cater to different service frameworks and modules, such as JDBC and spring boot + JDBC. This limitation restricts the versatility and applicability of ShardingSphere.

**5. Proxy Example Focus:** The ShardingSphere Proxy example should prioritize configuration guidance over the introduction of numerous logical examples. This shift will enable users to better understand and utilize the Proxy example effectively.

To address these concerns and provide users with an enhanced and intuitive experience, we are actively working on refining the example module of ShardingSphere. Our implementation principle is based on the following key considerations:

**1. Flexibility and Combinability:**  Our goal is to enable users to freely combine and select the modules and features they require for ShardingSphere, allowing for different combinations.

**2. Modularization and Preformatting:** Through thorough analysis and research, we have disassembled the ShardingSphere modules into minimal combinable units. These units have been preformatted in various scenarios using the [FreeMarker template engine](https://freemarker.apache.org/). When users select a specific scenario combination, the corresponding example project is automatically generated by extracting the relevant logical units.

By implementing these improvements, we empower users to easily navigate and understand the examples, while providing the necessary flexibility to adapt ShardingSphere to their specific needs. Figure 2 illustrates the smallest logical unit of the encryption module within this new approach.

![img](https://shardingsphere.apache.org/blog/img/2023_04_27_How_South_Korea’s_Yogiyo_Improved_Scalability_and_Performance_with_Apache_ShardingSphere.en.md3.jpeg)Figure 2 — Minimum logical unit of the encryption module


=====================================================
== File: docs/blog/content/material/2022_07_08_ShardingSphere-Proxy_Front-End_Protocol_Troubleshooting_Guide_and_Examples.en.md
=====================================================
+++ 
title = "ShardingSphere-Proxy Front-End Protocol Troubleshooting Guide and Examples"
weight = 66
chapter = true 
+++

[ShardingSphere-Proxy](https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-proxy-quick-start/), positioned as a transparent database proxy, is one of [Apache ShardingSphere](https://shardingsphere.apache.org/)’s access points.

ShardingSphere-Proxy implements a database protocol that can be accessed by any client using or compatible with [MySQL](https://www.mysql.com/) / [PostgreSQL](https://www.postgresql.org/) / [openGauss](https://opengauss.org/en/) protocols. The advantage of ShardingSphere-Proxy over [ShardingSphere-JDBC](https://shardingsphere.apache.org/document/current/en/overview/#shardingsphere-jdbc) is the support for heterogeneous languages and the operable entry point to the database cluster for DBAs.

Similar to ShardingSphere’s SQL parsing module, establishing ShardingSphere-Proxy’s support for database protocols is a long-term process that requires developers to continuously improve the database protocol deployment.

This post will introduce you to the tools commonly used in database protocol development by presenting a troubleshooting guide for ShardingSphere-Proxy MySQL protocol issues as a case study.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fq6vixjvjskcwoggzq2v.png)
 

## 1. Use Wireshark to analyze network protocols
[Wireshark](https://www.wireshark.org/) is a popular network protocol analysis tool with built-in support for parsing hundreds of protocols (including the MySQL / PostgreSQL protocols relevant to this article) and the ability to read many different types of packet capture formats.

The full features, installation and other details about Wireshark can be found in the official Wireshark documents.

## 1.1 Packet capture using tools like Wireshark or tcpdump
**1.1.1 Wireshark**
Wireshark itself has the ability to capture packets, so if the environment connected to ShardingSphere-Proxy can run Wireshark, you can use it to capture packets directly.

After initiating Wireshark , first select the correct network card.

For example, if you are running ShardingSphere-Proxy locally, the client connects to ShardingSphere-Proxy on port 3307 at 127.0.0.1 and the traffic passes through the Loopback NIC, which is selected as the target of packet capture.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r5i0nphl9vk859im6lea.png)
 

Once the NIC is selected, Wireshark starts capturing packets. Since there may be a lot of traffic from other processes on the NIC, it is necessary to filter out the traffic coming from specified port.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p11ab3e8qjqdiaa7repp.png)
 

**1.1.2 tcpdump**
In cases where ShardingSphere-Proxy is deployed in an online environment, or when you cannot use Wireshark to capture packets, consider using tcpdump or other tools.

NIC eth0 as target, filter TCP port 3307, write the result to /path/to/dump.cap. Command Example:

`tcpdump -i eth0 -w /path/to/dump.cap tcp port 3307`
To know how to use tcpdump, you can man tcpdump. tcpdump’s packet capture result file can be opened through Wireshark.

**1.1.3 Note**
When a client connects to MySQL, SSL encryption may be automatically enabled, causing the packet capture result to not directly parse the protocol content. You can disable SSL by specifying parameters using the MySQL client command line with the following command:

`mysql --ssl-mode=disable`
Parameters can be added using JDBC with the following parameters:

`jdbc:mysql://127.0.0.1:3306/db?useSSL=false`

=====================================================
== File: docs/blog/content/videos/build.en.md
=====================================================
+++
title = "How to develop ShardingSphere community with Apache way"
weight = 3
chapter = true
+++

Apache shardingsphere VP: Liang Zhang gives a wonderful explanation of shardingsphere project and open source. Liang Zhang, architecture expert of Technical Center, JD Digital Technology(JD.com), Apache ShardingSphere PMC Chair. Shardingsphere has entered the Apache incubator. It is the first open source project of JD to enter the Apache software foundation, and it is also the first distributed database of Apache software foundation.

{{< bilibili BV1aC4y1W7DA >}}

=====================================================
== File: docs/blog/content/videos/new_SQL.cn.md
=====================================================
+++
title = "从 New SQL 角度看 Apache ShardingSphere"
weight = 4
chapter = true
+++

近些年 New SQL 概念盛行,国内外各大公司对 New SQL 都有着不同的解读。博观而约取之后,本次分享将为大家带来有关 New SQL 理念、国内外产品架构的解读。并以 New SQL 的角度详细分析 Apache ShardingSphere 这一业界盛行的 Apache 开源分布式数据库中间件服务平台的架构、特性、规划及开源社区。

{{< bilibili BV12t4y117GC >}}

=====================================================
== File: docs/blog/content/videos/new_SQL.en.md
=====================================================
+++
title = "Exploring Apache ShardingSphere with the perspective of new SQL"
weight = 4
chapter = true
+++

NewSQL is popular in recent years, and companies all over the world have different interpretations of NewSQL. This sharing will bring you the interpretation of NewSQL concept and product architecture around the world. The architecture, characteristics, planning and open source community of Apache ShardingSphere, a popular open source distributed database middleware service platform, are analyzed in detail from the perspective of NewSQL.

{{< bilibili BV12t4y117GC >}}

=====================================================
== File: docs/blog/content/videos/_index.cn.md
=====================================================
+++
title = "视频选集"
weight = 2
chapter = true
+++

欢迎观看 Apache ShardingSphere 的精选视频,也欢迎您的投稿!

1. [ShardingSphere 与 openGauss 的化学反应](/cn/videos/opengauss/)

2. [【开源总动员】零基础入门 Apache ShardingSphere 开源之道](/cn/videos/opensource/)

3. [ShardingSphere 的 Apache 共建之道](/cn/videos/build/)  

4. [从 New SQL 角度看 Apache ShardingSphere](/cn/videos/new_sql/)

5. [开源推动下的 Apache ShardingSphere 架构演进](/cn/videos/evolution/)  

6. [海量数据下的 NewSQL 数据库生态构建](/cn/videos/ecosystem/)  

7. [Apache ShardingSphere 5.x 的新功能](/cn/videos/newfeature/)

=====================================================
== File: docs/blog/content/videos/openGauss.en.md
=====================================================
+++
title = "The Cooperation Between ShardingSphere and openGauss"
weight = 1
chapter = true
+++

On May 29th, the "[Beijing] openGauss Meetup" event hosted by the openGauss community and jointly hosted by Beijing Kunpeng Joint Innovation Center, ENMOTECH, SANGFOR, and SphereEx was successfully held at Zhongguancun, Beijing. This Meetup is also the first joint event after SphereEx officially joined the openGauss community. At the Meetup site, Zhang Liang, CEO of SphereEx, shared the theme of "The Cooperation Between ShardingSphere and openGauss".

{{< qq m3250lnfeir >}}

=====================================================
== File: docs/blog/content/videos/openGauss.cn.md
=====================================================
+++
title = "ShardingSphere 与 openGauss 的化学反应"
weight = 1
chapter = true
+++

5 月 29 日,由 openGauss 社区主办,北京鲲鹏联合创新中心、云和恩墨、深信服、SphereEx 合力承办的“【北京】openGauss Meetup”活动在北京海淀区中关村智能制造创新中心成功举行,此次 Meetup 也是 SphereEx 正式加入 openGauss 社区后的首次联合活动。在 Meetup 现场,SphereEx CEO 张亮从产品形态、部署架构、性能测试、未来规划等方面为大家带来了《ShardingSphere 与 openGauss 的化学反应》主题分享。

{{< qq m3250lnfeir >}}

=====================================================
== File: docs/blog/content/videos/evolution.en.md
=====================================================
+++
title = "Apache ShardingSphere architecture evolution driven by open source"
weight = 5
chapter = true
+++

This sharing will start with NewSQL, focusing on the evolution and planning of ShardingSphere architecture, and fall into the relationship and development between open source and contributors. From the perspective of product ecology, open source power, personal growth and development, it brings us interpretation and sharing.

{{< bilibili BV1av41167ny >}}

=====================================================
== File: docs/blog/content/videos/_index.en.md
=====================================================
+++
title = "Video Selections"
weight = 2
chapter = true
+++

Welcome to pick up some of video selections to watch. Moreover look forward to your contribution!

1. [The Cooperation Between ShardingSphere and openGauss](/en/videos/opengauss/)

2. [Getting started with Apache ShardingSphere](/en/videos/opensource/)

3. [How to develop ShardingSphere community with Apache way](/en/videos/build/)  

4. [Exploring Apache ShardingSphere with the perspective of new SQL](/en/videos/new_sql/)

5. [Apache ShardingSphere architecture evolution driven by open source](/en/videos/evolution/)  

6. [How to build database ecosystem with newSQL in a big-data environment](/en/videos/ecosystem/)  

7. [New feature of Apache ShardingSphere 5.x](/en/videos/newfeature/)

=====================================================
== File: docs/blog/content/videos/ecosystem.en.md
=====================================================
+++
title = "How to build database ecosystem with newSQL in a big-data environment"
weight = 6
chapter = true
+++

With the rapid development of the Internet, the scale of Internet data is also explosive growth. In this scenario, how to transform and upgrade the traditional database to meet the data needs of the new Internet? How to build an ecosystem of distributed database cluster with the help of NewSQL concept to meet the business needs of query performance, large amount of data storage, data security, elastic expansion, etc? This sharing will analyze these problems in detail and provide a relatively complete NewSQL solution.

{{< bilibili BV19z411e743 >}}

=====================================================
== File: docs/blog/content/videos/OpenSource.en.md
=====================================================
+++
title = "Getting started with Apache ShardingSphere"
weight = 2
chapter = true
+++

Apache ShardingSphere is the only database middleware project of Apache software foundation. It is mainly used in distributed database related scenarios such as data fragmentation, distributed transaction and distributed governance. This live broadcast will share why we want to participate in open source; the Apache software foundation, the core principles of Apache ShardingSphere and how to embark on the road of open source.

{{< bilibili BV16K4y1b7CZ >}}

=====================================================
== File: docs/blog/content/videos/Newfeature.en.md
=====================================================
+++
title = "New feature of Apache ShardingSphere 5.x"
weight = 7
chapter = true
+++

The first version of Apache ShardingSphere 5.x will be released soon. In version 5.x, Apache ShardingSphere has made significant innovations from architecture design to product scope. Apache ShardingSphere 5.x follow pluggable architecture design concept to build a flexible, embeddable and extensible project. Apache ShardingSphere 5. X no longer takes data sharding as kernel, but turns to building distributed database ecosystem. In the new version, core functions such as data sharding, distributed transaction and database governance are completely separated from the kernel and become a part of its pluggable component. Through SPI, the ecosystem is fully opened, and the functions of data migration, elastic scheduling, data encryption, shadow table are fully integrated into the product ecology. This presentation will comprehensively introduce the new features of Apache ShardingSphere 5.x.

{{< bilibili BV1Qa4y1s7WK >}}

=====================================================
== File: docs/blog/resources/_gen/assets/scss/scss/tale.scss_5ad6f408b0e3e473c748aac88af0ea18.content
=====================================================
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 2em;
  font-family: "webfont";
  padding-top: 5px;
  padding-bottom: 5px; }

html,
body {
  color: #555;
  background-color: #fff;
  margin: 0;
  padding: 0; }

html {
  font-family: "Libre Baskerville", "Times New Roman", Times, serif;
  font-size: 14px;
  overflow-y: scroll; }
  @media (min-width: 700px) {
    html {
      font-size: 16px; } }
body {
  -webkit-text-size-adjust: 100%; }

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #353535;
  font-family: "Mirosoft Yahei", "Helvetica Neue", "Segoe UI", Helvetica, Arial, sans-serif;
  line-height: normal; }

a {
  color: #4a9ae1;
  text-decoration: none; }

blockquote {
  color: #767475;
  background: #eee; }
  blockquote p:last-child {
    margin-bottom: 0; }
  blockquote strong {
    width: 100%;
    display: inline-block;
    text-align: right;
    padding-right: 2em; }

=====================================================
== File: docs/blog/archetypes/default.cn.md
=====================================================
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
---


=====================================================
== File: docs/blog/config.toml
=====================================================
baseURL = "https://shardingsphere.apache.org/blog/"
canonifyurls = true
languageCode = "en-us"
theme = "tale4zh"
defaultContentLanguage = "en"
defaultContentLanguageInSubdir= true


[Languages]
[Languages.en]
title = "ShardingSphere - Blog"
weight = 1
languageName = "English"

[Languages.cn]
title = "ShardingSphere - 博客"
weight = 2
languageName = "中文"

# Change default color scheme with a variant one. Can be "red", "blue", "green".
themeVariant = "black"
# Disable search function. It will hide search bar
disableSearch = true
editURL = "https://github.com/apache/shardingsphere/tree/master/docs/blog/content/"

[markup]
[markup.tableOfContents]
endLevel = 3
ordered = false
startLevel = 2

[markup.goldmark]
[markup.goldmark.renderer]
unsafe = true

[menu]
[[Languages.en.menu.main]]
  name = "Articles"
  url = "/en/material/"

[[Languages.en.menu.main]]
  name = "Videos"
  url = "/en/videos/"

[[Languages.cn.menu.main]]
  name = "文章"
  url = "/cn/material/"

[[Languages.cn.menu.main]]
  name = "视频"

=====================================================
== File: .github/PULL_REQUEST_TEMPLATE
=====================================================
Fixes #ISSUSE_ID.

Changes proposed in this pull request:
  -

---

Before committing this PR, I'm sure that I have checked the following options:
- [ ] My code follows the [code of conduct](https://shardingsphere.apache.org/community/en/involved/conduct/code/) of this project.
- [ ] I have self-reviewed the commit code.
- [ ] I have (or in comment I request) added corresponding labels for the pull request.
- [ ] I have passed maven check locally : `./mvnw clean install -B -T1C -Dmaven.javadoc.skip -Dmaven.jacoco.skip -e`.
- [ ] I have made corresponding changes to the documentation.
- [ ] I have added corresponding unit tests for my changes.

=====================================================
== File: .github/workflows/resources/variables/env-variables.properties
=====================================================
GLOBAL_REPOSITORY=apache/shardingsphere
GLOBAL_RUNS_ON=ubuntu-latest
DISABLE_CI=false

=====================================================
== File: .github/ISSUE_TEMPLATE/question.md
=====================================================
---
name: "\U0001F914 Question"
about: Usage question that isn't answered in docs or discussion
---

## Question

**For English only**, other languages will not accept.

Before asking a question, make sure you have:

- Googled your question.
- Searched open and closed [GitHub issues](https://github.com/apache/shardingsphere/issues).
- Read documentation: [ShardingSphere Doc](https://shardingsphere.apache.org/document/current/en/overview).

Please pay attention on issues you submitted, because we maybe need more details. 
If no response anymore and we cannot reproduce it on current information, we will **close it**.

=====================================================
== File: .github/ISSUE_TEMPLATE/bug-report.md
=====================================================
---
name: "\U0001F41B Bug Report"
about: Something isn't working as expected
---

## Bug Report

**For English only**, other languages will not accept.

Before report a bug, make sure you have:

- Searched open and closed [GitHub issues](https://github.com/apache/shardingsphere/issues).
- Read documentation: [ShardingSphere Doc](https://shardingsphere.apache.org/document/current/en/overview).

Please pay attention on issues you submitted, because we maybe need more details. 
If no response anymore and we cannot reproduce it on current information, we will **close it**.

Please answer these questions before submitting your issue. Thanks!

### Which version of ShardingSphere did you use?

### Which project did you use? ShardingSphere-JDBC or ShardingSphere-Proxy?

### Expected behavior

### Actual behavior

### Reason analyze (If you can)

### Steps to reproduce the behavior, such as: SQL to execute, sharding rule configuration, when exception occur etc.

### Example codes for reproduce this issue (such as a github link).

=====================================================
== File: .github/ISSUE_TEMPLATE/feature-request.md
=====================================================
---
name: "\U0001F680 Feature Request"
about: I have a suggestion
---

## Feature Request

**For English only**, other languages will not be accepted.

Please pay attention on issues you submitted, because we maybe need more details. 
If no response anymore and we cannot make decision by current information, we will **close it**.

Please answer these questions before submitting your issue. Thanks!

### Is your feature request related to a problem?

### Describe the feature you would like.

=====================================================
== File: .github/GIT_TEMPLATE/.git_commit_template.txt
=====================================================
Add git message title here

# See links to relevant web pages, issue trackers, etc.
See: https://github.com/
See: [Git Page](https://github.com/)

# List all co-authors, so people can contact with them
Co-authored-by: Name <name@example.com>

# Why is this change happening, e.g. goals, use cases, stories, etc.?
Why:

# How is this change happening, e.g. implementations, algorithms, etc.?
How:

# Tags suitable for searching, such as hashtags, keywords, etc.
Tags:

# ## Help ##
#
# Subject line imperative uppercase verbs:
#
#   Add = Create a capability e.g. feature, test, dependency.
#   Drop = Delete a capability e.g. feature, test, dependency.
#   Fix = Fix an issue e.g. bug, typo, accident, misstatement.
#   Bump = Increase the version of something e.g. a dependency.
#   Make = Change the build process, or tools, or infrastructure.
#   Start = Begin doing something; e.g. enable a toggle, feature flag, etc.
#   Stop = End doing something; e.g. disable a toggle, feature flag, etc.
#   Refactor = A change that MUST be just refactoring.
#   Reformat = A change that MUST be just format, e.g. indent line, trim space, etc.
#   Rephrase = A change that MUST be just textual, e.g. edit a comment, doc, etc.
#   Optimize = A change that MUST be just about performance, e.g. speed up code.
#   Document = A change that MUST be only in the documentation, e.g. help files.
#
# For the subject line:
#   * Use 50 characters maximum.
#   * Do not use a sentence-ending period.
#
# For the body text:
#   * Use as many lines as you like.
#   * Use 72 characters maximum per line for typical word wrap text.
#
#
# ## About ##
#
# This is our git commit messages.
# You can edit this template if you want
#
# ## Usage ##

=====================================================
== File: examples/README.md
=====================================================
# ShardingSphere-example

Example for 1.x please see tags in `https://github.com/apache/shardingsphere/tree/${tag}/shardingsphere-jdbc-example`

Example for 2.x or 3.x or 4.x please see tags in `https://github.com/apache/shardingsphere-example/tree/${tag}`

**Notices**

- *The `shardingsphere-jdbc-example-generator` module is a brand-new sample experience module. *

- *Please make sure primary replica data replication sync on MySQL is running correctly. Otherwise, readwrite-splitting example will query empty data from the replica.*

## Using `master` branch

Please make sure some dependencies from [Apache ShardingSphere](https://github.com/apache/shardingsphere) has been installed since examples depend on that.
if you are a newbie for Apache ShardingSphere, you could prepare the dependencies as following: 

1. download and install [Apache ShardingSphere](https://github.com/apache/shardingsphere):

```bash
## download source code
git clone https://github.com/apache/shardingsphere.git

## compile source code
cd shardingsphere
./mvnw clean install -Prelease
```

## Module design

### project structure

```
shardingsphere-example
  ├── shardingsphere-jdbc-example-generator
  ├── shardingsphere-parser-example
  └── src/resources
          └── manual_schema.sql
```

## Available Examples

| Example                                                                         | Description                                                                    |
|---------------------------------------------------------------------------------|--------------------------------------------------------------------------------|
| [ShardingSphere-JDBC Examples](shardingsphere-jdbc-example-generator/README.md) | Generate the examples by configuration and show how to use ShardingSphere-JDBC |

=====================================================
== File: examples/shardingsphere-jdbc-example-generator/README.md
=====================================================
# Example codes generator of ShardingSphere

Project uses template engine to generate example codes of ShardingSphere.

## Usage

1. Configure YAML file

File: `src/main/resources/config.yaml`

2. Generate code

Run `org.apache.shardingsphere.example.generator.ExampleGeneratorMain` to generate example codes.

Generated codes: `target/generated-sources/shardingsphere-${product}-sample`

## Configuration Item Explanation

| *Name*      | *Description*     | *Options*                                                                                                                            |
|:------------|-------------------|:-------------------------------------------------------------------------------------------------------------------------------------|
| mode        | operating mode    | cluster-zookeeper, cluster-etcd, standalone                                                                                          |
| transaction | transaction type  | local, xa-atomikos, xa-narayana                                                                                                      |
| features    | feature set       | sharding, readwrite-splitting, encrypt, shadow, mask                                                                                 |
| frameworks  | framework set     | jdbc, spring-boot-starter-jdbc, spring-boot-starter-jpa, spring-boot-starter-mybatis, spring-namespace-jpa, spring-namespace-mybatis |
| host        | database host     |                                                                                                                                      |
| port        | database port     |                                                                                                                                      |
| username    | database username |                                                                                                                                      |
| password    | database password |                                                                                                                                      |

=====================================================
== File: README.md
=====================================================
## [Distributed SQL transaction & query engine for data sharding, scaling, encryption, and more - on any database.](https://shardingsphere.apache.org/)

**Official Website:** [https://shardingsphere.apache.org/](https://shardingsphere.apache.org/)

[![GitHub Release](https://img.shields.io/github/release/apache/shardingsphere.svg)](https://github.com/apache/shardingsphere/releases)
[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=apache_shardingsphere&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=apache_shardingsphere)

[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=apache_shardingsphere&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=apache_shardingsphere)
[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=apache_shardingsphere&metric=sqale_index)](https://sonarcloud.io/summary/new_code?id=apache_shardingsphere)
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=apache_shardingsphere&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=apache_shardingsphere)
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=apache_shardingsphere&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=apache_shardingsphere)
[![codecov](https://codecov.io/gh/apache/shardingsphere/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/shardingsphere)

[![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/5394/badge)](https://bestpractices.coreinfrastructure.org/projects/5394)

[![Slack](https://img.shields.io/badge/%20Slack-ShardingSphere%20Channel-blueviolet)](https://join.slack.com/t/apacheshardingsphere/shared_invite/zt-sbdde7ie-SjDqo9~I4rYcR18bq0SYTg)
[![Gitter](https://badges.gitter.im/shardingsphere/shardingsphere.svg)](https://gitter.im/shardingsphere/Lobby)

[![Twitter](https://img.shields.io/twitter/url/https/twitter.com/ShardingSphere.svg?style=social&label=Follow%20%40ShardingSphere)](https://twitter.com/ShardingSphere)

|                                               **Stargazers Over Time**                                                | **Contributors Over Time**                                                                                                                                                                                                                       |
|:---------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| [![Stargazers Over Time](https://starchart.cc/apache/shardingsphere.svg)](https://starchart.cc/apache/shardingsphere) | [![Contributor over time](https://contributor-graph-api.apiseven.com/contributors-svg?chart=contributorOverTime&repo=apache/shardingsphere)](https://www.apiseven.com/en/contributor-graph?chart=contributorOverTime&repo=apache/shardingsphere) |

### OVERVIEW

<hr>

Apache ShardingSphere is a distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more - on any database. Our community's guiding development concept is Database Plus for creating a complete ecosystem that allows you to transform any database into a distributed database system. 

It focuses on repurposing existing databases, by placing a standardized upper layer above existing and fragmented databases, rather than creating a new database. 

The goal is to provide unified database services and minimize or eliminate the challenges caused by underlying databases' fragmentation. 
This results in applications only needing to communicate with a single standardized service.

The concepts at the core of the project are `Connect`, `Enhance` and `Pluggable`.

- `Connect:` Flexible adaptation of database protocol, SQL dialect and database storage. It can quickly connect applications and heterogeneous databases.
- `Enhance:` Capture database access entry to provide additional features transparently, such as: redirect (sharding, readwrite-splitting and shadow), transform (data encrypt and mask), authentication (security, audit and authority), governance (circuit breaker and access limitation and analyze, QoS and observability).
- `Pluggable:` Leveraging the micro kernel and 3 layers pluggable mode, features and database ecosystem can be embedded flexibly. Developers can customize their ShardingSphere just like building with LEGO blocks.

ShardingSphere became an [Apache](https://apache.org/index.html#projects-list) Top-Level Project on April 16, 2020.

So far, ShardingSphere has been used by over [10,000 projects on GitHub](https://github.com/search?l=Maven+POM&q=shardingsphere+language%3A%22Maven+POM%22&type=Code).

### DOCUMENTATION??

<hr>

[![EN doc](https://img.shields.io/badge/document-English-blue.svg)](https://shardingsphere.apache.org/document/current/en/overview/)

=====================================================
== File: RELEASE-NOTES.md
=====================================================
## Release 5.4.1

### New Feature
1. Proxy: Supports dbcp and c3p0 connection pools
1. Metadata: Standalone mode adapts to metadata new structure
1. Governance: Governance supports register instance level data source

### Enhancement
1. Mode: Improve Standalone mode JDBC type impl reset data on initialization
1. Scaling: Isolate ShardingSphereDataSource Standalone repository in pipeline
1. Scaling: Disable system-schema-metadata-enabled in pipeline
1. JDBC: Move jdbc core META-INF/services/java.sql.Driver from test to main
1. Scaling: Add algorithm columns in SHOW MIGRATION CHECK ALGORITHMS DistSQL result
1. Scaling: Add type_aliaes column in SHOW MIGRATION CHECK ALGORITHMS DistSQL result
1. Encrypt: Add duplicate name check for derived columns and logical columns
1. Encrypt: Deny DDL for cipher columns in Proxy
1. Encrypt: Add the default type for derived columns to varchar(4000)

### Bug Fix
1. Scaling: Fix get inventory position not correctly on breakpoint resuming when table names are similar
1. Scaling: Fix CDC importer not start on breakpoint resuming when first inventory task is finished
1. Single Table: Fix not switched active version when CREATE/DROP table modifies the Single rule configuration
1. JDBC: Fix JDBC memory leak with MySQL in the 5.4.0 version

### Change Log

1. [MILESTONE](https://github.com/apache/shardingsphere/milestone/27)


## Release 5.4.0

### API Changes
1. Metadata: Change sharding broadcast tables to global broadcast tables
1. JDBC: Remove exclamation mark (!) for global rules
1. DistSQL: Simplify keywords ASSISTED_QUERY, LIKE_QUERY in encrypt DistSQL
1. DistSQL: Optimize SQL_PARSER rule syntax
1. Encrypt: Adjust encryption yaml API to distinguish between encrypt, like, and assisted query configurations
1. Encrypt: Remove plain column and queryWithCipherColumn configuration in encrypt feature
1. Readwrite-splitting: Refactor read/write splitting api
1. Proxy: Remove property proxy-instance-type configuration
1. Proxy: Remove property proxy-backend-executor-suitable
1. Proxy: Remove property proxy-mysql-default-version
1. Scaling: Refactor commit rollback streaming to drop streaming
1. Sharding: Merge ShardingCacheRule into ShardingRule (Experimental)

### New Features
1. DistSQL: New syntax to manage SQL_FEDERATION rule
1. Proxy: Support Unix Domain Socket

### Enhancements

=====================================================
== File: CODE_OF_CONDUCT.md
=====================================================
# Contributor Covenant Code of Conduct

The following code of conduct is based on full compliance with [ASF CODE OF CONDUCT](https://www.apache.org/foundation/policies/conduct.html).

## Development Guidelines

 - Write codes with heart. Pursue clean, simplified and extremely elegant codes. Agree with concepts in &lt;Refactoring: Improving the Design of Existing Code&gt; and &lt;Clean Code: A Handbook of Agile Software Craftsmanship&gt;.
 - Be familiar with codes already had, to keep consistent with the style and use.
 - Highly reusable, no duplicated codes or configurations.
 - Delete codes out of use in time.

## Contributor Covenant Submitting of Conduct

 - Make sure Maven build process success. Run `mvn -T 1C clean install` or `./mvnw -T 1C clean install` command in shell to start Maven build process. On which directory to run Maven build process, there are 2 alternatives, we could select one of them: 1) if we're not familiar with Apache ShardingSphere, then we could run it on project root directory, 2) if we know which modules will be affected by the changes, then we could run it on these modules to save build time.
 - Make sure the test coverage rate is not lower than the master branch.
 - Careful consideration for each `pull request`; Small and frequent `pull request` with complete unit function is welcomed.
 - Conform to `Contributor Covenant Code of Conduct` below.
 - If using IDEA,you can import the recommended `src/resources/code-style-idea.xml`.

## Contributor Covenant Code of Conduct

 - Use linux line separators.
 - Keep indents (including blank lines) consistent with the previous one.
 - Keep one blank line after class definition.
 - No meaningless blank lines. Please extract private methods to instead of blank lines if too long method body or different logic code fragments.
 - Use meaningful class, method and variable names, avoid to use abbreviate. 
 - Return values are named with `result`; Variables in the loop structure are named with `each`; Replace `each` with `entry` in map.
 - Exceptions when catch are named with `ex`; Exceptions when catch but do nothing are named with `ignored`.
 - Name property files with `Spinal Case`(a variant of `Snake Case` which uses hyphens `-` to separate words). 
 - Split codes that need to add notes with it into small methods, which are explained with method names.
 - Have constants on the left and variable on the right in `=` and `equals` conditional expressions; Have variable on the left and constants on the right in `greater than` and `less than` conditional expressions.
 - Beside using same names as input parameters and global fields in assign statement, avoid using `this` modifier.
 - Design class as `final` class except abstract class for extend.
 - Make nested loop structures a new method.
 - Order of members definition and parameters should be consistent during classes and methods.
 - Use guard clauses in priority.
 - Minimize the access permission for classes and methods.
 - Private method should be just next to the method in which it is used; Multiple private methods should be in the same as the appearance order of original methods.
 - No `null` parameters or return values.
 - Replace if else return and assign statement with ternary operator in priority.
 - Replace constructors, getters, setter methods and log variable with lombok in priority.
 - Use `LinkedList`  in priority. Use `ArrayList` for use index to get element only.
 - Use capacity based `Collection` such as `ArrayList`, `HashMap` must indicate initial capacity to avoid recalculate capacity.
 - Use English in all the logs and javadoc.
 - Include Javadoc, todo and fixme only in the comments.
 - Only `public` classes and methods need javadoc, other methods, classes and override methods do not need javadoc.
 - conditional operator(<expression1> ? <expression2> : <expression3>) `nested use` is forbidden.

## Contributor Covenant Unit Test of Conduct


=====================================================
== File: MATURITY.md
=====================================================
# Podling Maturity Assessment for ShardingSphere

## Overview

This is an assessment of the ShardingSphere podling’s maturity, meant to help inform the decision (of the mentors, community, Incubator PMC and ASF Board of Directors) to graduate it as a top-level Apache project.

It is based on the ASF project maturity model at https://community.apache.org/apache-way/apache-project-maturity-model.html

## Status of this document

All open items are updated with the latest status.

## Maturity model assessment

Mentors and community members are encouraged to contribute to this page and comment on it, the following table summarizes project’s self-assessment against the Apache Maturity Model.

**CODE**

| **ID**   | **Description**                                                                                                                                                                                                                                                                 | **Status**                                                                                                                                                                                                                                                                                   |
|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **CD10** | The project produces Open Source software, for distribution to the public at no charge.                                                                                                                                                                                         | **YES.** The project source code is licensed under the `Apache License 2.0`.                                                                                                                                                                                                                 |
| **CD20** | The project's code is easily discoverable and publicly accessible.                                                                                                                                                                                                              | **YES.** The [website](https://shardingsphere.apache.org/) includes `SCM` link which can access GitHub directly.                                                                                                                                                                             |
| **CD30** | The code can be built in a reproducible way using widely available standard tools.                                                                                                                                                                                              | **YES.** The build uses Apache Maven and Jenkins as the continuous integration tools, user can find `How to Build` in the [GitHub's README.md](https://github.com/apache/incubator-shardingsphere/blob/dev/README.md) for more information.                                                  |
| **CD40** | The full history of the project's code is available via a source code control system, in a way that allows any released version to be recreated.                                                                                                                                | **YES.** The project uses git to manage source code, demo code, documentation and website, all releases are tagged.                                                                                                                                                                          |
| **CD50** | The provenance of each line of code is established via the source code control system, in a reliable way based on strong authentication of the committer. When third-party contributions are committed, commit messages provide reliable information about the code provenance. | **YES.** The project uses GitHub which managed by Apache Infra, it ensuring provenance of each line of code to a committer. The third-party contributions are accepted in accordance with the [contributor guide](https://shardingsphere.apache.org/community/en/involved/contribute/) only. |

**Licenses and Copyright**

| **ID**   | **Description**                                                                                                                                                                              | **Status**                                                                                                                                                                                                            |
|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **LC10** | The code is released under the Apache License, version 2.0.                                                                                                                                  | **YES.** The [LICENSE file](https://github.com/apache/shardingsphere/blob/master/LICENSE) is in GitHub repository.                                                                                                    |
| **LC20** | Libraries that are mandatory dependencies of the project's code do not create more restrictions than the Apache License does.                                                                | **YES.** The [list of dependencies](https://github.com/apache/shardingsphere/tree/master/distribution/proxy/src/main/release-docs/licenses) for binary release has been reviewed to contain compatible licenses only. |
| **LC30** | The libraries mentioned in LC20 are available as Open Source software.                                                                                                                       | **YES.** See LC20's dependencies list.                                                                                                                                                                                |
| **LC40** | Committers are bound by an Individual Contributor Agreement (the "Apache iCLA") that defines which code they are allowed to commit and how they need to identify code that is not their own. | **YES.** All committers have iCLAs on file before they have an apache account.                                                                                                                                        |
| **LC50** | The copyright ownership of everything that the project produces is clearly defined and documented.                                                                                           | **YES.** All files in the source code have appropriate headers and checked by `Apache rat plugin` when build.                                                                                                         |

**Releases**

| **ID**   | **Description**                                                                                                                                                                        | **Status**                                                                                                                                                                                                                                                                                                                 |
|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **RE10** | Releases consist of source code, distributed using standard and open archive formats that are expected to stay readable in the long term.                                              | **YES.** Source release is distributed via [dist.apache.org](https://dist.apache.org/repos/dist/release/incubator/shardingsphere/) and linked from [download page](https://shardingsphere.apache.org/document/current/en/downloads/).                                                                                      |
| **RE20** | Releases are approved by the project's PMC (see CS10), in order to make them an act of the Foundation.                                                                                 | **YES.** All releases have been voted by ShardingSphere community and incubator, which have least 3 (P)PMC votes.                                                                                                                                                                                                          |
| **RE30** | Releases are signed and/or distributed along with digests that can be reliably used to validate the downloaded archives.                                                               | **YES.** All releases are signed, and the [KEYS file](https://dist.apache.org/repos/dist/release/incubator/shardingsphere/KEYS) is provided on dist.apache.org.                                                                                                                                                            |
| **RE40** | Convenience binaries can be distributed alongside source code but they are not Apache Releases -- they are just a convenience provided with no guarantee.                              | **YES.** Convenience binaries are distributed via [Maven Central Repository](https://mvnrepository.com/artifact/org.apache.shardingsphere), [DockerHub](https://hub.docker.com/r/apache/sharding-proxy/tags) and [dist.apache.org](https://dist.apache.org/repos/dist/release/incubator/shardingsphere/) at the same time. |
| **RE50** | The release process is documented and repeatable to the extent that someone new to the project is able to independently generate the complete set of artifacts required for a release. | **YES.** [Release guide](https://shardingsphere.apache.org/community/en/involved/release/) is available. The releases of the project have been performed by 3 different release managers.                                                                                                                                  |

**Quality**

| **ID**   | **Description**                                                                                                                                                                               | **Status**                                                                                                                                             |
|----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|

=====================================================
== File: .mvn/jvm.config
=====================================================
-Xmx2g -XX:MaxMetaspaceSize=512m

=====================================================
== File: CONTRIBUTING.md
=====================================================
You can report a bug, submit a new feature enhancement recommendation, or commit codes by a pull request.

## Reporting Bug

 - Before reporting a bug, please search from google to confirm that you cannot find any hint on it.
 - Look at the [issues List](https://github.com/apache/shardingsphere/issues) to confirm this issue is not a duplicated one.
 - [Create](https://github.com/apache/shardingsphere/issues/new) a new issue.
 - Define a clear and descriptive title for the issue.
 - If a bug is reported, please provide information below:
       - Details for reproduce bug step by step. Include SQL, configuration, expected results, actual results and tracing log.
       - ShardingSphere and your OS version.
       - Source code that reproduce the bug on GitHub, can be linked here.
       - Stack trace if exception thrown.
       - Screenshot and animated gif to help bug reproduce if necessary.
       - Screenshot for CPU, Memory, Network and IO stat if performance issue.
 - If enhancement recommendation reported, please provide information below:
       - Details for enhancement behaviour.
       - Explain why this enhancement is general feature for most developers.
       - List similar features which already available in other product if possible. Both open source and commercial software are available.
 - Assign label after issue created. Label should be bug, enhancement, discussion and so on.
 - Please pay attention to the issue and provide more information during discuss.
 - Please close issue when it is resolved. If you don't close it, we will close it after 3 days。
 - If this issue has new information, please reopen it again. Please note, issue can reopen which only closed by yourself.

## Commit Pull Request

 - Please choose an interested issue, or create a new issue and then settle a correct label.
 - Reply a deadline message to pickup this issue. 
 - Find a mentor in [Core developers list](https://shardingsphere.apache.org/community/en/team/), he will give you feedback for design and implements.
 - Fork to your GitHub repo and begin to work.
 - Please follow [Development conventions](https://shardingsphere.apache.org/community/en/involved/conduct/code/), and complete check before pull request submit.
 - Submit a pull request to master branch when finished.
 - Mentor will do code review and discuss some details, include design, implement, performance and code style. Code will be merged until mentor accepted.
 - Finally, congratulations that you have become the official contributor for Apache ShardingSphere.

=====================================================
== File: README_ZH.md
=====================================================
## [ShardingSphere - 构建异构数据库上层的标准和生态](https://shardingsphere.apache.org/index_zh.html)

**官方网站: https://shardingsphere.apache.org/**

[![GitHub release](https://img.shields.io/github/release/apache/shardingsphere.svg)](https://github.com/apache/shardingsphere/releases)
[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=apache_shardingsphere&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=apache_shardingsphere)

[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=apache_shardingsphere&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=apache_shardingsphere)
[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=apache_shardingsphere&metric=sqale_index)](https://sonarcloud.io/summary/new_code?id=apache_shardingsphere)
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=apache_shardingsphere&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=apache_shardingsphere)
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=apache_shardingsphere&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=apache_shardingsphere)
[![codecov](https://codecov.io/gh/apache/shardingsphere/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/shardingsphere)

[![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/5394/badge)](https://bestpractices.coreinfrastructure.org/projects/5394)

[![Slack](https://img.shields.io/badge/%20Slack-ShardingSphere%20Channel-blueviolet)](https://join.slack.com/t/apacheshardingsphere/shared_invite/zt-sbdde7ie-SjDqo9~I4rYcR18bq0SYTg)
[![Gitter](https://badges.gitter.im/shardingsphere/shardingsphere.svg)](https://gitter.im/shardingsphere/Lobby)

[![Twitter](https://img.shields.io/twitter/url/https/twitter.com/ShardingSphere.svg?style=social&label=Follow%20%40ShardingSphere)](https://twitter.com/ShardingSphere)

|                                                      **星评增长时间线**                                                      |                                                                                                                   **贡献者增长时间线**                                                                                                                   |
|:---------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| [![Stargazers over time](https://starchart.cc/apache/shardingsphere.svg)](https://starchart.cc/apache/shardingsphere) | [![Contributor over time](https://contributor-graph-api.apiseven.com/contributors-svg?chart=contributorOverTime&repo=apache/shardingsphere)](https://www.apiseven.com/en/contributor-graph?chart=contributorOverTime&repo=apache/shardingsphere) |

### 概述

<hr>

Apache ShardingSphere 产品定位为 `Database Plus`,旨在构建异构数据库上层的标准和生态。
它关注如何充分合理地利用数据库的计算和存储能力,而并非实现一个全新的数据库。ShardingSphere 站在数据库的上层视角,关注他们之间的协作多于数据库自身。

`连接`、`增强` 和 `可插拔` 是 Apache ShardingSphere 的核心概念。

- `连接:`通过对数据库协议、SQL 方言以及数据库存储的灵活适配,快速的连接应用与多模式的异构数据库;
- `增强:`获取数据库的访问流量,并提供流量重定向(数据分片、读写分离、影子库)、流量变形(数据加密、数据脱敏)、流量鉴权(安全、审计、权限)、流量治理(熔断、限流)以及流量分析(服务质量分析、可观察性)等透明化增强功能;
- `可插拔:`项目采用微内核 + 三层可插拔模型,使内核、功能组件以及生态对接完全能够灵活的方式进行插拔式扩展,开发者能够像使用积木一样定制属于自己的独特系统。

ShardingSphere 已于 2020 年 4 月 16 日成为 [Apache 软件基金会](https://apache.org/index.html#projects-list)的顶级项目。

迄今为止,已有超过 [10,000 个 GitHub 项目](https://github.com/search?l=Maven+POM&q=shardingsphere+language%3A%22Maven+POM%22&type=Code)采用了 ShardingSphere。

### 文档??

<hr>

[![EN d](https://img.shields.io/badge/document-English-blue.svg)](https://shardingsphere.apache.org/document/current/en/overview/)
[![CN doc](https://img.shields.io/badge/文档-中文版-blue.svg)](https://shardingsphere.apache.org/document/current/cn/overview/)

更多信息请参考:[https://shardingsphere.apache.org/document/current/cn/overview/](https://shardingsphere.apache.org/document/current/cn/overview/)


=====================================================
== File: src/resources/rat.txt
=====================================================
**/gen/**
**/target/**
**/logs/**
**/*.log
**/*.tokens

# IDE files

**/*.iml
**/.idea/**
**/*.classpath
**/.project
**/.settings/**
**/dependency-reduced-pom.xml

# git files

**/.gitignore
**/.gitmodules
**/.git/**

# CI files

**/.codecov.yml
**/.mvn/jvm.config
**/.mvn/wrapper/maven-wrapper.properties

# GitHub files

**/.github/**

# document files

**/*.md
**/*.MD
**/*.txt
**/docs/**

# UI files

**/.babelrc
**/.editorconfig
**/.eslintignore
**/package.json
**/assets/**
**/dist/**
**/etc/**
**/node/**
**/node_modules/**
**/test/coverage/**